1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 07:52:56 +08:00
Commit Graph

1034 Commits

Author SHA1 Message Date
Dean Herbert
7d8cf1bbb6 Merge branch 'master' into first-run-setup 2022-04-21 15:49:39 +09:00
Dan Balasescu
825368cccd
Merge pull request #17879 from peppy/localisation-debug-store
Add debug language to help with localisation efforts
2022-04-19 17:50:39 +09:00
Dean Herbert
a195d4f5aa Use a culture name that doesn't cause everything to fall over 2022-04-19 16:49:41 +09:00
Dean Herbert
8bfa59d12f Ensure all other dialogs and overlays are dismissed when the first run wizard is shown 2022-04-19 14:53:01 +09:00
Dean Herbert
ae07b2b512 Initial setup 2022-04-19 14:53:01 +09:00
Dean Herbert
feeff16476 Add debug language to help with localisation efforts
The idea is to allow a developer to immediately see which text on a
component or screen has already got localisation support. It can be a
bit of a challenge to see this when creating a new component that
doesn't yet have any translations populated.

Curious to hear thoughts on this. I could see it working very well as a
visual tests checkbox (implemented at o!f side), potentially in addition
to having this at the game level, or replacing this PR.
2022-04-19 14:30:50 +09:00
Dan Balasescu
bb8b94f8ad
Merge branch 'master' into i-notification-overlay 2022-04-19 06:03:56 +09:00
Dan Balasescu
94e892df1c
Merge pull request #17862 from peppy/i-dialog-overlay
Split out `IDialogOverlay` to allow for easier testing
2022-04-19 05:24:05 +09:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
fea4632e83 Convert assert to hard throw 2022-04-18 20:04:19 +09:00
Dean Herbert
25f1f772f3 Allow caching via loadComponentSingleFile with interface specification 2022-04-18 18:36:26 +09:00
Dean Herbert
2202863e1a Split out IPerformFromScreenRunner to allow for easier testing 2022-04-18 17:49:28 +09:00
Dean Herbert
88306a6180 Disable ability to select random skin from within the skin editor
Reasoning is explained in inline comment.

I knowingly only applied this to the shortcut key. It's still feasible a
user can choose the option from the skin dropdown while the editor is
open, but that's less of an issue (because a user won't get the same
compulsion that I get to mash the key, only to be greeted with 100 new
mutable skins created).
2022-04-01 14:22:32 +09:00
Dean Herbert
2f18c512cd Convert SkinEditorOverlay to an OverlayContainer to allow it to block input 2022-03-21 17:33:56 +09:00
Dean Herbert
86960c791f Close overlays and toolbar on entering the skin editor 2022-03-16 19:00:23 +09:00
Dean Herbert
9a1ade4f79 Refactor SkinEditor to support switching target screens without full reload 2022-03-11 23:08:40 +09:00
Dean Herbert
32c7a023f8 Make OsuGame.ScreenChanged private and non-virtual
Just reducing complexity scope here.
2022-03-11 19:54:15 +09:00
Dan Balasescu
48ed9c6144 Enable high chat polling rate 2022-02-25 16:03:56 +09:00
Dean Herbert
5d73691de4 Use existing HandleLink flow rather than reimplmenting 2022-02-23 17:02:39 +09:00
Bartłomiej Dach
d1d6847d32
Add comment about split usage in osu:// protocol link handling 2022-02-22 22:24:37 +01:00
Dean Herbert
29c5683ba3 Add handling of beatmap links on startup 2022-02-18 16:14:37 +09:00
Dean Herbert
465e7d29fe Avoid showing the external link warning 2022-01-27 14:53:11 +09:00
Dean Herbert
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
Dean Herbert
5601f6f1fe Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-17 12:29:02 +09:00
Susko3
084b1fb470 Load the VersionManager earlier 2022-01-16 15:25:21 +01:00
Susko3
6e4214de4d Move VersionManager from osu.Desktop to osu.Game 2022-01-15 19:42:38 +01:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Dean Herbert
c33fe7bcc6 Remove one more unnecessary Detach operation 2022-01-13 18:32:59 +09:00
Dean Herbert
0bd34253e7 Increase chat polling rate during multiplayer lobby / games 2022-01-13 17:31:49 +09:00
Dean Herbert
902dc0eaec Detach rather than consume live when presenting a beatmap 2022-01-12 17:49:10 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
2b8706b6ce Detach and reattach scores to make work 2022-01-12 17:00:16 +09:00
Dean Herbert
1d536fd0bc Start introducing ILive 2022-01-12 17:00:16 +09:00
Dean Herbert
4f6a05ce3d Reimplement all query methods 2022-01-12 16:57:27 +09:00
Dean Herbert
aac2aa341c Update some more incorrect types for primary key access/set 2022-01-12 16:57:27 +09:00
Dean Herbert
2a4bee61dd Update many score-related classes to move closer to being able to persist to realm 2022-01-12 16:57:27 +09:00
Dean Herbert
e6fdd0e969 Miscellaneous fixes that don't fit elsewhere 2022-01-12 16:39:36 +09:00
Dean Herbert
981158ed88 Rename method and simplify SetDefault calling code 2021-12-21 15:34:32 +09:00
Dean Herbert
1067e2dc00
Merge branch 'master' into update-framework 2021-12-17 16:41:47 +09:00
Dean Herbert
0eac655cff Remove local screen change logging 2021-12-16 18:21:48 +09:00
Dean Herbert
441b7baa93 Provide a realm factory to usages of ToLive/RealmLive 2021-12-14 14:26:34 +09:00
Salman Ahmed
d0fbbf110b Expose ScreenContainer for access in OsuGameDesktop 2021-12-13 06:52:36 +03:00
Dean Herbert
bf1418bafc Use OnlineID instead of legacy IDs for equality and lookups 2021-12-10 16:11:48 +09:00
Dean Herbert
370135d484 Remove outdated TODO 2021-12-01 12:47:32 +09:00
Dean Herbert
f6a3709060 Store default skins to database 2021-11-29 18:28:25 +09:00
Dean Herbert
23146d59d1 Use ILive for current skin 2021-11-29 18:28:25 +09:00
Dean Herbert
3db5646fa8 Create Guid constants for system skins (and store skin choice to configuration as guid) 2021-11-29 18:28:25 +09:00
Dan Balasescu
f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dean Herbert
a2ab9f457d Move score download logic out of ScoreManager 2021-11-25 17:33:04 +09:00
Dean Herbert
716543b5b3 Move beatmap download logic out of BeatmapManager 2021-11-25 17:29:41 +09:00
Dean Herbert
79459c1aeb Fix typo in class and variable names 2021-11-25 17:12:15 +09:00
Dean Herbert
9dcb20a821 Rename Stable to Legacy and add xmldoc 2021-11-25 15:39:05 +09:00
Dean Herbert
f1926c6d27 Store preferred ruleset to configuration using ShortName instead of ID 2021-11-22 17:45:31 +09:00
Dean Herbert
3de8125eac Update UI cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6b6dd93e9e Fix LinkFlowContainer not creating user links supporting full IUser specification 2021-11-08 14:17:47 +09:00
Dean Herbert
b1f1cc0bf3 Perform all user profile displays using an IUser interface 2021-11-05 13:55:34 +09:00
Dean Herbert
90503f72ca Update PresentBeatmap to support interface types 2021-10-29 17:43:39 +09:00
Dean Herbert
3905ecd18b Use retrieval of bindable and tidy up code slightly 2021-10-28 13:09:03 +09:00
Dean Herbert
ad1bd4e48e Merge branch 'master' into ui-scaling-keybind 2021-10-28 13:03:21 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
70f432805e
Merge branch 'master' into ui-scaling-keybind 2021-10-27 01:06:14 +09:00
Susko3
51c5d0aec7 Update to be in line with framework changes 2021-10-24 13:21:41 +02:00
Susko3
4a425b5c3e Merge remote-tracking branch 'upstream/master' into use-ShowFileInNativeExplorer 2021-10-23 10:01:24 +02:00
Dean Herbert
c97cfdd978 Merge branch 'master' into localise-toasts 2021-10-19 16:37:14 +09:00
Susko3
25f172fae8 Update usages of OpenInNativeExplorer to use ShowFileInNativeExplorer
Also updates WrappedStorage to override ShowFileInNativeExplorer.
2021-10-17 12:56:29 +02:00
Dan Balasescu
3604a762d0
Merge branch 'master' into fix-editor-difficulty-name-update 2021-10-15 16:58:01 +09:00
Dean Herbert
a90f40e831 Update one missed instance of PresentImport 2021-10-15 16:00:09 +09:00
Dean Herbert
e0babe4b79 Add global logging of WorkingBeatmap changes 2021-10-14 14:07:43 +09:00
Dean Herbert
94de24075e Ensure startup imports trigger notifications 2021-10-13 12:18:56 +09:00
Gagah Pangeran Rosfatiputra
81246a110c
add OpenChangelog in OsuGame.HandleLink 2021-10-12 09:57:47 +07:00
Gagah Pangeran Rosfatiputra
6c84cf6658
add ShowChangelogListing and ShowChangelogBuild 2021-10-12 09:57:47 +07:00
Gagah Pangeran Rosfatiputra
80722c7dc7
change changelogOverlay to field in OsuGame 2021-10-12 09:57:47 +07:00
Joseph Madamba
e0557e849b Join combinations with "/" instead 2021-10-11 01:11:41 -07:00
Joseph Madamba
4fc84e71cd Localise more toast related strings 2021-10-11 01:02:26 -07:00
Joehu
ce864011f2 Add ability to change ui scaling via keyboard 2021-10-10 13:13:26 -07:00
Dan Balasescu
4bd1083388
Merge pull request #14903 from peppy/importer-returns-live
Add `ILive<T>` and use as return type of `Import` methods
2021-10-04 20:16:32 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
Dean Herbert
63f0b0c932 Rename out of place interface name 2021-10-04 16:35:55 +09:00
Dean Herbert
a2e61883e3 Initial push to use ILive in import process 2021-09-30 22:55:25 +09:00
Dean Herbert
7914daaef0 Remove unused using 2021-09-29 19:09:48 +09:00
Dean Herbert
3b174a71a3 Move startup concurrency check to higher level
Makes more sense to perform this check outside of the game itself now
that we can.
2021-09-21 18:00:55 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8 Move MusicController adjustment set to inside OsuScreen itself (and result nullable) 2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca Move all the "inherit previous AllowTrackAdjustments" logic into OsuScreen 2021-09-15 21:25:39 +03:00
AbstractQbit
b87af3dd68 Move the inherited AllowTrackAdjustments into OsuScreen 2021-09-15 10:55:16 +03:00
AbstractQbit
bd18c581c1 Replace allowTrackAdjustmentsStack with a Dictionary 2021-09-14 21:14:24 +03:00
AbstractQbit
01d2f4f17a Make allowTrackAdjustmentsStack readonly 2021-09-14 18:04:43 +03:00
AbstractQbit
b9193aae6d Make IOsuScreen.AllowTrackAdjustments nullable
Allows for inheriting value from the previous screen if undefined
2021-09-14 17:37:57 +03:00
Dean Herbert
7c60c6a733
Merge pull request #14571 from rednir/get-user-from-username
Add ability to open user profile links with username instead of user ID
2021-09-06 00:15:09 +09:00
Davran Dilshat
e5f886a315 revert unnecessary change 2021-09-05 10:45:38 +01:00
Joseph Madamba
a773a22726 Fix toolbar hiding when clicking home button 2021-08-31 14:29:16 -07:00
rednir
c789163d01
use user ID overload when its supposed to be used
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-30 13:22:12 +01:00
Davran Dilshat
90c313e2ad add methods to get a user from their username 2021-08-29 19:19:55 +01:00
Joseph Madamba
38912bfc16 Fix floating overlays not closing when clicking some empty area of the toolbar 2021-08-28 20:38:35 -07:00
Salman Ahmed
9a6ff29951
Reword comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-21 15:39:57 +03:00
Salman Ahmed
1729d43cec Add explanatory comment 2021-08-21 15:18:03 +03:00
Salman Ahmed
20f193c1c2 Fix screen offsetting not handling scaled game instances
By using `Content` instead, now the logic will get the X of the settings
overlay at the `Content` space, which can be scaled in the
`ScalingMode.Everything` mode.

And in the case of `ScalingMode.ExcludeOverlays`, a subcontainer
somewhere inside `Content` that's holding the screen stack would be scaled,
but `Content` won't be affected which is what we want in that case.
2021-08-21 04:16:12 +03:00
Dean Herbert
82eddeffef Add LocalUserPlayInfo interface to convey common information about player status 2021-08-17 16:15:47 +09:00
Dean Herbert
93b97e5110 Adjust ratio to match previous behaviour 2021-08-13 16:35:22 +09:00
Dean Herbert
c1d67976e6 Rename const, add xmldoc and make protected 2021-08-13 16:29:36 +09:00
Salman Ahmed
bb1d74255e Remove unrequired parenthesis 2021-08-12 14:16:20 +03:00
Salman Ahmed
3d7866e82d Calculate horizontal offset on present overlays only 2021-08-12 14:15:01 +03:00
Salman Ahmed
b58b5ec2b4 Apply horizontal offset changing once per frame
The previous way was causing every-frame invalidation when an overlay is
visible.
2021-08-12 12:44:38 +03:00
Salman Ahmed
d099bb8ab6 Calculate offsets from overlay ScreenSpaceDrawQuads instead 2021-08-07 21:08:26 +03:00
Salman Ahmed
e924ea8d93 Make ScreenOffsetContainer privatly settable only 2021-08-07 18:52:27 +03:00
Salman Ahmed
8dc0650ca7 Add test coverage 2021-08-06 22:56:43 +03:00
Salman Ahmed
f77037ef57 Replace state-based screen offsetting logic with HorizontalScreenOffsets 2021-08-06 18:38:57 +03:00
Henry Lin
89e8296eb1 Reset all types of adjustments in MusicController; Rename AllowRateAdjustments to AllowTrackAdjustments 2021-07-29 15:39:26 +08:00
Bartłomiej Dach
b1087d14f3
Merge branch 'master' into skin-editor-button-access 2021-07-22 22:49:44 +02:00
Dean Herbert
db6f323266 Output startup component load start/end times to non-debug logs
Useful for diagnosing issues in cases like #13981.
2021-07-22 14:45:57 +09:00
Dean Herbert
9c4fbf45e9 Add the ability to enter and exit the skin editor via on-screen buttons 2021-07-20 19:36:12 +09:00
Dean Herbert
ed29646291 Remove IApplicableToDifficulty.ReadFromDifficulty
This was added specifically for `ModDifficultyAdjust`, but turned out to
be more of a headache than we expected. We have since removed usage and
would hope that this is not required by any other mods.

Opting for complete removal rather than obsoletion, as we discovered
this was already broken in multiple cases, with fixes being quite
logically complex.

If you happen to be a ruleset developer relying on this, open an issue
and we'll talk you through a better approach (or check what
`ModDifficultyAdjust` is doing now for an example).
2021-07-14 12:32:16 +09:00
Bartłomiej Dach
fbe3b447e5 Merge branch 'master' into linkify-metadata 2021-07-03 15:51:08 +02:00
Bartłomiej Dach
16d08df5e2 Remove mention of direct from xmldoc 2021-07-03 15:22:03 +02:00
Dean Herbert
f2d9d78455 Fix some incorrectly invoked async calls 2021-07-02 14:43:48 +09:00
Dean Herbert
31dbc7798b Merge branch 'master' into linkify-metadata 2021-07-01 19:41:33 +09:00
Dean Herbert
3816c486d5 Guard against a potential startup crash if user's preferred ruleset has a compatibility issue
Resolves this issue seen at https://github.com/ppy/osu/issues/13722#issuecomment-872088071.
2021-07-01 19:03:58 +09:00
Dean Herbert
b6e07ff59c
Merge pull request #13572 from bdach/fix-unsupported-locales
Fix game crashes due to attempting localisation load for unsupported locales
2021-06-19 17:09:39 +09:00
Dean Herbert
afcc3e14f4
m 2021-06-19 16:16:29 +09:00
Bartłomiej Dach
76db87f9cb Try-catch around localisation store registration
Some platforms (android, older windows versions) will throw exceptions
at runtime when an unsupported `CultureInfo` is attempted to be
instantiated, leading to nasty crashes. Add a preventative try-catch
registration to prevent the crash, and log the errors for visibility.
2021-06-19 08:02:30 +02:00
Dean Herbert
d06e52505a Fix thread safety of KeyBindingStore.GetReadableKeyCombinationsFor 2021-06-18 17:11:39 +09:00
smoogipoo
19f0e3d695 Add HighPerformanceSession 2021-06-16 20:53:48 +09:00
Bartłomiej Dach
cc5145a131 Fix languages with a sub-language part not working properly 2021-06-16 11:10:03 +02:00
Dean Herbert
68fa7d68cc
Merge pull request #13511 from smoogipoo/fix-possible-nullref-2
Fix possible nullref in difficulty recommender
2021-06-16 15:20:45 +09:00
smoogipoo
a5261f0cb3 Add difficulty recommender instantly 2021-06-16 11:48:49 +09:00
smoogipoo
579a4aa9c8 Remove comment 2021-06-15 14:10:09 +09:00
smoogipoo
eb4c093371 Use hash as fallback 2021-06-15 14:06:17 +09:00
smoogipoo
f6c6eea6dc Make PresentScore() only consider replay hash 2021-06-15 11:16:35 +09:00
Dean Herbert
26312bf60a
Merge branch 'master' into chat-mention 2021-06-11 20:03:44 +09:00
Dean Herbert
3d645608eb Remove nullability of DI dependencies and fix incorrect load order 2021-06-11 16:28:53 +09:00
smoogipoo
0b9916b266 Add parens to declare operator precedence 2021-06-08 18:39:52 +09:00
smoogipoo
860f1aebb3 Only call OnBackButton() if the screen has finished loading 2021-06-08 17:38:12 +09:00
Craftplacer
39c3b08fc7
Merge remote-tracking branch 'upstream/master' into chat-mention 2021-06-05 11:18:06 +02:00
Dean Herbert
145e42928b Fix remaining null checks 2021-06-01 16:49:05 +09:00
Dean Herbert
52ca2f4797 Merge branch 'master' into chat-mention 2021-05-26 16:00:26 +09:00
Dean Herbert
b13a68592f Merge branch 'master' into localisation-proof-of-concept 2021-05-22 17:07:23 +09:00
Dean Herbert
b0a113a36b Merge branch 'master' into localisation-proof-of-concept 2021-05-21 17:57:54 +09:00
Lucas A
dabe8bd4c7 Fix code inspections and remove now unused code. 2021-05-17 12:55:58 +02:00
Lucas A
851e33fd15 Hook up StableImportManager. 2021-05-17 12:55:57 +02:00
Gagah Pangeran Rosfatiputra
f2de28814a
add and handle OpenWiki link action 2021-05-17 00:43:59 +07:00
smoogipoo
cd25d76dbe Merge branch 'master' into localisation-proof-of-concept 2021-05-08 18:11:07 +09:00
Dean Herbert
aff32b0d19 Merge branch 'master' into skin-components-list 2021-05-06 14:17:33 +09:00
Dean Herbert
df8609b3dc Move private field for skin editor overlay to where others exist 2021-05-03 15:17:04 +09:00
Dean Herbert
f3b305bbe6 Rename and improve xmldoc of SkinEditorOverlay 2021-05-03 14:58:25 +09:00
Dean Herbert
20ff05c9ff Fix crosstalk between notification/setting overlay nudge padding and skin overlay position adjust 2021-04-30 13:10:42 +09:00
Dean Herbert
63435ba548 Ensure toolbar doesn't overlap editor content 2021-04-29 17:41:07 +09:00
Dean Herbert
b936043956 Add the skin editor to the game 2021-04-29 17:20:22 +09:00
Gagah Pangeran Rosfatiputra
004cd7c834
add wiki button in main toolbar 2021-04-22 16:16:12 +07:00
Dean Herbert
623eae1576 Add basic language switching ability 2021-04-20 17:06:01 +09:00