Commit a639f7f
fix: instant death triggering on retry in exercise mode
In exercise mode, after retry, judge.update was called with
res.time = exercise_range.start while note pointers were reset to 0,
causing all notes before the range start to be marked as Miss and
immediately triggering instant death.
Fix by adding Judge::advance_to which pre-marks notes before the given
time as Judged and advances the pointers, called after reset in exercise
mode. Also guard the instant death check to State::Playing only.
Closes #755
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 64de0fb commit a639f7f
2 files changed
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
328 | 328 | | |
329 | 329 | | |
330 | 330 | | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
331 | 347 | | |
332 | 348 | | |
333 | 349 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
628 | 631 | | |
629 | 632 | | |
630 | 633 | | |
| |||
1066 | 1069 | | |
1067 | 1070 | | |
1068 | 1071 | | |
| 1072 | + | |
1069 | 1073 | | |
1070 | 1074 | | |
1071 | 1075 | | |
| |||
0 commit comments