mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 09:17:51 +08:00
17b9d842ab
Closes https://github.com/ppy/osu/issues/24061. The gist of this change is that if the `LegacyReplaySoloScoreInfo` bolt-on is present in the replay, then it can (and is) used to recompute the accuracy, and rank is computed based on that. This was the missing part of https://github.com/ppy/osu/issues/24061#issuecomment-1888438151. The accuracy would change on import before that because the encode process is _lossy_ if the `LegacyReplaySoloScoreInfo` bolt-on is not used, as the legacy format only has 6 fields for encoding judgement counts, and some judgements that affect accuracy in lazer do not fit into that. Note that this _only_ fixes _relatively_ new lazer scores looking wrong after reimport. - Very old lazer scores, i.e. ones that don't have the `LegacyReplaySoloScoreInfo` bolt-on, obviously can't use it to repopulate. There's really not much good that can be done there, so the stable pathways are used as a fallback that always works. - For stable replays, `ScoreImporter` recalculates the accuracy of the score _again_ in |
||
---|---|---|
.. | ||
Drawables | ||
Legacy | ||
HitResultDisplayStatistic.cs | ||
IScoreInfo.cs | ||
LegacyDatabasedScore.cs | ||
RankingTier.cs | ||
Score.cs | ||
ScoreImporter.cs | ||
ScoreInfo.cs | ||
ScoreInfoExtensions.cs | ||
ScoreManager.cs | ||
ScoreModelDownloader.cs | ||
ScorePerformanceCache.cs | ||
ScoreRank.cs |