Fix lazy slider calculation inaccuracy

What were we doing... On /b/1221540 stable's repeat points happen 90% through the length of each span! We should use lazer's more accurate calculations.
This commit is contained in:
smoogipoo
2019-01-15 19:07:25 +09:00
parent 88d80016aa
commit 117c514479

View File

@ -101,8 +101,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Preprocessing
float approxFollowCircleRadius = (float)(slider.Radius * 3); float approxFollowCircleRadius = (float)(slider.Radius * 3);
var computeVertex = new Action<double>(t => var computeVertex = new Action<double>(t =>
{ {
double progress = ((int)t - (int)slider.StartTime) / (float)(int)slider.SpanDuration; double progress = (t - slider.StartTime) / slider.SpanDuration;
if (progress % 2 > 1) if (progress % 2 >= 1)
progress = 1 - progress % 1; progress = 1 - progress % 1;
else else
progress = progress % 1; progress = progress % 1;