1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-08 08:43:22 +08:00
Commit Graph

71462 Commits

Author SHA1 Message Date
Dean Herbert
58560f8acf
Add tracking of expansion states for groups and sets 2025-02-04 17:51:51 +09:00
Dean Herbert
ccdb6e4c48
Fix carousel tests failing due to dependency on depth ordering 2025-02-04 17:50:16 +09:00
Dean Herbert
2f2dc158e0
Ensure test step doesn't consider pooled instances of drawables 2025-02-04 17:45:02 +09: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
b5c4e3bc14
Add failing tests for traversal on group headers 2025-02-04 02:55:34 +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
56000ddb37
Merge pull request #31743 from bdach/fix-limit-distance-snap-to-current
Avoid moving already placed objects temporally when "limit distance snap to current time" is active
2025-02-03 17:48:24 +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
5668a90781
Merge pull request #31737 from bdach/fix-post-refactor
Fix distance snap time part ceasing to work when grid snap is also active
2025-02-03 16:56:28 +09: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
cc3bb590c9
Remove pointless comment 2025-02-01 14:48:13 +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
Bartłomiej Dach
20280cd195
Do not double up first control point of path 2025-01-31 09:01:42 +01:00
Dan Balasescu
cf2d0e6911
Fix results screen sounds persisting after exit 2025-01-31 16:22:37 +09:00
Bartłomiej Dach
b4f63da048
Move control point double-up logic to LegacyBeatmapExporter
Done for two reasons:

- During review it was requested for the logic to be moved out of
  `BezierConverter` as `BezierConverter` was intended to produce
  "lazer style" sliders with per-control-point curve types,
  as a future usability / code layering concern.

- It is also relevant for encode-decode stability. With how the logic
  was structured between the Bezier converter and the legacy beatmap
  encoder, the encoder would leave behind per-control-point Bezier curve
  specs that stable ignored, but subsequent encodes and decodes in lazer
  would end up multiplying the doubled-up control points ad nauseam.
  Instead, it is sufficient to only specify the curve type for the
  head control point as Bezier, not specify any further curve types
  later on, and instead just keep the double-up-control-point for new
  implicit segment logic which is enough to make stable cooperate
  (and also as close to outputting the slider exactly as stable would
  have produced it as we've ever been)
2025-01-30 15:28:47 +01:00
Bartłomiej Dach
261a7e537b
Fix distance snap time part ceasing to work when grid snap is also active
As pointed out in
https://github.com/ppy/osu/pull/31655#discussion_r1935536934.
2025-01-30 14:42:44 +01:00
Bartłomiej Dach
d3b233b08f
Merge pull request #31732 from KareVulli/fix-timeline-selection
Fix stacked objects selection order on editor timeline
2025-01-30 14:31:42 +01:00
Salman Alshamrani
64b67252a2 Enable NRT on Column 2025-01-30 08:22:35 -05:00
Bartłomiej Dach
749704344c
Move implicit slider path segment handling logic to Bezier converter
The logic in `LegacyBeatmapEncoder` that was supposed to handle
the lazer-exclusive feature of supporting multiple slider segment types
in a single slider was interfering rather badly with the Bezier
converter. Generally it was a bit difficult to follow, too.

The nice thing about `BezierConverter` is that it is *guaranteed* to
only output Bezier control points. In light of this, the same double-up-
-the-control-point logic that was supposed to make multiple slider
segment types backwards-compatible with stable can be placed in
the Bezier conversion logic, and be *much* more understandable, too.
2025-01-30 14:03:51 +01:00
Dean Herbert
d673344b30
Merge pull request #31731 from bdach/prosecuting-mirror-directions
Change mirror mod direction setting description & tooltip to hopefully be less confusing
2025-01-30 20:33:13 +09:00
Dean Herbert
8a887abe51
Merge pull request #31663 from nekodex/friend-notification-samples
Add unique samples for friend online/offline notifications
2025-01-30 19:45:30 +09:00
Bartłomiej Dach
d8c63a443f
Merge pull request #31685 from frenzibyte/two-factor-authentication-code
Do not display autocorrect suggestions in two factor verification code text box
2025-01-30 11:15:09 +01:00
Dean Herbert
5f2532932e
Merge branch 'master' into friend-notification-samples 2025-01-30 18:29:26 +09:00
Bartłomiej Dach
31c4461fbb
Abstract out WizardOverlay for multi-step wizard type screens
To be used in the editor, for the beatmap submission wizard.

I've recently been on record for hating "abstract" as a rationale to do
anything, but seeing this commit ~3 months after I originally made it,
it still feels okay to do for me in this particular case. I think the
abstraction is loose enough, makes sense from a code reuse and UX
consistency standpoint, and doesn't seem to leak any particular
implementation details. That said, it is both a huge diffstat and also
potentially controversial, which is why I'm PRing first separately.
2025-01-30 09:39:08 +01:00
Marvin Helstein
ec99fc1141 Move ApplySelectionOrder override from EditorBlueprintContainer to ComposeBlueprintContainer 2025-01-30 10:27:36 +02:00
Bartłomiej Dach
bad2959d5b
Change mirror mod direction setting tooltip to hopefully be less confusing
See https://github.com/ppy/osu/issues/29720,
https://discord.com/channels/188630481301012481/188630652340404224/1334294048541904906.

This removes the tooltip due to being zero or negative information, and
also changes the description of the setting to not contain the word
"mirror", which will hopefully quash the "this is where I would place a
mirror to my screen to achieve what I want" interpretation which seems
to be a minority interpretation.

The first time this was complained about I figured this was probably a
one guy issue, but now it's happened twice, and I never want to see this
conversation again.
2025-01-30 08:59:33 +01:00