Moved all Utils.COLOR_* into new class opsu.ui.Colors.*.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
This commit is contained in:
parent
5f5c0cdbc4
commit
91f07855a7
|
@ -28,6 +28,7 @@ import itdelatrisu.opsu.downloads.Updater;
|
|||
import itdelatrisu.opsu.objects.curves.Curve;
|
||||
import itdelatrisu.opsu.replay.Replay;
|
||||
import itdelatrisu.opsu.replay.ReplayFrame;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
import itdelatrisu.opsu.ui.animations.AnimationEquation;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -620,7 +621,7 @@ public class GameData {
|
|||
);
|
||||
} else {
|
||||
// lead-in time (yellow)
|
||||
g.setColor(Utils.COLOR_YELLOW_ALPHA);
|
||||
g.setColor(Colors.YELLOW_ALPHA);
|
||||
g.fillArc(circleX, symbolHeight, circleDiameter, circleDiameter,
|
||||
-90 + (int) (360f * trackPosition / firstObjectTime), -90
|
||||
);
|
||||
|
@ -657,27 +658,27 @@ public class GameData {
|
|||
float hitErrorY = height / uiScale - margin - 10;
|
||||
float barY = (hitErrorY - 3) * uiScale, barHeight = 6 * uiScale;
|
||||
float tickY = (hitErrorY - 10) * uiScale, tickHeight = 20 * uiScale;
|
||||
float oldAlphaBlack = Utils.COLOR_BLACK_ALPHA.a;
|
||||
Utils.COLOR_BLACK_ALPHA.a = hitErrorAlpha;
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
float oldAlphaBlack = Colors.BLACK_ALPHA.a;
|
||||
Colors.BLACK_ALPHA.a = hitErrorAlpha;
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect((hitErrorX - 3 - hitResultOffset[HIT_50]) * uiScale, tickY,
|
||||
(hitResultOffset[HIT_50] * 2) * uiScale, tickHeight);
|
||||
Utils.COLOR_BLACK_ALPHA.a = oldAlphaBlack;
|
||||
Utils.COLOR_LIGHT_ORANGE.a = hitErrorAlpha;
|
||||
g.setColor(Utils.COLOR_LIGHT_ORANGE);
|
||||
Colors.BLACK_ALPHA.a = oldAlphaBlack;
|
||||
Colors.LIGHT_ORANGE.a = hitErrorAlpha;
|
||||
g.setColor(Colors.LIGHT_ORANGE);
|
||||
g.fillRect((hitErrorX - 3 - hitResultOffset[HIT_50]) * uiScale, barY,
|
||||
(hitResultOffset[HIT_50] * 2) * uiScale, barHeight);
|
||||
Utils.COLOR_LIGHT_ORANGE.a = 1f;
|
||||
Utils.COLOR_LIGHT_GREEN.a = hitErrorAlpha;
|
||||
g.setColor(Utils.COLOR_LIGHT_GREEN);
|
||||
Colors.LIGHT_ORANGE.a = 1f;
|
||||
Colors.LIGHT_GREEN.a = hitErrorAlpha;
|
||||
g.setColor(Colors.LIGHT_GREEN);
|
||||
g.fillRect((hitErrorX - 3 - hitResultOffset[HIT_100]) * uiScale, barY,
|
||||
(hitResultOffset[HIT_100] * 2) * uiScale, barHeight);
|
||||
Utils.COLOR_LIGHT_GREEN.a = 1f;
|
||||
Utils.COLOR_LIGHT_BLUE.a = hitErrorAlpha;
|
||||
g.setColor(Utils.COLOR_LIGHT_BLUE);
|
||||
Colors.LIGHT_GREEN.a = 1f;
|
||||
Colors.LIGHT_BLUE.a = hitErrorAlpha;
|
||||
g.setColor(Colors.LIGHT_BLUE);
|
||||
g.fillRect((hitErrorX - 3 - hitResultOffset[HIT_300]) * uiScale, barY,
|
||||
(hitResultOffset[HIT_300] * 2) * uiScale, barHeight);
|
||||
Utils.COLOR_LIGHT_BLUE.a = 1f;
|
||||
Colors.LIGHT_BLUE.a = 1f;
|
||||
white.a = hitErrorAlpha;
|
||||
g.setColor(white);
|
||||
g.fillRect((hitErrorX - 1.5f) * uiScale, tickY, 3 * uiScale, tickHeight);
|
||||
|
@ -836,7 +837,7 @@ public class GameData {
|
|||
|
||||
// header
|
||||
Image rankingTitle = GameImage.RANKING_TITLE.getImage();
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, 100 * uiScale);
|
||||
rankingTitle.draw((width * 0.97f) - rankingTitle.getWidth(), 0);
|
||||
float marginX = width * 0.01f, marginY = height * 0.002f;
|
||||
|
@ -898,12 +899,12 @@ public class GameData {
|
|||
|
||||
// slider curve
|
||||
if (hitResult.curve != null) {
|
||||
float oldWhiteAlpha = Utils.COLOR_WHITE_FADE.a;
|
||||
float oldWhiteAlpha = Colors.WHITE_FADE.a;
|
||||
float oldColorAlpha = hitResult.color.a;
|
||||
Utils.COLOR_WHITE_FADE.a = alpha;
|
||||
Colors.WHITE_FADE.a = alpha;
|
||||
hitResult.color.a = alpha;
|
||||
hitResult.curve.draw(hitResult.color);
|
||||
Utils.COLOR_WHITE_FADE.a = oldWhiteAlpha;
|
||||
Colors.WHITE_FADE.a = oldWhiteAlpha;
|
||||
hitResult.color.a = oldColorAlpha;
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,6 @@ import org.lwjgl.BufferUtils;
|
|||
import org.lwjgl.opengl.Display;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.newdawn.slick.Animation;
|
||||
import org.newdawn.slick.Color;
|
||||
import org.newdawn.slick.GameContainer;
|
||||
import org.newdawn.slick.Input;
|
||||
import org.newdawn.slick.SlickException;
|
||||
|
@ -77,26 +76,6 @@ import com.sun.jna.platform.FileUtils;
|
|||
* Contains miscellaneous utilities.
|
||||
*/
|
||||
public class Utils {
|
||||
/** Game colors. */
|
||||
public static final Color
|
||||
COLOR_BLACK_ALPHA = new Color(0, 0, 0, 0.5f),
|
||||
COLOR_WHITE_ALPHA = new Color(255, 255, 255, 0.5f),
|
||||
COLOR_BLUE_DIVIDER = new Color(49, 94, 237),
|
||||
COLOR_BLUE_BACKGROUND = new Color(74, 130, 255),
|
||||
COLOR_BLUE_BUTTON = new Color(40, 129, 237),
|
||||
COLOR_ORANGE_BUTTON = new Color(200, 90, 3),
|
||||
COLOR_YELLOW_ALPHA = new Color(255, 255, 0, 0.4f),
|
||||
COLOR_WHITE_FADE = new Color(255, 255, 255, 1f),
|
||||
COLOR_RED_HOVER = new Color(255, 112, 112),
|
||||
COLOR_GREEN = new Color(137, 201, 79),
|
||||
COLOR_LIGHT_ORANGE = new Color(255,192,128),
|
||||
COLOR_LIGHT_GREEN = new Color(128,255,128),
|
||||
COLOR_LIGHT_BLUE = new Color(128,128,255),
|
||||
COLOR_GREEN_SEARCH = new Color(173, 255, 47),
|
||||
COLOR_DARK_GRAY = new Color(0.3f, 0.3f, 0.3f, 1f),
|
||||
COLOR_RED_HIGHLIGHT = new Color(246, 154, 161),
|
||||
COLOR_BLUE_HIGHLIGHT = new Color(173, 216, 230);
|
||||
|
||||
/** Game fonts. */
|
||||
public static UnicodeFont
|
||||
FONT_DEFAULT, FONT_BOLD,
|
||||
|
|
|
@ -22,6 +22,7 @@ import itdelatrisu.opsu.GameData.Grade;
|
|||
import itdelatrisu.opsu.GameImage;
|
||||
import itdelatrisu.opsu.Options;
|
||||
import itdelatrisu.opsu.Utils;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
|
||||
import org.newdawn.slick.Color;
|
||||
import org.newdawn.slick.Image;
|
||||
|
@ -78,10 +79,10 @@ public class BeatmapSetNode {
|
|||
bgColor = Color.white;
|
||||
textColor = Options.getSkin().getSongSelectActiveTextColor();
|
||||
} else
|
||||
bgColor = Utils.COLOR_BLUE_BUTTON;
|
||||
bgColor = Colors.BLUE_BUTTON;
|
||||
beatmap = beatmapSet.get(beatmapIndex);
|
||||
} else {
|
||||
bgColor = Utils.COLOR_ORANGE_BUTTON;
|
||||
bgColor = Colors.ORANGE_BUTTON;
|
||||
beatmap = beatmapSet.get(0);
|
||||
}
|
||||
bg.draw(x, y, bgColor);
|
||||
|
|
|
@ -26,6 +26,7 @@ import itdelatrisu.opsu.beatmap.BeatmapSetList;
|
|||
import itdelatrisu.opsu.downloads.Download.DownloadListener;
|
||||
import itdelatrisu.opsu.downloads.Download.Status;
|
||||
import itdelatrisu.opsu.downloads.servers.DownloadServer;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
import itdelatrisu.opsu.ui.UI;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -329,7 +330,7 @@ public class DownloadNode {
|
|||
|
||||
// map is already loaded
|
||||
if (BeatmapSetList.get().containsBeatmapSetID(beatmapSetID)) {
|
||||
g.setColor(Utils.COLOR_BLUE_BUTTON);
|
||||
g.setColor(Colors.BLUE_BUTTON);
|
||||
g.fillRect(buttonBaseX, y, buttonWidth, buttonHeight);
|
||||
}
|
||||
|
||||
|
@ -337,7 +338,7 @@ public class DownloadNode {
|
|||
if (dl != null) {
|
||||
float progress = dl.getProgress();
|
||||
if (progress > 0f) {
|
||||
g.setColor(Utils.COLOR_GREEN);
|
||||
g.setColor(Colors.GREEN);
|
||||
g.fillRect(buttonBaseX, y, buttonWidth * progress / 100f, buttonHeight);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import itdelatrisu.opsu.Options;
|
|||
import itdelatrisu.opsu.Utils;
|
||||
import itdelatrisu.opsu.beatmap.HitObject;
|
||||
import itdelatrisu.opsu.states.Game;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
|
||||
import org.newdawn.slick.Color;
|
||||
import org.newdawn.slick.GameContainer;
|
||||
|
@ -104,21 +105,21 @@ public class Circle implements GameObject {
|
|||
alpha = Math.min(alpha, fadeOutAlpha);
|
||||
}
|
||||
|
||||
float oldAlpha = Utils.COLOR_WHITE_FADE.a;
|
||||
Utils.COLOR_WHITE_FADE.a = color.a = alpha;
|
||||
float oldAlpha = Colors.WHITE_FADE.a;
|
||||
Colors.WHITE_FADE.a = color.a = alpha;
|
||||
|
||||
if (timeDiff >= 0 && !GameMod.HIDDEN.isActive())
|
||||
GameImage.APPROACHCIRCLE.getImage().getScaledCopy(approachScale).drawCentered(x, y, color);
|
||||
GameImage.HITCIRCLE.getImage().drawCentered(x, y, color);
|
||||
boolean overlayAboveNumber = Options.getSkin().isHitCircleOverlayAboveNumber();
|
||||
if (!overlayAboveNumber)
|
||||
GameImage.HITCIRCLE_OVERLAY.getImage().drawCentered(x, y, Utils.COLOR_WHITE_FADE);
|
||||
GameImage.HITCIRCLE_OVERLAY.getImage().drawCentered(x, y, Colors.WHITE_FADE);
|
||||
data.drawSymbolNumber(hitObject.getComboNumber(), x, y,
|
||||
GameImage.HITCIRCLE.getImage().getWidth() * 0.40f / data.getDefaultSymbolImage(0).getHeight(), alpha);
|
||||
if (overlayAboveNumber)
|
||||
GameImage.HITCIRCLE_OVERLAY.getImage().drawCentered(x, y, Utils.COLOR_WHITE_FADE);
|
||||
GameImage.HITCIRCLE_OVERLAY.getImage().drawCentered(x, y, Colors.WHITE_FADE);
|
||||
|
||||
Utils.COLOR_WHITE_FADE.a = oldAlpha;
|
||||
Colors.WHITE_FADE.a = oldAlpha;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -31,6 +31,7 @@ import itdelatrisu.opsu.objects.curves.CircumscribedCircle;
|
|||
import itdelatrisu.opsu.objects.curves.Curve;
|
||||
import itdelatrisu.opsu.objects.curves.LinearBezier;
|
||||
import itdelatrisu.opsu.states.Game;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
|
||||
import org.newdawn.slick.Color;
|
||||
import org.newdawn.slick.GameContainer;
|
||||
|
@ -184,8 +185,8 @@ public class Slider implements GameObject {
|
|||
float alpha = Utils.clamp(1 - fadeinScale, 0, 1);
|
||||
boolean overlayAboveNumber = Options.getSkin().isHitCircleOverlayAboveNumber();
|
||||
|
||||
float oldAlpha = Utils.COLOR_WHITE_FADE.a;
|
||||
Utils.COLOR_WHITE_FADE.a = color.a = alpha;
|
||||
float oldAlpha = Colors.WHITE_FADE.a;
|
||||
Colors.WHITE_FADE.a = color.a = alpha;
|
||||
Image hitCircleOverlay = GameImage.HITCIRCLE_OVERLAY.getImage();
|
||||
Image hitCircle = GameImage.HITCIRCLE.getImage();
|
||||
float[] endPos = curve.pointAt(1);
|
||||
|
@ -195,19 +196,19 @@ public class Slider implements GameObject {
|
|||
|
||||
// end circle
|
||||
hitCircle.drawCentered(endPos[0], endPos[1], color);
|
||||
hitCircleOverlay.drawCentered(endPos[0], endPos[1], Utils.COLOR_WHITE_FADE);
|
||||
hitCircleOverlay.drawCentered(endPos[0], endPos[1], Colors.WHITE_FADE);
|
||||
|
||||
// start circle
|
||||
hitCircle.drawCentered(x, y, color);
|
||||
if (!overlayAboveNumber)
|
||||
hitCircleOverlay.drawCentered(x, y, Utils.COLOR_WHITE_FADE);
|
||||
hitCircleOverlay.drawCentered(x, y, Colors.WHITE_FADE);
|
||||
|
||||
// ticks
|
||||
if (ticksT != null) {
|
||||
Image tick = GameImage.SLIDER_TICK.getImage();
|
||||
for (int i = 0; i < ticksT.length; i++) {
|
||||
float[] c = curve.pointAt(ticksT[i]);
|
||||
tick.drawCentered(c[0], c[1], Utils.COLOR_WHITE_FADE);
|
||||
tick.drawCentered(c[0], c[1], Colors.WHITE_FADE);
|
||||
}
|
||||
}
|
||||
if (GameMod.HIDDEN.isActive()) {
|
||||
|
@ -221,7 +222,7 @@ public class Slider implements GameObject {
|
|||
data.drawSymbolNumber(hitObject.getComboNumber(), x, y,
|
||||
hitCircle.getWidth() * 0.40f / data.getDefaultSymbolImage(0).getHeight(), alpha);
|
||||
if (overlayAboveNumber)
|
||||
hitCircleOverlay.drawCentered(x, y, Utils.COLOR_WHITE_FADE);
|
||||
hitCircleOverlay.drawCentered(x, y, Colors.WHITE_FADE);
|
||||
|
||||
// repeats
|
||||
for (int tcurRepeat = currentRepeats; tcurRepeat <= currentRepeats + 1; tcurRepeat++) {
|
||||
|
@ -273,16 +274,16 @@ public class Slider implements GameObject {
|
|||
|
||||
// "flashlight" mod: dim the screen
|
||||
if (GameMod.FLASHLIGHT.isActive()) {
|
||||
float oldAlphaBlack = Utils.COLOR_BLACK_ALPHA.a;
|
||||
Utils.COLOR_BLACK_ALPHA.a = 0.75f;
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
float oldAlphaBlack = Colors.BLACK_ALPHA.a;
|
||||
Colors.BLACK_ALPHA.a = 0.75f;
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, containerWidth, containerHeight);
|
||||
Utils.COLOR_BLACK_ALPHA.a = oldAlphaBlack;
|
||||
Colors.BLACK_ALPHA.a = oldAlphaBlack;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Utils.COLOR_WHITE_FADE.a = oldAlpha;
|
||||
Colors.WHITE_FADE.a = oldAlpha;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -28,6 +28,7 @@ import itdelatrisu.opsu.audio.SoundController;
|
|||
import itdelatrisu.opsu.audio.SoundEffect;
|
||||
import itdelatrisu.opsu.beatmap.HitObject;
|
||||
import itdelatrisu.opsu.states.Game;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
|
||||
import org.newdawn.slick.Color;
|
||||
import org.newdawn.slick.GameContainer;
|
||||
|
@ -183,12 +184,12 @@ public class Spinner implements GameObject {
|
|||
|
||||
// darken screen
|
||||
if (Options.getSkin().isSpinnerFadePlayfield()) {
|
||||
float oldAlpha = Utils.COLOR_BLACK_ALPHA.a;
|
||||
float oldAlpha = Colors.BLACK_ALPHA.a;
|
||||
if (timeDiff > 0)
|
||||
Utils.COLOR_BLACK_ALPHA.a *= alpha;
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
Colors.BLACK_ALPHA.a *= alpha;
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, height);
|
||||
Utils.COLOR_BLACK_ALPHA.a = oldAlpha;
|
||||
Colors.BLACK_ALPHA.a = oldAlpha;
|
||||
}
|
||||
|
||||
// rpm
|
||||
|
|
|
@ -20,10 +20,10 @@ package itdelatrisu.opsu.objects.curves;
|
|||
|
||||
import itdelatrisu.opsu.GameImage;
|
||||
import itdelatrisu.opsu.Options;
|
||||
import itdelatrisu.opsu.Utils;
|
||||
import itdelatrisu.opsu.beatmap.HitObject;
|
||||
import itdelatrisu.opsu.render.CurveRenderState;
|
||||
import itdelatrisu.opsu.skins.Skin;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
|
||||
import org.lwjgl.opengl.ContextCapabilities;
|
||||
import org.lwjgl.opengl.GLContext;
|
||||
|
@ -116,7 +116,7 @@ public abstract class Curve {
|
|||
Image hitCircle = GameImage.HITCIRCLE.getImage();
|
||||
Image hitCircleOverlay = GameImage.HITCIRCLE_OVERLAY.getImage();
|
||||
for (int i = 0; i < curve.length; i++)
|
||||
hitCircleOverlay.drawCentered(curve[i].x, curve[i].y, Utils.COLOR_WHITE_FADE);
|
||||
hitCircleOverlay.drawCentered(curve[i].x, curve[i].y, Colors.WHITE_FADE);
|
||||
for (int i = 0; i < curve.length; i++)
|
||||
hitCircle.drawCentered(curve[i].x, curve[i].y, color);
|
||||
}
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
package itdelatrisu.opsu.render;
|
||||
|
||||
import itdelatrisu.opsu.GameImage;
|
||||
import itdelatrisu.opsu.Utils;
|
||||
import itdelatrisu.opsu.beatmap.HitObject;
|
||||
import itdelatrisu.opsu.objects.curves.Vec2f;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.FloatBuffer;
|
||||
|
@ -127,14 +127,14 @@ public class CurveRenderState {
|
|||
GL11.glViewport(0, 0, fbo.width, fbo.height);
|
||||
GL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
|
||||
Utils.COLOR_WHITE_FADE.a = 1.0f;
|
||||
Colors.WHITE_FADE.a = 1.0f;
|
||||
this.draw_curve(color, borderColor, curve);
|
||||
color.a = 1f;
|
||||
|
||||
GL11.glBindTexture(GL11.GL_TEXTURE_2D, oldTex);
|
||||
EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, oldFb);
|
||||
GL11.glViewport(oldViewport.get(0), oldViewport.get(1), oldViewport.get(2), oldViewport.get(3));
|
||||
Utils.COLOR_WHITE_FADE.a = alpha;
|
||||
Colors.WHITE_FADE.a = alpha;
|
||||
}
|
||||
|
||||
// draw a fullscreen quad with the texture that contains the curve
|
||||
|
|
|
@ -37,6 +37,7 @@ import itdelatrisu.opsu.downloads.servers.DownloadServer;
|
|||
import itdelatrisu.opsu.downloads.servers.HexideServer;
|
||||
import itdelatrisu.opsu.downloads.servers.MnetworkServer;
|
||||
import itdelatrisu.opsu.downloads.servers.YaSOnlineServer;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
import itdelatrisu.opsu.ui.MenuButton;
|
||||
import itdelatrisu.opsu.ui.UI;
|
||||
|
||||
|
@ -424,7 +425,7 @@ public class DownloadsMenu extends BasicGameState {
|
|||
// importing beatmaps
|
||||
if (importThread != null) {
|
||||
// darken the screen
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, height);
|
||||
|
||||
UI.drawLoadingProgress(g);
|
||||
|
|
|
@ -46,6 +46,7 @@ import itdelatrisu.opsu.render.FrameBufferCache;
|
|||
import itdelatrisu.opsu.replay.PlaybackSpeed;
|
||||
import itdelatrisu.opsu.replay.Replay;
|
||||
import itdelatrisu.opsu.replay.ReplayFrame;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
import itdelatrisu.opsu.ui.MenuButton;
|
||||
import itdelatrisu.opsu.ui.UI;
|
||||
import itdelatrisu.opsu.ui.animations.AnimationEquation;
|
||||
|
@ -475,15 +476,15 @@ public class Game extends BasicGameState {
|
|||
GameImage.SCOREBAR_BG.getImage().getHeight(),
|
||||
GameImage.SCOREBAR_KI.getImage().getHeight()
|
||||
);
|
||||
float oldAlpha = Utils.COLOR_WHITE_FADE.a;
|
||||
float oldAlpha = Colors.WHITE_FADE.a;
|
||||
if (timeDiff < -500)
|
||||
Utils.COLOR_WHITE_FADE.a = (1000 + timeDiff) / 500f;
|
||||
Colors.WHITE_FADE.a = (1000 + timeDiff) / 500f;
|
||||
Utils.FONT_MEDIUM.drawString(
|
||||
2 + (width / 100), retryHeight,
|
||||
String.format("%d retries and counting...", retries),
|
||||
Utils.COLOR_WHITE_FADE
|
||||
Colors.WHITE_FADE
|
||||
);
|
||||
Utils.COLOR_WHITE_FADE.a = oldAlpha;
|
||||
Colors.WHITE_FADE.a = oldAlpha;
|
||||
}
|
||||
|
||||
if (isLeadIn())
|
||||
|
@ -560,7 +561,7 @@ public class Game extends BasicGameState {
|
|||
// returning from pause screen
|
||||
if (pauseTime > -1 && pausedMouseX > -1 && pausedMouseY > -1) {
|
||||
// darken the screen
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, height);
|
||||
|
||||
// draw glowing hit select circle and pulse effect
|
||||
|
|
|
@ -31,6 +31,7 @@ import itdelatrisu.opsu.beatmap.BeatmapSetList;
|
|||
import itdelatrisu.opsu.beatmap.BeatmapSetNode;
|
||||
import itdelatrisu.opsu.downloads.Updater;
|
||||
import itdelatrisu.opsu.states.ButtonMenu.MenuState;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
import itdelatrisu.opsu.ui.MenuButton;
|
||||
import itdelatrisu.opsu.ui.MenuButton.Expand;
|
||||
import itdelatrisu.opsu.ui.UI;
|
||||
|
@ -246,12 +247,12 @@ public class MainMenu extends BasicGameState {
|
|||
}
|
||||
|
||||
// top/bottom horizontal bars
|
||||
float oldAlpha = Utils.COLOR_BLACK_ALPHA.a;
|
||||
Utils.COLOR_BLACK_ALPHA.a = 0.2f;
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
float oldAlpha = Colors.BLACK_ALPHA.a;
|
||||
Colors.BLACK_ALPHA.a = 0.2f;
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, height / 9f);
|
||||
g.fillRect(0, height * 8 / 9f, width, height / 9f);
|
||||
Utils.COLOR_BLACK_ALPHA.a = oldAlpha;
|
||||
Colors.BLACK_ALPHA.a = oldAlpha;
|
||||
|
||||
// draw downloads button
|
||||
downloadsButton.draw();
|
||||
|
|
|
@ -26,6 +26,7 @@ import itdelatrisu.opsu.Utils;
|
|||
import itdelatrisu.opsu.audio.MusicController;
|
||||
import itdelatrisu.opsu.audio.SoundController;
|
||||
import itdelatrisu.opsu.audio.SoundEffect;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
import itdelatrisu.opsu.ui.MenuButton;
|
||||
import itdelatrisu.opsu.ui.UI;
|
||||
|
||||
|
@ -248,7 +249,7 @@ public class OptionsMenu extends BasicGameState {
|
|||
|
||||
// key entry state
|
||||
if (keyEntryLeft || keyEntryRight) {
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, height);
|
||||
g.setColor(Color.white);
|
||||
String prompt = (keyEntryLeft) ?
|
||||
|
@ -420,7 +421,7 @@ public class OptionsMenu extends BasicGameState {
|
|||
Utils.FONT_LARGE.drawString(width / 30, y, option.getName(), color);
|
||||
Utils.FONT_LARGE.drawString(width / 2, y, option.getValueString(), color);
|
||||
Utils.FONT_SMALL.drawString(width / 30, y + textHeight, option.getDescription(), color);
|
||||
g.setColor(Utils.COLOR_WHITE_ALPHA);
|
||||
g.setColor(Colors.WHITE_ALPHA);
|
||||
g.drawLine(0, y + textHeight, width, y + textHeight);
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ import itdelatrisu.opsu.beatmap.BeatmapSortOrder;
|
|||
import itdelatrisu.opsu.db.BeatmapDB;
|
||||
import itdelatrisu.opsu.db.ScoreDB;
|
||||
import itdelatrisu.opsu.states.ButtonMenu.MenuState;
|
||||
import itdelatrisu.opsu.ui.Colors;
|
||||
import itdelatrisu.opsu.ui.MenuButton;
|
||||
import itdelatrisu.opsu.ui.UI;
|
||||
import itdelatrisu.opsu.ui.animations.AnimatedValue;
|
||||
|
@ -317,10 +318,10 @@ public class SongMenu extends BasicGameState {
|
|||
g.clearClip();
|
||||
|
||||
// top/bottom bars
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, headerY);
|
||||
g.fillRect(0, footerY, width, height - footerY);
|
||||
g.setColor(Utils.COLOR_BLUE_DIVIDER);
|
||||
g.setColor(Colors.BLUE_DIVIDER);
|
||||
g.setLineWidth(DIVIDER_LINE_WIDTH);
|
||||
g.drawLine(0, headerY, width, headerY);
|
||||
g.drawLine(0, footerY, width, footerY);
|
||||
|
@ -353,14 +354,14 @@ public class SongMenu extends BasicGameState {
|
|||
headerTextY += Utils.FONT_DEFAULT.getLineHeight() - 2;
|
||||
float speedModifier = GameMod.getSpeedMultiplier();
|
||||
Color color2 = (speedModifier == 1f) ? Color.white :
|
||||
(speedModifier > 1f) ? Utils.COLOR_RED_HIGHLIGHT : Utils.COLOR_BLUE_HIGHLIGHT;
|
||||
(speedModifier > 1f) ? Colors.RED_HIGHLIGHT : Colors.BLUE_HIGHLIGHT;
|
||||
Utils.FONT_BOLD.drawString(marginX, headerTextY, songInfo[2], color2);
|
||||
headerTextY += Utils.FONT_BOLD.getLineHeight() - 4;
|
||||
Utils.FONT_DEFAULT.drawString(marginX, headerTextY, songInfo[3], Color.white);
|
||||
headerTextY += Utils.FONT_DEFAULT.getLineHeight() - 4;
|
||||
float multiplier = GameMod.getDifficultyMultiplier();
|
||||
Color color4 = (multiplier == 1f) ? Color.white :
|
||||
(multiplier > 1f) ? Utils.COLOR_RED_HIGHLIGHT : Utils.COLOR_BLUE_HIGHLIGHT;
|
||||
(multiplier > 1f) ? Colors.RED_HIGHLIGHT : Colors.BLUE_HIGHLIGHT;
|
||||
Utils.FONT_SMALL.drawString(marginX, headerTextY, songInfo[4], color4);
|
||||
}
|
||||
|
||||
|
@ -413,18 +414,18 @@ public class SongMenu extends BasicGameState {
|
|||
float searchExtraHeight = Utils.FONT_DEFAULT.getLineHeight() * 0.7f;
|
||||
float searchProgress = (searchTransitionTimer < SEARCH_TRANSITION_TIME) ?
|
||||
((float) searchTransitionTimer / SEARCH_TRANSITION_TIME) : 1f;
|
||||
float oldAlpha = Utils.COLOR_BLACK_ALPHA.a;
|
||||
float oldAlpha = Colors.BLACK_ALPHA.a;
|
||||
if (searchEmpty) {
|
||||
searchRectHeight += (1f - searchProgress) * searchExtraHeight;
|
||||
Utils.COLOR_BLACK_ALPHA.a = 0.5f - searchProgress * 0.3f;
|
||||
Colors.BLACK_ALPHA.a = 0.5f - searchProgress * 0.3f;
|
||||
} else {
|
||||
searchRectHeight += searchProgress * searchExtraHeight;
|
||||
Utils.COLOR_BLACK_ALPHA.a = 0.2f + searchProgress * 0.3f;
|
||||
Colors.BLACK_ALPHA.a = 0.2f + searchProgress * 0.3f;
|
||||
}
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(searchBaseX, headerY + DIVIDER_LINE_WIDTH / 2, width - searchBaseX, searchRectHeight);
|
||||
Utils.COLOR_BLACK_ALPHA.a = oldAlpha;
|
||||
Utils.FONT_BOLD.drawString(searchTextX, searchY, "Search:", Utils.COLOR_GREEN_SEARCH);
|
||||
Colors.BLACK_ALPHA.a = oldAlpha;
|
||||
Utils.FONT_BOLD.drawString(searchTextX, searchY, "Search:", Colors.GREEN_SEARCH);
|
||||
if (searchEmpty)
|
||||
Utils.FONT_BOLD.drawString(searchX, searchY, "Type to search!", Color.white);
|
||||
else {
|
||||
|
@ -449,14 +450,14 @@ public class SongMenu extends BasicGameState {
|
|||
startIndex += startNode.beatmapIndex;
|
||||
UI.drawScrollbar(g, startIndex, totalNodes, MAX_SONG_BUTTONS,
|
||||
width, headerY + DIVIDER_LINE_WIDTH / 2, 0, buttonOffset - DIVIDER_LINE_WIDTH * 1.5f, buttonOffset,
|
||||
Utils.COLOR_BLACK_ALPHA, Color.white, true);
|
||||
Colors.BLACK_ALPHA, Color.white, true);
|
||||
}
|
||||
}
|
||||
|
||||
// reloading beatmaps
|
||||
if (reloadThread != null) {
|
||||
// darken the screen
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, 0, width, height);
|
||||
|
||||
UI.drawLoadingProgress(g);
|
||||
|
|
49
src/itdelatrisu/opsu/ui/Colors.java
Normal file
49
src/itdelatrisu/opsu/ui/Colors.java
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* opsu! - an open-source osu! client
|
||||
* Copyright (C) 2014, 2015 Jeffrey Han
|
||||
*
|
||||
* opsu! is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* opsu! is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with opsu!. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package itdelatrisu.opsu.ui;
|
||||
|
||||
import org.newdawn.slick.Color;
|
||||
|
||||
/**
|
||||
* Colors used for drawing.
|
||||
*/
|
||||
public class Colors {
|
||||
/** Game colors. */
|
||||
public static final Color
|
||||
BLACK_ALPHA = new Color(0, 0, 0, 0.5f),
|
||||
WHITE_ALPHA = new Color(255, 255, 255, 0.5f),
|
||||
BLUE_DIVIDER = new Color(49, 94, 237),
|
||||
BLUE_BACKGROUND = new Color(74, 130, 255),
|
||||
BLUE_BUTTON = new Color(40, 129, 237),
|
||||
ORANGE_BUTTON = new Color(200, 90, 3),
|
||||
YELLOW_ALPHA = new Color(255, 255, 0, 0.4f),
|
||||
WHITE_FADE = new Color(255, 255, 255, 1f),
|
||||
RED_HOVER = new Color(255, 112, 112),
|
||||
GREEN = new Color(137, 201, 79),
|
||||
LIGHT_ORANGE = new Color(255,192,128),
|
||||
LIGHT_GREEN = new Color(128,255,128),
|
||||
LIGHT_BLUE = new Color(128,128,255),
|
||||
GREEN_SEARCH = new Color(173, 255, 47),
|
||||
DARK_GRAY = new Color(0.3f, 0.3f, 0.3f, 1f),
|
||||
RED_HIGHLIGHT = new Color(246, 154, 161),
|
||||
BLUE_HIGHLIGHT = new Color(173, 216, 230);
|
||||
|
||||
// This class should not be instantiated.
|
||||
private Colors() {}
|
||||
}
|
|
@ -185,7 +185,7 @@ public class UI {
|
|||
filter = Color.white;
|
||||
textColor = Color.black;
|
||||
} else {
|
||||
filter = (isHover) ? Utils.COLOR_RED_HOVER : Color.red;
|
||||
filter = (isHover) ? Colors.RED_HOVER : Color.red;
|
||||
textColor = Color.white;
|
||||
}
|
||||
tabImage.drawCentered(x, y, filter);
|
||||
|
@ -404,21 +404,21 @@ public class UI {
|
|||
|
||||
// draw tooltip text inside a filled rectangle
|
||||
float alpha = tooltipAlpha.getValue();
|
||||
float oldAlpha = Utils.COLOR_BLACK_ALPHA.a;
|
||||
Utils.COLOR_BLACK_ALPHA.a = alpha;
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
Utils.COLOR_BLACK_ALPHA.a = oldAlpha;
|
||||
float oldAlpha = Colors.BLACK_ALPHA.a;
|
||||
Colors.BLACK_ALPHA.a = alpha;
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
Colors.BLACK_ALPHA.a = oldAlpha;
|
||||
g.fillRect(x, y, textWidth, textHeight);
|
||||
oldAlpha = Utils.COLOR_DARK_GRAY.a;
|
||||
Utils.COLOR_DARK_GRAY.a = alpha;
|
||||
g.setColor(Utils.COLOR_DARK_GRAY);
|
||||
oldAlpha = Colors.DARK_GRAY.a;
|
||||
Colors.DARK_GRAY.a = alpha;
|
||||
g.setColor(Colors.DARK_GRAY);
|
||||
g.setLineWidth(1);
|
||||
g.drawRect(x, y, textWidth, textHeight);
|
||||
Utils.COLOR_DARK_GRAY.a = oldAlpha;
|
||||
oldAlpha = Utils.COLOR_WHITE_ALPHA.a;
|
||||
Utils.COLOR_WHITE_ALPHA.a = alpha;
|
||||
Utils.FONT_SMALL.drawString(x + textMarginX, y, tooltip, Utils.COLOR_WHITE_ALPHA);
|
||||
Utils.COLOR_WHITE_ALPHA.a = oldAlpha;
|
||||
Colors.DARK_GRAY.a = oldAlpha;
|
||||
oldAlpha = Colors.WHITE_ALPHA.a;
|
||||
Colors.WHITE_ALPHA.a = alpha;
|
||||
Utils.FONT_SMALL.drawString(x + textMarginX, y, tooltip, Colors.WHITE_ALPHA);
|
||||
Colors.WHITE_ALPHA.a = oldAlpha;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -474,17 +474,17 @@ public class UI {
|
|||
alpha -= 1 - ((BAR_NOTIFICATION_TIME - barNotifTimer) / (BAR_NOTIFICATION_TIME * 0.1f));
|
||||
int midX = container.getWidth() / 2, midY = container.getHeight() / 2;
|
||||
float barHeight = Utils.FONT_LARGE.getLineHeight() * (1f + 0.6f * Math.min(barNotifTimer * 15f / BAR_NOTIFICATION_TIME, 1f));
|
||||
float oldAlphaB = Utils.COLOR_BLACK_ALPHA.a, oldAlphaW = Utils.COLOR_WHITE_ALPHA.a;
|
||||
Utils.COLOR_BLACK_ALPHA.a *= alpha;
|
||||
Utils.COLOR_WHITE_ALPHA.a = alpha;
|
||||
g.setColor(Utils.COLOR_BLACK_ALPHA);
|
||||
float oldAlphaB = Colors.BLACK_ALPHA.a, oldAlphaW = Colors.WHITE_ALPHA.a;
|
||||
Colors.BLACK_ALPHA.a *= alpha;
|
||||
Colors.WHITE_ALPHA.a = alpha;
|
||||
g.setColor(Colors.BLACK_ALPHA);
|
||||
g.fillRect(0, midY - barHeight / 2f, container.getWidth(), barHeight);
|
||||
Utils.FONT_LARGE.drawString(
|
||||
midX - Utils.FONT_LARGE.getWidth(barNotif) / 2f,
|
||||
midY - Utils.FONT_LARGE.getLineHeight() / 2.2f,
|
||||
barNotif, Utils.COLOR_WHITE_ALPHA);
|
||||
Utils.COLOR_BLACK_ALPHA.a = oldAlphaB;
|
||||
Utils.COLOR_WHITE_ALPHA.a = oldAlphaW;
|
||||
barNotif, Colors.WHITE_ALPHA);
|
||||
Colors.BLACK_ALPHA.a = oldAlphaB;
|
||||
Colors.WHITE_ALPHA.a = oldAlphaW;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue
Block a user