Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Use a stable sort for hitobjects #2563
Would change the order of hitobjects which would change the output of mania beatmap conversion.
A stable sort is intended here, see: https://github.com/peppy/osu-stable/blob/master/osu!/GameplayElements/HitObjectManager.cs#L822-L832
Brings osu!lazer and osu!stable diffcalc within 1 d.p. of each other:
Further accuracy isn't really possible due to osu!stable doing an unstable sort with a different algorithm than what .NET Core does, just before difficulty calculation.
On a further look inside mania beatmap conversion, I've come to the conclusion that this ordering doesn't really matter for mania-specific beamtaps since no RNG is done, and non-mania-specific beatmaps generally don't have multiple hitobjects at the same time, so I'm going to hold off on this for now in favour of less memory usage/faster sorting.