Closed cthbleachbit closed 5 years ago
After analysis, af3bb5a introduced two changes to bar line generation in mania:
DrawableBarLine
out from the ruleset-specific projects into osu.Game
. This meant that the new DrawableBarLine
could no longer inherit from DrawableManiaHitObject
, and unfortunately the base mania hitobject sets appropriate anchoring depending on scrolling direction, leading to the incorrect alignment:
https://github.com/ppy/osu/blob/a39a27d0dfe5a785f8170b5584eab80247f233ff/osu.Game.Rulesets.Mania/Objects/Drawables/DrawableManiaHitObject.cs#L44-L47
I (incorrectly and temporarily) re-applied Anchor.BottomCentre
to the extracted bar line and that fixed alignment.For a visual summary, you can look at this comparison video. Left - commit before regression, upper right - current master
, lower right - master
with my band-aid fix.
I'm pretty sure this will show up on almost any beatmap without fail.
@peppy If you're not going to end up reverting, I can try to take a shot at this - unless you'd rather take this yourself.
Yeah I knew this was the case when I merged the original PR. The density reduction is intended but the anchoring should be fixed.
The rate of bar lines is not a regression – the change was intentionally made to match stable (was not previously matching).
Unsure about any other differences, if they exist.
Describe the bug:
Falling beat hint lines in mania mode are not aligned with actual beat nor the falling notes (with correct timing of course). The beatmap used in the screenshots is 787919, but the issue isn't limited to this one only.
Screenshots or videos showing encountered issue:
Missing beat hint bars and later misaligned ones at commit
af3bb5a2c
Correct display of beat hint bars at commit
fc7e8dcbf1
osu!lazer version:
The issue was discovered on git master, at the time of writing,
9fe7675be81
. I attempted git bisect and I think the issue is introduced with commitaf3bb5a2c
and merge request #6054.Logs: network.log performance.log performance-gamethread.audio.log performance-gamethread.draw.log performance-gamethread.input.log performance-gamethread.update.log runtime.log