remove delegating stuff from Input
This commit is contained in:
parent
08f5bfc27f
commit
9b5dc4c121
|
@ -27,39 +27,40 @@ import java.util.Collections;
|
||||||
|
|
||||||
import org.newdawn.slick.Color;
|
import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Image;
|
import org.newdawn.slick.Image;
|
||||||
import org.newdawn.slick.Input;
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Game mods.
|
* Game mods.
|
||||||
*/
|
*/
|
||||||
public enum GameMod {
|
public enum GameMod {
|
||||||
EASY (Category.EASY, 0, GameImage.MOD_EASY, "EZ", 2, Input.KEY_Q, 0.5f,
|
EASY (Category.EASY, 0, GameImage.MOD_EASY, "EZ", 2, KEY_Q, 0.5f,
|
||||||
"Easy", "Reduces overall difficulty - larger circles, more forgiving HP drain, less accuracy required."),
|
"Easy", "Reduces overall difficulty - larger circles, more forgiving HP drain, less accuracy required."),
|
||||||
NO_FAIL (Category.EASY, 1, GameImage.MOD_NO_FAIL, "NF", 1, Input.KEY_W, 0.5f,
|
NO_FAIL (Category.EASY, 1, GameImage.MOD_NO_FAIL, "NF", 1, KEY_W, 0.5f,
|
||||||
"NoFail", "You can't fail. No matter what."),
|
"NoFail", "You can't fail. No matter what."),
|
||||||
HALF_TIME (Category.EASY, 2, GameImage.MOD_HALF_TIME, "HT", 256, Input.KEY_E, 0.3f,
|
HALF_TIME (Category.EASY, 2, GameImage.MOD_HALF_TIME, "HT", 256, KEY_E, 0.3f,
|
||||||
"HalfTime", "Less zoom."),
|
"HalfTime", "Less zoom."),
|
||||||
HARD_ROCK (Category.HARD, 0, GameImage.MOD_HARD_ROCK, "HR", 16, Input.KEY_A, 1.06f,
|
HARD_ROCK (Category.HARD, 0, GameImage.MOD_HARD_ROCK, "HR", 16, KEY_A, 1.06f,
|
||||||
"HardRock", "Everything just got a bit harder..."),
|
"HardRock", "Everything just got a bit harder..."),
|
||||||
SUDDEN_DEATH (Category.HARD, 1, GameImage.MOD_SUDDEN_DEATH, "SD", 32, Input.KEY_S, 1f,
|
SUDDEN_DEATH (Category.HARD, 1, GameImage.MOD_SUDDEN_DEATH, "SD", 32, KEY_S, 1f,
|
||||||
"SuddenDeath", "Miss a note and fail."),
|
"SuddenDeath", "Miss a note and fail."),
|
||||||
// PERFECT (Category.HARD, 1, GameImage.MOD_PERFECT, "PF", 64, Input.KEY_S, 1f,
|
// PERFECT (Category.HARD, 1, GameImage.MOD_PERFECT, "PF", 64, Input.KEY_S, 1f,
|
||||||
// "Perfect", "SS or quit."),
|
// "Perfect", "SS or quit."),
|
||||||
DOUBLE_TIME (Category.HARD, 2, GameImage.MOD_DOUBLE_TIME, "DT", 64, Input.KEY_D, 1.12f,
|
DOUBLE_TIME (Category.HARD, 2, GameImage.MOD_DOUBLE_TIME, "DT", 64, KEY_D, 1.12f,
|
||||||
"DoubleTime", "Zoooooooooom."),
|
"DoubleTime", "Zoooooooooom."),
|
||||||
// NIGHTCORE (Category.HARD, 2, GameImage.MOD_NIGHTCORE, "NT", 64, Input.KEY_D, 1.12f,
|
// NIGHTCORE (Category.HARD, 2, GameImage.MOD_NIGHTCORE, "NT", 64, Input.KEY_D, 1.12f,
|
||||||
// "Nightcore", "uguuuuuuuu"),
|
// "Nightcore", "uguuuuuuuu"),
|
||||||
HIDDEN (Category.HARD, 3, GameImage.MOD_HIDDEN, "HD", 8, Input.KEY_F, 1.06f,
|
HIDDEN (Category.HARD, 3, GameImage.MOD_HIDDEN, "HD", 8, KEY_F, 1.06f,
|
||||||
"Hidden", "Play with no approach circles and fading notes for a slight score advantage."),
|
"Hidden", "Play with no approach circles and fading notes for a slight score advantage."),
|
||||||
FLASHLIGHT (Category.HARD, 4, GameImage.MOD_FLASHLIGHT, "FL", 1024, Input.KEY_G, 1.12f,
|
FLASHLIGHT (Category.HARD, 4, GameImage.MOD_FLASHLIGHT, "FL", 1024, KEY_G, 1.12f,
|
||||||
"Flashlight", "Restricted view area."),
|
"Flashlight", "Restricted view area."),
|
||||||
RELAX (Category.SPECIAL, 0, GameImage.MOD_RELAX, "RL", 128, Input.KEY_Z, 0f,
|
RELAX (Category.SPECIAL, 0, GameImage.MOD_RELAX, "RL", 128, KEY_Z, 0f,
|
||||||
"Relax", "You don't need to click.\nGive your clicking/tapping finger a break from the heat of things.\n**UNRANKED**"),
|
"Relax", "You don't need to click.\nGive your clicking/tapping finger a break from the heat of things.\n**UNRANKED**"),
|
||||||
AUTOPILOT (Category.SPECIAL, 1, GameImage.MOD_AUTOPILOT, "AP", 8192, Input.KEY_X, 0f,
|
AUTOPILOT (Category.SPECIAL, 1, GameImage.MOD_AUTOPILOT, "AP", 8192, KEY_X, 0f,
|
||||||
"Relax2", "Automatic cursor movement - just follow the rhythm.\n**UNRANKED**"),
|
"Relax2", "Automatic cursor movement - just follow the rhythm.\n**UNRANKED**"),
|
||||||
SPUN_OUT (Category.SPECIAL, 2, GameImage.MOD_SPUN_OUT, "SO", 4096, Input.KEY_C, 0.9f,
|
SPUN_OUT (Category.SPECIAL, 2, GameImage.MOD_SPUN_OUT, "SO", 4096, KEY_C, 0.9f,
|
||||||
"SpunOut", "Spinners will be automatically completed."),
|
"SpunOut", "Spinners will be automatically completed."),
|
||||||
AUTO (Category.SPECIAL, 3, GameImage.MOD_AUTO, "", 2048, Input.KEY_V, 1f,
|
AUTO (Category.SPECIAL, 3, GameImage.MOD_AUTO, "", 2048, KEY_V, 1f,
|
||||||
"Autoplay", "Watch a perfect automated play through the song.");
|
"Autoplay", "Watch a perfect automated play through the song.");
|
||||||
|
|
||||||
/** Mod categories. */
|
/** Mod categories. */
|
||||||
|
|
|
@ -35,6 +35,7 @@ import itdelatrisu.opsu.ui.animations.AnimationEquation;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.newdawn.slick.Color;
|
import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
import org.newdawn.slick.Image;
|
import org.newdawn.slick.Image;
|
||||||
|
@ -650,7 +651,7 @@ public class ButtonMenu extends BaseOpsuState {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == Input.KEY_ESCAPE) {
|
if (key == Keyboard.KEY_ESCAPE) {
|
||||||
menuState.leave();
|
menuState.leave();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,7 @@ import org.newdawn.slick.util.Log;
|
||||||
import yugecin.opsudance.core.state.ComplexOpsuState;
|
import yugecin.opsudance.core.state.ComplexOpsuState;
|
||||||
import yugecin.opsudance.events.BarNotifListener;
|
import yugecin.opsudance.events.BarNotifListener;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -888,12 +889,12 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
|
|
||||||
// block input during beatmap importing
|
// block input during beatmap importing
|
||||||
if (importThread != null && key != Input.KEY_ESCAPE) {
|
if (importThread != null && key != KEY_ESCAPE) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case Input.KEY_ESCAPE:
|
case KEY_ESCAPE:
|
||||||
if (importThread != null) {
|
if (importThread != null) {
|
||||||
// beatmap importing: stop parsing beatmaps by sending interrupt to BeatmapParser
|
// beatmap importing: stop parsing beatmaps by sending interrupt to BeatmapParser
|
||||||
importThread.interrupt();
|
importThread.interrupt();
|
||||||
|
@ -908,13 +909,13 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||||
displayContainer.switchState(mainmenuState);
|
displayContainer.switchState(mainmenuState);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_ENTER:
|
case KEY_RETURN:
|
||||||
if (!search.getText().isEmpty()) {
|
if (!search.getText().isEmpty()) {
|
||||||
pageDir = Page.RESET;
|
pageDir = Page.RESET;
|
||||||
resetSearchTimer();
|
resetSearchTimer();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_F5:
|
case KEY_F5:
|
||||||
SoundController.playSound(SoundEffect.MENUCLICK);
|
SoundController.playSound(SoundEffect.MENUCLICK);
|
||||||
lastQuery = null;
|
lastQuery = null;
|
||||||
pageDir = Page.CURRENT;
|
pageDir = Page.CURRENT;
|
||||||
|
@ -924,7 +925,7 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// wait for user to finish typing
|
// wait for user to finish typing
|
||||||
if (Character.isLetterOrDigit(c) || key == Input.KEY_BACK) {
|
if (Character.isLetterOrDigit(c) || key == KEY_BACK) {
|
||||||
search.keyPressed(key, c);
|
search.keyPressed(key, c);
|
||||||
searchTimer = 0;
|
searchTimer = 0;
|
||||||
pageDir = Page.RESET;
|
pageDir = Page.RESET;
|
||||||
|
|
|
@ -67,6 +67,7 @@ import yugecin.opsudance.ui.OptionsOverlay;
|
||||||
import yugecin.opsudance.ui.StoryboardOverlay;
|
import yugecin.opsudance.ui.StoryboardOverlay;
|
||||||
import yugecin.opsudance.utils.GLHelper;
|
import yugecin.opsudance.utils.GLHelper;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||||
|
|
||||||
|
@ -1127,7 +1128,7 @@ public class Game extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case Input.KEY_ESCAPE:
|
case KEY_ESCAPE:
|
||||||
// "auto" mod or watching replay: go back to song menu
|
// "auto" mod or watching replay: go back to song menu
|
||||||
if (GameMod.AUTO.isActive() || isReplay) {
|
if (GameMod.AUTO.isActive() || isReplay) {
|
||||||
onCloseRequest();
|
onCloseRequest();
|
||||||
|
@ -1144,13 +1145,13 @@ public class Game extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
displayContainer.switchStateInstantly(pauseState);
|
displayContainer.switchStateInstantly(pauseState);
|
||||||
break;
|
break;
|
||||||
case Input.KEY_SPACE:
|
case KEY_SPACE:
|
||||||
// skip intro
|
// skip intro
|
||||||
skipIntro();
|
skipIntro();
|
||||||
break;
|
break;
|
||||||
case Input.KEY_R:
|
case KEY_R:
|
||||||
// restart
|
// restart
|
||||||
if (input.isKeyDown(Input.KEY_RCONTROL) || input.isKeyDown(Input.KEY_LCONTROL)) {
|
if (input.isControlDown()) {
|
||||||
if (trackPosition < beatmap.objects[0].getTime()) {
|
if (trackPosition < beatmap.objects[0].getTime()) {
|
||||||
retries--; // don't count this retry (cancel out later increment)
|
retries--; // don't count this retry (cancel out later increment)
|
||||||
}
|
}
|
||||||
|
@ -1159,9 +1160,9 @@ public class Game extends ComplexOpsuState {
|
||||||
skipIntro();
|
skipIntro();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Input.KEY_S:
|
case KEY_S:
|
||||||
// save checkpoint
|
// save checkpoint
|
||||||
if (input.isKeyDown(Input.KEY_RCONTROL) || input.isKeyDown(Input.KEY_LCONTROL)) {
|
if (input.isControlDown()) {
|
||||||
if (isLeadIn()) {
|
if (isLeadIn()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1175,9 +1176,9 @@ public class Game extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Input.KEY_L:
|
case KEY_L:
|
||||||
// load checkpoint
|
// load checkpoint
|
||||||
if (input.isKeyDown(Input.KEY_RCONTROL) || input.isKeyDown(Input.KEY_LCONTROL)) {
|
if (input.isControlDown()) {
|
||||||
int checkpoint = OPTION_CHECKPOINT.val * 1000;
|
int checkpoint = OPTION_CHECKPOINT.val * 1000;
|
||||||
if (checkpoint == 0 || checkpoint > beatmap.endTime)
|
if (checkpoint == 0 || checkpoint > beatmap.endTime)
|
||||||
break; // invalid checkpoint
|
break; // invalid checkpoint
|
||||||
|
@ -1186,25 +1187,25 @@ public class Game extends ComplexOpsuState {
|
||||||
BarNotifListener.EVENT.make().onBarNotif("Checkpoint loaded.");
|
BarNotifListener.EVENT.make().onBarNotif("Checkpoint loaded.");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Input.KEY_F:
|
case KEY_F:
|
||||||
// change playback speed
|
// change playback speed
|
||||||
if (isReplay || GameMod.AUTO.isActive()) {
|
if (isReplay || GameMod.AUTO.isActive()) {
|
||||||
playbackSpeed = playbackSpeed.next();
|
playbackSpeed = playbackSpeed.next();
|
||||||
MusicController.setPitch(GameMod.getSpeedMultiplier() * playbackSpeed.getModifier());
|
MusicController.setPitch(GameMod.getSpeedMultiplier() * playbackSpeed.getModifier());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Input.KEY_UP:
|
case KEY_UP:
|
||||||
UI.changeVolume(1);
|
UI.changeVolume(1);
|
||||||
break;
|
break;
|
||||||
case Input.KEY_DOWN:
|
case KEY_DOWN:
|
||||||
UI.changeVolume(-1);
|
UI.changeVolume(-1);
|
||||||
break;
|
break;
|
||||||
case Input.KEY_TAB:
|
case KEY_TAB:
|
||||||
if (!OPTION_DANCE_HIDE_UI.state) {
|
if (!OPTION_DANCE_HIDE_UI.state) {
|
||||||
scoreboardVisible = !scoreboardVisible;
|
scoreboardVisible = !scoreboardVisible;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Input.KEY_M:
|
case KEY_M:
|
||||||
if (OPTION_DANCE_MIRROR.state) {
|
if (OPTION_DANCE_MIRROR.state) {
|
||||||
mirrorTo = objectIndex;
|
mirrorTo = objectIndex;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1214,7 +1215,7 @@ public class Game extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
OPTION_DANCE_MIRROR.toggle();
|
OPTION_DANCE_MIRROR.toggle();
|
||||||
break;
|
break;
|
||||||
case Input.KEY_P:
|
case KEY_P:
|
||||||
if (OPTION_DANCE_MIRROR.state) {
|
if (OPTION_DANCE_MIRROR.state) {
|
||||||
mirrorTo = objectIndex;
|
mirrorTo = objectIndex;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1224,12 +1225,12 @@ public class Game extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
OPTION_DANCE_MIRROR.toggle();
|
OPTION_DANCE_MIRROR.toggle();
|
||||||
break;
|
break;
|
||||||
case Input.KEY_MINUS:
|
case KEY_MINUS:
|
||||||
currentMapMusicOffset += 5;
|
currentMapMusicOffset += 5;
|
||||||
BarNotifListener.EVENT.make().onBarNotif("Current map offset: " + currentMapMusicOffset);
|
BarNotifListener.EVENT.make().onBarNotif("Current map offset: " + currentMapMusicOffset);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (key == Input.KEY_ADD || c == '+') {
|
if (key == KEY_ADD || c == '+') {
|
||||||
currentMapMusicOffset -= 5;
|
currentMapMusicOffset -= 5;
|
||||||
BarNotifListener.EVENT.make().onBarNotif("Current map offset: " + currentMapMusicOffset);
|
BarNotifListener.EVENT.make().onBarNotif("Current map offset: " + currentMapMusicOffset);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ import org.newdawn.slick.Graphics;
|
||||||
import org.newdawn.slick.Input;
|
import org.newdawn.slick.Input;
|
||||||
import yugecin.opsudance.core.state.BaseOpsuState;
|
import yugecin.opsudance.core.state.BaseOpsuState;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
|
|
||||||
|
@ -94,7 +95,7 @@ public class GamePauseMenu extends BaseOpsuState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == Input.KEY_ESCAPE) {
|
if (key == KEY_ESCAPE) {
|
||||||
// 'esc' will normally unpause, but will return to song menu if health is zero
|
// 'esc' will normally unpause, but will return to song menu if health is zero
|
||||||
if (gameState.getRestart() == Game.Restart.LOSE) {
|
if (gameState.getRestart() == Game.Restart.LOSE) {
|
||||||
SoundController.playSound(SoundEffect.MENUBACK);
|
SoundController.playSound(SoundEffect.MENUBACK);
|
||||||
|
@ -109,7 +110,7 @@ public class GamePauseMenu extends BaseOpsuState {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == Input.KEY_R && (input.isKeyDown(Input.KEY_RCONTROL) || input.isKeyDown(Input.KEY_LCONTROL))) {
|
if (key == KEY_R && input.isControlDown()) {
|
||||||
gameState.setRestart(Game.Restart.MANUAL);
|
gameState.setRestart(Game.Restart.MANUAL);
|
||||||
displayContainer.switchState(gameState);
|
displayContainer.switchState(gameState);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -32,6 +32,7 @@ import itdelatrisu.opsu.ui.UI;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
import org.newdawn.slick.Image;
|
import org.newdawn.slick.Image;
|
||||||
import org.newdawn.slick.Input;
|
import org.newdawn.slick.Input;
|
||||||
|
@ -121,7 +122,7 @@ public class GameRanking extends BaseOpsuState {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == Input.KEY_ESCAPE) {
|
if (key == Keyboard.KEY_ESCAPE) {
|
||||||
returnToSongMenu();
|
returnToSongMenu();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -51,6 +51,7 @@ import yugecin.opsudance.core.state.OpsuState;
|
||||||
import yugecin.opsudance.events.BarNotifListener;
|
import yugecin.opsudance.events.BarNotifListener;
|
||||||
import yugecin.opsudance.events.BubNotifListener;
|
import yugecin.opsudance.events.BubNotifListener;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
|
|
||||||
|
@ -651,8 +652,8 @@ public class MainMenu extends BaseOpsuState {
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case Input.KEY_ESCAPE:
|
case KEY_ESCAPE:
|
||||||
case Input.KEY_Q:
|
case KEY_Q:
|
||||||
if (logoTimer > 0) {
|
if (logoTimer > 0) {
|
||||||
logoState = LogoState.CLOSING;
|
logoState = LogoState.CLOSING;
|
||||||
logoClose.setTime(0);
|
logoClose.setTime(0);
|
||||||
|
@ -662,7 +663,7 @@ public class MainMenu extends BaseOpsuState {
|
||||||
buttonState.setMenuState(MenuState.EXIT);
|
buttonState.setMenuState(MenuState.EXIT);
|
||||||
displayContainer.switchState(buttonState);
|
displayContainer.switchState(buttonState);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_P:
|
case KEY_P:
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
if (logoState == LogoState.DEFAULT || logoState == LogoState.CLOSING) {
|
if (logoState == LogoState.DEFAULT || logoState == LogoState.CLOSING) {
|
||||||
logoState = LogoState.OPENING;
|
logoState = LogoState.OPENING;
|
||||||
|
@ -673,17 +674,17 @@ public class MainMenu extends BaseOpsuState {
|
||||||
} else
|
} else
|
||||||
enterSongMenu();
|
enterSongMenu();
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_D:
|
case KEY_D:
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
displayContainer.switchState(downloadState);
|
displayContainer.switchState(downloadState);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_R:
|
case KEY_R:
|
||||||
nextTrack(true);
|
nextTrack(true);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_UP:
|
case KEY_UP:
|
||||||
UI.changeVolume(1);
|
UI.changeVolume(1);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_DOWN:
|
case KEY_DOWN:
|
||||||
UI.changeVolume(-1);
|
UI.changeVolume(-1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,7 @@ import java.nio.file.WatchEvent.Kind;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Stack;
|
import java.util.Stack;
|
||||||
|
|
||||||
|
import org.lwjgl.input.Mouse;
|
||||||
import org.newdawn.slick.Animation;
|
import org.newdawn.slick.Animation;
|
||||||
import org.newdawn.slick.Color;
|
import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
|
@ -67,6 +68,7 @@ import yugecin.opsudance.events.BarNotifListener;
|
||||||
import yugecin.opsudance.options.OptionGroups;
|
import yugecin.opsudance.options.OptionGroups;
|
||||||
import yugecin.opsudance.ui.OptionsOverlay;
|
import yugecin.opsudance.ui.OptionsOverlay;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
|
|
||||||
|
@ -914,13 +916,13 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
|
|
||||||
// selection buttons
|
// selection buttons
|
||||||
if (selectModsButton.contains(x, y)) {
|
if (selectModsButton.contains(x, y)) {
|
||||||
this.keyPressed(Input.KEY_F1, '\0');
|
this.keyPressed(KEY_F1, '\0');
|
||||||
return true;
|
return true;
|
||||||
} else if (selectRandomButton.contains(x, y)) {
|
} else if (selectRandomButton.contains(x, y)) {
|
||||||
this.keyPressed(Input.KEY_F2, '\0');
|
this.keyPressed(KEY_F2, '\0');
|
||||||
return true;
|
return true;
|
||||||
} else if (selectMapOptionsButton.contains(x, y)) {
|
} else if (selectMapOptionsButton.contains(x, y)) {
|
||||||
this.keyPressed(Input.KEY_F3, '\0');
|
this.keyPressed(KEY_F3, '\0');
|
||||||
return true;
|
return true;
|
||||||
} else if (selectOptionsButton.contains(x, y)) {
|
} else if (selectOptionsButton.contains(x, y)) {
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
|
@ -1038,12 +1040,12 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
|
|
||||||
// block input
|
// block input
|
||||||
if ((reloadThread != null && key != Input.KEY_ESCAPE) || beatmapMenuTimer > -1 || isScrollingToFocusNode) {
|
if ((reloadThread != null && key != KEY_ESCAPE) || beatmapMenuTimer > -1 || isScrollingToFocusNode) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case Input.KEY_ESCAPE:
|
case KEY_ESCAPE:
|
||||||
if (reloadThread != null) {
|
if (reloadThread != null) {
|
||||||
// beatmap reloading: stop parsing beatmaps by sending interrupt to BeatmapParser
|
// beatmap reloading: stop parsing beatmaps by sending interrupt to BeatmapParser
|
||||||
reloadThread.interrupt();
|
reloadThread.interrupt();
|
||||||
|
@ -1059,16 +1061,16 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
displayContainer.switchState(mainmenuState);
|
displayContainer.switchState(mainmenuState);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_F1:
|
case KEY_F1:
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
buttonState.setMenuState(MenuState.MODS);
|
buttonState.setMenuState(MenuState.MODS);
|
||||||
displayContainer.switchState(buttonState);
|
displayContainer.switchState(buttonState);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_F2:
|
case KEY_F2:
|
||||||
if (focusNode == null)
|
if (focusNode == null)
|
||||||
break;
|
break;
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
if (input.isKeyDown(Input.KEY_RSHIFT) || input.isKeyDown(Input.KEY_LSHIFT)) {
|
if (isKeyDown(KEY_RSHIFT) || isKeyDown(KEY_LSHIFT)) {
|
||||||
// shift key: previous random track
|
// shift key: previous random track
|
||||||
SongNode prev;
|
SongNode prev;
|
||||||
if (randomStack.isEmpty() || (prev = randomStack.pop()) == null)
|
if (randomStack.isEmpty() || (prev = randomStack.pop()) == null)
|
||||||
|
@ -1084,7 +1086,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
setFocus(BeatmapSetList.get().getRandomNode(), -1, true, true);
|
setFocus(BeatmapSetList.get().getRandomNode(), -1, true, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_F3:
|
case KEY_F3:
|
||||||
if (focusNode == null)
|
if (focusNode == null)
|
||||||
break;
|
break;
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
|
@ -1093,7 +1095,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
buttonState.setMenuState(state, focusNode);
|
buttonState.setMenuState(state, focusNode);
|
||||||
displayContainer.switchState(buttonState);
|
displayContainer.switchState(buttonState);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_F5:
|
case KEY_F5:
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
if (songFolderChanged)
|
if (songFolderChanged)
|
||||||
reloadBeatmaps(false);
|
reloadBeatmaps(false);
|
||||||
|
@ -1102,10 +1104,10 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
displayContainer.switchState(buttonState);
|
displayContainer.switchState(buttonState);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_DELETE:
|
case KEY_DELETE:
|
||||||
if (focusNode == null)
|
if (focusNode == null)
|
||||||
break;
|
break;
|
||||||
if (input.isKeyDown(Input.KEY_RSHIFT) || input.isKeyDown(Input.KEY_LSHIFT)) {
|
if (isKeyDown(KEY_RSHIFT) || isKeyDown(KEY_LSHIFT)) {
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
MenuState ms = (focusNode.beatmapIndex == -1 || focusNode.getBeatmapSet().size() == 1) ?
|
MenuState ms = (focusNode.beatmapIndex == -1 || focusNode.getBeatmapSet().size() == 1) ?
|
||||||
MenuState.BEATMAP_DELETE_CONFIRM : MenuState.BEATMAP_DELETE_SELECT;
|
MenuState.BEATMAP_DELETE_CONFIRM : MenuState.BEATMAP_DELETE_SELECT;
|
||||||
|
@ -1113,18 +1115,18 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
displayContainer.switchState(buttonState);
|
displayContainer.switchState(buttonState);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_ENTER:
|
case KEY_RETURN:
|
||||||
if (focusNode == null)
|
if (focusNode == null)
|
||||||
break;
|
break;
|
||||||
startGame();
|
startGame();
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_DOWN:
|
case KEY_DOWN:
|
||||||
changeIndex(1);
|
changeIndex(1);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_UP:
|
case KEY_UP:
|
||||||
changeIndex(-1);
|
changeIndex(-1);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_RIGHT:
|
case KEY_RIGHT:
|
||||||
if (focusNode == null)
|
if (focusNode == null)
|
||||||
break;
|
break;
|
||||||
BeatmapSetNode next = focusNode.next;
|
BeatmapSetNode next = focusNode.next;
|
||||||
|
@ -1140,7 +1142,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_LEFT:
|
case KEY_LEFT:
|
||||||
if (focusNode == null)
|
if (focusNode == null)
|
||||||
break;
|
break;
|
||||||
BeatmapSetNode prev = focusNode.prev;
|
BeatmapSetNode prev = focusNode.prev;
|
||||||
|
@ -1156,25 +1158,25 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_NEXT:
|
case KEY_NEXT:
|
||||||
changeIndex(MAX_SONG_BUTTONS);
|
changeIndex(MAX_SONG_BUTTONS);
|
||||||
return true;
|
return true;
|
||||||
case Input.KEY_PRIOR:
|
case KEY_PRIOR:
|
||||||
changeIndex(-MAX_SONG_BUTTONS);
|
changeIndex(-MAX_SONG_BUTTONS);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (key == Input.KEY_O && (input.isKeyDown(Input.KEY_LCONTROL) || input.isKeyDown(Input.KEY_RCONTROL))) {
|
if (key == KEY_O && input.isControlDown()) {
|
||||||
optionsOverlay.show();
|
optionsOverlay.show();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// wait for user to finish typing
|
// wait for user to finish typing
|
||||||
// TODO: accept all characters (current conditions are from TextField class)
|
// TODO: accept all characters (current conditions are from TextField class)
|
||||||
if ((c > 31 && c < 127) || key == Input.KEY_BACK) {
|
if ((c > 31 && c < 127) || key == KEY_BACK) {
|
||||||
searchTimer = 0;
|
searchTimer = 0;
|
||||||
searchTextField.keyPressed(key, c);
|
searchTextField.keyPressed(key, c);
|
||||||
int textLength = searchTextField.getText().length();
|
int textLength = searchTextField.getText().length();
|
||||||
if (lastSearchTextLength != textLength) {
|
if (lastSearchTextLength != textLength) {
|
||||||
if (key == Input.KEY_BACK) {
|
if (key == KEY_BACK) {
|
||||||
if (textLength == 0)
|
if (textLength == 0)
|
||||||
searchTransitionTimer = 0;
|
searchTransitionTimer = 0;
|
||||||
} else if (textLength == 1)
|
} else if (textLength == 1)
|
||||||
|
@ -1202,9 +1204,9 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
|
|
||||||
// check mouse button (right click scrolls faster on songs)
|
// check mouse button (right click scrolls faster on songs)
|
||||||
int multiplier;
|
int multiplier;
|
||||||
if (input.isMouseButtonDown(Input.MOUSE_RIGHT_BUTTON)) {
|
if (Mouse.isButtonDown(Input.MOUSE_RIGHT_BUTTON)) {
|
||||||
multiplier = 10;
|
multiplier = 10;
|
||||||
} else if (input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON)) {
|
} else if (Mouse.isButtonDown(Input.MOUSE_LEFT_BUTTON)) {
|
||||||
multiplier = 1;
|
multiplier = 1;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
@ -1764,9 +1766,8 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
|
|
||||||
// turn on "auto" mod if holding "ctrl" key
|
// turn on "auto" mod if holding "ctrl" key
|
||||||
if (input.isKeyDown(Input.KEY_RCONTROL) || input.isKeyDown(Input.KEY_LCONTROL)) {
|
if (input.isControlDown() && !GameMod.AUTO.isActive()) {
|
||||||
if (!GameMod.AUTO.isActive())
|
GameMod.AUTO.toggle(true);
|
||||||
GameMod.AUTO.toggle(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SoundController.playSound(SoundEffect.MENUHIT);
|
SoundController.playSound(SoundEffect.MENUHIT);
|
||||||
|
|
|
@ -24,6 +24,7 @@ import itdelatrisu.opsu.audio.SoundController;
|
||||||
import itdelatrisu.opsu.beatmap.BeatmapSetList;
|
import itdelatrisu.opsu.beatmap.BeatmapSetList;
|
||||||
import itdelatrisu.opsu.ui.UI;
|
import itdelatrisu.opsu.ui.UI;
|
||||||
|
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.newdawn.slick.Color;
|
import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
import org.newdawn.slick.Input;
|
import org.newdawn.slick.Input;
|
||||||
|
@ -128,7 +129,7 @@ public class Splash extends BaseOpsuState {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int key, char c) {
|
public boolean keyPressed(int key, char c) {
|
||||||
if (key != Input.KEY_ESCAPE) {
|
if (key != Keyboard.KEY_ESCAPE) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (++escapeCount >= 3) {
|
if (++escapeCount >= 3) {
|
||||||
|
|
|
@ -22,6 +22,7 @@ import itdelatrisu.opsu.GameImage;
|
||||||
import itdelatrisu.opsu.ui.animations.AnimatedValue;
|
import itdelatrisu.opsu.ui.animations.AnimatedValue;
|
||||||
import itdelatrisu.opsu.ui.animations.AnimationEquation;
|
import itdelatrisu.opsu.ui.animations.AnimationEquation;
|
||||||
|
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.newdawn.slick.Color;
|
import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Font;
|
import org.newdawn.slick.Font;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
|
@ -82,7 +83,7 @@ public class DropdownMenu<E> extends Component {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyPressed(int key, char c) {
|
public void keyPressed(int key, char c) {
|
||||||
if (key == Input.KEY_ESCAPE) {
|
if (key == Keyboard.KEY_ESCAPE) {
|
||||||
this.expanded = false;
|
this.expanded = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,8 @@ import org.lwjgl.input.Keyboard;
|
||||||
import org.lwjgl.input.Mouse;
|
import org.lwjgl.input.Mouse;
|
||||||
import org.lwjgl.opengl.Display;
|
import org.lwjgl.opengl.Display;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A wrapped for all keyboard, mouse and controller input
|
* A wrapped for all keyboard, mouse and controller input
|
||||||
* Edited for opsu!
|
* Edited for opsu!
|
||||||
|
@ -44,131 +46,6 @@ import org.lwjgl.opengl.Display;
|
||||||
@SuppressWarnings({"rawtypes", "unchecked", "unused"})
|
@SuppressWarnings({"rawtypes", "unchecked", "unused"})
|
||||||
public class Input {
|
public class Input {
|
||||||
|
|
||||||
public static final int KEY_ESCAPE = 0x01;
|
|
||||||
public static final int KEY_1 = 0x02;
|
|
||||||
public static final int KEY_2 = 0x03;
|
|
||||||
public static final int KEY_3 = 0x04;
|
|
||||||
public static final int KEY_4 = 0x05;
|
|
||||||
public static final int KEY_5 = 0x06;
|
|
||||||
public static final int KEY_6 = 0x07;
|
|
||||||
public static final int KEY_7 = 0x08;
|
|
||||||
public static final int KEY_8 = 0x09;
|
|
||||||
public static final int KEY_9 = 0x0A;
|
|
||||||
public static final int KEY_0 = 0x0B;
|
|
||||||
public static final int KEY_MINUS = 0x0C; /* - on main keyboard */
|
|
||||||
public static final int KEY_EQUALS = 0x0D;
|
|
||||||
public static final int KEY_BACK = 0x0E; /* backspace */
|
|
||||||
public static final int KEY_TAB = 0x0F;
|
|
||||||
public static final int KEY_Q = 0x10;
|
|
||||||
public static final int KEY_W = 0x11;
|
|
||||||
public static final int KEY_E = 0x12;
|
|
||||||
public static final int KEY_R = 0x13;
|
|
||||||
public static final int KEY_T = 0x14;
|
|
||||||
public static final int KEY_Y = 0x15;
|
|
||||||
public static final int KEY_U = 0x16;
|
|
||||||
public static final int KEY_I = 0x17;
|
|
||||||
public static final int KEY_O = 0x18;
|
|
||||||
public static final int KEY_P = 0x19;
|
|
||||||
public static final int KEY_LBRACKET = 0x1A;
|
|
||||||
public static final int KEY_RBRACKET = 0x1B;
|
|
||||||
public static final int KEY_RETURN = 0x1C; /* Enter on main keyboard */
|
|
||||||
public static final int KEY_ENTER = 0x1C; /* Enter on main keyboard */
|
|
||||||
public static final int KEY_LCONTROL = 0x1D;
|
|
||||||
public static final int KEY_A = 0x1E;
|
|
||||||
public static final int KEY_S = 0x1F;
|
|
||||||
public static final int KEY_D = 0x20;
|
|
||||||
public static final int KEY_F = 0x21;
|
|
||||||
public static final int KEY_G = 0x22;
|
|
||||||
public static final int KEY_H = 0x23;
|
|
||||||
public static final int KEY_J = 0x24;
|
|
||||||
public static final int KEY_K = 0x25;
|
|
||||||
public static final int KEY_L = 0x26;
|
|
||||||
public static final int KEY_SEMICOLON = 0x27;
|
|
||||||
public static final int KEY_APOSTROPHE = 0x28;
|
|
||||||
public static final int KEY_GRAVE = 0x29; /* accent grave */
|
|
||||||
public static final int KEY_LSHIFT = 0x2A;
|
|
||||||
public static final int KEY_BACKSLASH = 0x2B;
|
|
||||||
public static final int KEY_Z = 0x2C;
|
|
||||||
public static final int KEY_X = 0x2D;
|
|
||||||
public static final int KEY_C = 0x2E;
|
|
||||||
public static final int KEY_V = 0x2F;
|
|
||||||
public static final int KEY_B = 0x30;
|
|
||||||
public static final int KEY_N = 0x31;
|
|
||||||
public static final int KEY_M = 0x32;
|
|
||||||
public static final int KEY_COMMA = 0x33;
|
|
||||||
public static final int KEY_PERIOD = 0x34; /* . on main keyboard */
|
|
||||||
public static final int KEY_SLASH = 0x35; /* / on main keyboard */
|
|
||||||
public static final int KEY_RSHIFT = 0x36;
|
|
||||||
public static final int KEY_MULTIPLY = 0x37; /* * on numeric keypad */
|
|
||||||
public static final int KEY_LMENU = 0x38; /* left Alt */
|
|
||||||
public static final int KEY_SPACE = 0x39;
|
|
||||||
public static final int KEY_CAPITAL = 0x3A;
|
|
||||||
public static final int KEY_F1 = 0x3B;
|
|
||||||
public static final int KEY_F2 = 0x3C;
|
|
||||||
public static final int KEY_F3 = 0x3D;
|
|
||||||
public static final int KEY_F4 = 0x3E;
|
|
||||||
public static final int KEY_F5 = 0x3F;
|
|
||||||
public static final int KEY_F6 = 0x40;
|
|
||||||
public static final int KEY_F7 = 0x41;
|
|
||||||
public static final int KEY_F8 = 0x42;
|
|
||||||
public static final int KEY_F9 = 0x43;
|
|
||||||
public static final int KEY_F10 = 0x44;
|
|
||||||
public static final int KEY_NUMLOCK = 0x45;
|
|
||||||
public static final int KEY_SCROLL = 0x46; /* Scroll Lock */
|
|
||||||
public static final int KEY_NUMPAD7 = 0x47;
|
|
||||||
public static final int KEY_NUMPAD8 = 0x48;
|
|
||||||
public static final int KEY_NUMPAD9 = 0x49;
|
|
||||||
public static final int KEY_SUBTRACT = 0x4A; /* - on numeric keypad */
|
|
||||||
public static final int KEY_NUMPAD4 = 0x4B;
|
|
||||||
public static final int KEY_NUMPAD5 = 0x4C;
|
|
||||||
public static final int KEY_NUMPAD6 = 0x4D;
|
|
||||||
public static final int KEY_ADD = 0x4E; /* + on numeric keypad */
|
|
||||||
public static final int KEY_NUMPAD1 = 0x4F;
|
|
||||||
public static final int KEY_NUMPAD2 = 0x50;
|
|
||||||
public static final int KEY_NUMPAD3 = 0x51;
|
|
||||||
public static final int KEY_NUMPAD0 = 0x52;
|
|
||||||
public static final int KEY_DECIMAL = 0x53; /* . on numeric keypad */
|
|
||||||
public static final int KEY_F11 = 0x57;
|
|
||||||
public static final int KEY_F12 = 0x58;
|
|
||||||
public static final int KEY_F13 = 0x64; /* (NEC PC98) */
|
|
||||||
public static final int KEY_F14 = 0x65; /* (NEC PC98) */
|
|
||||||
public static final int KEY_F15 = 0x66; /* (NEC PC98) */
|
|
||||||
public static final int KEY_KANA = 0x70; /* (Japanese keyboard) */
|
|
||||||
public static final int KEY_CONVERT = 0x79; /* (Japanese keyboard) */
|
|
||||||
public static final int KEY_NOCONVERT = 0x7B; /* (Japanese keyboard) */
|
|
||||||
public static final int KEY_YEN = 0x7D; /* (Japanese keyboard) */
|
|
||||||
public static final int KEY_NUMPADEQUALS = 0x8D; /* = on numeric keypad (NEC PC98) */
|
|
||||||
public static final int KEY_CIRCUMFLEX = 0x90; /* (Japanese keyboard) */
|
|
||||||
public static final int KEY_AT = 0x91; /* (NEC PC98) */
|
|
||||||
public static final int KEY_COLON = 0x92; /* (NEC PC98) */
|
|
||||||
public static final int KEY_UNDERLINE = 0x93; /* (NEC PC98) */
|
|
||||||
public static final int KEY_KANJI = 0x94; /* (Japanese keyboard) */
|
|
||||||
public static final int KEY_STOP = 0x95; /* (NEC PC98) */
|
|
||||||
public static final int KEY_AX = 0x96; /* (Japan AX) */
|
|
||||||
public static final int KEY_UNLABELED = 0x97; /* (J3100) */
|
|
||||||
public static final int KEY_NUMPADENTER = 0x9C; /* Enter on numeric keypad */
|
|
||||||
public static final int KEY_RCONTROL = 0x9D;
|
|
||||||
public static final int KEY_NUMPADCOMMA = 0xB3; /* , on numeric keypad (NEC PC98) */
|
|
||||||
public static final int KEY_DIVIDE = 0xB5; /* / on numeric keypad */
|
|
||||||
public static final int KEY_SYSRQ = 0xB7;
|
|
||||||
public static final int KEY_RMENU = 0xB8; /* right Alt */
|
|
||||||
public static final int KEY_PAUSE = 0xC5; /* Pause */
|
|
||||||
public static final int KEY_HOME = 0xC7; /* Home on arrow keypad */
|
|
||||||
public static final int KEY_UP = 0xC8; /* UpArrow on arrow keypad */
|
|
||||||
public static final int KEY_PRIOR = 0xC9; /* PgUp on arrow keypad */
|
|
||||||
public static final int KEY_LEFT = 0xCB; /* LeftArrow on arrow keypad */
|
|
||||||
public static final int KEY_RIGHT = 0xCD; /* RightArrow on arrow keypad */
|
|
||||||
public static final int KEY_END = 0xCF; /* End on arrow keypad */
|
|
||||||
public static final int KEY_DOWN = 0xD0; /* DownArrow on arrow keypad */
|
|
||||||
public static final int KEY_NEXT = 0xD1; /* PgDn on arrow keypad */
|
|
||||||
public static final int KEY_INSERT = 0xD2; /* Insert on arrow keypad */
|
|
||||||
public static final int KEY_DELETE = 0xD3; /* Delete on arrow keypad */
|
|
||||||
public static final int KEY_LWIN = 0xDB; /* Left Windows key */
|
|
||||||
public static final int KEY_RWIN = 0xDC; /* Right Windows key */
|
|
||||||
public static final int KEY_APPS = 0xDD; /* AppMenu key */
|
|
||||||
public static final int KEY_POWER = 0xDE;
|
|
||||||
public static final int KEY_SLEEP = 0xDF;
|
|
||||||
|
|
||||||
/** A helper for left ALT */
|
/** A helper for left ALT */
|
||||||
public static final int KEY_LALT = KEY_LMENU;
|
public static final int KEY_LALT = KEY_LMENU;
|
||||||
/** A helper for right ALT */
|
/** A helper for right ALT */
|
||||||
|
@ -356,17 +233,7 @@ public class Input {
|
||||||
lastMouseX = getMouseX();
|
lastMouseX = getMouseX();
|
||||||
lastMouseY = getMouseY();
|
lastMouseY = getMouseY();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the character representation of the key identified by the specified code
|
|
||||||
*
|
|
||||||
* @param code The key code of the key to retrieve the name of
|
|
||||||
* @return The name or character representation of the key requested
|
|
||||||
*/
|
|
||||||
public static String getKeyName(int code) {
|
|
||||||
return Keyboard.getKeyName(code);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a particular key has been pressed since this method
|
* Check if a particular key has been pressed since this method
|
||||||
* was last called for the specified key
|
* was last called for the specified key
|
||||||
|
@ -415,16 +282,6 @@ public class Input {
|
||||||
public void clearMousePressedRecord() {
|
public void clearMousePressedRecord() {
|
||||||
Arrays.fill(mousePressed, false);
|
Arrays.fill(mousePressed, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if a particular key is down
|
|
||||||
*
|
|
||||||
* @param code The key code of the key to check
|
|
||||||
* @return True if the key is down
|
|
||||||
*/
|
|
||||||
public boolean isKeyDown(int code) {
|
|
||||||
return Keyboard.isKeyDown(code);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the x position of the mouse cursor
|
* Get the x position of the mouse cursor
|
||||||
|
@ -443,23 +300,13 @@ public class Input {
|
||||||
public int getMouseY() {
|
public int getMouseY() {
|
||||||
return height - Mouse.getY();
|
return height - Mouse.getY();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if a given mouse button is down
|
|
||||||
*
|
|
||||||
* @param button The index of the button to check (starting at 0)
|
|
||||||
* @return True if the mouse button is down
|
|
||||||
*/
|
|
||||||
public boolean isMouseButtonDown(int button) {
|
|
||||||
return Mouse.isButtonDown(button);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if any mouse button is down
|
* Check if any mouse button is down
|
||||||
*
|
*
|
||||||
* @return True if any mouse button is down
|
* @return True if any mouse button is down
|
||||||
*/
|
*/
|
||||||
private boolean anyMouseDown() {
|
public boolean anyMouseDown() {
|
||||||
for (int i=0;i<3;i++) {
|
for (int i=0;i<3;i++) {
|
||||||
if (Mouse.isButtonDown(i)) {
|
if (Mouse.isButtonDown(i)) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -469,6 +316,10 @@ public class Input {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isControlDown() {
|
||||||
|
return Keyboard.isKeyDown(KEY_RCONTROL) || Keyboard.isKeyDown(KEY_LCONTROL);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Poll the state of the input
|
* Poll the state of the input
|
||||||
*
|
*
|
||||||
|
|
|
@ -32,11 +32,11 @@ import org.lwjgl.Sys;
|
||||||
import org.newdawn.slick.Color;
|
import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Font;
|
import org.newdawn.slick.Font;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
import org.newdawn.slick.Input;
|
|
||||||
import org.newdawn.slick.geom.Rectangle;
|
import org.newdawn.slick.geom.Rectangle;
|
||||||
import yugecin.opsudance.core.components.ActionListener;
|
import yugecin.opsudance.core.components.ActionListener;
|
||||||
import yugecin.opsudance.core.components.Component;
|
import yugecin.opsudance.core.components.Component;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -95,7 +95,7 @@ public class TextField extends Component {
|
||||||
|
|
||||||
public void render(Graphics g) {
|
public void render(Graphics g) {
|
||||||
if (lastKey != -1) {
|
if (lastKey != -1) {
|
||||||
if (input.isKeyDown(lastKey)) {
|
if (isKeyDown(lastKey)) {
|
||||||
if (repeatTimer < System.currentTimeMillis()) {
|
if (repeatTimer < System.currentTimeMillis()) {
|
||||||
repeatTimer = System.currentTimeMillis() + KEY_REPEAT_INTERVAL;
|
repeatTimer = System.currentTimeMillis() + KEY_REPEAT_INTERVAL;
|
||||||
keyPressed(lastKey, lastChar);
|
keyPressed(lastKey, lastChar);
|
||||||
|
@ -168,10 +168,8 @@ public class TextField extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void keyPressed(int key, char c) {
|
public void keyPressed(int key, char c) {
|
||||||
if (key != -1)
|
if (key != -1) {
|
||||||
{
|
if (key == KEY_V && input.isControlDown()) {
|
||||||
if ((key == Input.KEY_V) &&
|
|
||||||
((input.isKeyDown(Input.KEY_LCONTROL)) || (input.isKeyDown(Input.KEY_RCONTROL)))) {
|
|
||||||
String text = Sys.getClipboard();
|
String text = Sys.getClipboard();
|
||||||
if (text != null) {
|
if (text != null) {
|
||||||
doPaste(text);
|
doPaste(text);
|
||||||
|
@ -188,7 +186,7 @@ public class TextField extends Component {
|
||||||
}
|
}
|
||||||
lastChar = c;
|
lastChar = c;
|
||||||
|
|
||||||
if (key == Input.KEY_LEFT) { /*
|
if (key == KEY_LEFT) { /*
|
||||||
if (cursorPos > 0) {
|
if (cursorPos > 0) {
|
||||||
cursorPos--;
|
cursorPos--;
|
||||||
}
|
}
|
||||||
|
@ -196,7 +194,7 @@ public class TextField extends Component {
|
||||||
if (consume) {
|
if (consume) {
|
||||||
container.getInput().consumeEvent();
|
container.getInput().consumeEvent();
|
||||||
}
|
}
|
||||||
*/ } else if (key == Input.KEY_RIGHT) { /*
|
*/ } else if (key == KEY_RIGHT) { /*
|
||||||
if (cursorPos < value.length()) {
|
if (cursorPos < value.length()) {
|
||||||
cursorPos++;
|
cursorPos++;
|
||||||
}
|
}
|
||||||
|
@ -204,9 +202,9 @@ public class TextField extends Component {
|
||||||
if (consume) {
|
if (consume) {
|
||||||
container.getInput().consumeEvent();
|
container.getInput().consumeEvent();
|
||||||
}
|
}
|
||||||
*/ } else if (key == Input.KEY_BACK) {
|
*/ } else if (key == KEY_BACK) {
|
||||||
if ((cursorPos > 0) && (value.length() > 0)) {
|
if ((cursorPos > 0) && (value.length() > 0)) {
|
||||||
if (input.isKeyDown(Input.KEY_LCONTROL) || input.isKeyDown(Input.KEY_RCONTROL)) {
|
if (input.isControlDown()) {
|
||||||
int sp = 0;
|
int sp = 0;
|
||||||
boolean startSpace = Character.isWhitespace(value.charAt(cursorPos - 1));
|
boolean startSpace = Character.isWhitespace(value.charAt(cursorPos - 1));
|
||||||
boolean charSeen = false;
|
boolean charSeen = false;
|
||||||
|
@ -238,7 +236,7 @@ public class TextField extends Component {
|
||||||
cursorPos--;
|
cursorPos--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (key == Input.KEY_DELETE) {
|
} else if (key == KEY_DELETE) {
|
||||||
if (value.length() > cursorPos) {
|
if (value.length() > cursorPos) {
|
||||||
value = value.substring(0,cursorPos) + value.substring(cursorPos+1);
|
value = value.substring(0,cursorPos) + value.substring(cursorPos+1);
|
||||||
}
|
}
|
||||||
|
@ -250,7 +248,7 @@ public class TextField extends Component {
|
||||||
value = value.substring(0, cursorPos) + c;
|
value = value.substring(0, cursorPos) + c;
|
||||||
}
|
}
|
||||||
cursorPos++;
|
cursorPos++;
|
||||||
} else if (key == Input.KEY_RETURN) {
|
} else if (key == KEY_RETURN) {
|
||||||
if (listener != null) {
|
if (listener != null) {
|
||||||
listener.onAction();
|
listener.onAction();
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ import itdelatrisu.opsu.ui.Cursor;
|
||||||
import itdelatrisu.opsu.ui.Fonts;
|
import itdelatrisu.opsu.ui.Fonts;
|
||||||
import itdelatrisu.opsu.ui.UI;
|
import itdelatrisu.opsu.ui.UI;
|
||||||
import org.lwjgl.Sys;
|
import org.lwjgl.Sys;
|
||||||
|
import org.lwjgl.input.Mouse;
|
||||||
import org.lwjgl.openal.AL;
|
import org.lwjgl.openal.AL;
|
||||||
import org.lwjgl.opengl.Display;
|
import org.lwjgl.opengl.Display;
|
||||||
import org.lwjgl.opengl.DisplayMode;
|
import org.lwjgl.opengl.DisplayMode;
|
||||||
|
@ -262,7 +263,8 @@ public class DisplayContainer implements ErrorDumpable, ResolutionChangedListene
|
||||||
|
|
||||||
cursor.updateAngle(renderDelta);
|
cursor.updateAngle(renderDelta);
|
||||||
if (drawCursor) {
|
if (drawCursor) {
|
||||||
cursor.draw(input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON) || input.isMouseButtonDown(Input.MOUSE_RIGHT_BUTTON));
|
cursor.draw(Mouse.isButtonDown(Input.MOUSE_LEFT_BUTTON) ||
|
||||||
|
Mouse.isButtonDown(Input.MOUSE_RIGHT_BUTTON));
|
||||||
}
|
}
|
||||||
UI.drawTooltip(graphics);
|
UI.drawTooltip(graphics);
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ import org.newdawn.slick.Input;
|
||||||
import org.newdawn.slick.InputListener;
|
import org.newdawn.slick.InputListener;
|
||||||
import yugecin.opsudance.events.BarNotifListener;
|
import yugecin.opsudance.events.BarNotifListener;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
|
|
||||||
|
@ -35,22 +36,22 @@ public class GlobalInputListener implements InputListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyReleased(int key, char c) {
|
public boolean keyReleased(int key, char c) {
|
||||||
if (key == Input.KEY_F7) {
|
if (key == KEY_F7) {
|
||||||
OPTION_TARGET_FPS.clickListItem((targetFPSIndex + 1) % targetFPS.length);
|
OPTION_TARGET_FPS.clickListItem((targetFPSIndex + 1) % targetFPS.length);
|
||||||
BarNotifListener.EVENT.make().onBarNotif(String.format("Frame limiter: %s",
|
BarNotifListener.EVENT.make().onBarNotif(String.format("Frame limiter: %s",
|
||||||
OPTION_TARGET_FPS.getValueString()));
|
OPTION_TARGET_FPS.getValueString()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (key == Input.KEY_F10) {
|
if (key == KEY_F10) {
|
||||||
OPTION_DISABLE_MOUSE_BUTTONS.toggle();
|
OPTION_DISABLE_MOUSE_BUTTONS.toggle();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (key == Input.KEY_F12) {
|
if (key == KEY_F12) {
|
||||||
config.takeScreenShot();
|
config.takeScreenShot();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (key == Input.KEY_S && input.isKeyDown(Input.KEY_LMENU) && input.isKeyDown(Input.KEY_LSHIFT) &&
|
if (key == KEY_S && isKeyDown(KEY_LMENU) && isKeyDown(KEY_LSHIFT) &&
|
||||||
input.isKeyDown(Input.KEY_LCONTROL) && !displayContainer.isInState(Game.class)) {
|
input.isControlDown() && !displayContainer.isInState(Game.class)) {
|
||||||
skinservice.reloadSkin();
|
skinservice.reloadSkin();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -58,7 +59,7 @@ public class GlobalInputListener implements InputListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseWheelMoved(int delta) {
|
public boolean mouseWheelMoved(int delta) {
|
||||||
if (input.isKeyDown(Input.KEY_LALT) || input.isKeyDown(Input.KEY_RALT)) {
|
if (isKeyDown(Input.KEY_LALT) || isKeyDown(Input.KEY_RALT)) {
|
||||||
UI.changeVolume((delta < 0) ? -1 : 1);
|
UI.changeVolume((delta < 0) ? -1 : 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
*/
|
*/
|
||||||
package yugecin.opsudance.core.state;
|
package yugecin.opsudance.core.state;
|
||||||
|
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
import org.newdawn.slick.Input;
|
|
||||||
import yugecin.opsudance.core.components.Component;
|
import yugecin.opsudance.core.components.Component;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
@ -165,7 +165,7 @@ public abstract class ComplexOpsuState extends BaseOpsuState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (focusedComponent != null) {
|
if (focusedComponent != null) {
|
||||||
if (key == Input.KEY_ESCAPE) {
|
if (key == Keyboard.KEY_ESCAPE) {
|
||||||
focusedComponent.setFocused(false);
|
focusedComponent.setFocused(false);
|
||||||
focusedComponent = null;
|
focusedComponent = null;
|
||||||
return true;
|
return true;
|
||||||
|
@ -184,7 +184,7 @@ public abstract class ComplexOpsuState extends BaseOpsuState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (focusedComponent != null) {
|
if (focusedComponent != null) {
|
||||||
if (key == Input.KEY_ESCAPE) {
|
if (key == Keyboard.KEY_ESCAPE) {
|
||||||
focusedComponent.setFocused(false);
|
focusedComponent.setFocused(false);
|
||||||
focusedComponent = null;
|
focusedComponent = null;
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -393,7 +393,7 @@ public class Options {
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final ToggleOption OPTION_DISABLE_SOUNDS = new ToggleOption("Disable All Sound Effects", "DisableSound", "May resolve Linux sound driver issues. Requires a restart.", (System.getProperty("os.name").toLowerCase().contains("linux")));
|
public static final ToggleOption OPTION_DISABLE_SOUNDS = new ToggleOption("Disable All Sound Effects", "DisableSound", "May resolve Linux sound driver issues. Requires a restart.", (System.getProperty("os.name").toLowerCase().contains("linux")));
|
||||||
public static final GenericOption OPTION_KEY_LEFT = new GenericOption("Left Game Key", "keyOsuLeft", "Select this option to input a key.", Input.KEY_Z, null, false) {
|
public static final GenericOption OPTION_KEY_LEFT = new GenericOption("Left Game Key", "keyOsuLeft", "Select this option to input a key.", Keyboard.KEY_Z, null, false) {
|
||||||
@Override
|
@Override
|
||||||
public String getValueString () {
|
public String getValueString () {
|
||||||
return Keyboard.getKeyName(intval);
|
return Keyboard.getKeyName(intval);
|
||||||
|
@ -408,12 +408,12 @@ public class Options {
|
||||||
public void read(String s){
|
public void read(String s){
|
||||||
intval = Keyboard.getKeyIndex(s);
|
intval = Keyboard.getKeyIndex(s);
|
||||||
if (intval == Keyboard.KEY_NONE) {
|
if (intval == Keyboard.KEY_NONE) {
|
||||||
intval = Input.KEY_Y;
|
intval = Keyboard.KEY_Y;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final GenericOption OPTION_KEY_RIGHT = new GenericOption("Right Game Key", "keyOsuRight", "Select this option to input a key.", Input.KEY_X, null, false) {
|
public static final GenericOption OPTION_KEY_RIGHT = new GenericOption("Right Game Key", "keyOsuRight", "Select this option to input a key.", Keyboard.KEY_X, null, false) {
|
||||||
@Override
|
@Override
|
||||||
public String getValueString () {
|
public String getValueString () {
|
||||||
return Keyboard.getKeyName(intval);
|
return Keyboard.getKeyName(intval);
|
||||||
|
@ -428,7 +428,7 @@ public class Options {
|
||||||
public void read(String s){
|
public void read(String s){
|
||||||
intval = Keyboard.getKeyIndex(s);
|
intval = Keyboard.getKeyIndex(s);
|
||||||
if (intval == Keyboard.KEY_NONE) {
|
if (intval == Keyboard.KEY_NONE) {
|
||||||
intval = Input.KEY_X;
|
intval = Keyboard.KEY_X;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -23,6 +23,7 @@ import itdelatrisu.opsu.audio.SoundController;
|
||||||
import itdelatrisu.opsu.audio.SoundEffect;
|
import itdelatrisu.opsu.audio.SoundEffect;
|
||||||
import itdelatrisu.opsu.ui.*;
|
import itdelatrisu.opsu.ui.*;
|
||||||
import itdelatrisu.opsu.ui.animations.AnimationEquation;
|
import itdelatrisu.opsu.ui.animations.AnimationEquation;
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.newdawn.slick.*;
|
import org.newdawn.slick.*;
|
||||||
import org.newdawn.slick.gui.TextField;
|
import org.newdawn.slick.gui.TextField;
|
||||||
import yugecin.opsudance.core.DisplayContainer;
|
import yugecin.opsudance.core.DisplayContainer;
|
||||||
|
@ -738,7 +739,7 @@ public class OptionsOverlay extends OverlayOpsuState {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == Input.KEY_ESCAPE) {
|
if (key == Keyboard.KEY_ESCAPE) {
|
||||||
if (openDropdownMenu != null) {
|
if (openDropdownMenu != null) {
|
||||||
openDropdownMenu.keyPressed(key, c);
|
openDropdownMenu.keyPressed(key, c);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -25,7 +25,6 @@ import yugecin.opsudance.options.OptionGroups;
|
||||||
import itdelatrisu.opsu.ui.Fonts;
|
import itdelatrisu.opsu.ui.Fonts;
|
||||||
import org.newdawn.slick.Color;
|
import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Graphics;
|
import org.newdawn.slick.Graphics;
|
||||||
import org.newdawn.slick.Input;
|
|
||||||
import yugecin.opsudance.ObjectColorOverrides;
|
import yugecin.opsudance.ObjectColorOverrides;
|
||||||
import yugecin.opsudance.core.DisplayContainer;
|
import yugecin.opsudance.core.DisplayContainer;
|
||||||
import yugecin.opsudance.core.state.OverlayOpsuState;
|
import yugecin.opsudance.core.state.OverlayOpsuState;
|
||||||
|
@ -34,6 +33,7 @@ import yugecin.opsudance.sbv2.MoveStoryboard;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -108,7 +108,7 @@ public class StoryboardOverlay extends OverlayOpsuState implements OptionsOverla
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onKeyPressed(int key, char c) {
|
public boolean onKeyPressed(int key, char c) {
|
||||||
if (key == Input.KEY_C) {
|
if (key == KEY_C) {
|
||||||
if (speed > 0) {
|
if (speed > 0) {
|
||||||
speed -= 1;
|
speed -= 1;
|
||||||
}
|
}
|
||||||
|
@ -117,24 +117,24 @@ public class StoryboardOverlay extends OverlayOpsuState implements OptionsOverla
|
||||||
} else {
|
} else {
|
||||||
MusicController.setPitch(speed / 10f);
|
MusicController.setPitch(speed / 10f);
|
||||||
}
|
}
|
||||||
} else if (key == Input.KEY_V && speed < 21) {
|
} else if (key == KEY_V && speed < 21) {
|
||||||
if (speed == 0) {
|
if (speed == 0) {
|
||||||
MusicController.resume();
|
MusicController.resume();
|
||||||
}
|
}
|
||||||
speed += 1;
|
speed += 1;
|
||||||
MusicController.setPitch(speed / 10f);
|
MusicController.setPitch(speed / 10f);
|
||||||
} else if (key == Input.KEY_H) {
|
} else if (key == KEY_H) {
|
||||||
hide = !hide;
|
hide = !hide;
|
||||||
} else if (key == Input.KEY_N) {
|
} else if (key == KEY_N) {
|
||||||
optionsOverlay.show();
|
optionsOverlay.show();
|
||||||
if (speed != 0) {
|
if (speed != 0) {
|
||||||
MusicController.pause();
|
MusicController.pause();
|
||||||
}
|
}
|
||||||
} else if (key == Input.KEY_J && index > 0) {
|
} else if (key == KEY_J && index > 0) {
|
||||||
index--;
|
index--;
|
||||||
goBackOneSBIndex();
|
goBackOneSBIndex();
|
||||||
setMusicPosition();
|
setMusicPosition();
|
||||||
} else if (key == Input.KEY_K && index < gameObjects.length - 1) {
|
} else if (key == KEY_K && index < gameObjects.length - 1) {
|
||||||
index++;
|
index++;
|
||||||
updateIndex(index);
|
updateIndex(index);
|
||||||
setMusicPosition();
|
setMusicPosition();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user