ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.24k stars 2.27k forks source link

Break not showing in lazer #28717

Closed KnowScratcher closed 3 months ago

KnowScratcher commented 3 months ago

Type

Game behaviour

Bug description

The game doesn't show the break countdown in lazer. There are three breaks in this beatmap, and the first and second break show but the last doesn't.

Screenshots or videos

image

image

Version

2024.625.2

Logs

compressed-logs.zip

frenzibyte commented 3 months ago

@KnowScratcher Please link the beatmap.

KnowScratcher commented 3 months ago

I haven't upload it yet, but here's the osz file https://drive.google.com/file/d/1_eWI7jzjszp7ErewwOGM_-qSz31DbAM5/view?usp=sharing The issue occurred in the last break of the "easy" difficulty

frenzibyte commented 3 months ago

Okay I can see what's going on. This can be reproduced by creating a beatmap with two auto-generated break periods, modify the duration of the second break period, then trigger the auto-generation logic again by moving the time of any object.

BreakOverlay expects break periods to be in chronological order (as it uses BeginAbsoluteSequence to populate the show/hide transforms of the break overlay), but the auto-generation logic outputs an unordered break periods as it keeps ManualBreakPeriods and adds the auto-generated break periods on top of it regardless of the interval of the manual break periods.