From f22498ae7dedc3b0043d601e6787fde814b11690 Mon Sep 17 00:00:00 2001 From: Jeffrey Han Date: Wed, 12 Aug 2015 19:06:58 -0500 Subject: [PATCH] Updater UI improvements. Replaced ugly 'bang' image with 'fa-arrow-circle-o-down' and 'fa-restart' icons from Font Awesome v4.4.0 (https://github.com/FortAwesome/Font-Awesome). Signed-off-by: Jeffrey Han --- res/bang.png | Bin 653 -> 0 bytes res/download.png | Bin 0 -> 3316 bytes res/update.png | Bin 0 -> 2654 bytes src/itdelatrisu/opsu/GameImage.java | 10 ++- src/itdelatrisu/opsu/states/MainMenu.java | 100 ++++++++++++---------- 5 files changed, 65 insertions(+), 45 deletions(-) delete mode 100644 res/bang.png create mode 100644 res/download.png create mode 100644 res/update.png diff --git a/res/bang.png b/res/bang.png deleted file mode 100644 index 6f1e3274a935d2927403f1f8d33138a311a5bafb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653 zcmV;80&@L{P)^TW5B<7*a zViGM?1C%1OD1|iG0TTN!1bfvcvY&qblcsT6(pt|0>-cX=3Rn<;0A?kz83oKqV$+h? zj3hQ9giR@+EQAdypic-JluR~Q>|{z3(?VFk0$zl$7X>^^Vy%D$EDd`U!k!cm31JOM zEKsmf3e5K*n);j_v$KZ0|dmw`nvTjT5-J zsh8k zw4Z}UKz|0PMf*W}Gr7Z-tOe|6fB+6mP#Ol=>t>w7udu9jvwp~5lPoJ{?Poh00mk_G zn!kSQ*D&o&d(>YCR)NVMU^g}h(vvxFQvWLmSit@>R;Il=u;STS1D4CQuf~g>u>mM@ n%>ov%fCVgI0Sj2bdV#$HE_$$wwu}HM00000NkvXXu0mjfv8WI( diff --git a/res/download.png b/res/download.png new file mode 100644 index 0000000000000000000000000000000000000000..86d75d8244a73f5a3293472d27d1e894c1c7554a GIT binary patch literal 3316 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 Next"); + return; } else if (musicPrevious.contains(x, y)) { if (!previous.isEmpty()) { SongMenu menu = (SongMenu) game.getState(Opsu.STATE_SONGMENU); @@ -489,16 +493,18 @@ public class MainMenu extends BasicGameState { } else MusicController.setPosition(0); UI.sendBarNotification("<< Previous"); + return; } // downloads button actions - else if (downloadsButton.contains(x, y)) { + if (downloadsButton.contains(x, y)) { SoundController.playSound(SoundEffect.MENUHIT); game.enterState(Opsu.STATE_DOWNLOADSMENU, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); + return; } // repository button actions - else if (repoButton != null && repoButton.contains(x, y)) { + if (repoButton != null && repoButton.contains(x, y)) { try { Desktop.getDesktop().browse(Options.REPOSITORY_URI); } catch (UnsupportedOperationException e) { @@ -506,28 +512,31 @@ public class MainMenu extends BasicGameState { } catch (IOException e) { ErrorHandler.error("Could not browse to repository URI.", e, false); } + return; } // update button actions - else if (Updater.get().showButton() && updateButton.contains(x, y)) { - switch (Updater.get().getStatus()) { - case UPDATE_AVAILABLE: + if (Updater.get().showButton()) { + Updater.Status status = Updater.get().getStatus(); + if (updateButton.contains(x, y) && status == Updater.Status.UPDATE_AVAILABLE) { SoundController.playSound(SoundEffect.MENUHIT); Updater.get().startDownload(); - break; - case UPDATE_DOWNLOADED: + updateButton.removeHoverEffects(); + updateButton.setHoverAnimationDuration(800); + updateButton.setHoverAnimationEquation(AnimationEquation.IN_OUT_QUAD); + updateButton.setHoverFade(0.6f); + return; + } else if (restartButton.contains(x, y) && status == Updater.Status.UPDATE_DOWNLOADED) { SoundController.playSound(SoundEffect.MENUHIT); Updater.get().prepareUpdate(); container.setForceExit(false); container.exit(); - break; - default: - break; + return; } } // start moving logo (if clicked) - else if (logoState == LogoState.DEFAULT || logoState == LogoState.CLOSING) { + if (logoState == LogoState.DEFAULT || logoState == LogoState.CLOSING) { if (logo.contains(x, y, 0.25f)) { logoState = LogoState.OPENING; logoOpen.setTime(0); @@ -535,6 +544,7 @@ public class MainMenu extends BasicGameState { playButton.getImage().setAlpha(0f); exitButton.getImage().setAlpha(0f); SoundController.playSound(SoundEffect.MENUHIT); + return; } } @@ -543,8 +553,11 @@ public class MainMenu extends BasicGameState { if (logo.contains(x, y, 0.25f) || playButton.contains(x, y, 0.25f)) { SoundController.playSound(SoundEffect.MENUHIT); enterSongMenu(); - } else if (exitButton.contains(x, y, 0.25f)) + return; + } else if (exitButton.contains(x, y, 0.25f)) { container.exit(); + return; + } } } @@ -629,6 +642,7 @@ public class MainMenu extends BasicGameState { if (repoButton != null) repoButton.resetHover(); updateButton.resetHover(); + restartButton.resetHover(); downloadsButton.resetHover(); }