From 38b3621c297e44b851c94d20d7b402c0cf040dc7 Mon Sep 17 00:00:00 2001 From: Jeffrey Han Date: Fri, 16 Jan 2015 02:00:42 -0500 Subject: [PATCH] Implemented Ctrl+Enter in song menu (play with "auto" mod). Also made 'Esc' during gameplay return to the song menu immediately if the "auto" mod is active. Signed-off-by: Jeffrey Han --- src/itdelatrisu/opsu/states/Game.java | 10 +++++++--- src/itdelatrisu/opsu/states/SongMenu.java | 11 +++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/itdelatrisu/opsu/states/Game.java b/src/itdelatrisu/opsu/states/Game.java index fafaaad8..7c3ade0a 100644 --- a/src/itdelatrisu/opsu/states/Game.java +++ b/src/itdelatrisu/opsu/states/Game.java @@ -617,10 +617,14 @@ public class Game extends BasicGameState { switch (key) { case Input.KEY_ESCAPE: + // "auto" mod: go back to song menu + if (GameMod.AUTO.isActive()) { + game.closeRequested(); + break; + } + // pause game - if (pauseTime < 0 && breakTime <= 0 && - trackPosition >= osu.objects[0].getTime() && - !GameMod.AUTO.isActive()) { + if (pauseTime < 0 && breakTime <= 0 && trackPosition >= osu.objects[0].getTime()) { pausedMouseX = input.getMouseX(); pausedMouseY = input.getMouseY(); pausePulse = 0f; diff --git a/src/itdelatrisu/opsu/states/SongMenu.java b/src/itdelatrisu/opsu/states/SongMenu.java index 55b10bd8..5612ca01 100644 --- a/src/itdelatrisu/opsu/states/SongMenu.java +++ b/src/itdelatrisu/opsu/states/SongMenu.java @@ -21,6 +21,7 @@ package itdelatrisu.opsu.states; import java.util.Stack; import itdelatrisu.opsu.GameImage; +import itdelatrisu.opsu.GameMod; import itdelatrisu.opsu.MenuButton; import itdelatrisu.opsu.Opsu; import itdelatrisu.opsu.OsuFile; @@ -545,8 +546,14 @@ public class SongMenu extends BasicGameState { Utils.takeScreenShot(); break; case Input.KEY_ENTER: - if (focusNode != null) - startGame(); + if (focusNode == null) + break; + if (input.isKeyDown(Input.KEY_RCONTROL) || input.isKeyDown(Input.KEY_LCONTROL)) { + // turn on "auto" mod + if (!GameMod.AUTO.isActive()) + GameMod.AUTO.toggle(true); + } + startGame(); break; case Input.KEY_DOWN: changeIndex(1);