Hyperdash generation does not match stable
Type
Game behaviour
Bug description
On this map, 03:07:531 (6) is a hyperdash in stable but not in lazer. There was a similar issue #15305 and the differences were supposedly fixed by #25685, but it looks like some edge cases might have gone unnoticed.
Screenshots or videos
Stable:
Lazer:
Version
2025.1119.0-tachyon
Logs
I decided to try an older build of lazer to see if it's a regression, and turns out it is. Bisecting led to #25725 being the PR that introduced it.
Indeed in the discussions of that PR it is admitted that the PR broke some maps (while fixing others): https://github.com/ppy/osu/pull/25725#issuecomment-1850713483 and there are probably no simple solutions for that
Yes I would not go as far as to call this a "regression" or anything. More like "stable beatmap conversion is extremely sensitive to using .NET Framework which uses x87 for floating point operations instead of SSE/AVX like everything modern does and therefore will break stuff, including hyperdashes, because hyperdashes as utilized by high difficulty catch maps literally depend on an edge condition in floating point arithmetic continuing to work in the same way".
Like taiko, chances are, conversion is never going to be 100% accurate unless we implement x87 in software or something stupid. I can't really particularly bring myself to go and debug and prosecute the details of why this map is failing because I've done this like ten times in the past and it's never an easy fix at this point. The low hanging fruit have been all picked.