1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-15 05:32:56 +08:00
Commit Graph

45463 Commits

Author SHA1 Message Date
NecoDev
55f46e3b66 Added warning 2025-02-03 16:47:38 +08:00
Dean Herbert
df51d345c5
Change menus to fade out with a slight delay so settings changes are visible
Useful for cases like https://github.com/ppy/osu/pull/31778, where a
change to one setting can affect another.
2025-02-03 17:38:17 +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
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
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
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
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
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
7750468e31
Merge pull request #31726 from peppy/room-settings-button
Make multiplayer change room settings more obvious as to what it does
2025-01-30 00:42:00 +09:00
Dan Balasescu
007bf87a6b
Merge pull request #31723 from peppy/fix-unstable-rate-incrementatl
Fix incremental unstable rate calculation not matching expectations
2025-01-29 23:54:59 +09:00
Dan Balasescu
ca7a36d3d6
Remove unused usings 2025-01-29 23:32:44 +09:00
Bartłomiej Dach
75ef67e959
Merge branch 'master' into two-factor-authentication-code 2025-01-29 13:15:30 +01: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
Bartłomiej Dach
d87720da1b
Merge branch 'master' into fix-editor-textbox-regressions 2025-01-29 11:25:16 +01:00
Dean Herbert
facc9a4dc3
Fix reference hashsets getting emptied before used 2025-01-29 19:15:28 +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
Dean Herbert
9db8e0b7ac
Merge branch 'master' into friend-notification-samples 2025-01-29 17:43:56 +09:00
Dean Herbert
bf40f071eb
Code quality pass 2025-01-29 17:43:49 +09:00
Dean Herbert
4c83ef83ee
Update resources 2025-01-29 17:34:03 +09:00
Dean Herbert
fd1d90cbd9
Update framework
Update framework
2025-01-29 17:32:05 +09:00
Dean Herbert
d8ec3b77e4
Fix incremental unstable rate calculation not matching expectations
The `EventCount` variable wasn't factoring in that some results do not
affect unstable rate. It would therefore become more incorrect as the
play continued.

Closes https://github.com/ppy/osu/issues/31712.
2025-01-29 17:11:12 +09:00
Dean Herbert
a3685da250
Merge branch 'master' into enable-sentry-caching 2025-01-29 11:55:23 +09:00
Bartłomiej Dach
b84a9f7820
Merge pull request #31711 from peppy/change-friend-notification-icons
Change friend online notifications' icon and colours
2025-01-28 15:38:27 +01:00
Dean Herbert
a3a08832b4
Add keywords to make lighten-during-breaks setting discoverable to stable users
See https://github.com/ppy/osu/discussions/31671.
2025-01-28 21:31:51 +09:00
Dean Herbert
017d38af3d
Change friend online notifications' icon and colours
The previous choices made it seem like potentially destructive actions
were being performed. I've gone with neutral colours and more suiting
icons to attempt to avoid this.

---

Addresses concerns in
https://github.com/ppy/osu/discussions/31621#discussioncomment-11948377.

I chose this design even though it wasn't the #1 most popular because I
personally feel that using green/red doesn't work great for these.
2025-01-28 21:29:17 +09:00
Dean Herbert
6d39ee2918
Merge pull request #31696 from bdach/do-not-bundle-explicit-beatmaps
Do not bundle explicit beatmaps
2025-01-28 20:39:21 +09:00
Dan Balasescu
a863230983
Merge pull request #31697 from bdach/corrupt-mp3s-should-not-crash-game
Catch and display user-friendly errors regarding corrupted audio files
2025-01-28 14:00:01 +09:00
Bartłomiej Dach
bb8f58f6d6
Work around rare sharpcompress failure to extract certain archives
Closes https://github.com/ppy/osu/issues/31667.

See https://github.com/ppy/osu/issues/31667#issuecomment-2615483900 for
explanation.

For whatever it's worth, I see rejecting this change and telling
upstream to fix it as an equally agreeable outcome, but after I spent an
hour+ tracking this down, writing this diff was nothing in comparison.
2025-01-27 12:28:53 +01:00
Dan Balasescu
fc73037d9f
Add pill displaying current freestyle status 2025-01-27 18:46:45 +09:00
Dan Balasescu
ca979d3542
Adjust xmldocs 2025-01-27 18:32:12 +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
Bartłomiej Dach
e24af4b341
Add inline comments for sets that are not marked FA but should be 2025-01-27 09:40:53 +01:00
Bartłomiej Dach
836a9e5c25
Remove explicit beatmap set from list of bundled beatmap sets 2025-01-27 09:40:20 +01:00
Salman Alshamrani
4d7b071027 Specifiy second-factor authentication code text box with Code type 2025-01-25 23:58:56 -05:00
Salman Alshamrani
c18128e974 Remove OrientationManager and the entire mobile namespace 2025-01-25 20:01:18 -05:00
Salman Alshamrani
bb7daae080 Simplify orientation locking code magnificently 2025-01-25 19:12:43 -05:00
Salman Alshamrani
ffc37cece0 Avoid extra unnecessary DI
Co-authored-by: Dean Herbert <pe@ppy.sh>
2025-01-25 19:12:42 -05: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
Jamie Taylor
79df094f17
Add unique samples for friend online/offline notifications 2025-01-24 23:20:04 +09: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
Bartłomiej Dach
daec91f61d
Refactor further to avoid weird non-virtual common method 2025-01-24 13:14:31 +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
269ade178e
Fix tests 2025-01-24 11:59:07 +01:00
Bartłomiej Dach
32d341a468
Remove IPositionSnapProvider 2025-01-24 11:59:07 +01: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