1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 23:47:25 +08:00
Commit Graph

41119 Commits

Author SHA1 Message Date
Dean Herbert
9a1a97180d
Change settings overlay to always show expanded buttons 2023-12-27 02:33:17 +09:00
Dean Herbert
58476d5429
Allow ExpandingContainer to not auto expand on hover 2023-12-27 02:33:02 +09:00
Dean Herbert
c55458e49c
Remove pointless intermediary class 2023-12-27 02:32:47 +09:00
Dean Herbert
d70fddb6fd
Fix elapsed time being counted twice on first frame 2023-12-27 00:11:22 +09:00
Dean Herbert
03e2463b06
Add test coverage and refactor to better handle equality edge case 2023-12-26 21:21:08 +09:00
Dean Herbert
1f2f749db6
Fix selection not being retained in control point list when undoing / redoing 2023-12-26 21:04:42 +09:00
Dean Herbert
f2c0e7cf2e
Fix editor's control point list refreshing multiple times for a single change 2023-12-26 21:04:42 +09:00
Bartłomiej Dach
b1a26acdd0
Merge pull request #26136 from peppy/add-waveform-visual-offset
Add visual offset to better align editor waveforms with expectations
2023-12-26 12:57:13 +01:00
Nathan
6269c79c17
Merge branch 'master' into fix-rewind-backtracking 2023-12-26 03:10:00 -08:00
Dean Herbert
92f7a42fd7
Merge pull request #26131 from smoogipoo/fix-mania-scroll-difference
Make mania scroll speed independent of hit position
2023-12-26 19:27:43 +09:00
Dean Herbert
225528d519
Bail from score submission if audio playback rate is too far from reality
Closes https://github.com/ppy/osu/issues/23149.
2023-12-26 19:20:58 +09:00
Dean Herbert
f9e47242db
Add visual offset to better align editor waveforms with expectations 2023-12-26 17:44:49 +09:00
Dan Balasescu
2ec6aa7fbb
Make mania scroll speed independent of hit position 2023-12-26 12:46:21 +09:00
Dean Herbert
b18b5b9977
Add inline note about deadlock 2023-12-26 12:06:56 +09:00
Nathan Tran
060bf8beff Fix rewind backtracking 2023-12-25 15:27:32 -08:00
Bartłomiej Dach
f84b07e71a
Do not attempt to stop preview tracks when arriving from a "track completed" sync
This fixes an issue identified with the WASAPI implementation in
https://github.com/ppy/osu-framework/pull/6088. It has no real effect
on current `master`, but fixes a deadlock that occurs with the
aforementioned framework branch when one lets a preview track play out
to the end - at this point all audio will stop and an attempt to perform
any synchronous BASS operation (playing another track, seeking) will
result in a deadlock.

It isn't terribly clear as to why this is happening precisely, but
there does not appear to be any need to stop and seek at that point,
so this feels like a decent workaround even if the actual issue is
upstream (and will unblock pushing out WASAPI support to users).
2023-12-25 19:01:06 +01:00
Bartłomiej Dach
4fa35d709c
Update resources 2023-12-25 14:56:40 +01:00
Bartłomiej Dach
3748541569
Merge branch 'master' into add-slider-tick-end-miss-sprites 2023-12-25 14:55:09 +01:00
Bartłomiej Dach
8142a7cb7e
Remove incorrect spec 2023-12-25 14:00:32 +01:00
Dean Herbert
8e6ea2dd9b
Update argon and triangles to match display style 2023-12-25 17:37:28 +09:00
Dean Herbert
b1d994b6ff
Add classic skin sprites for slider tick and slider end misses 2023-12-25 17:17:23 +09:00
Dean Herbert
ee00f7ea1f
Merge pull request #26086 from peppy/fix-toolbar-button-lag
Use a realm subscription to avoid overhead when hovering a toolbar button
2023-12-24 04:01:04 +09:00
Bartłomiej Dach
a0915a0dd1
Merge pull request #26076 from peppy/gameplay-offset-adjust
Add control to allow changing offset from gameplay
2023-12-23 19:41:57 +01:00
Bartłomiej Dach
68430d6ecd
Fix toolbar keybinding hint not clearing after unbinding the keybinding 2023-12-23 19:39:17 +01:00
Dean Herbert
5b03dc8d0b
Use a realm subscription to avoid overhead when hovering a toolbar button
Addresses https://github.com/ppy/osu/discussions/26018.
2023-12-24 03:20:42 +09:00
Dean Herbert
686b2a4394
Disable positional interaction for now 2023-12-24 03:00:51 +09:00
Dean Herbert
72bec527fd
Add conditions to match stable offset adjust limitations 2023-12-24 02:36:27 +09:00
Dean Herbert
92b490f2e7
Don't bother with alt support for now 2023-12-24 01:59:48 +09:00
Dean Herbert
d72ec81684
Merge pull request #26083 from smoogipoo/try-improve-hp-drain
Replace recently-added HP drain density calculation with combo-end bonus
2023-12-24 01:30:49 +09:00
Dan Balasescu
ee0bd69e24
Merge pull request #26072 from peppy/fix-migration-hard-crash
Fix hard crash when attempting to change folder location during a large import
2023-12-24 00:09:13 +09:00
Dan Balasescu
0db2668026
Merge pull request #26069 from peppy/fix-legacy-version-checks
Change legacy version checks to account for users specifying incorrect versions
2023-12-24 00:07:01 +09:00
Dan Balasescu
807ea8a9a0
Merge pull request #26082 from bdach/relax-legacy-score-conversion
Fix standardised score conversion failing for scores set with 0.0x mod mutliplier
2023-12-24 00:04:10 +09:00
Bartłomiej Dach
fde0276db3
Merge pull request #26077 from peppy/profile-cover-pixel-fix
Fix user profile cover showing 1px line when contracted
2023-12-23 15:49:03 +01:00
Bartłomiej Dach
a011a1ebb8
Merge pull request #26080 from peppy/cinema-no-fail
Change "cinema" mod to never fail
2023-12-23 15:48:42 +01:00
Dan Balasescu
d1000b2e6c
remove HP density 2023-12-23 23:36:15 +09:00
Bartłomiej Dach
0cbf594a8c
Make cinema mod incompatible with no fail 2023-12-23 15:10:31 +01:00
Bartłomiej Dach
3a2ed3677b
Fix standardised score conversion failing for scores set with 0.0x mod mutliplier
Closes https://github.com/ppy/osu/issues/26073.
2023-12-23 13:28:39 +01:00
Dean Herbert
644c981673
Fix "spectate" button not always being clickable in online users list 2023-12-23 21:21:34 +09:00
Dean Herbert
15a9740eb6
Change "cinema" mod to never fail
Addresses https://github.com/ppy/osu/discussions/26032.
2023-12-23 21:12:47 +09:00
Bartłomiej Dach
007ea51e20
Add extra safety against returning negative total score in conversion operation 2023-12-23 13:07:29 +01:00
Dean Herbert
a2e5f62478
Fix user profile cover showing 1px line when contracted
Addresses https://github.com/ppy/osu/discussions/26068.
2023-12-23 21:07:17 +09:00
Dean Herbert
6f11885d4b
Add control to allow changing offset from gameplay 2023-12-23 20:51:30 +09:00
Dean Herbert
7e9522a722
Allow external use of offset text explanation 2023-12-23 20:46:12 +09:00
Dean Herbert
27a9dcc5a1
Add basic hotkey offset adjust support (via existing offset control) 2023-12-23 19:55:05 +09:00
Dean Herbert
8349cb7bbe
Fix hard crash when attempting to change folder location during a large import
Closes https://github.com/ppy/osu/issues/26067.
2023-12-23 17:03:58 +09:00
Dean Herbert
c5893f245c
Change legacy version checks to account for users specifying incorrect versions 2023-12-23 14:03:45 +09:00
Simon G
3487b5865e
Merge branch 'ppy:master' into adjust_beatmap_length_according_to_rate 2023-12-22 18:08:35 +01:00
Dean Herbert
21e9e103fd
Merge pull request #26039 from smoogipoo/hp-drain-density
Add basic density consideration to HP drain
2023-12-23 01:04:53 +09:00
Dean Herbert
7e09164d70
Merge pull request #26036 from smoogipoo/fix-perfect-mod-special-judgements
Fix perfect mod not failing with special judgements
2023-12-22 18:22:28 +09:00
Dan Balasescu
a0185508b7
Add basic consideration of density for HP drain 2023-12-22 18:08:26 +09:00
Dan Balasescu
5703546d71
Revert change to ModSuddenDeath 2023-12-22 16:43:17 +09:00
Dan Balasescu
88a5ba8167
Add mania/osu sudden death mod tests 2023-12-22 16:43:09 +09:00
Dan Balasescu
ea778c6e0a
Fix perfect/sudden death not working on slider tails 2023-12-22 14:02:25 +09:00
Dan Balasescu
9c35e25036
Add failing tests 2023-12-22 13:58:12 +09:00
Simon G
b31b9e96d0
adjust beatmap length and drain based on rate changing mods 2023-12-22 03:04:48 +01:00
Bartłomiej Dach
a7326e3891
Merge pull request #26004 from DanielPower/25049-fix-skin-element-bounding-box
Fix scale of skin element bounding box
2023-12-21 18:14:24 +01:00
Dean Herbert
716d866178
Merge pull request #25998 from peppy/add-score-version
Add versioning of local scores
2023-12-21 23:58:23 +09:00
Bartłomiej Dach
b4e71a0787
Fix slider tick / end misses displaying with full size on legacy skins with animated misses
Resolves https://github.com/ppy/osu/issues/25987.

Structure is a bit clumsy but I'm not sure how to do better...
2023-12-21 13:58:12 +01:00
Daniel Power
d4731e0830 Fix scale of skin element bounding box 2023-12-21 08:56:39 -03:30
Bartłomiej Dach
fbf19ea598
Merge branch 'master' into add-score-version 2023-12-21 13:06:53 +01:00
Bartłomiej Dach
2baf579f7c
Serialise and deserialise ClientVersion to replays 2023-12-21 12:58:08 +01:00
Bartłomiej Dach
81bbdccee7
Rename ScoreInfo.{ -> Client}Version 2023-12-21 12:56:43 +01:00
Dean Herbert
a4baa0a716
Add versioning of local scores
For any potential future usage
2023-12-21 18:37:15 +09:00
Dan Balasescu
c3c1752a5a
Reconvert all legacy scores 2023-12-21 15:32:34 +09:00
Dan Balasescu
eb072a1d24
Add accuracy conversion, fix usages 2023-12-21 15:09:56 +09:00
Dan Balasescu
6b4b2a57fc
Expose only as one method 2023-12-21 14:58:23 +09:00
Dan Balasescu
4e3b994142
Relocate HitResult numeric score to ScoreProcessor 2023-12-21 14:52:31 +09:00
Bartłomiej Dach
b7cca788b5
Merge pull request #25964 from rushiiMachine/fix-export-replay-spam
Fix save & export failed replay hotkeys handling repeated keypresses
2023-12-20 21:07:36 +01:00
Bartłomiej Dach
53cca61e61
Merge pull request #25951 from peppy/show-tick-results
Show slider tick / slider end misses with a visible judgement
2023-12-20 20:44:04 +01:00
Bartłomiej Dach
975bacaeb7
Add back blank line to fix code quality inspection 2023-12-20 19:07:26 +01:00
Bartłomiej Dach
a763ad8473
Add remarks to Is{Hit,Miss}() to explain their simultaneous existence 2023-12-20 19:07:18 +01:00
rushiiMachine
ebbc8333e8
Prevent ExportReplay being spammed on fail by being held down
This was already handled in ReplayDownloadButton (98efff0bd6/osu.Game/Screens/Ranking/ReplayDownloadButton.cs (L114-L115)) but seemingly missed for SaveFailedScoreButton
2023-12-20 08:41:16 -08:00
Dean Herbert
eb8fb8092d
Attempt to standardise miss handling logic 2023-12-21 00:59:35 +09:00
Bartłomiej Dach
9515f7dbfa
Bump score version in order to recompute legacy scores 2023-12-20 16:01:59 +01:00
Bartłomiej Dach
8c06d3873d
Merge branch 'master' into mania-scorev2-values 2023-12-20 15:54:31 +01:00
Bartłomiej Dach
77d8bbf152
Merge pull request #25949 from peppy/fix-song-select-extra-selections
Fix beatmap updates causing one extra carousel selection
2023-12-20 15:30:38 +01:00
Bartłomiej Dach
83e885192b
Merge pull request #25931 from peppy/fix-thread-safety
Fix thread safety of `OnlineMetadataClient.UserStates`
2023-12-20 12:55:31 +01:00
Dean Herbert
d1ba2a4a64
Use orange for non-combo-breaking miss 2023-12-20 20:45:27 +09:00
Dean Herbert
d2716d8557
Improve animation for legacy skins 2023-12-20 20:34:05 +09:00
Bartłomiej Dach
6bddc56851
Merge branch 'master' into fix-song-select-extra-selections 2023-12-20 12:23:55 +01:00
Dean Herbert
9b383e3276
Add support for showing tick misses 2023-12-20 20:23:19 +09:00
Bartłomiej Dach
22513e0070
Merge pull request #25943 from peppy/fix-song-select-sound-at-gameplay
Fix song select running updates when screen is not active
2023-12-20 12:20:06 +01:00
Dan Balasescu
38d6b7f45b
Update total score conversion 2023-12-20 20:03:13 +09:00
Dean Herbert
5284b95bb8
Schedule even more 2023-12-20 19:42:05 +09:00
Dean Herbert
7fa4dcf0fb
Fix selection retention logic copy paste failure 2023-12-20 19:27:57 +09:00
Dean Herbert
e003462f7d
Fix beatmap updates causing one extra carousel selection 2023-12-20 19:15:02 +09:00
Dan Balasescu
72274041eb
Merge pull request #25876 from bdach/fix-standardised-score-conversion
Fix osu! standardised score conversion sometimes exceeding bounds
2023-12-20 18:54:33 +09:00
Dean Herbert
64f62e7d90
Fix song select running updates when screen is not active
Who would have guessed that `Schedule` calls were there for a reason!

I've tidied things up. Most of the changes I've made here are not
required – the schedule is the main thing here. The reason the sound was
playing is because one-too-many schedules was removed causing beatmap
updates to update carousel specifics while still at the player loader
screen.

Note that the selection sound still plays on returning to song select,
but this is not a regression. I'm looking at fixing this in a separate
PR because I'm in a good place as far as understanding the logic right
now and it would be a waste to leave it broken.

Closes https://github.com/ppy/osu/issues/25875.
2023-12-20 17:31:09 +09:00
Dean Herbert
831c273b45
Merge pull request #25887 from smoogipoo/restore-taiko-accuracy
Restore taiko accuracy to ScoreV2 values
2023-12-20 17:29:40 +09:00
Dan Balasescu
188c463c9c
Merge pull request #25934 from peppy/adjust-classic-mod-multiplier
Adjust "classic" mod multiplier to 0.96x
2023-12-20 17:11:09 +09:00
Bartłomiej Dach
9a5027e556
Merge pull request #25900 from peppy/editor-from-any-carousel
Allow choosing "Edit" from any beatmap carousel item
2023-12-20 08:35:42 +01:00
Dean Herbert
98efff0bd6
Merge pull request #25917 from rushiiMachine/remove-relax-mod-exclusions
Allow failing with "relax" and "autopilot" mods
2023-12-20 15:48:21 +09:00
Dean Herbert
14d2d0d215
Remove ModBlockFail
Was only being used by `NoFail` now.
2023-12-20 14:50:45 +09:00
Dan Balasescu
3818977a36
Merge pull request #25898 from peppy/song-select-stats
Update song select to always show difficulty stats
2023-12-20 14:39:35 +09:00
Dean Herbert
d7603e8021
Adjust "classic" mod multiplier to 0.96x
Following discussions on discord, this seems like the most agreed upon
value. Increasing this is important so that imported legacy scores don't
lose too much value.
2023-12-20 14:33:14 +09:00
Dean Herbert
856c59f7f7
Fix thread safety of OnlineMetadataClient.UserStates
Closes https://github.com/ppy/osu-framework/issues/6081.
2023-12-20 14:15:00 +09:00
Dean Herbert
85e5d74a16
Apply proposed changes 2023-12-20 12:42:06 +09:00
rushiiMachine
1b004dbebc
Allow Relax to fail and remove failable mod exclusions
Allows the Relax mod to fail, and remove NF/PF/SD mod exclusion

ref: https://github.com/ppy/osu/discussions/13229
2023-12-19 12:33:00 -08:00
OliBomby
c167f10ad5 fix crash from dragging near zero-length repeating object in timeline 2023-12-19 21:20:45 +01:00
OliBomby
ec578e1d9f fix near-zero length sliders n stuff being placeable 2023-12-19 21:20:21 +01:00
Bartłomiej Dach
1ebb6262fd
Merge pull request #25895 from peppy/fix-beatmap-statsitics-reprocessing
Fix some beatmaps being reprocessed each startup
2023-12-19 18:05:40 +01:00
Bartłomiej Dach
322cfaae1d
Merge branch 'master' into fix-standardised-score-conversion 2023-12-19 17:41:38 +01:00
Bartłomiej Dach
3f41c20ac6
Use safer fix for now 2023-12-19 17:25:15 +01:00
Bartłomiej Dach
64b0534fb8
Merge pull request #25857 from peppy/fix-mod-settings-keyboard-adjust
Fix mod search textbox having focus while settings are visible
2023-12-19 15:44:17 +01:00
Bartłomiej Dach
e306cc35ba
Merge branch 'master' into fix-song-select-realm-refresh-performance 2023-12-19 14:14:46 +01:00
Dean Herbert
bbfdd6892d
Allow choosing "Edit" from any beatmap carousel item 2023-12-19 19:58:49 +09:00
Dean Herbert
c556475c2c
Revert to using a more manual approach to holding focus 2023-12-19 19:46:30 +09:00
Dean Herbert
502e3edac3
Add missing invalidation call 2023-12-19 19:39:48 +09:00
Dean Herbert
2c5ca9c1c8
Change default song select tab display to local leaderboard 2023-12-19 19:31:05 +09:00
Dean Herbert
3b848e8503
Tidy up visual look 2023-12-19 19:28:02 +09:00
Dean Herbert
07bb0805e9
Move advanced stats to a more permanent location on song select 2023-12-19 19:10:43 +09:00
Dean Herbert
0a64d631e2
Add support for dual-column advanced stats 2023-12-19 19:09:47 +09:00
Dean Herbert
f09c6b8c1b
Change default values of new object counts to -1 to identify non-processed values 2023-12-19 18:20:02 +09:00
Dean Herbert
8f5d21dc70
Actually fix realm selection retention regression 2023-12-19 18:10:55 +09:00
Dean Herbert
7e9c1b2acb
Use sender's realm (because we can) 2023-12-19 17:27:52 +09:00
Bartłomiej Dach
7c05d66bd7
Add more detail to exception 2023-12-19 08:57:18 +01:00
Bartłomiej Dach
ddb67c87a8
Roll back incorrect change in ShouldMigrateToNewStandardised() 2023-12-19 08:13:02 +01:00
Dean Herbert
44efa2c540
Fix incorrect ordering of items at song select when certain sort modes are used 2023-12-19 15:09:03 +09:00
Dan Balasescu
c1b55c7fac
Add ScoreProcessor methods to override numeric result 2023-12-19 13:50:31 +09:00
Bartłomiej Dach
9c8df4e6d1
Run score conversion for previously-imported scores 2023-12-18 22:27:51 +01:00
Bartłomiej Dach
017003deea
Fix osu! standardised score conversion sometimes exceeding bounds
Co-authored-by: Zyf <zyfarok@gmail.com>

Closes https://github.com/ppy/osu/issues/25860

Users reported that some stable scores would convert to large negative
total scores in lazer after the introduction of combo exponent. Those
large negative total scores were actually mangled NaNs.

The root cause of this was the following calculation going below zero
unexpectedly:

	8e8d9b2cd9/osu.Game/Database/StandardisedScoreMigrationTools.cs (L323)

which then propagates negative numbers onward until

	8e8d9b2cd9/osu.Game/Database/StandardisedScoreMigrationTools.cs (L337)

which yields a NaN due to attempting to take the square root of a
negative number.

To fix, clamp `comboPortionInScoreV1` to sane limits: to
`comboPortionFromLongestComboInScoreV1` from below, and to
`maximumAchievableComboPortionInScoreV1` from above. This is a less
direct fix than perhaps imagined, but it seems like a better one as it
will also affect the calculation of both the lower and the upper
estimate of the score.
2023-12-18 22:05:19 +01:00
Susko3
cc800a18b2 Fix opening log files from notification not presenting the correct file 2023-12-18 21:11:00 +01:00
Bartłomiej Dach
8e8d9b2cd9
Merge pull request #25832 from peppy/more-background-processing-progress-notifications
Show more comprehensive background processing progress notifications
2023-12-18 20:05:47 +01:00
Bartłomiej Dach
b8bcf7a097
Merge pull request #25856 from peppy/fix-keybaord-adjust-nc-dc
Fix keyboard precision of nightcore/daycore adjustments being incorrect
2023-12-18 19:54:17 +01:00
Dean Herbert
9594ae7802
Update framework 2023-12-19 03:22:22 +09:00
Dean Herbert
51f4c7254c
Fix mod search textbox having focus while settings are visible
Stopped arrow key adjust on slider bars from working.

Also just felt wrong that you could type into an off-screen textbox.
2023-12-19 01:32:34 +09:00
Dean Herbert
374425ea75
Fix keyboard precision of nightcore/daycore adjustments being incorrect
Closes https://github.com/ppy/osu/issues/25854.
2023-12-19 01:07:33 +09:00
Dean Herbert
c466775f78
Merge pull request #25821 from bdach/fix-collection-dropdown-crash
Fix collections dropdown crashing during storage migration
2023-12-19 01:01:23 +09:00
Dean Herbert
c88c25e77f
Merge pull request #25848 from 65-7a/dropdown-search-padding
Fix padding on dropdown search bar
2023-12-19 00:36:14 +09:00
Dean Herbert
9aaaa12809
Don't show progress notifications when there are too few items to be worthwhile 2023-12-19 00:01:09 +09:00
Dean Herbert
d81cabc063
Revert "Improve performance of attemptSelection using new cached count and LastSelected"
This reverts commit 25df42630e.
2023-12-18 22:46:02 +09:00
Dean Herbert
25e3a8e82e
Fix a few of silly issues 2023-12-18 22:45:58 +09:00
65-7a
17f1f8bb43 Fix padding on dropdown search bar 2023-12-19 00:28:23 +11:00
Bartłomiej Dach
eeeb5aa3d4
Fix crash when creating collections named "All beatmaps" or "Manage collections..."
Closes https://github.com/ppy/osu/issues/25834

The name fallback that was there previously since
https://github.com/ppy/osu/pull/11892 was half broken. This way should
be a lot less prone to failure.
2023-12-18 12:52:39 +01:00
Dean Herbert
25df42630e
Improve performance of attemptSelection using new cached count and LastSelected 2023-12-18 20:47:08 +09:00
Dean Herbert
5755fa214a
Cache non-filtered beatmap counts to massively improve count performance 2023-12-18 20:44:08 +09:00
Dean Herbert
034c5cd654
Debounce count updates for good measure 2023-12-18 20:43:23 +09:00
Dean Herbert
6fa1f5ef9b
Simplify invalidation logic
The only case where this was checking is guaranteed by realm to only be called once.
2023-12-18 20:31:02 +09:00
Dean Herbert
87b7699fcc
Avoid calling invalidation logic per beatmap set updated
Realm will batch the updates. We don't want to do expensive operations per set when we don't need to.
2023-12-18 20:31:02 +09:00
Dean Herbert
32cc3f9ef7
Combine multiple similar invalidation logic into single event 2023-12-18 20:31:02 +09:00
Dean Herbert
03ac2c3094
Remove some excessive logging 2023-12-18 19:20:57 +09:00
Dean Herbert
62444c3d04
Fix song select's carousel scroll position getting reset on background processing
This only happened for users using absolute right-click scroll.
2023-12-18 19:17:59 +09:00
Dean Herbert
e3251b40b3
Fix progress notifications queueing up infinite text changes when not visible 2023-12-18 19:00:44 +09:00
Dean Herbert
5ab3815123
Add logging of progress every so often 2023-12-18 18:45:49 +09:00
Dean Herbert
bfa90e9dcb
Also populate ObjectCounts when running a full beatmap process
Saves running things twice on an old install
2023-12-18 18:41:41 +09:00
Dean Herbert
e7d1cf7868
Add progress notifications for background tasks which don't already have them 2023-12-18 18:41:41 +09:00
Dean Herbert
7462a9f4ab
Add helper method to handle progress notifications for background jobs 2023-12-18 18:41:41 +09:00
Bartłomiej Dach
ef230884a8
Fix collections dropdown crashing during storage migration
Closes https://github.com/ppy/osu/issues/25815.

`CollectionDropdown.collectionsChanged()` was assuming that if it
received `null` changes, then it must mean that the change subscription
is being initialised and the `filters` list will not contain any items.

However, that is not the only circumstance wherein a realm subscription
can fire with `null` changes; that can also happen after the main realm
instance gets recycled via the notification registration flow:

	2f28a92f0a/osu.Game/Database/RealmAccess.cs (L545-L549)

	2f28a92f0a/osu.Game/Database/RealmAccess.cs (L1228-L1251)

Therefore, to fix the crash, just ensure that the list is cleared every
time.
2023-12-18 09:11:00 +01:00
Dan Balasescu
4b9aefa6f2
Change osu ruleset to use new HP algorithm by default 2023-12-17 19:33:04 +09:00
Dan Balasescu
d7aca2f641
Add IApplicableHealthProcessor 2023-12-17 19:27:03 +09:00