1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 01:27:29 +08:00
Commit Graph

1054 Commits

Author SHA1 Message Date
Dean Herbert
56abe54fe6 Redirect graceful exiting to standard exit flow
Rather than doing a completely forced exit as we were, this will now
follow a more standard flow with the ability for the user to abort along
the way. This is more in line with how I wanted this to work.

Note that this means a confirmation is now shown. It has been discussed
in the past that this confirmation should only show when there's an
ongoing action implies the user may want to cancel the exit. For now I
think this is fine.

Addresses
https://github.com/ppy/osu/discussions/18399#discussioncomment-2811311
2022-06-18 23:43:46 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Salman Ahmed
1171d44ad9 Add failing test case 2022-06-15 03:37:04 +03:00
Dean Herbert
c661f2b059 Ensure ChannelManager has access to API from point of construction
Closes https://github.com/ppy/osu/issues/18451.
2022-06-08 19:15:23 +09:00
Salman Ahmed
3ad1180c48 Use macOS instead of IsApple for better safety 2022-06-03 10:32:59 +03:00
Salman Ahmed
6cb8b2d6f4 Set default window mode to "Borderless" rather than "Fullscreen" on macOS 2022-06-03 09:37:21 +03:00
Dean Herbert
f65d2db77f Remove "V2" suffix from ChatOverlay components 2022-05-30 17:54:09 +09:00
Jai Sharma
58d39734d0 Integrate ChatOverlayV2 into main game 2022-05-23 21:02:47 +01:00
Dean Herbert
5ec05a8653 Add tags for current screen and ruleset 2022-05-16 15:51:32 +09:00
Dean Herbert
b794deb5c5 Add null checks to screen context insertion 2022-05-12 12:06:51 +09:00
Dean Herbert
843e13a471 Add screen stack context to sentry 2022-05-11 14:10:17 +09:00
Dean Herbert
3338bffce3 Attach user to sentry later in startup flow 2022-05-10 16:09:16 +09:00
Dean Herbert
a5b454edc7 Remove unnecessary DI caching of SentryLogger 2022-05-10 16:09:16 +09:00
Bartłomiej Dach
a45ca2ad10
Fix focused overlays not registering as such
Also fixes bug wherein opening skin editor at song select with mod
select open would show mod select on top of the skin editor.
2022-05-07 22:50:14 +02:00
Bartłomiej Dach
e7e7486a8e
Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 10:59:30 +02:00
Dean Herbert
ce14fddcb2 Use above-1 offset instead for more correct feeling parallax 2022-05-07 14:02:07 +09:00
Salman Ahmed
8080f784fd Apply offset by a factor of 0.8x from screen offset 2022-05-06 22:20:09 +03:00
Salman Ahmed
049fed42e2 Fix side overlay offsetting not affecting fullscreen overlays 2022-05-06 21:42:20 +03:00
Bartłomiej Dach
a56eab2c47
Extract interface for overlay management 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
1744d7e4f0
Fix new mod select overlay dimming itself 2022-05-05 22:16:54 +02:00
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