From c0870afb77c173d1f5224376fc676945c1141c2e Mon Sep 17 00:00:00 2001 From: Jeffrey Han Date: Fri, 18 Jul 2014 21:13:17 -0400 Subject: [PATCH] Fixed issue where slider end distance calculations ignored repeats. Signed-off-by: Jeffrey Han --- src/itdelatrisu/opsu/objects/Slider.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/itdelatrisu/opsu/objects/Slider.java b/src/itdelatrisu/opsu/objects/Slider.java index 37408fc3..e08d704e 100644 --- a/src/itdelatrisu/opsu/objects/Slider.java +++ b/src/itdelatrisu/opsu/objects/Slider.java @@ -539,7 +539,8 @@ public class Slider { // check if cursor pressed and within end circle else if (Utils.isGameKeyPressed()) { - double distance = Math.hypot(hitObject.getSliderX()[lastIndex] - mouseX, hitObject.getSliderY()[lastIndex] - mouseY); + float[] c = bezier.pointAt(getT(trackPosition, false)); + double distance = Math.hypot(c[0] - mouseX, c[1] - mouseY); int followCircleRadius = GameImage.SLIDER_FOLLOWCIRCLE.getImage().getWidth() / 2; if (distance < followCircleRadius) ticksHit++; @@ -604,7 +605,7 @@ public class Slider { followCircleActive = false; if (isNewRepeat) - score.sliderTickResult(trackPosition, GameScore.HIT_MISS, 0, 0, hitSound); + score.sliderTickResult(trackPosition, GameScore.HIT_MISS, 0, 0, (byte) -1); if (isNewTick) score.sliderTickResult(trackPosition, GameScore.HIT_MISS, 0, 0, (byte) -1); }