diff --git a/src/itdelatrisu/opsu/OsuParser.java b/src/itdelatrisu/opsu/OsuParser.java index 331e8c79..222102bb 100644 --- a/src/itdelatrisu/opsu/OsuParser.java +++ b/src/itdelatrisu/opsu/OsuParser.java @@ -152,7 +152,14 @@ public class OsuParser { try { switch (tokens[0]) { case "AudioFilename": - osu.audioFilename = new File(file.getParent() + File.separator + tokens[1]); + File audioFileName = new File(file.getParent(), tokens[1]); + if (!osuFiles.isEmpty()) { + // if possible, reuse the same File object from another OsuFile in the group + File groupAudioFileName = osuFiles.get(0).audioFilename; + if (audioFileName.equals(groupAudioFileName)) + audioFileName = groupAudioFileName; + } + osu.audioFilename = audioFileName; break; case "AudioLeadIn": osu.audioLeadIn = Integer.parseInt(tokens[1]); diff --git a/src/itdelatrisu/opsu/states/Game.java b/src/itdelatrisu/opsu/states/Game.java index b2028cc3..df9f63ee 100644 --- a/src/itdelatrisu/opsu/states/Game.java +++ b/src/itdelatrisu/opsu/states/Game.java @@ -644,6 +644,12 @@ public class Game extends BasicGameState { } } break; + case Input.KEY_UP: + Utils.changeVolume(1); + break; + case Input.KEY_DOWN: + Utils.changeVolume(-1); + break; case Input.KEY_F12: Utils.takeScreenShot(); break; diff --git a/src/itdelatrisu/opsu/states/MainMenu.java b/src/itdelatrisu/opsu/states/MainMenu.java index b4b7bd07..8894a865 100644 --- a/src/itdelatrisu/opsu/states/MainMenu.java +++ b/src/itdelatrisu/opsu/states/MainMenu.java @@ -428,6 +428,12 @@ public class MainMenu extends BasicGameState { game.enterState(Opsu.STATE_SONGMENU, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); } break; + case Input.KEY_UP: + Utils.changeVolume(1); + break; + case Input.KEY_DOWN: + Utils.changeVolume(-1); + break; case Input.KEY_F12: Utils.takeScreenShot(); break;