diff --git a/src/itdelatrisu/opsu/states/Game.java b/src/itdelatrisu/opsu/states/Game.java index 91fc1c0a..e99ecf54 100644 --- a/src/itdelatrisu/opsu/states/Game.java +++ b/src/itdelatrisu/opsu/states/Game.java @@ -859,6 +859,9 @@ public class Game extends BasicGameState { if ((g.isCircle() || g.isSlider()) && g.getTime() <= trackPosition) { Cursor.lastObjColor = g.getColor(); Cursor.lastMirroredObjColor = g.getMirroredColor(); + } else { + Cursor.nextObjColor = g.getColor(); + Cursor.nextMirroredObjColor = g.getMirroredColor(); } // timing points @@ -1478,6 +1481,8 @@ public class Game extends BasicGameState { Cursor.lastObjColor = Color.white; Cursor.lastMirroredObjColor = Color.white; + Cursor.nextObjColor = Color.white; + Cursor.nextMirroredObjColor = Color.white; // re-hide cursor if (GameMod.AUTO.isActive() || isReplay) diff --git a/src/itdelatrisu/opsu/ui/Cursor.java b/src/itdelatrisu/opsu/ui/Cursor.java index b42c9c77..94e08ff5 100644 --- a/src/itdelatrisu/opsu/ui/Cursor.java +++ b/src/itdelatrisu/opsu/ui/Cursor.java @@ -71,6 +71,8 @@ public class Cursor { public static Color lastObjColor = Color.white; public static Color lastMirroredObjColor = Color.white; + public static Color nextObjColor = Color.white; + public static Color nextMirroredObjColor = Color.white; private boolean isMirrored; diff --git a/src/yugecin/opsudance/CursorColorOverrides.java b/src/yugecin/opsudance/CursorColorOverrides.java index 72ed328c..27a95cf2 100644 --- a/src/yugecin/opsudance/CursorColorOverrides.java +++ b/src/yugecin/opsudance/CursorColorOverrides.java @@ -62,6 +62,15 @@ public enum CursorColorOverrides { } return Cursor.lastObjColor; } + }, + NEXTOBJ ("Use next object's colors", 13) { + @Override + public Color getColor(boolean mirrored) { + if (mirrored) { + return Cursor.nextMirroredObjColor; + } + return Cursor.nextObjColor; + } }; public int nr;