Bartłomiej Dach
4cbfb51707
Fix undoing bookmark operations potentially making them unsorted
...
Found in testing of previous commit. This would break seeking between
bookmarks.
Reproduction steps on `master`:
- open map with bookmark
- delete the first bookmark
- undo the deletion of the first bookmark
- seek to previous bookmark will now always seek to the first bookmark
rather than closest preceding regardless of current clock time
2025-02-05 15:30:11 +01:00
Bartłomiej Dach
abce42b1c8
Improve bookmark controls
...
- Bookmark menu items get disabled when they would do nothing.
- Bookmark deletion only deletes the closest bookmark instead of all of
them within the proximity of 2 seconds to current clock time. Action
is only however *enabled* within 2 seconds of a bookmark.
Additionally, logic was moved out of `Editor` because it's a huge class
and I dislike huge classes if they can be at all avoided.
2025-02-05 15:28:27 +01:00
Bartłomiej Dach
ceb424faa1
Merge pull request #31798 from peppy/carousel-v2-async-fix
...
Fix `Carousel.FilterAsync` not working when called from a non-update thread
2025-02-05 12:23:27 +01:00
Dean Herbert
ea725e2caf
Merge pull request #31524 from smoogipoo/user-panel-status
...
Display up-to-date online status in user panels
2025-02-05 19:22:27 +09:00
Dean Herbert
c37fa261c3
Merge pull request #31789 from bdach/distance-snap-fix
...
Fix distance snap grid not properly working due to multiple issues
2025-02-05 18:41:46 +09:00
Bartłomiej Dach
e5943e460d
Unify ConfigureAwait()
calls across method
2025-02-05 10:28:42 +01:00
Bartłomiej Dach
c5deb9f36b
Use alternative lockless solution for atomic cancellation token recreation
2025-02-05 10:28:25 +01:00
Dean Herbert
b7aa71c975
Adjust xmldoc slightly to convey the disposal pattern
2025-02-05 18:24:07 +09:00
Dean Herbert
9b79cf6c61
Merge pull request #31784 from bdach/bss/wizard-appearance
...
Implement visual appearance of beatmap submission wizard
2025-02-05 17:34:30 +09:00
Dean Herbert
5c9e84caf0
Add lock object
2025-02-05 17:31:54 +09:00
Bartłomiej Dach
4f629478b8
Merge pull request #31779 from peppy/menu-fade-out
...
Change menus to fade out with a slight delay so settings changes are visible
2025-02-05 09:29:56 +01:00
Dean Herbert
14273824dc
Fix Carousel.FilterAsync
not working when called from a non-update thread
...
I was trying to be smart about things and make use of our
`SynchronisationContext` setup, but it turns out to not work in all
cases due to the context being missing depending on where you are
calling the method from.
For now let's prefer the "works everywhere" method of scheduling the
final work back to update.
2025-02-05 16:40:11 +09:00
Dean Herbert
2356d3e2d0
Refactor OsuContextMenu
to avoid code duplication
2025-02-05 16:34:15 +09:00
Dean Herbert
09d26fbf5e
Minor adjustments
2025-02-05 15:58:34 +09:00
NecoDev
13fa49d5b5
Merge branch 'master' into pr
2025-02-05 14:53:20 +08:00
NecoDev
db7b665f4d
Removed unused using
...
For https://github.com/ppy/osu/pull/31780
2025-02-05 13:31:57 +08:00
Dean Herbert
20c4badbba
Merge pull request #31795 from peppy/update-framework
...
Update framework
2025-02-04 23:53:55 +09:00
Dean Herbert
099ce39531
Use same delay in context menus
2025-02-04 23:21:41 +09: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
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
Bartłomiej Dach
41cf3696f2
Merge branch 'master' into bss/wizard-appearance
2025-02-04 13:48:35 +01: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
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
Dan Balasescu
61419ec9c8
Refactor user presence watching to be tokenised
2025-02-04 17:54:03 +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
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
Bartłomiej Dach
2d6f64e891
Fix code quality
2025-02-03 15:18:03 +01:00
Bartłomiej Dach
df37768ff4
Remove unused method
...
Only used in test code.
2025-02-03 14:01:51 +01: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