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 LegacySkin
s
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 LegacySkin
s 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 ModColumn
s 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-Drawable
s
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
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