1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 21:27:24 +08:00
osu-lazer/osu.Game/Rulesets/Scoring
ekrctb d0f30b7b42 Delay map completion one frame after the last judgment
This is a workaround of a timing issue.
KeyCounter is disabled while break time (`HasCompleted == true`).
When the last keypress is exactly at the same time the map ends, the last frame was considered in a break time while forward play but considered not in a break time while rewinding. This inconsistency made the last keypress not decremented in the key counter when a replay is rewound.
The situation regularly happens in osu!standard because the map ends right after the player hits the last hit circle. It was caught by `TestSceneGameplayRewinding`.

This commit makes the update of the map completion delayed one frame. The problematic keypress frame is now processed strictly before the map completion, and the map completion status is correctly rewound before the keypress frame.
2021-04-13 14:29:47 +09:00
..
AccumulatingHealthProcessor.cs Drain starting at the first hitobject, not gameplay start 2019-12-27 16:16:30 +09:00
DrainingHealthProcessor.cs Merge branch 'master' into scoring-standardisation 2020-09-29 16:33:38 +09:00
HealthProcessor.cs Remove no longer necessary usage of IsBreakTime 2020-04-05 21:35:09 +03:00
HitEvent.cs Rename to Position 2020-06-22 19:04:51 +09:00
HitResult.cs Remove game-local enum [Order] attribute 2021-01-27 22:29:52 +01:00
HitWindows.cs Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
JudgementProcessor.cs Delay map completion one frame after the last judgment 2021-04-13 14:29:47 +09:00
ScoreProcessor.cs Remove obsolete code 2021-04-09 13:56:58 +09:00