1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 03:52:54 +08:00
osu-lazer/osu.Game/Screens
Bartłomiej Dach 5e5bb49cd8
Fix rate change hotkeys sometimes losing track of adjust pitch setting
Fixes https://osu.ppy.sh/community/forums/topics/1983327.

The cause of the bug is a bit convoluted, and stems from the fact that
the mod select overlay controls all of the game-global mod instances if
present. `ModSpeedHotkeyHandler` would store the last spotted instance
of a rate adjust mod - which in this case is a problem, because on
deselection of a mod, the mod select overlay resets its settings to
defaults:

	a258059d43/osu.Game/Overlays/Mods/ModSelectOverlay.cs (L424-L425)

A way to defend against this is a clone, but this reveals another issue,
in that the existing code was *relying* on the reference to the mod
remaining the same in any other case, to read the latest valid settings
of the mod. This basically only mattered in the edge case wherein Double
Time would swap places with Half Time and vice versa (think [0.95,1.05]
range). Therefore, track mod settings too explicitly to ensure that the
stored clone is as up-to-date as possible.
2024-09-30 08:47:02 +02:00
..
Backgrounds Remove requirement of specifying animateOnnter in BackgroundScreen ctor 2024-08-07 19:07:44 +09:00
Edit Merge pull request #29918 from bdach/control-drag 2024-09-30 14:00:36 +09:00
Footer Explicitly define Hue rather than implicitly provide it by enum value 2024-07-18 00:26:24 +03:00
Import Redesign directory & file selector (and update usages accordingly) 2024-09-24 14:54:48 +02:00
Menu Merge pull request #29542 from frenzibyte/show-daily-challenge-intro-once-per-session 2024-09-01 21:27:16 +09:00
OnlinePlay fixed if statement format 2024-09-07 14:01:38 -06:00
Play Merge pull request #29914 from peppy/fix-judgement-counter-sync 2024-09-27 10:57:26 +02:00
Ranking Fix statistics update not being shown on results screen if it arrives too fast 2024-09-24 17:52:19 +02:00
Select Fix rate change hotkeys sometimes losing track of adjust pitch setting 2024-09-30 08:47:02 +02:00
SelectV2 Inline single-frame layout issue comment instead 2024-08-14 00:41:43 -07:00
Spectate Remove managed clocks from SpectatorSyncManager on gameplay completion / abort 2024-04-26 15:29:59 +08:00
Utility Adjust calls to GetContainingInputManager() 2024-06-18 07:41:19 +02:00
BackgroundScreen.cs Remove requirement of specifying animateOnnter in BackgroundScreen ctor 2024-08-07 19:07:44 +09:00
BackgroundScreenStack.cs Remove requirement of specifying animateOnnter in BackgroundScreen ctor 2024-08-07 19:07:44 +09:00
IHandlePresentBeatmap.cs Automated pass 2023-06-24 01:00:03 +09:00
IHasSubScreenStack.cs Automated pass 2023-06-24 01:00:03 +09:00
IOsuScreen.cs Move screen footer to OsuGame 2024-05-16 07:48:58 +03:00
IPerformFromScreenRunner.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
Loader.cs Reorganise with ruleset shader separated out 2024-09-27 16:19:24 +09:00
OsuScreen.cs Move screen footer to OsuGame 2024-05-16 07:48:58 +03:00
OsuScreenDependencies.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
OsuScreenStack.cs Move screen footer to OsuGame 2024-05-16 07:48:58 +03:00
ScorePresentType.cs Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
ScreenWhiteBox.cs Partial everything 2022-11-27 00:00:27 +09:00
StartupScreen.cs Automated pass 2023-06-24 01:00:03 +09:00