From 0909377d149a3c30ab65815f3decf169c57160ef Mon Sep 17 00:00:00 2001 From: Jeffrey Han Date: Sat, 8 Aug 2015 19:15:49 -0500 Subject: [PATCH] Follow-up to #115: some fixes and whitespace changes. - Hide the spinner approach circle instead of the spinner circle. - Show the slider ball. Signed-off-by: Jeffrey Han --- src/itdelatrisu/opsu/objects/Circle.java | 4 +-- src/itdelatrisu/opsu/objects/Slider.java | 30 ++++++++++------------- src/itdelatrisu/opsu/objects/Spinner.java | 16 ++++++------ src/itdelatrisu/opsu/states/Game.java | 9 +++---- 4 files changed, 27 insertions(+), 32 deletions(-) diff --git a/src/itdelatrisu/opsu/objects/Circle.java b/src/itdelatrisu/opsu/objects/Circle.java index a4e762c3..9c9320fd 100644 --- a/src/itdelatrisu/opsu/objects/Circle.java +++ b/src/itdelatrisu/opsu/objects/Circle.java @@ -97,13 +97,13 @@ public class Circle implements GameObject { float fadeinScale = (timeDiff - game.getApproachTime() + FADE_IN_TIME) / (float) FADE_IN_TIME; float approachScale = 1 + scale * 3; float alpha = Utils.clamp(1 - fadeinScale, 0, 1); - + if (GameMod.HIDDEN.isActive()) { float fadeOutScale = -(float)(timeDiff-game.getApproachTime())/game.getDecayTime(); float fadeOutAlpha = Utils.clamp(1-fadeOutScale, 0, 1); alpha = Math.min(alpha, fadeOutAlpha); } - + float oldAlpha = Utils.COLOR_WHITE_FADE.a; Utils.COLOR_WHITE_FADE.a = color.a = alpha; diff --git a/src/itdelatrisu/opsu/objects/Slider.java b/src/itdelatrisu/opsu/objects/Slider.java index 56b3bf13..f022fda6 100644 --- a/src/itdelatrisu/opsu/objects/Slider.java +++ b/src/itdelatrisu/opsu/objects/Slider.java @@ -211,8 +211,8 @@ public class Slider implements GameObject { } } if (GameMod.HIDDEN.isActive()) { - float fadeOutScale = -(float)(timeDiff-game.getApproachTime())/game.getDecayTime(); - float fadeOutAlpha = Utils.clamp(1-fadeOutScale, 0, 1); + float fadeOutScale = -(float) (timeDiff - game.getApproachTime()) / game.getDecayTime(); + float fadeOutAlpha = Utils.clamp(1 - fadeOutScale, 0, 1); alpha = Math.min(alpha, fadeOutAlpha); } if (sliderClickedInitial) @@ -248,7 +248,7 @@ public class Slider implements GameObject { if (timeDiff >= 0) { // approach circle - if(!GameMod.HIDDEN.isActive()) + if (!GameMod.HIDDEN.isActive()) GameImage.APPROACHCIRCLE.getImage().getScaledCopy(approachScale).drawCentered(x, y, color); } else { // Since update() might not have run before drawing during a replay, the @@ -258,21 +258,19 @@ public class Slider implements GameObject { float[] c = curve.pointAt(getT(trackPosition, false)); float[] c2 = curve.pointAt(getT(trackPosition, false) + 0.01f); - - if(!GameMod.HIDDEN.isActive()){ - float t = getT(trackPosition, false); -// float dis = hitObject.getPixelLength() * HitObject.getXMultiplier() * (t - (int) t); -// Image sliderBallFrame = sliderBallImages[(int) (dis / (diameter * Math.PI) * 30) % sliderBallImages.length]; - Image sliderBallFrame = sliderBallImages[(int) (t * sliderTime * 60 / 1000) % sliderBallImages.length]; - float angle = (float) (Math.atan2(c2[1] - c[1], c2[0] - c[0]) * 180 / Math.PI); - sliderBallFrame.setRotation(angle); - sliderBallFrame.drawCentered(c[0], c[1]); - } + + float t = getT(trackPosition, false); +// float dis = hitObject.getPixelLength() * HitObject.getXMultiplier() * (t - (int) t); +// Image sliderBallFrame = sliderBallImages[(int) (dis / (diameter * Math.PI) * 30) % sliderBallImages.length]; + Image sliderBallFrame = sliderBallImages[(int) (t * sliderTime * 60 / 1000) % sliderBallImages.length]; + float angle = (float) (Math.atan2(c2[1] - c[1], c2[0] - c[0]) * 180 / Math.PI); + sliderBallFrame.setRotation(angle); + sliderBallFrame.drawCentered(c[0], c[1]); // follow circle - if (followCircleActive){ + if (followCircleActive) { GameImage.SLIDER_FOLLOWCIRCLE.getImage().drawCentered(c[0], c[1]); - + // "flashlight" mod: dim the screen if (GameMod.FLASHLIGHT.isActive()) { float oldAlphaBlack = Utils.COLOR_BLACK_ALPHA.a; @@ -282,8 +280,6 @@ public class Slider implements GameObject { Utils.COLOR_BLACK_ALPHA.a = oldAlphaBlack; } } - - } Utils.COLOR_WHITE_FADE.a = oldAlpha; diff --git a/src/itdelatrisu/opsu/objects/Spinner.java b/src/itdelatrisu/opsu/objects/Spinner.java index 0e1f340c..1677381e 100644 --- a/src/itdelatrisu/opsu/objects/Spinner.java +++ b/src/itdelatrisu/opsu/objects/Spinner.java @@ -210,15 +210,15 @@ public class Spinner implements GameObject { spinnerMetreSub.draw(0, height - spinnerMetreSub.getHeight()); // main spinner elements - float approachScale = 1 - Utils.clamp(((float) timeDiff / (hitObject.getTime() - hitObject.getEndTime())), 0f, 1f); - if(!GameMod.HIDDEN.isActive()){ - GameImage.SPINNER_CIRCLE.getImage().setAlpha(alpha); - GameImage.SPINNER_CIRCLE.getImage().setRotation(drawRotation * 360f); - GameImage.SPINNER_CIRCLE.getImage().drawCentered(width / 2, height / 2); + GameImage.SPINNER_CIRCLE.getImage().setAlpha(alpha); + GameImage.SPINNER_CIRCLE.getImage().setRotation(drawRotation * 360f); + GameImage.SPINNER_CIRCLE.getImage().drawCentered(width / 2, height / 2); + if (!GameMod.HIDDEN.isActive()) { + float approachScale = 1 - Utils.clamp(((float) timeDiff / (hitObject.getTime() - hitObject.getEndTime())), 0f, 1f); + Image approachCircleScaled = GameImage.SPINNER_APPROACHCIRCLE.getImage().getScaledCopy(approachScale); + approachCircleScaled.setAlpha(alpha); + approachCircleScaled.drawCentered(width / 2, height / 2); } - Image approachCircleScaled = GameImage.SPINNER_APPROACHCIRCLE.getImage().getScaledCopy(approachScale); - approachCircleScaled.setAlpha(alpha); - approachCircleScaled.drawCentered(width / 2, height / 2); GameImage.SPINNER_SPIN.getImage().setAlpha(alpha); GameImage.SPINNER_SPIN.getImage().drawCentered(width / 2, height * 3 / 4); diff --git a/src/itdelatrisu/opsu/states/Game.java b/src/itdelatrisu/opsu/states/Game.java index 901c53cc..b0c830d6 100644 --- a/src/itdelatrisu/opsu/states/Game.java +++ b/src/itdelatrisu/opsu/states/Game.java @@ -117,10 +117,10 @@ public class Game extends BasicGameState { /** Hit object approach time, in milliseconds. */ private int approachTime; - /** Decay of elements in hidden mod, in milliseconds. */ + /** Decay time for elements in "Hidden" mod, in milliseconds. */ //TODO: figure out actual formula for decay time private int decayTime = 800; - + /** Time offsets for obtaining each hit result (indexed by HIT_* constants). */ private int[] hitResultOffset; @@ -1519,12 +1519,11 @@ public class Game extends BasicGameState { */ public int getApproachTime() { return approachTime; } - /** - * Returns the object decay time in hidden mod, in milliseconds. + * Returns the object decay time in the "Hidden" mod, in milliseconds. */ public int getDecayTime() { return decayTime; } - + /** * Returns an array of hit result offset times, in milliseconds (indexed by GameData.HIT_* constants). */