Bartłomiej Dach
17b9d842ab
Fix incorrect accuracy and rank population when decoding lazer replays
...
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
15a5fd7e4c/osu.Game/Scoring/ScoreImporter.cs (L106-L110)
as `StandardisedScoreMigrationTools.UpdateFromLegacy()` recomputes
_both_ total score and accuracy.
This makes a _semblance_ of sense as it attempts to make the accuracy
of stable and lazer replays comparable. In most cases it also won't
matter, as the only ruleset where accuracy changed between the legacy
implementation and current lazer accuracy is mania.
But it is also an inaccurate process (as, again, some of the required
data is not in the replay, namely judgement counts of ticks
and so on).
For whatever's worth, a similar thing happens server-side in
106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L319)
- However, _ranks_ of stable scores will still use the local stable
reimplementation of ranks, i.e. a 1-miss stable score in osu! ruleset
will be an A rather than an S. See importer:
106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L237)
(it's the same method which is renamed
to `PopulateLegacyAccuracyAndRank()` in this commit).
That is all a bit of a mess honestly, but I'm not sure where to even
begin there...
2024-01-16 22:38:53 +01:00
Bartłomiej Dach
1075b87fb8
Add failing test coverage
2024-01-16 22:38:52 +01:00
Salman Ahmed
15a5fd7e4c
Merge pull request #26575 from bdach/touch-device-multiplayer
...
Fix touch device not always activating when it should
2024-01-16 22:35:59 +03:00
Salman Ahmed
e5f67173e5
Merge branch 'master' into touch-device-multiplayer
2024-01-16 22:09:17 +03:00
Bartłomiej Dach
b16152811d
Use until step instead
2024-01-16 17:54:49 +01:00
Dean Herbert
658fa14a92
Merge pull request #26562 from kyubxy/spinner-speed-fix
...
Make spinner-top and spinner-middle2 spin at different speeds to match stable
2024-01-17 01:24:36 +09:00
Bartłomiej Dach
a9d086c119
Fix touch device not always activating when it should
...
See https://github.com/ppy/osu/discussions/26574
2024-01-16 17:12:40 +01:00
Bartłomiej Dach
7a7548e89d
Add failing test coverage
2024-01-16 17:09:04 +01:00
Justin
7736445659
Merge branch 'master' into spinner-speed-fix
2024-01-17 01:40:53 +11:00
Bartłomiej Dach
c27f01dc14
Merge pull request #26565 from peppy/fix-leaderboard-display
...
Fix some elements not showing on leaderboard scores when almost off-screen
2024-01-16 11:30:52 +01:00
Bartłomiej Dach
cde0c0b2ee
Merge pull request #26561 from peppy/fix-catch-banana-health-bar
...
Fix argon health bar showing "miss" bar for bananas
2024-01-16 11:04:38 +01:00
Bartłomiej Dach
a3b7943e7d
Merge pull request #26560 from peppy/fix-skin-loss
...
Fix skin potentially being lost when opening and closing skin editor rapidly
2024-01-16 10:16:30 +01:00
Bartłomiej Dach
805a9b56ec
Merge pull request #26557 from peppy/fix-silver-s-ss
...
Fix silver S/SS not being awarded correctly
2024-01-16 10:03:20 +01:00
Dean Herbert
ee26329353
Fix some elements not showing on leaderboard scores when almost off-screen
2024-01-16 16:44:50 +09:00
Dean Herbert
2be8d66d4c
Fix argon health bar showing "miss" bar for bananas
2024-01-16 15:52:18 +09:00
Dean Herbert
57a6025a2c
Add helper method to bypass judgement woes
2024-01-16 15:52:05 +09:00
Dean Herbert
24a06e1d65
Merge pull request #26479 from EVAST9919/argon-health-rework
...
Rework `ArgonHealthDisplay` to use shaders
2024-01-16 15:27:31 +09:00
Dean Herbert
cd02d00c03
Fix skin potentially being lost when opening and closing skin editor rapidly
2024-01-16 15:23:07 +09:00
Dean Herbert
0e41d0c9cf
Add failing test coverage of skin getting nuked
...
This doesn't fail in headless unfortunately.
Run a few times manually to confirm.
2024-01-16 15:22:38 +09:00
Justin
e3ab7b1e9f
Update disctop to use turnratio like stable
2024-01-16 17:22:22 +11:00
Dean Herbert
451ba1c861
Ensure PresentGameplay
doesn't get stuck in loop if no beatmaps available
2024-01-16 15:13:08 +09:00
Dean Herbert
34905b2052
Apply NRT to new classes
2024-01-16 14:17:21 +09:00
Dean Herbert
e75f113a06
Update resources
2024-01-16 14:14:04 +09:00
Dean Herbert
1fd85b79db
Merge branch 'master' into argon-health-rework
2024-01-16 13:35:29 +09:00
Dean Herbert
2fdbc501c2
Merge pull request #26499 from OliBomby/slider-performance
...
Fix lag when dragging first slider control point in editor
2024-01-16 13:22:49 +09:00
Dean Herbert
902a5436f3
Fix silver S/SS not being awarded correctly
2024-01-16 13:21:15 +09:00
Dean Herbert
09e5b2fb46
Add test coverage of incorrect default state for Rank
when hidden is applied
2024-01-16 13:21:15 +09:00
Bartłomiej Dach
40f612435d
Merge pull request #26178 from felipemarins/mod-search-text-box-select-all
...
Make mod search box text be selected when a new mod is selected/deselected
2024-01-15 20:08:02 +01:00
Bartłomiej Dach
71d0543213
Merge pull request #26545 from frenzibyte/fix-resume-cursor-transition-abused
...
Fix pop-in scale transition in resume overlay affecting input area
2024-01-15 20:06:16 +01:00
Bartłomiej Dach
744cb8e10c
Merge pull request #26538 from peppy/save-multiplayer-filter-mode
...
Remember multiplayer room filter mode
2024-01-15 19:53:50 +01:00
Bartłomiej Dach
a41108057f
Merge pull request #26287 from wooster0/no-scores-yet
...
Don't leave scores screen empty if no scores are present yet
2024-01-15 19:49:20 +01:00
Bartłomiej Dach
c5a276a7de
Merge pull request #26543 from peppy/offset-toast-limit
...
Only display offset toast when in local gameplay
2024-01-15 19:19:21 +01:00
Bartłomiej Dach
4d39c91972
Merge pull request #26449 from peppy/playlist-room-buttons
...
Allow interacting with playlist item buttons when not selected
2024-01-15 19:12:01 +01:00
Bartłomiej Dach
c46615839d
Only select all text in mod search text box if enter press selected anything
2024-01-15 19:09:50 +01:00
Bartłomiej Dach
c0d4ed4789
Add test coverage of select-all-text-in-search when nothing matched
2024-01-15 19:07:52 +01:00
Andrei Zavatski
8661edfc2f
Organize consts better
2024-01-15 21:07:12 +03:00
Bartłomiej Dach
e8394e6f74
Add test coverage
2024-01-15 19:05:33 +01:00
Bartłomiej Dach
988794cf90
Improve test coverage for empty results
2024-01-15 18:49:41 +01:00
Bartłomiej Dach
9d2c82452c
Revert "simplify the code even more"
...
This reverts commit 9bc9db9138
.
2024-01-15 18:47:49 +01:00
Bartłomiej Dach
8a839f64ed
Add failing test coverage for placeholder shown when it shouldn't be
2024-01-15 18:47:46 +01:00
Andrei Zavatski
c406135487
Merge branch 'master' into argon-health-rework
2024-01-15 20:40:19 +03:00
Bartłomiej Dach
d8d1d9264c
Fix test failure
2024-01-15 18:29:51 +01:00
Bartłomiej Dach
64e94a8b6c
Merge pull request #26544 from peppy/fix-background-dim-failure
...
Fix background dim occasionally getting in a bad state when exiting gameplay
2024-01-15 15:16:37 +01:00
Bartłomiej Dach
91f8144f98
Add test coverage
2024-01-15 14:58:46 +01:00
Dean Herbert
23815b2045
Merge pull request #26547 from bdach/cursor-ripple-pool-wrong
...
Fix cursor ripple pool not loading pooled drawables ahead of time
2024-01-15 22:56:50 +09:00
Bartłomiej Dach
c5351bd14d
Fix back-to-front set
2024-01-15 14:20:07 +01:00
Bartłomiej Dach
664035c796
Merge pull request #26546 from peppy/judgement-pooler
...
Fix judgement pooling not working correctly in osu!taiko and osu!mania
2024-01-15 14:02:52 +01:00
Bartłomiej Dach
d206acac63
Merge pull request #26540 from peppy/fix-double-counters
...
De-dupe displayed hits in judgement counter
2024-01-15 14:02:11 +01:00
Bartłomiej Dach
fe8540b441
Merge pull request #26541 from peppy/fix-collection-dropdown-crash
...
Fix collection dropdown crashing when all collections are deleted at once
2024-01-15 13:28:00 +01:00
Bartłomiej Dach
399fc8195a
Fix cursor ripple pool not loading pooled drawables ahead of time
...
Increment the counter over at
https://github.com/ppy/osu-framework/pull/6136 .
2024-01-15 13:22:22 +01:00