1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-09 01:57:24 +08:00
Commit Graph

32604 Commits

Author SHA1 Message Date
Dean Herbert
6dbfc26158 Add log output when a model is undeleted 2022-04-12 18:23:38 +09:00
Dean Herbert
b51abfc722 Fix ScoreDownloadTracker matching on empty hash equality 2022-04-12 18:22:23 +09:00
Dean Herbert
e901857610
Merge pull request #17776 from frenzibyte/dangerous-dialog-button-bounds
Fix dialog dangerous button being clickable at edges
2022-04-12 15:40:50 +09:00
Dean Herbert
8b1cee75fa Use BindableLong instead of BindableInt for user score tracking 2022-04-12 14:13:07 +09:00
Dan Balasescu
0e1d17d1d1 Use zh-Hant instead of zh-TW 2022-04-12 13:11:22 +09:00
Dean Herbert
0ba95a4483 Ensure all users are shown on leaderboard (even when API lookup fails) 2022-04-12 11:54:30 +09:00
Dean Herbert
ebee9e6888 Fix MultiplayerGameplayLeaderboard not immediately updating totals on scoring mode change 2022-04-12 11:27:27 +09:00
Dan Balasescu
94e2a90af2
Merge pull request #17767 from peppy/multiplayer-gameplay-leaderboard-test-improvements
Refactor multiplayer gameplay leaderboard tests to remove reliance on `Test` implementations
2022-04-12 11:19:53 +09:00
Salman Ahmed
bad30d9e60 Fix dialog dangerous button being clickable at edges 2022-04-11 21:05:37 +03:00
Dean Herbert
82939b0556 Fix skins getting duplicated when importing after export
Closes #17614.
2022-04-12 00:29:19 +09:00
Dean Herbert
09d560c93e Add test coverage of spectator requests 2022-04-11 19:27:14 +09:00
Dean Herbert
34457b4742 Expose mocked members as virtual on Multiplayer and SpectatorClient 2022-04-11 19:04:15 +09:00
Dean Herbert
abb42a54fd Fix MultiplayerTestScene not actually setting match type correctly 2022-04-11 17:57:05 +09:00
Dan Balasescu
37976c569a
Merge pull request #17762 from peppy/fix-unobserved-exceptions
Avoid throwing unobserved exception when `PerformancePointsCounter` requests timed attributes
2022-04-11 14:50:12 +09:00
Dean Herbert
cb6e557212 Fix MasterGameplayClockContainer having incorrect rate-based offsets immediately after LoadComplete
I've attempted to explain why this is required using inline comments.
There's also further conversation at
https://github.com/ppy/osu/pull/17302#issuecomment-1091850927.
2022-04-11 14:11:26 +09:00
Dean Herbert
808f0ecb74 Ensure running state is updated before performing Seek in GameplayClockContainer.Reset 2022-04-11 14:10:50 +09:00
Dean Herbert
2b74dbca28 Fix potential crash in DrawableRoom due to lack of null check on post-lookup beatmap 2022-04-11 13:44:34 +09:00
Dean Herbert
19b655d75b Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes 2022-04-11 13:30:21 +09:00
Dan Balasescu
d482ab0287 Fix ParticleSpewer outputting NaN in vertices 2022-04-09 22:29:55 +09:00
Salman Ahmed
134d9b5ddf Perform Show() at the bottom of the method
Probably not affecting behaviour, but makes more sense.
2022-04-08 19:28:04 +03:00
Dean Herbert
57fb8616b8 Fix potential null reference when attempting to highlight a message before overlay has been displayed 2022-04-09 00:31:00 +09:00
Dean Herbert
ae1e126837 Make HighlightMessage implicitly show chat overlay 2022-04-09 00:30:28 +09:00
Dan Balasescu
9ea6f9b1fe Remove some incorrectly-firing asserts 2022-04-08 21:44:44 +09:00
Dan Balasescu
62f5409191
Merge pull request #17725 from peppy/multiplayer-hotifx
Avoid multiplayer crashes when events arrive in unexpected order
2022-04-08 20:23:37 +09:00
Dan Balasescu
1f5e435bb3
Merge pull request #17726 from peppy/update-framework
Update framework
2022-04-08 19:48:24 +09:00
Dean Herbert
ea4ca6d2ad Update framework 2022-04-08 18:09:57 +09:00
Dean Herbert
5c571996d8 Avoid multiplayer crashes when events arrive in unexpected order
Intended to be a temporary fix for
https://github.com/ppy/osu/issues/17713 while a more permanent solution
is established. A proper fix is actually quite simple, but updating the
test to work with it is... *slightly* more complicated.

This hotfix will mean that if a `UserJoined` event arrives during the
unobserved window during room join (of the local user), the local user
still won't see the joining user, but the game won't crash as a result.
2022-04-08 17:55:47 +09:00
Dean Herbert
6bb8243212 Fix potential assert failure due to Room access from disconnection event 2022-04-08 17:41:03 +09:00
Dan Balasescu
975bb8cc2a
Merge pull request #17703 from peppy/fix-storyboard-fallback-animation-frame-count-weirdness
Fix `DrawableStoryboardAnimation` to handle skin fallback frame count similar to stable
2022-04-08 17:01:17 +09:00
Dan Balasescu
c48f8d7b9b
Merge pull request #17714 from bdach/mod-overlay/multimod-incompatibility
Ensure that mods grouped into multi mods are pairwise incompatible
2022-04-08 16:43:06 +09:00
Dean Herbert
933a722cfc Remove secondary null checks which cannot exist (were on wrong thread) 2022-04-08 14:56:04 +09:00
Dean Herbert
24c2d465a9 Move null assert in MultiplayerPlayer on to update thread 2022-04-08 14:53:14 +09:00
Dean Herbert
64c63fe93a Move null check in JoinRoom on to update thread 2022-04-08 14:52:56 +09:00
Dean Herbert
d50f41225f Rename scheduleAsync to runOnUpdateThreadAsync 2022-04-08 14:43:53 +09:00
Dean Herbert
9ba99ed57d Ensure all access to MultiplayerClient.Room is on the update thread
This was an implicit requirement until now, but not well documented
everywhere. Adding this makes it much easier to understand the
requirement (and probably safer).
2022-04-08 14:42:56 +09:00
Bartłomiej Dach
282b220d94
Fix test failure due to checking incompaatibility of flattened multi mods 2022-04-08 00:16:50 +02:00
Bartłomiej Dach
6630b38c08
Make all ModRateAdjust implementations incompatible with each other 2022-04-07 22:38:46 +02:00
Bartłomiej Dach
8175741a6c
Merge branch 'master' into fix-storyboard-fallback-animation-frame-count-weirdness 2022-04-07 21:49:32 +02:00
Bartłomiej Dach
71c0216c55
Add null check guards to unsubscriptions in Dispose() 2022-04-07 21:37:42 +02:00
Bartłomiej Dach
3016ce7817
Merge branch 'master' into bindable-safety-skin-editor 2022-04-07 20:59:44 +02:00
Bartłomiej Dach
e658b63dbc
Merge branch 'master' into clock 2022-04-07 20:27:23 +02:00
Salman Ahmed
a616f5bc2a Fix regressed digital clock width conditional 2022-04-07 19:24:15 +03:00
Dean Herbert
11b4c5ca87 Fix potential null ref if UpdateTargetScreen is called too early 2022-04-07 23:42:42 +09:00
Salman Ahmed
c323020fcf Fix Use24HourDisplay conditional flipped 2022-04-07 15:56:28 +03:00
Salman Ahmed
fb9fe4213d Fix skin texture lookups not handling paths with extensions 2022-04-07 15:07:30 +03:00
Dean Herbert
a4d3afd06d Fix multiple issues with bindable safety in SkinEditor components 2022-04-07 19:12:12 +09:00
Dean Herbert
b2c0eaeab4 Make string read better 2022-04-07 18:20:15 +09:00
Dean Herbert
555aee7b6a Remove incorrect and pointless complexity to width changes 2022-04-07 18:16:14 +09:00
Dean Herbert
7530fe5adf Move default specification to configuration initial value 2022-04-07 18:13:23 +09:00
Dean Herbert
37509e04a9 Rename variable and fix inspections 2022-04-07 18:11:30 +09:00
Dean Herbert
040afff670 Change DrawableStoryboardAnimation to derive from TextureAnimation 2022-04-07 17:35:59 +09:00
Dean Herbert
cbc4e5319d Fix DrawableStoryboardAnimation to handle skin fallback frame count similar to stable
Reasoning is explained in the inline comment (basically, stable doesn't
care what the user specifies as the frame count when falling back to
skin resources).

This change also removes on to two layers of drawables, which should be
a win in heavy storyboards.
2022-04-07 17:35:56 +09:00
Dean Herbert
93bdca5211 Split out GetTextures helper function for LegacySkins 2022-04-07 17:28:48 +09:00
Dan Balasescu
f0698937b7
Merge pull request #17700 from peppy/fix-skin-lookups-extension-specified
Fix filename lookups on `LegacySkin`s going awry when extension is specified
2022-04-07 17:03:27 +09:00
Dan Balasescu
5af93bd85d
Merge pull request #17701 from peppy/fix-storyboard-animation-sizing
Fix storyboard animations getting incorrect positioning due to size not being set
2022-04-07 17:00:39 +09:00
Dean Herbert
a7e262627f Fix DrawableStoryboardAnimation not specifying sizing correctly
Usually this would be handled by `TextureAnimation`, but because we are
inheriting from `DrawableAnimation` here for reasons, we needed to
implement this ourselves. Follows the implementation in
`TextureAnimation`.
2022-04-07 15:18:55 +09:00
Dean Herbert
eb0653fa7b
Merge pull request #17698 from Joehuu/fix-replay-button-local-being-disabled
Fix replay button being disabled when available locally but not online
2022-04-07 14:18:02 +09:00
Dean Herbert
205edb65a2 Fix filename lookups on LegacySkins going awry when extension is specified
Due to the logic present to handle `@2x` fallback, the extension was
potentially being added at the wrong point in the filename. This change
ensures that the lookup filenames are always correct.

Closes https://github.com/ppy/osu/issues/17690.
2022-04-07 14:16:19 +09:00
Dean Herbert
9ed4f31048 Update resources 2022-04-07 13:35:07 +09:00
Joseph Madamba
358931842f Move enabled setting to each case 2022-04-06 21:22:56 -07:00
Jamie Taylor
8a73831115
Add MP lobby 'warning' SFX for the final seconds of countdown 2022-04-07 13:12:33 +09:00
Joseph Madamba
4432a93d09 Fix replay button being disabled when available locally but not online 2022-04-06 20:43:56 -07:00
Dan Balasescu
c997d0fcf0
Merge pull request #17631 from bdach/mod-overlay/full-screen
Implement basic layout & behaviour of new mod select screen
2022-04-07 10:23:49 +09:00
Dan Balasescu
4c20e67478
Merge pull request #17683 from huoyaoyuan/remove-outdated
Remove some outdated packages
2022-04-07 10:13:15 +09:00
Dan Balasescu
c440d89ef9
Merge pull request #17678 from peppy/get-virtual-time-length
Change `WorkingBeatmap.GetVirtualTrack` to use length provided by `BeatmapInfo`
2022-04-07 09:32:59 +09:00
Dan Balasescu
4b3569ea79
Merge pull request #17576 from peppy/fix-multiplayer-unobserved
Centralise exception handling of `MultiplayerClient` calls
2022-04-07 09:09:55 +09:00
Huo Yaoyuan
ec4f1bcbc8 Remove outdated NETCore packages. 2022-04-06 19:18:18 +08:00
Dean Herbert
c42ef43faa Ensure intro beatmap has protected flag set
In cases this isn't set, the beatmap has likely entered a bad state.

Closes https://github.com/ppy/osu/issues/17659.
2022-04-06 16:46:53 +09:00
Dean Herbert
2b8a5833dd Fix back-to-front conditional check 2022-04-06 15:13:02 +09:00
Dean Herbert
552ec5282f Change WorkingBeatmap.GetVirtualTrack to use length provided by BeatmapInfo
A lot of tests are using test resources that populate the length field,
but do not populate hitobjects. The general expectation is that
components should be using the cached length in cases where hitobjects
are not relevant, but `GetVirtualTrack` was doing its own local
calculation.

This could cause tests to fail due to `MusicController` changing track
in the background.
2022-04-06 14:51:15 +09:00
Dean Herbert
f795f77cf9 Add missing newline 2022-04-06 14:00:54 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +09:00
Dean Herbert
c540810943
Merge branch 'master' into fix-multiplayer-unobserved 2022-04-06 11:33:10 +09:00
Dean Herbert
01da3924cc Simplify IsCurrentScreen check to only apply to relevant call 2022-04-06 11:32:35 +09:00
Perry MacMurray
2525ec0d18 Switch 24H toggle from UI settings to language settings 2022-04-05 17:07:58 -04:00
Perry MacMurray
9d475f7b33 Add config in settings for forcing 24H time, determines default off CurrentCulture 2022-04-05 16:21:28 -04:00
Bartłomiej Dach
9c91e6d8f5
Merge branch 'master' into mod-overlay/full-screen 2022-04-05 21:29:40 +02:00
Perry MacMurray
74706f72e6 Add 12-hour display setting (TODO add toggle) 2022-04-05 15:10:55 -04:00
Dean Herbert
ac799aaf7a Add missing newline 2022-04-05 19:25:47 +09:00
Dean Herbert
32daf64a31 Use newly exposed framework helper function to find closest parent 2022-04-05 19:24:34 +09:00
Dean Herbert
631aa2a6ec Remove left padding to allow left-most column to exist further to the.. left 2022-04-05 18:44:25 +09:00
Dean Herbert
54715885af Adjust animation metrics slightly 2022-04-05 18:41:01 +09:00
Dean Herbert
7a1820e6bb Fix multiplier display resetting transformations 2022-04-05 18:40:48 +09:00
Dean Herbert
9fdeb20537 Animate individual ModColumns during togle of oerlay 2022-04-05 18:27:34 +09:00
Dean Herbert
901032bfa2 Animate multiplier display 2022-04-05 18:25:27 +09:00
Dan Balasescu
7623f3b90b
Merge branch 'master' into skin-editor-import-at-cursor 2022-04-05 17:39:11 +09:00
Dan Balasescu
2b59f76b2d
Merge pull request #17596 from peppy/skin-editor-sprites
Allow importing sprites into a skin via drag-and-drop
2022-04-05 17:38:58 +09:00
Dean Herbert
497e5e3a36 Slightly adjust scroll handling and also apply to ModSettingsContainer 2022-04-05 17:19:33 +09:00
Dean Herbert
a408776734 Limit FillFlow of columns to applicable direction 2022-04-05 17:15:05 +09:00
Dean Herbert
388322cd61 Speed up customisation panel toggle a bit 2022-04-05 16:56:24 +09:00
Dean Herbert
58e9147b12 Simplify and better comment nested scroll conditionals 2022-04-05 16:48:25 +09:00
Dan Balasescu
2ec15a1ebe Fix lookup through transformers 2022-04-05 16:47:15 +09:00
Dean Herbert
f156cb797d Improve nested scroll behaviour 2022-04-05 16:46:09 +09:00
Dean Herbert
23dad7bdc4 Move scroll view padding to content level
Without doing this, there is a non-masked but also non-interactive area
to the left or right of the view.
2022-04-05 16:43:00 +09:00
Dan Balasescu
c973d33bfd
Merge pull request #17604 from nekodex/mp-countdown-sfx
Add SFX for multiplayer lobby countdown timer
2022-04-05 16:40:26 +09:00
Dean Herbert
3d8ae0465f Reword comment slightly 2022-04-05 15:51:04 +09:00
Dean Herbert
8e543204cd Remove debounce logic (not required after switching to Update clock time) 2022-04-05 15:49:47 +09:00
Dean Herbert
5f415cbe53 Full potential null reference and add better commentary on countdown scheduling 2022-04-05 15:48:18 +09:00
Dean Herbert
d0f83885ce Appease the CI 2022-04-05 13:20:34 +09:00
Dean Herbert
31bf0c4a9b Disable "final" sample in countdown for the time being 2022-04-05 13:16:06 +09:00
Dean Herbert
174dc1641c Fix multiple issues with timekeeping
- Using realtime (`DateTimeOffset.Now`) meant that values would be
  changing in the same frame, causing misfirings or incorrect displays
- No debounce on sample playback meant that scheduling edge cases could
  potentially cause samples to be played more than once.
2022-04-05 11:49:58 +09:00
Dean Herbert
3ca365ad7f
Merge branch 'master' into dangerous-delete-actions 2022-04-05 10:55:01 +09:00
Ame
32c89f8643 Handle repeated OnPressed() on FooterButton (without FooterButtonRandom) 2022-04-05 00:33:41 +02:00
Bartłomiej Dach
f73062a0d6
Revert "Remove nullable on RealmBackedResourceStore realm parameter"
This reverts commit 09e15f5496.
2022-04-04 22:22:55 +02:00
Bartłomiej Dach
9b367d645d
Always play pop in sequence 2022-04-04 20:02:47 +02:00
CenTdemeern1
9a07a95d39 Make several delete confirmation buttons dangerous buttons
Includes:
- Mass deletion
- Beatmap deletion
- Local score deletion
2022-04-04 19:22:53 +02:00
Dean Herbert
3708f2b744 Update resources 2022-04-05 01:05:04 +09:00
Dean Herbert
64ba24c4f7 Merge branch 'master' into mp-countdown-sfx 2022-04-05 01:04:57 +09:00
Dan Balasescu
cbcbcd1a4a
Merge pull request #17643 from peppy/stable-countdown
Stabilise countdown updates to be based on when whole seconds change
2022-04-04 22:19:06 +09:00
Dean Herbert
6b5ee6d89d Update framework 2022-04-04 20:44:05 +09:00
Dean Herbert
57b8c32f25 Remove unused fields 2022-04-04 20:42:14 +09:00
Dean Herbert
5f358a04e9 Return a valid "lighting" response from DefaultSkin
This is temporary to allow the new sprite lookup flow to potentially be
merged before hit lighting skinnability is addressed.
2022-04-04 20:40:20 +09:00
Dean Herbert
8185020f12 Improve the visual of the missing sprite sprite 2022-04-04 20:35:48 +09:00
Dean Herbert
de30a42558 Add region for import methods and move Dispose to end of time 2022-04-04 20:30:14 +09:00
Dean Herbert
dac5dfde8f Remove unnecessary LazyThreadSafetyMode specification 2022-04-04 20:28:43 +09:00
Dean Herbert
300feadf6a Update SkinnableSprite to match more broad usage 2022-04-04 20:27:46 +09:00
Dean Herbert
09e15f5496 Remove nullable on RealmBackedResourceStore realm parameter 2022-04-04 20:27:03 +09:00
Dean Herbert
bc53adb72a Adjust customisation transition slightly 2022-04-04 15:50:40 +09:00
Dean Herbert
b5df350007 Adjust pop in/out transitions 2022-04-04 15:45:44 +09:00
Dean Herbert
f00dc5e156
Merge pull request #17598 from smoogipoo/playlist-quick-reorder
Fix playlist refreshing all items on order change
2022-04-04 14:48:05 +09:00
Dean Herbert
0abebe4d23 Stabilise countdown updates to be based on when whole seconds change 2022-04-04 14:41:32 +09:00
Dean Herbert
ee8451c8ca
Merge branch 'master' into osu-diff-calc-max-combo 2022-04-04 14:20:44 +09:00
Dean Herbert
39c6eed819 Update resources 2022-04-04 14:10:57 +09:00
Dean Herbert
d6625413fa
Merge pull request #17617 from ajiiisai/proper-toggable-shortcuts-for-overlays
Make overlay shortcuts able to be toggled instead of repeatable
2022-04-04 13:46:42 +09:00
Dan Balasescu
e1f147a207 Mutate playlist in EditUserPlaylistItem 2022-04-04 13:46:41 +09:00
Bartłomiej Dach
cd776d21a6
Fix propagation of selected mods to columns 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
e46c2df409
Add testing for customisation panel show/hide logic 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
293ef44836
Implement new mod select screen 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
1393e3628b
Invert operands for better readability 2022-04-03 15:24:00 +02:00
Dean Herbert
969f7e121a
Merge pull request #17545 from jai-x/new-chat-textbox
Implement `ChatTextBox` for new chat design
2022-04-03 22:12:12 +09:00
Bartłomiej Dach
970b1951ac
Rewrite logic slightly to better convey meaning of textbox clear 2022-04-03 14:26:08 +02:00
Jai Sharma
94fa5e2ef2 Use Action<string> for event OnChatMessageCommitted & clear textbox internally 2022-04-02 21:58:54 +01:00
Ame
35629e9be8 General fix for ToolbarButton toggle repetition 2022-04-02 20:45:00 +02:00
Ame
0f94616890 Make overlay shortcuts able to be toggled instead of repeatable 2022-04-02 19:41:15 +02:00
Bartłomiej Dach
28ba437d24
Merge branch 'master' into sucess-rate-tooltip 2022-04-02 19:31:45 +02:00
Jai Sharma
9e152cd3fd Fix code quality issues 2022-04-02 17:27:44 +01:00
Jai Sharma
2297073b7e Use OnChatMessageCommit & OnSearchTermsChanged events in ChatTextBar 2022-04-02 17:15:19 +01:00
Jai Sharma
b9421d1415 Simplify text clear and placeholder change in ChatTextBox 2022-04-02 17:14:27 +01:00
Salman Ahmed
beb8426d3b Save beatmap listing card size to game config 2022-04-02 18:36:49 +03:00
Salman Ahmed
ced5be33e6 Display pass/play count in success rate percentage tooltip 2022-04-02 18:08:57 +03:00
Jamie Taylor
0f4b75ab15
Add multiplayer lobby countdown SFX 2022-04-01 21:33:57 +09:00
Dan Balasescu
6776c37bbc
Merge pull request #17592 from peppy/skin-mutation-better-naming
Fix automatically created "(modified)" skins getting conflicting names
2022-04-01 21:25:10 +09:00
Dean Herbert
43d03f2825 Put ToArray call in correct place in brackets 2022-04-01 19:30:16 +09:00
Dan Balasescu
6e6271d0c0 Fix "server-side" room playlist not updated
Remove unused using
2022-04-01 18:32:10 +09:00
Dan Balasescu
16d4544ff9 Prevent reloads when playlist item order changes 2022-04-01 17:06:37 +09:00
Dean Herbert
01681ee874 Add missing ToArray call
Not sure where this went, was there in my original commit.
2022-04-01 16:19:02 +09:00
Dean Herbert
f0821ce1fc Import new skin editor sprites to the cursor location 2022-04-01 16:16:49 +09:00
Dan Balasescu
cabf6f501f
Merge pull request #17594 from peppy/move-skin-component-error-handling
Move `SkinnableInfo` error handling to lower level
2022-04-01 16:04:00 +09:00
Dean Herbert
6afed5e865 Fix new SettingsItem attribute not playing well with non-Drawables 2022-04-01 16:01:33 +09:00
Dean Herbert
bfd3406f5f Ensure that file is imported and caches are invalidated before placing new sprites 2022-04-01 16:01:33 +09:00
Dean Herbert
314ad63c6e Simplify available file lookup and include file extension 2022-04-01 16:01:33 +09:00
Dean Herbert
2b7105ac4f Add a default sprite representation to allow better placeholder display in skin editor toolbox 2022-04-01 16:01:33 +09:00
Dean Herbert
52eeaffce3 Limit lookup resources to images 2022-04-01 16:01:33 +09:00
Dean Herbert
d1be229d74 Combine SkinSprite into SkinnableSprite 2022-04-01 16:01:33 +09:00
Dean Herbert
762de3cc97 Replace invalidation logic with local realm notification subscription 2022-04-01 16:01:33 +09:00
Dean Herbert
9c3dad9fbf Add proof of concept flow to ensure RealmBackedResourceStore is invalidated on realm file changes
I'm not at all happy with this, but it does work so let's go with it for
now.
2022-04-01 16:01:33 +09:00
Dean Herbert
66f5eae530 Hook up a dropdown to show all available sprites for the current skin 2022-04-01 15:01:43 +09:00
Dean Herbert
fca9faac9b Add SkinnableSprite for arbitrary sprite additions 2022-04-01 14:36:36 +09:00
Dean Herbert
3a16483214 Add prioritised user lookups for default skin
This allows user resources to be consumed before falling back to the
game bundled assets.
2022-04-01 14:36:36 +09:00
Dean Herbert
01829cf2d8 Move SkinnableInfo error handling to lower level
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.

Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +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
69d4f86122 Fix automatically created "(modified)" skins getting conflicting names
Applies the already tested and proven method that is used in the editor
to the mutable skin creation flow.
2022-04-01 14:11:55 +09:00
Dean Herbert
6b9f5812a5
Merge pull request #17579 from CenTdemeern1/clock-button
Make the toolbar clock feel more like a button
2022-04-01 13:12:48 +09:00
Dean Herbert
10f15f2bdb
Merge pull request #17559 from bdach/mod-overlay/sheared-toggle
Implement sheared toggle button
2022-04-01 13:06:22 +09:00
Dean Herbert
338a21f4f0
Merge pull request #17581 from CenTdemeern1/remove-bpm-slider
Remove BPM slider
2022-04-01 11:59:16 +09:00
Joseph Madamba
d0873d67e1 Move difficulty graph toggle to individual skin settings 2022-03-31 18:56:57 -07:00
CenTdemeern1
86d262a355
Merge branch 'ppy:master' into clock-button 2022-03-31 23:08:30 +02:00
Bartłomiej Dach
1c7b259f8e
Merge branch 'master' into mod-overlay/sheared-toggle 2022-03-31 22:20:20 +02:00
Bartłomiej Dach
e180db145d
Add constructor argument to facilitate fixed width/autosizing 2022-03-31 22:19:08 +02:00
Bartłomiej Dach
b3896257ca
Move shear amount to constant 2022-03-31 22:09:03 +02:00
Bartłomiej Dach
e14d5b8adb
Remove unused using directives 2022-03-31 21:20:30 +02:00
CenTdemeern1
a6875383fc Rebind SaveState() to bpmTextEntry 2022-03-31 21:06:05 +02:00
CenTdemeern1
bdb21b17f7 Fix my code according to the changes @bdach requested 2022-03-31 20:39:26 +02:00
CenTdemeern1
52d723aaa6 Remove BPM slider 2022-03-31 20:11:07 +02:00
CenTdemeern1
c64a90b39e Remove a newline to comply with codefactor 2022-03-31 17:21:50 +02:00
CenTdemeern1
f1aa60c0f1 Make the clock feel more like a button 2022-03-31 16:26:53 +02:00
Dean Herbert
0b6db31511 Guard other multiplayer client calls with exception handling 2022-03-31 19:45:38 +09:00
Dean Herbert
e0c125a628 Replace existing usage with helper method 2022-03-31 19:27:45 +09:00
Dean Herbert
5b3eb2d6f4 Add helper class to handle firing async multiplayer methods 2022-03-31 19:27:45 +09:00
Dean Herbert
0a34ce2509 Increase font weight for runtime clock
Fonts this small are required to be `SemiBold` by design guidelines.
Somehow missed this.
2022-03-31 19:07:30 +09:00
Dan Balasescu
bc4d6a3ace
Merge pull request #17570 from peppy/fix-settings-textbox-focus
Focus focus not being transferred correctly to parent settings panel on exiting nested panel
2022-03-31 18:07:51 +09:00
Dean Herbert
ef5e37c47a Fix multiplayer sounds playing too much after gameplay
Regressed in https://github.com/ppy/osu/pull/15936.

Closes #17295.
2022-03-31 16:18:28 +09:00
Dean Herbert
ad14b7cac5
Merge pull request #17565 from smoogipoo/fix-gameplay-leaderboard-allocations
Remove ScoreInfo allocations in multiplayer leaderboard
2022-03-31 15:48:14 +09:00
Dean Herbert
726b49fdf3 Focus focus not being transferred correctly to parent settings panel on exiting nested panel
Seemingly harmless schedule delay ommission meant that the textbox may
not be in a state it can handle the incoming focus event. Regressed in
https://github.com/ppy/osu/pull/14345#discussion_r690697501.
2022-03-31 15:24:21 +09:00
Dean Herbert
e8a295a61b Add test coverage of textbox focus in settings panels when switching between nested panels 2022-03-31 15:24:21 +09:00
Dan Balasescu
40b6f3ff0a Rename method to CalculateAllLegacyCombinations() 2022-03-31 15:09:06 +09:00
Dan Balasescu
32e55e7d78 Merge branch 'master' into osu-diff-calc-max-combo 2022-03-31 15:08:08 +09:00
Joseph Madamba
36c02573a8 Fix osu! logo being clicked when exiting via cmd-q on initial state 2022-03-30 21:26:30 -07:00
Salman Ahmed
9c19ae1df8 Remove no longer necessary ruleset field 2022-03-31 06:40:38 +03:00
Dan Balasescu
6e94a9780b Remove ScoreInfo allocations in multi leaderboard 2022-03-31 12:23:00 +09:00
Dean Herbert
e0d434b89f Remove unused using statement 2022-03-31 11:34:32 +09:00
Dean Herbert
0cac935939 Shorten class name of ModCreatedReplayUser 2022-03-31 11:34:23 +09:00
Dean Herbert
2c1ccc7d36
Update obsolete message to match targeted developers' use case
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-31 11:33:26 +09:00
Dean Herbert
234bec45cc Remove unnecessary logging 2022-03-31 11:32:00 +09:00
Salman Ahmed
6874cdf0c8 Remove unnecessary public prefix in interface method 2022-03-31 01:50:46 +03:00
Bartłomiej Dach
3ac0da2da3
Implement sheared toggle button 2022-03-30 22:50:21 +02:00
Bartłomiej Dach
436dec68c9
Use provided extension method instead of reimplementing locally 2022-03-30 22:04:54 +02:00
Bartłomiej Dach
83bae81095
Fill out ICreateReplayData xmldocs 2022-03-30 22:04:54 +02:00
Jai Sharma
fff30e8a6e Simplify show/hide of text and search in ChatTextBar 2022-03-30 21:02:12 +01:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Jai Sharma
eec3fef7a6 Remove the enter box in ChatTextBar 2022-03-30 20:25:23 +01:00
Salman Ahmed
0f144f6801
Merge branch 'master' into fix-countdown-refresh 2022-03-30 16:26:12 +03:00
Dan Balasescu
b60c253831
Merge pull request #17556 from peppy/fix-multiplayer-unobserved
Fix `MultiplayerMatchSongSelect` potentially attempting to exit when not the current screen
2022-03-30 21:10:11 +09:00
Dean Herbert
671386ba6c Fix MultiplayerMatchSongSelect potentially attempting to exit when not the current screen 2022-03-30 20:36:12 +09:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
f9f6248101 Simplify string bindings 2022-03-30 17:59:45 +09:00
Dean Herbert
bc0b982102 Remove song source from main wedge display
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.

See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Dean Herbert
99f141d396
Merge pull request #17546 from frenzibyte/autoplay-cinema-incompatibility
Mark both "Autoplay" and "Cinema" mods as mutually exclusive
2022-03-30 16:41:07 +09:00
Dean Herbert
bd3c401363
Merge pull request #17550 from smoogipoo/fix-score-display-race
Fix scores sometimes shown with incorrect scoring mode
2022-03-30 16:05:28 +09:00
Dean Herbert
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
Dan Balasescu
c311e11496
Merge pull request #17527 from peppy/switch-osu-folder
Add ability to "migrate" data to another folder which has an existing install
2022-03-30 13:20:49 +09:00
Dan Balasescu
4df63a4900 Prevent scores being calculated twice 2022-03-30 13:15:41 +09:00
Dan Balasescu
bd9c0076df Fix scores sometimes shown with incorrect scoring mode 2022-03-30 13:03:12 +09:00
Dan Balasescu
e869b7286a
Merge pull request #17547 from frenzibyte/m1-ignore-realm-migration
Ignore EF-to-realm migration tests on M1 ARM architectures
2022-03-30 11:47:29 +09:00
Dean Herbert
555e127bc2
Merge pull request #17510 from Wieku/combo-counter
Adjust legacy combo counter appearance to closer match stable
2022-03-30 11:17:30 +09:00
Jai Sharma
e7d2d94eee Fix code quality issues in ChatTextBar 2022-03-30 02:16:50 +01:00
Sebastian Krajewski
cb62d3d4b9 Remove skin dependency as component is reinitialized on skin change 2022-03-30 01:09:05 +02:00
Sebastian Krajewski
7582c943a4 Use In/Out instead of {In/Out}Quad 2022-03-30 00:48:59 +02:00
Salman Ahmed
986aad4bd5 Fix potential nullref on OsuGameTestScene.TearDownSteps 2022-03-30 01:15:24 +03:00
Salman Ahmed
cef1b93471 Improve behaviour of "Autoplay" shortcut during gameplay start
This also opens up the way to adding shortcut for "Cinema" mod
(Ctrl+Shift+Enter), but will leave adding that until there's a demand
for it.
2022-03-30 01:07:48 +03:00
Jai Sharma
f049d7cb67 Implement ChatTextBox for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChatTextBox`.
Exposes `BindableBool` `ShowSearch` to change text input behaviour
between normal and search behaviour.

Adds new component `ChatTextBar`.
Exposes `BindableBool` `ShowSearch` which toggles between showing current
chat channel or search icon.
Additionally binds to child `ChatTextBox` components.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
2022-03-29 22:33:38 +01:00
Salman Ahmed
8d4356f23b Mark "autoplay" and "cinema" mods as mutually exclusive 2022-03-29 17:26:02 +03:00
Salman Ahmed
26b72fc449
Merge branch 'master' into fix-countdown-refresh 2022-03-29 16:16:36 +03:00
Salman Ahmed
9a09c97457 Fix "Barrel Roll" tooltip not limiting decimal places for spin speed 2022-03-29 16:11:44 +03:00
Dean Herbert
4741679a94
Change confirmation message to be more clear about intentions
Co-authored-by: Henry Lin <henry.ys.lin@gmail.com>
2022-03-29 19:03:50 +09:00
Salman Ahmed
cdc2ae7991
Merge branch 'master' into m1-migration-information 2022-03-29 13:03:36 +03:00
Dean Herbert
1fb3d11591 Add ability to "migrate" data to another folder which has an existing install
Until now, migrating would always attempt to move files.

There's a chance that a user is reinstalling osu! but has their data at
a custom location. We want to allow the chance for them to continue
using the external data. This seems like the easiest way to make it
work.

Would be nice if we had a `Game.Restart()` method, but maybe this is
enough for now?

Note that further down the road we will probably prompt the user to
potentially select a custom install path (including one with existing
data) before osu! gets to writing anything.
2022-03-29 18:04:31 +09:00
Dean Herbert
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
Dean Herbert
7d716adf39 Create new ICreateReplayData interface and obsolete ICreateReplay 2022-03-29 16:51:30 +09:00
Dean Herbert
3fc8c23fe4 Remove unnecessary SetReplayScore call in ModCinema 2022-03-29 16:51:30 +09:00
Dean Herbert
327477d050 Remove unnecessary SetReplayScore call in ModCinema 2022-03-29 16:50:05 +09:00
Dean Herbert
8948bcce19 Restructure transforms slightly 2022-03-29 13:18:31 +09:00
Dean Herbert
0433d2fe6a Add safety to realm instance retrieval in RealmAccess 2022-03-29 11:40:58 +09:00
Dan Balasescu
375a752e24 Fix countdown timer not refreshing on new countdown 2022-03-29 11:27:26 +09:00
Sebastian Krajewski
caf641e1ab Remove redundant ClearTransforms 2022-03-28 23:50:35 +02:00
Sebastian Krajewski
981ef735cf Always start small pop out from its initial size 2022-03-28 19:57:59 +02:00
Sebastian Krajewski
e3289bb080 Don't scale big pop out as much 2022-03-28 19:33:00 +02:00
Sebastian Krajewski
265b2111ef Remove comment 2022-03-28 18:08:51 +02:00
Sebastian Krajewski
001a98e069 Fix LegacyComboCounter not unsubscribing from skin 2022-03-28 18:08:35 +02:00
Dean Herbert
ea46e024c1 Avoid deadlock during migration failed exit process 2022-03-29 00:04:13 +09:00
Dean Herbert
b6ae0ebb6f Limit macOS specific log output to macOS platforms specifically 2022-03-28 23:46:07 +09:00
Sebastian Krajewski
05a978ce8c Update LegacyComboCounter layout and scaling 2022-03-28 16:36:37 +02:00
Dean Herbert
dc7dc7f65a Update UserProfileOverlay and ClickableAvatar to treat system users more correctly 2022-03-28 22:57:16 +09:00
Dean Herbert
a0692ce477 Add a const for system users which should never display a profile 2022-03-28 22:22:56 +09:00
Dean Herbert
b5834dabdb Fix skin editor not exiting correctly when using the menu
Closes https://github.com/ppy/osu/issues/17489.
2022-03-28 20:43:26 +09:00
Dean Herbert
a98aac3bf2 Better inform users of migration failure reason when running Apply Silicon build
As mentioned in https://github.com/ppy/osu/discussions/17409#discussioncomment-2445464?
2022-03-28 17:34:36 +09:00
Dean Herbert
01980effe2
Merge pull request #17449 from smoogipoo/countdown-button-ux
Improve multiplayer ready button/countdown button UX
2022-03-27 13:42:10 +09:00
Dean Herbert
1edf1d8f40
Merge pull request #17464 from smoogipoo/fix-logo-thread-safety
Fix LogoVisualisation draw thread safety
2022-03-27 09:50:42 +09:00
Dean Herbert
e198d71818
Merge pull request #17466 from bdach/multi-settings-z-ordering
Fix multiplayer match settings overlay dropdown Z-ordering
2022-03-27 09:50:21 +09:00
Bartłomiej Dach
f400249f32
Fix multiplayer match settings overlay dropdown Z-ordering 2022-03-26 18:28:38 +01:00
Dan Balasescu
6384531317 Fix LogoVisualisation draw thread safety 2022-03-27 01:43:47 +09:00
Salman Ahmed
b6822f8190 Remove redundant/outdated Origin line 2022-03-26 14:55:19 +03:00
Dean Herbert
9b7b897b3c Adjust padding to fit better 2022-03-26 20:34:50 +09:00
Dean Herbert
ab8db3b7dc Move nested classes to own files 2022-03-26 20:34:17 +09:00
Dean Herbert
4ddf3cb1d9 Add ability to cycle between clock display modes 2022-03-26 19:18:41 +09:00
Dean Herbert
97e9049a2c Adjust metrics and colours to better match the actual toolbar 2022-03-26 18:56:40 +09:00
Dean Herbert
252d1924e7 Adjust metrics for better legibility at small sizes 2022-03-26 18:13:33 +09:00
Dean Herbert
999ae88af2 Show game time display in clock 2022-03-26 18:13:20 +09:00
Dean Herbert
e8f5a8e3d6 Refactor hands for legibility (visual and code) 2022-03-26 18:13:13 +09:00
Dean Herbert
0d8a7246dd Add basic implementation of clock 2022-03-26 18:13:13 +09:00
Dean Herbert
5725cc36ff Add animation to countdown button when countdown is active 2022-03-26 14:29:53 +09:00
Dean Herbert
03f24c8b58
Merge branch 'master' into countdown-button-ux 2022-03-26 10:34:51 +09:00
Dean Herbert
a30d6256f4
Merge pull request #17447 from peppy/countdown-button-icon
Use more appropriate icon on countdown button (and give tooltip)
2022-03-26 10:20:07 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dan Balasescu
6c172bac3c
Merge pull request #17448 from peppy/fix-skin-component-crash-on-instantiation-failure
Avoid crashing if a skin component cannot be instantiated correctly
2022-03-25 19:41:52 +09:00
Dan Balasescu
1ff5fc98f5
Merge pull request #17445 from peppy/fix-test-realm-failures
Fix visual test crashes due to local realm not having update thread
2022-03-25 19:41:13 +09:00
Dan Balasescu
11ee78b395
Merge branch 'master' into countdown-button-icon 2022-03-25 19:40:25 +09:00
Dan Balasescu
3986dfd160
Merge pull request #17444 from peppy/fix-countdown-counting
Update multiplayer countdown button text more often
2022-03-25 19:40:04 +09:00
Dean Herbert
ed239d7016
Merge pull request #17421 from peppy/skin-nullable
Apply `nullable` to skin classes
2022-03-25 19:39:04 +09:00
Dean Herbert
f989158a31 Add back playlist availability control (because it's hooked up half way?) 2022-03-25 19:20:16 +09:00
Dan Balasescu
9963efce51 Improve ready/countdown button UX 2022-03-25 18:40:32 +09:00
Dean Herbert
320110f179 Remove "room visibility" from playlists settings to match 2022-03-25 18:37:46 +09:00
Dean Herbert
b13408aed0 Add back "room visibility" control commented out for now 2022-03-25 18:37:20 +09:00
Dean Herbert
a0a3bba46e Avoid crashing if a skin component cannot be instantiated correctly 2022-03-25 18:31:26 +09:00
Dan Balasescu
3ad092d808 Always show the countdown button when host 2022-03-25 18:29:00 +09:00
Dean Herbert
463091bde2 Use more appropriate icon on countdown button (and give tooltip) 2022-03-25 18:25:48 +09:00
Dean Herbert
1acfbf490b
Merge branch 'master' into mod-overlay/settings-area 2022-03-25 17:37:39 +09:00
Dan Balasescu
2553cfed75 Match new server ready/unready logic 2022-03-25 17:04:45 +09:00
Dean Herbert
aa9e642e40
Merge branch 'master' into pin-multiplayer-host 2022-03-25 16:49:35 +09:00
Dean Herbert
6b22e5774f Remove conditional access on known non-null 2022-03-25 16:42:35 +09:00
Dean Herbert
5fcd3b07f1 Fix visual test crashes due to local realm not having update thread 2022-03-25 16:35:32 +09:00
Dean Herbert
4a30b6ef56 Update multiplayer countdown button text more often
At once a second, it regularly skips whole seconds (because scheduler
isn't guaranteed to run exactly as often as specified). 10 updates a
second seems amicable and less noticeable to my eye.
2022-03-25 16:25:20 +09:00
Dan Balasescu
8553adc401
Merge pull request #17443 from peppy/fix-unexpected-immediate-exit
Fix game unexpectedly exiting without outro sequence occasionally on macOS
2022-03-25 15:57:57 +09:00
Dan Balasescu
23c4f9910e Apply notnull constraint 2022-03-25 15:54:01 +09:00
Dean Herbert
792e79265b Add ignore rule for new helper property 2022-03-25 15:46:27 +09:00
Dean Herbert
b1f0f89fdd Simplify AutoStart and Host checks 2022-03-25 15:41:01 +09:00
Dan Balasescu
2d8d177807
Merge branch 'master' into skin-nullable 2022-03-25 15:36:21 +09:00
Dan Balasescu
478174dd58
Merge pull request #17416 from peppy/skin-fuck
Refactor skin construction
2022-03-25 15:36:06 +09:00
Dean Herbert
de4c04ef80 Fix non-matching json propert for AutoStartDuration 2022-03-25 15:34:33 +09:00
Dean Herbert
416b57ea69 Fix main menu buttons handling keys when super (cmd) is held 2022-03-25 15:13:22 +09:00
Dean Herbert
816fcae3a1 Rename Button to MainMenuButton to differentiate better 2022-03-25 15:12:39 +09:00
Dan Balasescu
c6182c2b09
Merge pull request #17432 from peppy/realm-subscription-any-thread
Allow realm subscriptions to be initiated from any thread
2022-03-25 14:05:03 +09:00
Dean Herbert
09c5325b08 Update resources 2022-03-25 13:18:49 +09:00
Dean Herbert
b4c0155b3d Update framework 2022-03-25 13:07:21 +09:00
Dan Balasescu
def2ce243f
Merge pull request #17431 from peppy/fix-participants-panel-null-ref
Guard against potential null `CurrentItem` in `ParticipantPanel`
2022-03-25 11:47:43 +09:00
Bartłomiej Dach
5f730c0cd4
Merge branch 'master' into fix-old-legacy-replays 2022-03-24 23:21:50 +01:00
Bartłomiej Dach
878e8d21a3
Remove assertion to fix "expression always true" inspection 2022-03-24 21:51:10 +01:00
Dean Herbert
b04ca111c6 Allow realm subscriptions to be initiated from a non-update thread 2022-03-24 23:41:07 +09:00
Dean Herbert
2938f44e6c Update PresentExternally usages in line with framework changes 2022-03-24 23:41:07 +09:00
Dan Balasescu
1abf3f7bf4 Fix cancel tooltip showing for autostart countdowns 2022-03-24 20:25:17 +09:00
Dan Balasescu
d3a957d64e Fix test client not receiving initial value 2022-03-24 20:24:09 +09:00
Dan Balasescu
0d88af19ae Fix local setting not being updated 2022-03-24 20:23:58 +09:00
Dan Balasescu
f80692f342 Add missing TestMultiplayerClient coverage 2022-03-24 20:19:05 +09:00
Dan Balasescu
5fe46a73cb Update room state in more situations 2022-03-24 20:17:16 +09:00
Dan Balasescu
209de886ce Add method to stop countdown 2022-03-24 20:17:16 +09:00
Dan Balasescu
ea9de0199d Split countdown start into separate method 2022-03-24 20:09:32 +09:00
Dan Balasescu
40eca0fbe2 Merge branch 'master' into multiplayer-auto-countdown 2022-03-24 18:11:51 +09:00
Dean Herbert
2d58feebb1 Guard against potential null CurrentItem in ParticipantPanel 2022-03-24 17:54:21 +09:00
Dean Herbert
e889d93441 Add asserts of playlist being non-empty after client operations 2022-03-24 17:52:20 +09:00
Dean Herbert
0275e974e5
Merge branch 'master' into multiplayer-countdown-timers-2 2022-03-24 17:24:00 +09:00
Dean Herbert
e3f8bc0588 Revert Availability to private 2022-03-24 17:15:17 +09:00
Dan Balasescu
528ffea38d Fix incorrect event binding 2022-03-24 17:11:08 +09:00
Dean Herbert
a7554dcdf7 Use a constant for the early version timing offset 2022-03-24 16:43:41 +09:00
Dan Balasescu
dfa076c169 Refactor cancellation logic 2022-03-24 16:29:59 +09:00
Dean Herbert
a7d5f2281c Apply beatmap offsets to legacy replay frame handling 2022-03-24 16:16:40 +09:00
Dan Balasescu
4c0d76573c Asserate code is running on update thread 2022-03-24 15:51:30 +09:00
Dan Balasescu
f0d132b16e Rename FinishCountdown() -> SkipToEndOfCountdown() 2022-03-24 15:21:46 +09:00
Dan Balasescu
d2ecc100e5 Revert unnecessary async change 2022-03-24 15:07:24 +09:00
Dan Balasescu
8f3a4df70a Add explanation for try-catch 2022-03-24 15:07:24 +09:00
Dan Balasescu
d36944ac95 Dispose token manually
Cover more branches with cancellation source disposal
2022-03-24 15:07:24 +09:00
Dean Herbert
8ca9cbc866 Set a more correct initial value for pauseFreqAdjust
As the `GameplayClock` now starts paused, this value needs to match to
ensure things work correctly.

For a better explanation of how we got here, see discussion at
https://github.com/ppy/osu/pull/17302#discussion_r830017735.
2022-03-24 14:50:00 +09:00
Dan Balasescu
96a447f68b Rename Multiplayer prefix to button classes 2022-03-24 14:28:38 +09:00
Dan Balasescu
90c7945bca Re-remove PopoverButton class with better test fix 2022-03-24 14:26:31 +09:00
Dean Herbert
6f529cf7a4 Merge branch 'master' into fix-spectator-seeks 2022-03-24 14:24:20 +09:00
Dean Herbert
e243a7c55d Reword storage param xmldoc to use stronger and better defined langauge 2022-03-24 12:45:11 +09:00
Dean Herbert
0cd29a73b9 Fix typo in xmldocs 2022-03-24 12:39:47 +09:00
Dean Herbert
a4d17a915f Fix incorrect HUD component fallback
Legacy skins should now always show the legacy hud components. The
conditional here is no longer valid as fallback lookups happen at a
*skin*-fallback level rather than internal *source*-fallback.

Put another way, `LegacyDefaultSkin` (with user customisations) should
still display the classic HUD components even if a font is not provided,
as that font will be available via the skin lookup hierarchy.

The TODO removed in this commit has been already resolved so this code
is no longer required.
2022-03-24 12:36:20 +09:00
Dan Balasescu
547418e47e Revert "Remove PopoverButton class"
This reverts commit 6b712be97d.
2022-03-24 11:15:51 +09:00
Dean Herbert
7296bad294 Convert LegacyBeatmapSkin to use nullable 2022-03-24 00:24:06 +09:00
Dean Herbert
194bf4fb05 Convert LegacySkin to use nullable 2022-03-24 00:23:55 +09:00
Dean Herbert
3e020073c5 Convert Skin to use nullable 2022-03-24 00:23:55 +09:00
Dean Herbert
05c7e09d79 Make Textures and Samples read-only 2022-03-24 00:02:38 +09:00
Dean Herbert
c079a9cd32 Add comment regarding equality check importance in LegacyHitSampleInfo 2022-03-23 20:18:44 +09:00
Dean Herbert
997c091a8d Revert "Remove IsLayered from LegacyHitSampleInfo comparison"
This reverts commit 4523393208.
2022-03-23 20:15:17 +09:00
Dean Herbert
2ea9e5245c Revert "Remove IsLayered from GetHasCode implementation"
This reverts commit 16ee6b5fc7.
2022-03-23 20:15:13 +09:00
Dan Balasescu
34a367b369 Merge branch 'master' into multiplayer-countdown-timers-2 2022-03-23 15:40:50 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck 2022-03-23 15:30:22 +09:00
Dan Balasescu
a83a90e675 Rename countdown Delay -> Duration 2022-03-23 15:21:16 +09:00
Dan Balasescu
f7c0047206 Send time remaining in countdowns instead 2022-03-23 15:19:43 +09:00
Dean Herbert
078288a616 Make "skin.ini" the default skin filename and remove redundant parameters 2022-03-23 15:05:01 +09:00
Dean Herbert
7a1909bf97 Change parameter order of LegacySkin to put IStorageResourceProvider first
The optional resource store should not be before the (basically)
required resource provider.
2022-03-23 15:02:04 +09:00
Dean Herbert
d0ea1739b4 Remove skin configuration stream logic as it is no longer required 2022-03-23 14:57:42 +09:00
Dean Herbert
9d3c6ade62 Remove unnecessary skin reading hack in DefaultLegacySkin 2022-03-23 14:57:42 +09:00
Dean Herbert
6c405f1dee Remove storage override from LegacyBeatmapSkin 2022-03-23 14:57:42 +09:00
Dean Herbert
b48aa1d8fa Ensure HitObjectSampleTest's TestWorkingBeatmap provides the marking resource store correctly 2022-03-23 14:57:42 +09:00
Dean Herbert
e56d13d8be Fix realm backed store not being initialised for some tests 2022-03-23 14:57:42 +09:00
Dean Herbert
a5acd38fd5 Fix HitObjectSampleTest adding null files to realm models 2022-03-23 14:57:42 +09:00
Dean Herbert
00aea9bef0 Only use legacy resources lookup for protected (aka default) skin 2022-03-23 14:57:42 +09:00
Dean Herbert
3c38b14228 Documentation improvements 2022-03-23 14:57:42 +09:00
Dean Herbert
32e2cfb8ee Leave realm resource store construction to base class 2022-03-23 14:57:42 +09:00
Dean Herbert
e1236e07ad Fix extensions not being specified in time for realm file caching 2022-03-23 14:57:42 +09:00
Dean Herbert
a7f63fb034 Make providing a custom ResourceStore to LegacyBeatmapSkin optional (for tests only) 2022-03-23 14:57:42 +09:00
Dean Herbert
35d2f973a3 Prefer provided resource store over realm backed to keep tests working 2022-03-23 14:57:42 +09:00
Dean Herbert
b4d89b4e31 Replace duplicate LegacySkinResourceStore class with RealmBackedResourceStore 2022-03-23 14:57:42 +09:00
Dean Herbert
5c4a74378d Remove Textures and Samples initialisation to Skin 2022-03-23 14:57:42 +09:00
Dean Herbert
657daf07d7 Update LocalisationAnalyser to support .net6 2022-03-23 11:03:24 +09:00
Dan Balasescu
d4ad4ac9db Limit countdown updates to once per second 2022-03-23 10:50:05 +09:00
Dan Balasescu
6b712be97d Remove PopoverButton class 2022-03-23 10:40:38 +09:00
Dan Balasescu
9138aaf780 Split MultiplayerReadyButton 2022-03-23 10:38:56 +09:00
Dan Balasescu
1ffa1e1219
Merge pull request #17400 from nagilson/screen-mod-retention
Fix mods from single player carrying over to multiplayer
2022-03-23 08:36:15 +09:00
Dan Balasescu
8591630e5c
Merge branch 'master' into editor-exit-harsh-blocking 2022-03-23 07:06:25 +09:00
Bartłomiej Dach
51a1721bc9
Fix unprotected access to potentially-null DI'd dialog overlay 2022-03-22 22:10:05 +01:00
Bartłomiej Dach
f3aad77239
Remove unused local variable 2022-03-22 22:00:24 +01:00
Bartłomiej Dach
a38bafab91
Remove unused using directive 2022-03-22 22:00:05 +01:00
Bartłomiej Dach
8647bebdca
Merge branch 'master' into hold-to-discard-changes 2022-03-22 20:37:43 +01:00
Bartłomiej Dach
8192fb47fe
Merge branch 'master' into skin-editor-eat-input 2022-03-22 19:22:48 +01:00
Dean Herbert
09ec49e6fa Rename realm-backed resource store in preparation for non-legacy usage 2022-03-22 18:31:18 +09:00
Dean Herbert
ff8352b749
Merge branch 'master' into screen-mod-retention 2022-03-22 17:27:26 +09:00
Dean Herbert
483fb84b56 Fix typo in FinishCountdown method 2022-03-22 16:50:13 +09:00
Dean Herbert
61ddf1e6cf Disallow exiting the editor without saving (unless explicitly confirming) 2022-03-22 15:42:56 +09:00
Dean Herbert
f95bd89166 Revert editor exit behaviour to exit without changes for now 2022-03-22 14:46:57 +09:00
Dean Herbert
fb7f9a81db Remove unnecessary equality check in skin editor construction path 2022-03-22 14:35:13 +09:00
Dan Balasescu
23be0f1be9 Remove availability picker for now 2022-03-22 14:34:06 +09:00
Dan Balasescu
d0fee53e1f Implement auto countdown timers
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
Dean Herbert
0fcb3bdba9 Fix beatmap date added not being updated on reimporting a soft deleted beatmap
Addresses concerns raised in https://github.com/ppy/osu/discussions/17399.
2022-03-22 14:10:36 +09:00
Dan Balasescu
4630aa15cc Apply refactorings according to reviews 2022-03-22 12:54:19 +09:00
NAGILSON
17b639b404 Implement suggested change to wipe mods on multiplayer screen 2022-03-21 22:42:17 -04:00
Dan Balasescu
36772ec652
Merge pull request #17356 from apollo-dw/strict-tracking
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
Dan Balasescu
aea03ca21d
Merge pull request #17359 from frenzibyte/fix-score-panel-max-combo
Improve method of retrieving beatmap maximum combo for results score panels
2022-03-22 06:28:30 +09:00
Dean Herbert
9a2691c1bc Remove unnecessary schedule 2022-03-21 23:54:47 +09:00
Salman Ahmed
33acc5d720 Remove no longer valid comments 2022-03-21 14:06:53 +03:00
Salman Ahmed
058fbbbe6c Remove unused using directive 2022-03-21 14:06:36 +03:00
Dean Herbert
2a696783af Remove unused const in SkinEditorOverlay 2022-03-21 17:33:56 +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
3643f879e4 Add test coverage of skin editor settings slider not working via keyboard adjustments 2022-03-21 17:33:56 +09:00
Dean Herbert
36868dbdb4 Add the ability to override the user setting for hold-to-confirm containers
Sometimes the user is not right.
2022-03-21 16:07:27 +09:00
Dean Herbert
d811a70f4b Change button types on editor exit dialog to match purpose
Addresses https://github.com/ppy/osu/discussions/17363.
2022-03-21 16:06:59 +09:00
Dean Herbert
b42081dd9b Add DangerousButton for use in popup dialogs 2022-03-21 16:06:45 +09:00
Dean Herbert
31570d3114
Merge pull request #17252 from jai-x/new-chat-channel-control
Implement `ChannelListItem` for new chat design
2022-03-21 15:41:00 +09:00
Dean Herbert
3bb01fd595 Fix close button animation not being applied correct on mouse down due to conflicting scales 2022-03-21 14:41:57 +09:00
Dean Herbert
7ca3beb7cc Also add fade to ChannelItem selected box 2022-03-21 14:41:42 +09:00
Dean Herbert
428e439f40 Remove space between '#' and channel name
This was in flyte's design (he was following discord) but doesn't feel
too correct when it's not aligned with anything else. We can revisit
this if/when we have better glyphs to represent channel types.
2022-03-21 14:36:56 +09:00
Dean Herbert
16caf2d30b Add slight animation when highlighting an unread channel 2022-03-21 14:34:54 +09:00
Dean Herbert
692362131e Add animation when mention pill appears (or a new message arrives) 2022-03-21 14:31:51 +09:00
Dean Herbert
11b050b66b Add slight fade when hovering ChannelListItems 2022-03-21 14:28:14 +09:00
Dean Herbert
9eda2f2df1 Remove box surrounding close button 2022-03-21 14:25:29 +09:00
Dean Herbert
f922a6b556 Rename renaming button/pill classes 2022-03-21 14:15:22 +09:00
Dean Herbert
812343b410 Merge branch 'master' into new-chat-channel-control 2022-03-21 14:14:02 +09:00
Dean Herbert
355b0fa314 Fix loading player via skin editor still allowing changing current audio track
`PlayerLoader` is required in the sequence to get the game into the
correct state for gameplay right now. Applying ths simplest fix here.

Closes https://github.com/ppy/osu/issues/17351.
2022-03-21 13:49:56 +09:00
Salman Ahmed
5c1e11c153
Merge branch 'master' into queue-list-counter 2022-03-21 05:01:09 +03:00
hwabis
06136b2247 Revert OsuTabItem Text to protected, update tab count test 2022-03-20 21:37:02 -04:00
hwabis
8fbdd06895 add queue tab count test 2022-03-20 16:24:41 -04:00
Salman Ahmed
b9859f9f21 Obsolete BeatmapInfo.MaxCombo and suppress in usages 2022-03-20 16:30:29 +03:00
Salman Ahmed
c2063f415d Remove unnecessary MaxCombo migration between unmapped database fields 2022-03-20 16:27:54 +03:00
Salman Ahmed
aef40da8d4 Add note about null return value 2022-03-20 16:24:30 +03:00
Salman Ahmed
2a78042038 GetBeatmapMaximumComboAsync -> GetMaximumAchievableComboAsync 2022-03-20 16:18:53 +03:00
Salman Ahmed
e1d22e58bf Simplify queue count text logic 2022-03-20 06:25:14 +03:00
Salman Ahmed
7529d6fc00 Bind queue items during playlist initialization
Along with where the other bindables are bound together (only bind, not
listening).
2022-03-20 06:23:44 +03:00
Salman Ahmed
eca7975864 Compute the beatmap maximum achievable combo instead of Beatmap.MaxCombo 2022-03-20 05:38:14 +03:00
Salman Ahmed
d36f32a9c9 Introduce method for computing maximum achievable combo properly 2022-03-20 05:38:14 +03:00
Salman Ahmed
c5cc7eec79 Add explicit todo about removing BeatmapInfo.MaxCombo
Using that property is a trap basically.
2022-03-20 05:38:14 +03:00
Jai Sharma
f3702fbefb Pass correct params to UpdateableAvatar ctor in ChannelListItem 2022-03-19 22:20:17 +00:00
Jai Sharma
ba5a43b526 Rename ControlItem -> ChannelListItem and associated classes 2022-03-19 21:49:14 +00:00
Jai Sharma
653bb47dd5 Use UpdateableAvatar and remove redundant ControlItemAvatar class 2022-03-19 21:36:11 +00:00
Jai Sharma
5373c3066f Use OsuAnimatedButton as base for ControlItemClose 2022-03-19 21:23:32 +00:00
apollo-dw
149cfd338d Use new mod-related object types for Strict Tracking 2022-03-19 18:29:44 +00:00
hwabis
ef823d58a7 address frenzibyte review (refactor bindable flow, clean up CI stuff) 2022-03-19 13:05:35 -04:00
Jai Sharma
a293e0c766 Remove redundant ControlItemText class 2022-03-19 16:44:58 +00:00
Salman Ahmed
9afe82a0d5 Fix potentially null drawable call to SetLayoutPosition 2022-03-19 14:54:58 +03:00
Dean Herbert
d681643c38
Merge pull request #17299 from nekodex/arm64
Update download links for macOS builds (to add Apple Silicon)
2022-03-19 20:45:51 +09:00
Dean Herbert
9aa902785c
Merge pull request #17327 from frenzibyte/simplify-extension-methods
Simplify `IncreasesCombo`/`BreaksCombo` helper method implementation
2022-03-19 20:23:09 +09:00
Bartłomiej Dach
b7d5a628bc
Merge branch 'master' into fix-spectator-seeks-hot 2022-03-19 11:39:01 +01:00
Dean Herbert
a903aee17e Use schedule to workaround seek issue instead 2022-03-19 18:00:14 +09:00
Dean Herbert
cf2212e794 Revert "Fix spectator not starting from correct seek point (hotfix)"
This reverts commit 2b59eff465.
2022-03-19 17:20:54 +09:00
Dean Herbert
2b59eff465 Fix spectator not starting from correct seek point (hotfix) 2022-03-19 15:14:25 +09:00
Dean Herbert
63998ad9f1 Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-19 15:06:22 +09:00
Dean Herbert
dae5569e36 Use nullable in PlayerLoader 2022-03-19 15:06:22 +09:00
Dean Herbert
da76358ee0 Expose the loading player in PlayerLoader 2022-03-19 15:06:22 +09:00
Salman Ahmed
b99541fb5e Revert "Swap placements of "hold for menu" and key counter"
This reverts commit 5bcb7c167c.
2022-03-19 08:08:07 +03:00
hwabis
5d16519a82 make code prettier 2022-03-18 23:41:55 -04:00
Salman Ahmed
ad9b119e3d Reduce "hold for menu" radius of visibility 2022-03-19 05:04:54 +03:00
Salman Ahmed
486be83177 Calculate position adjustment distance in local parent space 2022-03-19 05:04:13 +03:00
Salman Ahmed
5bcb7c167c Swap placements of "hold for menu" and key counter 2022-03-19 05:02:22 +03:00
Salman Ahmed
0adad3a599 Handle potential null room hosts 2022-03-19 04:01:35 +03:00
hwabis
5a5629eb5a (works now) use BindValueChanged to set the Queue text 2022-03-18 20:47:45 -04:00
hwabis
5e5fbc496e (still not working) try bindables instead of int 2022-03-18 20:32:37 -04:00
hwabis
d9b2a29c6d (not working yet) add MultiplayerPlaylistTabControl, "Queue ({count})" 2022-03-18 20:02:26 -04:00
hwabis
faa36c78e5 put count and tabs into new fillflowcontainer 2022-03-18 12:55:00 -04:00
Salman Ahmed
8078a8c1f8 Simplify IncreasesCombo/BreaksCombo helper method implementation 2022-03-18 17:18:42 +03:00
Dean Herbert
fc75aa0807
Merge pull request #17324 from frenzibyte/score-panel-max-combo
Display beatmap maximum combo next to score combo in results panel
2022-03-18 22:59:38 +09:00
Dan Balasescu
4b23f02f03
Merge pull request #17320 from peppy/hit-error-meter-settings
Add new settings for adjusting the hit error display
2022-03-18 22:28:20 +09:00
Salman Ahmed
fa8eb1feec Update score panel to check for all combo-breaking statistics 2022-03-18 15:23:14 +03:00
Salman Ahmed
5ec2d86c09 Update ScoreProcessor to use new defined helper methods 2022-03-18 15:22:53 +03:00
Salman Ahmed
fc576b1369 Separate increase/break combo helper methods from AffectsCombo 2022-03-18 15:22:01 +03:00
Dan Balasescu
04f4e81852 Rename start countdown request 2022-03-18 21:05:19 +09:00
Dean Herbert
ed90dc6d6b Fix centering of labels using Height instead of location to better handle rotations 2022-03-18 20:17:04 +09:00
Dean Herbert
806a16d8f6 Fix SkinComponentToolbox attempting to create instances of abstract classes 2022-03-18 20:13:15 +09:00
Dean Herbert
bd488d139d Better centre text labels for hit error meter 2022-03-18 20:11:05 +09:00
Salman Ahmed
af22e67e15 Fix perfect combo check not accounting for LargeTickMiss
`LargeTickMiss` can affect combo, see
a352a140bc/osu.Game/Rulesets/Scoring/HitResult.cs (L124-L144).
2022-03-18 13:11:41 +03:00
Salman Ahmed
9215384229 Display beatmap maximum combo in score panel 2022-03-18 13:11:41 +03:00