From 44d45cef919e1b10af241a043b3eab8f4197e8cb Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 31 May 2022 11:46:13 +0800 Subject: [PATCH] add Selector Mode option - Default enables the selector, Adventure or Classic will open their main screen at startup. --- forge-gui-mobile/src/forge/Forge.java | 11 ++++++++++- .../src/forge/screens/settings/SettingsPage.java | 10 ++++++++++ forge-gui/res/languages/de-DE.properties | 2 ++ forge-gui/res/languages/en-US.properties | 2 ++ forge-gui/res/languages/es-ES.properties | 2 ++ forge-gui/res/languages/it-IT.properties | 2 ++ forge-gui/res/languages/ja-JP.properties | 4 +++- forge-gui/res/languages/pt-BR.properties | 2 ++ forge-gui/res/languages/zh-CN.properties | 2 ++ .../localinstance/properties/ForgePreferences.java | 1 + 10 files changed, 36 insertions(+), 2 deletions(-) diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index f0a25c2890b..f1559f292e4 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -99,6 +99,7 @@ public class Forge implements ApplicationListener { public static boolean altZoneTabs = false; public static boolean animatedCardTapUntap = false; public static String enableUIMask = "Crop"; + public static String selector = "Default"; public static boolean enablePreloadExtendedArt = false; public static boolean isTabletDevice = false; public static String locale = "en-US"; @@ -194,6 +195,7 @@ public class Forge implements ApplicationListener { altPlayerLayout = prefs.getPrefBoolean(FPref.UI_ALT_PLAYERINFOLAYOUT); altZoneTabs = prefs.getPrefBoolean(FPref.UI_ALT_PLAYERZONETABS); animatedCardTapUntap = prefs.getPrefBoolean(FPref.UI_ANIMATED_CARD_TAPUNTAP); + selector = prefs.getPref(FPref.UI_SELECTOR_MODE); enableUIMask = prefs.getPref(FPref.UI_ENABLE_BORDER_MASKING); if (prefs.getPref(FPref.UI_ENABLE_BORDER_MASKING).equals("true")) //override old settings if not updated enableUIMask = "Full"; @@ -395,7 +397,14 @@ public class Forge implements ApplicationListener { setTransitionScreen(new TransitionScreen(new Runnable() { @Override public void run() { - splashScreen.setShowModeSelector(true); + if (selector.equals("Classic")) { + openHomeDefault(); + clearSplashScreen(); + } else if (selector.equals("Adventure")) { + openAdventure(); + clearSplashScreen(); + } else + splashScreen.setShowModeSelector(true); //start background music SoundSystem.instance.setBackgroundMusic(MusicPlaylist.MENUS); safeToClose = true; diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java index 108e1bc93f1..6ebff9bf349 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java @@ -179,6 +179,16 @@ public class SettingsPage extends TabPage { } }, 0); } + lstSettings.addItem(new CustomSelectSetting(FPref.UI_SELECTOR_MODE, + Forge.getLocalizer().getMessage("lblSelectorMode"), + Forge.getLocalizer().getMessage("nlSelectorMode"), + new String[]{"Default", "Classic", "Adventure"}) { + @Override + public void valueChanged(String newValue) { + super.valueChanged(newValue); + Forge.selector = FModel.getPreferences().getPref(FPref.UI_SELECTOR_MODE); + } + }, 0); lstSettings.addItem(new BooleanSetting(FPref.USE_SENTRY, Forge.getLocalizer().getMessage("lblAutomaticBugReports"), Forge.getLocalizer().getMessage("nlAutomaticBugReports")), diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index b104c023eec..01f12bf7bc1 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -1062,6 +1062,8 @@ lblFullScreenMode=Vollbild nlFullScreenMode=Aktiviert Vollbild-Modus lblVideoMode=Video-Modus nlVideoMode=Verwendet die ausgewählten Video-Optionen. +lblSelectorMode=Auswahloptionen +nlSelectorMode=Wendet den ausgewählten Modus beim Start an (Standardeinstellung ermöglicht die Option Selector, Classic oder Adventure den Hauptbildschirm beim Start). lblShowFPSDisplay=FPS-Anzeige nlShowFPSDisplay=Aktiviert die Frames-per-second-Anzeige (Experimentell). lblEnableUnknownCards=Erlaube unbekannte Karten diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 19c4607aa79..3cd7a3428b3 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -1063,6 +1063,8 @@ lblFullScreenMode=Fullscreen nlFullScreenMode=Enable Fullscreen mode lblVideoMode=Video Mode nlVideoMode=Applies the selected video mode option. +lblSelectorMode=Selector Mode +nlSelectorMode=Applies the selected mode at startup (Default enables the selector, Classic or Adventure option opens their main screen at startup). lblShowFPSDisplay=Show FPS Display nlShowFPSDisplay=When enabled, show the FPS Display (Experimental). lblEnableUnknownCards=Enable Unknown Cards diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 3677c2d6b80..f1eb222152f 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -1062,6 +1062,8 @@ lblFullScreenMode=Pantalla completa nlFullScreenMode=Enable Fullscreen mode lblVideoMode=Modo de vídeo nlVideoMode=Applies the selected video mode option. +lblSelectorMode=Opciones selectores +nlSelectorMode=Aplica el modo seleccionado al inicio (el valor predeterminado habilita la opción Selector, Classic o Adventure abre su pantalla principal al inicio). lblShowFPSDisplay=Mostrar FPS nlShowFPSDisplay=Cuando está habilitado, muestra los FPS (Experimental). lblEnableUnknownCards=Habilitar cartas desconocidas diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index 30ef6d418b5..dfc7f92be75 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -1061,6 +1061,8 @@ lblFullScreenMode=A schermo intero nlFullScreenMode=Enable Fullscreen mode lblVideoMode=Modalità video nlVideoMode=Applies the selected video mode option. +lblSelectorMode=Opzioni di selezione +nlSelectorMode=Applica la modalità selezionata all'avvio (predefinito abilita l'opzione selettore, classico o avventura apre la schermata principale all'avvio). lblShowFPSDisplay=Mostra indicatore FPS nlShowFPSDisplay=Se abilitato, mostra i Frame Per Secondo (sperimentale). lblEnableUnknownCards=Abilita carte sconosciute diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index eacf967f8bc..d45d71e57f3 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -1062,7 +1062,9 @@ nlEnableMagnifier=When enabled, displays a larger version of the hovered card du lblFullScreenMode=全画面表示 nlFullScreenMode=Enable Fullscreen mode lblVideoMode=ビデオモード -nlVideoMode=Applies the selected video mode option. +nlVideoMode=選択したビデオモードオプションを適用します。 +lblSelectorMode=セレクターオプション +nlSelectorMode=スタートアップで選択したモードを適用します(デフォルトは、セレクター、クラシック、またはアドベンチャーオプションを、起動時にメイン画面を開きます)。 lblShowFPSDisplay=FPS ディスプレイを表示 nlShowFPSDisplay=有効にすると、FPS ディスプレイ(実験的)を表示します。 lblEnableUnknownCards=未知のカードを有効にする diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index 3b80aab88d6..3e0d86a37d3 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -1088,6 +1088,8 @@ lblFullScreenMode=Tela cheia nlFullScreenMode=Ativar modo Tela Cheia lblVideoMode=Modo de Vídeo nlVideoMode=Aplica a opção de modo de vídeo selecionada. +lblSelectorMode=Opções de seletor +nlSelectorMode=Aplica o modo selecionado na inicialização (o padrão permite o seletor, a opção clássica ou de aventura abre sua tela principal na inicialização). lblShowFPSDisplay=Mostrar FPS nlShowFPSDisplay=Quando ativado, exibir o Display FPS (Experimental). lblEnableUnknownCards=Ativar Cartas Desconhecidas diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 31560d5e8bc..00222f23586 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -1063,6 +1063,8 @@ lblFullScreenMode=全屏 nlFullScreenMode=启用全屏模式 lblVideoMode=视频模式 nlVideoMode=应用选定的视频模式。 +lblSelectorMode=选择器选项 +nlSelectorMode=在启动时应用所选模式(默认情况下,启用选择器,经典或冒险选项可以在启动时打开其主屏幕)。 lblShowFPSDisplay=显示当前的FPS值 nlShowFPSDisplay=启用后,将在画面左上角显示当前Forge的FPS(实验性特性)。 lblEnableUnknownCards=启用未知卡牌 diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java index 00acbcd6c7a..ed0384db980 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java @@ -151,6 +151,7 @@ public class ForgePreferences extends PreferencesStore { UI_CARD_COUNTER_DISPLAY_LOCATION(ForgeConstants.CounterDisplayLocation.TOP.getName()), UI_FULLSCREEN_MODE ("false"), UI_VIDEO_MODE ("720p"), + UI_SELECTOR_MODE ("Default"), UI_ANDROID_MINIMIZE_ON_SCRLOCK("false"), UI_ROTATE_PLANE_OR_PHENOMENON("false"), UI_ROTATE_SPLIT_CARDS("true"),