NecoDev
db7b665f4d
Removed unused using
...
For https://github.com/ppy/osu/pull/31780
2025-02-05 13:31:57 +08:00
Dean Herbert
0d7bbd63fc
Merge branch 'master' into user-panel-status
2025-02-04 22:56:19 +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
Bartłomiej Dach
23ec27e911
Merge branch 'master' into distance-snap-fix
2025-02-04 13:50:14 +01:00
Dean Herbert
a93dabd33f
Merge branch 'master' into multiplayer-free-style
2025-02-04 21:48:39 +09:00
Bartłomiej Dach
41cf3696f2
Merge branch 'master' into bss/wizard-appearance
2025-02-04 13:48:35 +01: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
Bartłomiej Dach
731f100aaf
Fix incorrect snapping behaviour when previous object is not snapped to beat
2025-02-04 11:45:15 +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
Dan Balasescu
2f90bb4d67
Watch global user presence while in spectator screen
2025-02-04 17:55:50 +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
4dd4e52e6d
Implement visual appearance of beatmap submission wizard
2025-02-04 09:06: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
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
Bartłomiej Dach
a1185df2eb
Refactor IDistanceSnapProvider
to accept slider velocity objects as a reference
...
Method signatures are also changed to be a lot more explicit as to what
inputs they expect.
2025-02-03 14:00:57 +01: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
NecoDev
55f46e3b66
Added warning
2025-02-03 16:47:38 +08: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
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
8718483c70
Avoid moving already placed objects temporally when "limit distance snap to current time" is active
2025-01-31 09:51:13 +01:00
Dan Balasescu
cf2d0e6911
Fix results screen sounds persisting after exit
2025-01-31 16:22:37 +09:00
Marvin Helstein
ec99fc1141
Move ApplySelectionOrder
override from EditorBlueprintContainer
to ComposeBlueprintContainer
2025-01-30 10:27:36 +02:00
Dan Balasescu
48b1c7398e
Merge pull request #31655 from bdach/deabstractify-editor-snap
...
Refactor editor object snapping to remove bad abstractions
2025-01-30 01:38:42 +09:00
Dan Balasescu
ca7a36d3d6
Remove unused usings
2025-01-29 23:32:44 +09:00
Dean Herbert
bc930e8fd3
Minimal clean-up to get things bearable
...
I plan to do a full refactor of `RoomSubScreen` at first opportunity.
2025-01-29 20:02:04 +09:00
Dean Herbert
e8d0d2a1d9
Combine more methods to simplify flow futher
2025-01-29 19:56:37 +09:00
Dean Herbert
a6814d1a8a
Make multiplayer change room settings more obvious as to what it does
...
"Edit" felt really weird.
2025-01-29 19:48:04 +09:00
Dean Herbert
07bff22200
Fix delay before difficulty panel displays fully
2025-01-29 19:30:57 +09:00
Dean Herbert
c70ff11085
Remove new bindables from RoomSubScreen
2025-01-29 19:06:14 +09:00
Dean Herbert
05200e8970
Add missing partial
2025-01-29 19:05:28 +09:00
Dean Herbert
d3f9804ef1
Combine more methods to simplify flow
2025-01-29 18:45:02 +09:00
Dan Balasescu
fc73037d9f
Add pill displaying current freestyle status
2025-01-27 18:46:45 +09:00
Bartłomiej Dach
be9c96c041
Fix infinite loop when switching audio tracks fails on an existing beatmap
...
Bit ugly, but appears to work in practice...
2025-01-27 10:27:06 +01:00
Bartłomiej Dach
01ae1a58f1
Catch and display user-friendly errors regarding corrupted audio files
...
Addresses lack of user feedback as indicated by
https://github.com/ppy/osu/issues/31693 .
2025-01-27 10:25:22 +01:00
Salman Alshamrani
dac7d21302
Be explicit on nullability in RequiresPortraitOrientation
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2025-01-25 19:12:36 -05:00
Bartłomiej Dach
092c7b4253
Merge branch 'master' into beatmap-carousel-v2-split-panels
2025-01-24 15:16:23 +01:00
Bartłomiej Dach
55ab3c72f6
Remove unused field
2025-01-24 15:15:50 +01:00
Dean Herbert
82c5f37c2c
Remove selection animation on set panel
2025-01-24 22:45:08 +09:00
Bartłomiej Dach
7845c5cfb7
Merge pull request #31645 from peppy/offset-adjust-more-lenience
...
Make offset adjust more lenient
2025-01-24 14:01:25 +01:00
Dean Herbert
a94681158d
Merge pull request #31623 from Layendan/room-context-menu
...
Add view in browser context menu functionality to multiplayer/playlist rooms
2025-01-24 20:31:49 +09:00
Dean Herbert
da762384f8
Fix breakage from reordering co-reliant variable sets (and guard against it)
2025-01-24 20:20:18 +09:00
Dean Herbert
175eb82ccf
Split out beatmaps and set panels into two separate classes
2025-01-24 20:10:41 +09:00
Dean Herbert
0164a2e4dc
Move pool item preparation / cleanup duties to Carousel
2025-01-24 20:10:41 +09:00
Bartłomiej Dach
a6987f5c95
Remove dependence of placement blueprints on IPositionSnapProvider
2025-01-24 11:59:07 +01:00
Bartłomiej Dach
15b6e28ebe
Remove dependence of blueprint containers on IPositionSnapProvider
2025-01-24 11:59:05 +01:00
Bartłomiej Dach
2d46da1520
Merge pull request #31634 from peppy/beatmap-carousel-v2-selection
...
Add selection support to beatmap carousel v2
2025-01-24 11:43:17 +01:00
Dean Herbert
9366bfbf0d
Move activation drawable flow portion to ICarouselPanel
2025-01-24 18:40:48 +09:00
Dean Herbert
92429b2ed9
Adjust comments on ICarouselPanel
to imply external use
2025-01-24 18:34:04 +09:00
Dean Herbert
17b1739ae4
Combine countless update methods all called together into a single method
2025-01-24 18:00:05 +09:00
Dean Herbert
1bfb4d4c2b
Merge branch 'master' into multiplayer-free-style
2025-01-24 17:23:35 +09:00
Dean Herbert
721b2dfbba
Fix average button not correctly becoming disabled where it previously would
2025-01-24 17:17:34 +09:00
Dean Herbert
56a611b47e
Merge branch 'master' into mobile-fix-mania
2025-01-24 17:03:00 +09:00
Dean Herbert
28a59f4e29
Move line to correct location
2025-01-24 16:45:14 +09:00
Dean Herbert
05b1002e9d
Adjust layout and code quality slightly
2025-01-24 15:57:13 +09:00
Dean Herbert
8f8a6455b4
Bypass offset disallowed status when handling realm callbacks
...
Hopefully don't need to overthink this one.
2025-01-24 15:49:47 +09:00
Dean Herbert
ee78e1b223
Add safeties against attempting to apply previous play while offset adjust is not allowed
...
This should theoretically not be possible, but while we are sharing this
control's implementation between gameplay and non-gameplay usages, let's
ensure nothing weird can occur.
2025-01-24 15:49:47 +09:00
Dean Herbert
fb10996951
Consume GameplayStartTime
for more lenient offset adjustments
2025-01-24 15:30:02 +09:00
Dean Herbert
5cc8181bad
Expose GameplayStartTime
in IGameplayClock
2025-01-24 15:29:49 +09:00
Layendan
d326f23576
Remove unused method
2025-01-23 15:39:18 -07:00
Layendan
b0a7237fd6
Fix formatting
2025-01-23 15:37:30 -07:00
Layendan
13c64b59af
Inherit menu items from parent class
2025-01-23 15:36:20 -07:00
Dean Herbert
f4270ab3b9
Simplify selection handling logic
2025-01-23 23:58:51 +09:00
Dean Herbert
d5369d3508
Add regions to BeatmapCarousel
2025-01-23 23:53:09 +09:00
Dean Herbert
0716b73d2a
ActivateSelection
-> TryActivateSelection
2025-01-23 22:44:39 +09:00
Dean Herbert
2feab31426
Adjust inline commentary based on review feedback
2025-01-23 22:41:20 +09:00
Dean Herbert
ffca90779f
Fix sort direction being flipped
2025-01-23 18:51:24 +09:00
Dean Herbert
2f94456a06
Add selection and activation flow
2025-01-23 18:51:24 +09:00
Dean Herbert
ecef5e5d71
Add set-difficulty tracking in BeatmapCarouselFilterGrouping
...
Rather than tracking inside individual items, let's just maintain a
single dictionary which is refreshed every time we regenerate filters.
2025-01-23 18:48:44 +09:00
Dean Herbert
980f6cf18e
Make CarouselItem
sealed
and remove BeatmapCarouselItem
concept
...
Less abstraction is better. As far as I can tell, we don't need a custom
model for this. If there's any tracking to be done, it should be done
within `BeatmapCarousel`'s implementation (or a filter).
2025-01-23 18:48:44 +09:00
Dean Herbert
c67c0a7fc0
Move Selected
status to drawables
...
Basically, I don't want bindables in `CarouselItem`. It means there
needs to be a bind-unbind process on pooling. By moving these to the
drawable and just updating every frame, we can simplify things a lot.
2025-01-23 18:48:43 +09:00
Dean Herbert
ded1d9f019
displayedCarouselItems
-> carouselItems
2025-01-23 15:58:35 +09:00
Dean Herbert
d526835627
Only show loading when doing a user triggered filter
2025-01-23 15:51:54 +09:00
Dean Herbert
6ac2dbc818
Reorder carousel methods into logical regions
2025-01-23 15:50:57 +09:00
Layendan
f673d16a1f
Fix formatting
2025-01-22 11:42:11 -07:00