1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 01:02:55 +08:00
Commit Graph

10 Commits

Author SHA1 Message Date
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
Salman Ahmed
6f233917b1 Centralize updating HasCompleted bindable logic 2020-04-20 06:40:51 +03:00
Salman Ahmed
fc6c245de5 Replace all judged event logic with HasCompleted bindable 2020-04-19 05:36:04 +03:00
Dean Herbert
401bf1c928 Remove unnecessary checks on NotNull attributes 2020-02-23 14:30:08 +09:00
smoogipoo
977fb3d1bf Make processors and break overlay frame-stable 2019-12-26 14:59:49 +09:00
smoogipoo
70d2d8a2fa Add adjustable target percentage 2019-12-26 14:59:49 +09:00
smoogipoo
985277da79 Add time elapsation to judgement simulation 2019-12-26 14:59:49 +09:00
smoogipoo
90cb9d9162 Simplify scoreprocesor/healthprocessor implementations 2019-12-26 14:59:49 +09:00
smoogipoo
04c3a6f8a4 Move more properties to the base class 2019-12-19 20:18:17 +09:00
smoogipoo
1da8cc8690 Encapsulate common logic of ScoreProcessor 2019-12-19 19:03:27 +09:00