From 0dbfd18c5fec0d44f4e7b29ef059d5140e4cde67 Mon Sep 17 00:00:00 2001 From: Jeffrey Han Date: Sat, 5 Jul 2014 14:29:48 -0400 Subject: [PATCH] Added a few missing keyboard shortcuts. - Main Menu: "P" (play), "Q" (quit) - Game: Ctrl + "R" (restart) Other changes: - Song Menu search textfield no longer retains focus in different states. --- src/itdelatrisu/opsu/states/Game.java | 11 +++++++++++ src/itdelatrisu/opsu/states/MainMenu.java | 15 +++++++++++++++ src/itdelatrisu/opsu/states/SongMenu.java | 8 +++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/itdelatrisu/opsu/states/Game.java b/src/itdelatrisu/opsu/states/Game.java index 01ef4b57..364a0d65 100644 --- a/src/itdelatrisu/opsu/states/Game.java +++ b/src/itdelatrisu/opsu/states/Game.java @@ -559,6 +559,17 @@ public class Game extends BasicGameState { // skip skipIntro(); break; + case Input.KEY_R: + if (input.isKeyDown(Input.KEY_RCONTROL) || input.isKeyDown(Input.KEY_LCONTROL)) { + try { + restart = RESTART_MANUAL; + enter(container, game); + skipIntro(); + } catch (SlickException e) { + Log.error("Failed to restart game.", e); + } + } + break; case Input.KEY_Z: // left-click if (!Keyboard.isRepeatEvent()) diff --git a/src/itdelatrisu/opsu/states/MainMenu.java b/src/itdelatrisu/opsu/states/MainMenu.java index 66375dc4..ca9d65bd 100644 --- a/src/itdelatrisu/opsu/states/MainMenu.java +++ b/src/itdelatrisu/opsu/states/MainMenu.java @@ -341,6 +341,21 @@ public class MainMenu extends BasicGameState { else game.enterState(Opsu.STATE_MAINMENUEXIT); break; + case Input.KEY_Q: + game.enterState(Opsu.STATE_MAINMENUEXIT); + break; + case Input.KEY_P: + if (!logoClicked) { + logoClicked = true; + logoTimer = 0; + playButton.getImage().setAlpha(0f); + exitButton.getImage().setAlpha(0f); + SoundController.playSound(SoundController.SOUND_MENUHIT); + } else { + SoundController.playSound(SoundController.SOUND_MENUHIT); + game.enterState(Opsu.STATE_SONGMENU, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); + } + break; case Input.KEY_F12: Utils.takeScreenShot(); break; diff --git a/src/itdelatrisu/opsu/states/SongMenu.java b/src/itdelatrisu/opsu/states/SongMenu.java index 6427cf5e..db123aee 100644 --- a/src/itdelatrisu/opsu/states/SongMenu.java +++ b/src/itdelatrisu/opsu/states/SongMenu.java @@ -281,7 +281,6 @@ public class SongMenu extends BasicGameState { public void update(GameContainer container, StateBasedGame game, int delta) throws SlickException { // search - search.setFocus(true); searchTimer += delta; if (searchTimer >= SEARCH_DELAY) { searchTimer = 0; @@ -524,6 +523,13 @@ public class SongMenu extends BasicGameState { public void enter(GameContainer container, StateBasedGame game) throws SlickException { Display.setTitle(game.getTitle()); + search.setFocus(true); + } + + @Override + public void leave(GameContainer container, StateBasedGame game) + throws SlickException { + search.setFocus(false); } /**