osu/osu.Game
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
..
Audio
Beatmaps Also populate ObjectCounts when running a full beatmap process 2023-12-18 18:41:41 +09:00
Collections Merge pull request #25821 from bdach/fix-collection-dropdown-crash 2023-12-19 01:01:23 +09:00
Configuration Add setting for adjusting whether text search is active by default 2023-12-14 09:52:23 +01:00
Database Fix osu! standardised score conversion sometimes exceeding bounds 2023-12-18 22:05:19 +01:00
Extensions
Graphics Merge pull request #25848 from 65-7a/dropdown-search-padding 2023-12-19 00:36:14 +09:00
Input
IO
IPC
Localisation Add control to adjust mod select search text box behaviour 2023-12-14 10:04:37 +01:00
Models
Online Move object counts to BeatmapInfo 2023-12-13 17:33:24 +09:00
Overlays Fix progress notifications queueing up infinite text changes when not visible 2023-12-18 19:00:44 +09:00
Performance
Properties
Replays
Rulesets Fix keyboard precision of nightcore/daycore adjustments being incorrect 2023-12-19 01:07:33 +09:00
Scoring Fix osu! standardised score conversion sometimes exceeding bounds 2023-12-18 22:05:19 +01:00
Screens Add IApplicableHealthProcessor 2023-12-17 19:27:03 +09:00
Skinning Apply Bindable.Parse refactorings 2023-12-13 14:07:38 +09:00
Storyboards
Tests Update currently online display tests 2023-12-06 19:37:35 +01:00
Updater
Users Show user's status as tooltip on the extended user panel 2023-12-06 19:37:35 +01:00
Utils
.editorconfig
BackgroundDataStoreProcessor.cs Don't show progress notifications when there are too few items to be worthwhile 2023-12-19 00:01:09 +09:00
FodyWeavers.xml
osu!.res
osu.Game.csproj Update framework 2023-12-19 03:22:22 +09:00
OsuGame.cs Merge pull request #25522 from bdach/no-concurrent-connections 2023-11-28 19:09:38 +09:00
OsuGameBase_Importing.cs
OsuGameBase.cs
PerformFromMenuRunner.cs