Dan Balasescu
748c2eb390
Refactor RoomSubScreen
update
2025-02-11 12:43:54 +09:00
Dan Balasescu
78e5e0eddd
Refactor with a bit more null safety
...
In particular I don't like the non-null assert around
`GetCurrentItem()`, because there's no reason why it _couldn't_ be
`null`.
Consider, for example, if these panels are used in matchmaking where
there are no items initially present in the playlist.
The ruleset nullability part is debatable, but I've chosen to restore
the original code here.
2025-02-11 12:20:09 +09:00
Dan Balasescu
885ae7c735
Adjust styling
2025-02-06 14:25:08 +09:00
Dan Balasescu
d93f7509b6
Fix participant panels not displaying mods from other rulesets correctly
2025-02-06 14:24:09 +09:00
Dan Balasescu
84206e9ad8
Initial support for freemod+freestyle
2025-02-06 13:29:16 +09:00
Dan Balasescu
7f8f528ae2
Add helper for testing mod/freemod validity
2025-02-05 16:44:52 +09:00
Dean Herbert
20c4badbba
Merge pull request #31795 from peppy/update-framework
...
Update framework
2025-02-04 23:53:55 +09:00
Dean Herbert
15ed029dd1
Merge pull request #31260 from smoogipoo/multiplayer-free-style
...
Add support for "freestyle" in multiplayer
2025-02-04 22:40:38 +09:00
Dean Herbert
87ff8778c6
Merge pull request #31791 from bdach/unify-selection-behaviour
...
Always select the closest control point group regardless of whether it has a timing point on entering timing screen
2025-02-04 22:32:22 +09:00
Dean Herbert
386fb55392
Update framework
2025-02-04 21:48:45 +09:00
Dean Herbert
a93dabd33f
Merge branch 'master' into multiplayer-free-style
2025-02-04 21:48:39 +09:00
Dean Herbert
82ccce8099
Merge pull request #31783 from bdach/bss/form-button
...
Implement "form button" control
2025-02-04 21:45:11 +09:00
Bartłomiej Dach
2dbf30a096
Select timing point on enter if no effect point is active at the time
...
Noticed during testing.
2025-02-04 12:44:05 +01:00
Bartłomiej Dach
a0b6610054
Always select the closest control point group regardless of whether it has a timing point
2025-02-04 12:35:02 +01:00
Dean Herbert
6c6063464a
Remove Scheduler.AddOnce
from updateSpecifics
...
To keep things simple, let's not bother debouncing this. The debouncing
was causing spectating handling to fail because of two interdependent
components binding to `BeatmapAvailability`:
Binding to update the screen's `Beatmap` after a download completes:
5874706117/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs (L266-L267)
Binding to attempt a load request:
8bb7bea04e/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerMatchSubScreen.cs (L67)
The first must update the beatmap before the second runs, else gameplay
will not load due to `Beatmap.IsDefault`.
2025-02-04 18:41:28 +09:00
Dean Herbert
599b59cb14
Add expanded state to sample drawable representations
2025-02-04 18:06:16 +09:00
Dean Herbert
58560f8acf
Add tracking of expansion states for groups and sets
2025-02-04 17:51:51 +09:00
Bartłomiej Dach
3893303988
Implement "form button" control
2025-02-04 09:05:33 +01:00
Bartłomiej Dach
6e59cab928
Merge pull request #31764 from peppy/beatmap-carousel-v2-grouping
...
Add group support to beatmap carousel v2
2025-02-04 08:13:54 +01:00
Dean Herbert
1e1fb5476e
Merge pull request #31734 from bdach/simplify-slider-encoding-logic
...
Fix multi-segment-type sliders getting mangled on legacy export
2025-02-04 15:08:44 +09:00
Dean Herbert
ec88c5ed75
Merge pull request #31776 from frenzibyte/carousel-v2-depth-ordering
...
Fix depth ordering in new carousel not being relative to selected item
2025-02-04 13:02:21 +09:00
Dean Herbert
e454fa558c
Adjust group traversal logic to handle cases where keyboard selection redirects
2025-02-04 02:55:59 +09:00
Dean Herbert
b433eef138
Remove redundant conditional check
2025-02-04 02:41:39 +09:00
Dean Herbert
c7780c9fdc
Refactor how grouping is performed
2025-02-03 20:40:52 +09:00
Bartłomiej Dach
1793b8ccb4
Merge pull request #31775 from peppy/avoid-beatmap-access-beat-sync-container
...
Avoid accessing `WorkingBeatmap.Beatmap` every update call
2025-02-03 12:24:05 +01:00
Bartłomiej Dach
b60a8341e4
Merge pull request #31778 from peppy/editor-menu-mutual-exclusive
...
Make distance snap settings mutually exclusive
2025-02-03 11:58:34 +01:00
Dean Herbert
99192404f1
Tidy up WorkingBeatmap
passing in ctor
2025-02-03 19:26:14 +09:00
Dean Herbert
8bb7bea04e
Rename freestyle select screen classes for better discoverability
2025-02-03 19:21:21 +09:00
Dean Herbert
37abb1a21b
Tidy up button construction code
2025-02-03 19:09:58 +09:00
Dean Herbert
444e0970d6
Standardise naming to use "Freestyle" not "FreeStyle"
2025-02-03 19:01:59 +09:00
Dean Herbert
26a8fb6984
Make distance snap settings mutually exclusive
2025-02-03 17:34:55 +09:00
Bartłomiej Dach
ee7d281e73
Merge branch 'master' into fix-limit-distance-snap-to-current
2025-02-03 08:57:27 +01:00
Dean Herbert
b9f840c32e
Merge pull request #31742 from smoogipoo/fix-results-persistent-sounds
...
Fix results screen sounds persisting after exit
2025-02-03 16:39:47 +09:00
Salman Alshamrani
c587958f38
Apply depth ordering relative to selected item
2025-02-03 02:34:29 -05:00
Dean Herbert
a23de0b188
Avoid accessing WorkingBeatmap.Beatmap
every update call
...
Notice in passing.
Comes with overheads that can be easily avoided. Left a note for a
future (slightly more involved) optimisation.
2025-02-03 16:30:31 +09:00
Dan Balasescu
9033a4d480
Remove unused using
2025-02-03 14:20:56 +09:00
Dan Balasescu
210fa14759
Play sound via results screen instead
2025-02-03 14:15:46 +09:00
Dean Herbert
6a18d18feb
Fix null handling when no items are populated but a selection is made
2025-02-03 02:39:45 +09:00
Dean Herbert
9c34819ff4
Add test coverage for grouped selection
2025-02-03 02:39:45 +09:00
Dean Herbert
645c26ca19
Simplify keyboard traversal logic
2025-02-03 02:24:27 +09:00
Dean Herbert
d74939e6e9
Fix backwards traversal of groupings and allow toggling groups without updating selection
2025-02-03 02:24:27 +09:00
Dean Herbert
764f799dcb
Improve selection flow using early exit and invalidation
2025-02-03 02:24:27 +09:00
Dean Herbert
d5dc55149d
Add initial difficulty grouping support
2025-02-03 02:24:27 +09:00
Dean Herbert
3cde11ab77
Re-enable masking by default
2025-02-03 02:24:26 +09:00
Dean Herbert
f65be009a3
Merge pull request #31747 from bdach/do-not-reset-online-info-on-save
...
Do not reset online information when saving beatmap
2025-02-02 22:24:56 +09:00
Dean Herbert
cf3a379b1c
Merge pull request #31368 from frenzibyte/mobile-fix-mania
...
Improve osu!mania playability on mobile devices
2025-02-01 14:49:46 +09:00
Dean Herbert
334b578fb6
Merge pull request #31733 from bdach/bss/abstract-out-wizard
...
Abstract out `WizardOverlay` for multi-step wizard type screens
2025-02-01 14:10:35 +09:00
Bartłomiej Dach
7ef8616703
Fix broken user-facing messaging when beatmap hash mismatch is detected
2025-01-31 12:22:05 +01:00
Bartłomiej Dach
c3981f1097
Do not reset online info on beatmap save
2025-01-31 12:21:42 +01:00
Bartłomiej Dach
8718483c70
Avoid moving already placed objects temporally when "limit distance snap to current time" is active
2025-01-31 09:51:13 +01:00