osu icon indicating copy to clipboard operation
osu copied to clipboard

Multiple skip sections before beatmap starts

Open brandondong opened this issue 2 years ago • 3 comments

Type

Game behaviour

Bug description

Similar issue to https://github.com/ppy/osu/issues/25263. Can be reproduced for https://osu.ppy.sh/beatmapsets/132824#osu/344643.

On stable, clicking Skip starts the beatmap. On lazer, pressing Skip twice is required if the first Skip is pressed relatively quickly.

Screenshots or videos

No response

Version

2023.1130.0, happened on previous version too

Logs

N/A

brandondong avatar Dec 01 '23 05:12 brandondong

Found the issue behind this, this seems to be an intentional feature for storyboards (the linked map has a long intro before the first hitobject): https://github.com/ppy/osu/blob/668ce937a8d879ebf982ca4bdf1a8ccb1c6cfe36/osu.Game/Screens/Play/MasterGameplayClockContainer.cs#L187-L189 (from 4 years ago, https://github.com/ppy/osu/commit/8369be90f20842c6b9a6aaf4eba5a4671c0c2915#, "Allow skip button to actuate more than once")

Should it match stable instead?

rushiiMachine avatar Dec 26 '23 21:12 rushiiMachine

Should it match stable instead?

well stable source says

        protected bool AllowDoubleSkip
        {
            get
            {
                int leadIn = leadInTime < 10000 ? -leadInTime : 0;
                return !(this is PlayerVs)
                       && AudioEngine.Time < leadIn - (InputManager.ReplayMode ? 50 : 0)
                       && SkipBoundary > 6000;
            }
        }

so i'm not sure i can immediately tell why this isn't "matching stable".

bdach avatar Dec 26 '23 21:12 bdach

From what I can tell, the difference is that stable requires the map to have at least 10s of leadin in order to double skip. (If less than 10s, then it's not possible since why would AudioEngine.Time < -leadInTime?) This map only has less than 2s of leadin. Lazer however seems to completely ignore this and instead only checks if there is any lead-in at all.

Either way double skipping shouldn't even exist with storyboard off, I'd be willing to write a small PR for this.

rushiiMachine avatar Jan 08 '24 00:01 rushiiMachine

i will fix this myself because whatever you PR i will have to cross check against stable anyway so might as well cut out the middleman.

bdach avatar Jan 08 '24 07:01 bdach