Dean Herbert
f31deaef7c
Simplify skin bindable flow
...
Now, nothing touches the configuration apart from `OsuGame`, making
everything else flow better and avoid weird cyclic set bugs.
Closes https://github.com/ppy/osu/issues/20234 .
2022-09-12 19:51:50 +09:00
Dean Herbert
856dbbba69
Fix attempting to use "home" key binding while exiting game causing errors
2022-09-09 14:52:51 +09:00
Dean Herbert
e9cfaa76c9
Change global overlay ordering so notification toasts display above settings
2022-08-30 21:13:43 +09:00
Dean Herbert
e01383b138
Tidy up user passing logic
2022-08-11 13:17:17 +09:00
Andrew Hong
60abe83398
Remove newline
2022-08-10 17:56:36 -04:00
Andrew Hong
396860d9e8
Move Hide() to OsuGame
2022-08-10 13:32:33 -04:00
Andrew Hong
8c7ede6111
Add proper toggling
2022-08-09 14:43:37 -04:00
Andrew Hong
7ed489b56d
Add hotkey to Toolbar
2022-08-09 14:10:38 -04:00
Andrew Hong
aee18135a9
Switch to toggle
2022-08-09 04:09:22 -04:00
Andrew Hong
f65b7ef058
Add keybind for showing profile
2022-08-09 02:49:53 -04:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Dean Herbert
6b73f7c7ec
Split out legacy import path from realm manager
2022-07-27 15:04:09 +09:00
Dean Herbert
ef10145d6f
Rename MenuCursorContainer
and clean up code
2022-07-26 14:11:52 +09:00
Dean Herbert
57a41c6897
Add basic background processor
2022-07-21 18:20:46 +09:00
Dean Herbert
75453b78c0
Adjust colours and metrics
2022-07-21 00:09:46 +09:00
Dean Herbert
f54aff2ece
Add global key binding for FPS toggle
2022-07-21 00:09:46 +09:00
Dean Herbert
0a1744faca
Add to game and bind with configuration setting
2022-07-20 23:49:19 +09:00
Dean Herbert
c282e19316
Update language initialisation in line with framework LocalisationManager
changes
2022-06-28 18:19:48 +09:00
Dean Herbert
b28cfc222b
Schedule unregister instead
2022-06-28 01:19:28 +09:00
Dean Herbert
3e3843dcf9
Fix potential crash on CloseAllOverlays
due to collection mutation
2022-06-28 00:32:36 +09:00
Dan Balasescu
d43b980a17
Merge pull request #18872 from peppy/add-working-beatmap-changed-logging
...
Add various logging of global `WorkingBeatmap` state changes
2022-06-27 21:34:05 +09:00
Dean Herbert
50c1c066de
Add various logging of global WorkingBeatmap
state changes
2022-06-27 18:41:31 +09:00
Dean Herbert
10d1bbb131
Log global working beatmap updates in OsuGameBase
instead of OsuGame
2022-06-27 15:58:51 +09:00
Bartłomiej Dach
34f1c80b7c
Add and use ILinkHandler
interface
2022-06-20 20:04:21 +02:00
Dean Herbert
dbae4c6f5a
PostImport
-> PresentImport
2022-06-20 18:36:29 +09:00
Dean Herbert
50e40756c4
Rename GracefullyExit
to AttemptExit
2022-06-19 12:34:44 +09:00
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