1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-15 08:12:56 +08:00

fix the fix harder

This commit is contained in:
Shawdooow 2017-12-23 23:12:10 -05:00
parent d333fc5efe
commit af2a2781e7

View File

@ -117,18 +117,11 @@ namespace osu.Game.Rulesets.Osu.Objects
var minDistanceFromEnd = Velocity * 0.01; var minDistanceFromEnd = Velocity * 0.01;
bool sliderStart = true;
for (var repeat = 0; repeat < RepeatCount; repeat++) for (var repeat = 0; repeat < RepeatCount; repeat++)
{ {
var repeatStartTime = StartTime + repeat * repeatDuration; var repeatStartTime = StartTime + repeat * repeatDuration;
var reversed = repeat % 2 == 1; var reversed = repeat % 2 == 1;
if (!sliderStart)
sliderStart = true;
else
sliderStart = false;
for (var d = tickDistance; d <= length; d += tickDistance) for (var d = tickDistance; d <= length; d += tickDistance)
{ {
if (d > length - minDistanceFromEnd) if (d > length - minDistanceFromEnd)
@ -137,9 +130,6 @@ namespace osu.Game.Rulesets.Osu.Objects
var distanceProgress = d / length; var distanceProgress = d / length;
var timeProgress = reversed ? 1 - distanceProgress : distanceProgress; var timeProgress = reversed ? 1 - distanceProgress : distanceProgress;
if (sliderStart)
distanceProgress = 0;
AddNested(new SliderTick AddNested(new SliderTick
{ {
RepeatIndex = repeat, RepeatIndex = repeat,
@ -165,13 +155,20 @@ namespace osu.Game.Rulesets.Osu.Objects
var repeatPointDistance = Math.Min(Distance, length); var repeatPointDistance = Math.Min(Distance, length);
var repeatDuration = length / Velocity; var repeatDuration = length / Velocity;
bool sliderStart = true;
for (var repeat = 1; repeat < RepeatCount; repeat++) for (var repeat = 1; repeat < RepeatCount; repeat++)
{ {
sliderStart = !sliderStart;
for (var d = repeatPointDistance; d <= length; d += repeatPointDistance) for (var d = repeatPointDistance; d <= length; d += repeatPointDistance)
{ {
var repeatStartTime = StartTime + repeat * repeatDuration; var repeatStartTime = StartTime + repeat * repeatDuration;
var distanceProgress = d / length; var distanceProgress = d / length;
if (sliderStart)
distanceProgress = 0;
AddNested(new RepeatPoint AddNested(new RepeatPoint
{ {
RepeatIndex = repeat, RepeatIndex = repeat,