From d7d28a559b8656ca0366cf16518c4ed2fa3ef1cd Mon Sep 17 00:00:00 2001 From: yugecin Date: Tue, 13 Dec 2016 15:44:33 +0100 Subject: [PATCH] fix shrinking sliders on sliders with odd amount of repeats when using fallback rendering (close #108) --- src/itdelatrisu/opsu/objects/Slider.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/itdelatrisu/opsu/objects/Slider.java b/src/itdelatrisu/opsu/objects/Slider.java index b61725c1..8bbeadd3 100644 --- a/src/itdelatrisu/opsu/objects/Slider.java +++ b/src/itdelatrisu/opsu/objects/Slider.java @@ -434,17 +434,15 @@ public class Slider extends GameObject { } game.setSlidercurveTo(baseSliderFrom + (int) (curveIntervalTo * curve.getCurvePoints().length)); } else { - if (Options.isFallbackSliders() && curveIntervalFrom > 0 && repeats % 2 == 0) { - curve.draw(curveColor, (int) (curveIntervalFrom * curvelen), (int) (curveIntervalTo * curvelen)); - } else { - if (Options.isShrinkingSliders() && curveIntervalFrom > 0 && !Options.isFallbackSliders()) { - if (repeats % 2 == 0) { - curve.splice((int) ((1d - curveIntervalFrom) * curvelen), curvelen); - curveIntervalFrom = 0d; - } + if (Options.isShrinkingSliders() && curveIntervalFrom > 0 && repeats % 2 == 0) { + if (Options.isFallbackSliders()) { + curveIntervalTo = 1d - curveIntervalFrom; + } else { + curve.splice((int) ((1d - curveIntervalFrom) * curvelen), curvelen); } - curve.draw(curveColor, (int) (curveIntervalFrom * curvelen), (int) (curveIntervalTo * curvelen)); + curveIntervalFrom = 0d; } + curve.draw(curveColor, (int) (curveIntervalFrom * curvelen), (int) (curveIntervalTo * curvelen)); } return curveIntervalTo == 1d; }