From 693d7055c22584c11a4efa68f3e90696bcdde1ed Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 18 Feb 2022 00:38:47 +0800 Subject: [PATCH] simpler adventure mode screen settings - available modes 720p, 768p, 900p, 1080p since the classic mode and adventure mode uses the same config. --- .../src/forge/adventure/data/SettingData.java | 1 + .../forge/adventure/scene/SettingsScene.java | 42 ++++++++++++------- .../src/forge/adventure/util/Config.java | 2 + .../res/adventure/Shandalar/skin/ui_skin.json | 2 +- 4 files changed, 30 insertions(+), 17 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/data/SettingData.java b/forge-gui-mobile/src/forge/adventure/data/SettingData.java index 6c80280c2fd..8c25e724b73 100644 --- a/forge-gui-mobile/src/forge/adventure/data/SettingData.java +++ b/forge-gui-mobile/src/forge/adventure/data/SettingData.java @@ -12,4 +12,5 @@ public class SettingData { public int height; public String plane; public boolean fullScreen; + public String videomode; } diff --git a/forge-gui-mobile/src/forge/adventure/scene/SettingsScene.java b/forge-gui-mobile/src/forge/adventure/scene/SettingsScene.java index 1552b00788b..ddcf1574292 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/SettingsScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/SettingsScene.java @@ -173,6 +173,32 @@ public class SettingsScene extends UIScene { settingGroup.add(plane).align(Align.right); if (!GuiBase.isAndroid()) { + SelectBox videomode = Controls.newComboBox(new String[]{"720p", "768p", "900p", "1080p"}, Config.instance().getSettingData().videomode, new Function() { + @Override + public Void apply(Object o) { + String mode = (String)o; + if (mode == null) + mode = "720p"; + Config.instance().getSettingData().videomode = mode; + if (mode.equalsIgnoreCase("768p")) { + Config.instance().getSettingData().width = 1366; + Config.instance().getSettingData().height = 768; + } else if (mode.equalsIgnoreCase("900p")) { + Config.instance().getSettingData().width = 1600; + Config.instance().getSettingData().height = 900; + } else if (mode.equalsIgnoreCase("1080p")) { + Config.instance().getSettingData().width = 1920; + Config.instance().getSettingData().height = 1080; + } else { + Config.instance().getSettingData().width = 1280; + Config.instance().getSettingData().height = 720; + } + Config.instance().saveSettings(); + return null; + } + }); + addLabel("Video Mode (Restart to apply)"); + settingGroup.add(videomode).align(Align.right); addSettingField("Fullscreen", Config.instance().getSettingData().fullScreen, new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { @@ -180,22 +206,6 @@ public class SettingsScene extends UIScene { Config.instance().saveSettings(); } }); - addSettingField("Screen width", Config.instance().getSettingData().width, new ChangeListener() { - @Override - public void changed(ChangeEvent event, Actor actor) { - String text=((TextField) actor).getText(); - Config.instance().getSettingData().width=text==null||text.isEmpty()?0:Integer.valueOf(text); - Config.instance().saveSettings(); - } - }); - addSettingField("Screen height", Config.instance().getSettingData().height, new ChangeListener() { - @Override - public void changed(ChangeEvent event, Actor actor) { - String text=((TextField) actor).getText(); - Config.instance().getSettingData().height=text==null||text.isEmpty()?0:Integer.valueOf(text); - Config.instance().saveSettings(); - } - }); } addCheckBox(localizer.getMessage("lblCardName"), ForgePreferences.FPref.UI_OVERLAY_CARD_NAME); addSettingSlider(localizer.getMessage("cbAdjustMusicVolume"), ForgePreferences.FPref.UI_VOL_MUSIC,0,100); diff --git a/forge-gui-mobile/src/forge/adventure/util/Config.java b/forge-gui-mobile/src/forge/adventure/util/Config.java index 7900280207f..211dd6dc402 100644 --- a/forge-gui-mobile/src/forge/adventure/util/Config.java +++ b/forge-gui-mobile/src/forge/adventure/util/Config.java @@ -62,6 +62,8 @@ public class Config { settingsData.width=1280; settingsData.height=720; } + if(settingsData.videomode == null || settingsData.videomode.isEmpty()) + settingsData.videomode="720p"; this.plane = settingsData.plane; currentConfig = this; diff --git a/forge-gui/res/adventure/Shandalar/skin/ui_skin.json b/forge-gui/res/adventure/Shandalar/skin/ui_skin.json index c5f56ce7fab..bd93e8ebbe3 100644 --- a/forge-gui/res/adventure/Shandalar/skin/ui_skin.json +++ b/forge-gui/res/adventure/Shandalar/skin/ui_skin.json @@ -337,7 +337,7 @@ "com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle": { "default": { "font": "default", - "fontColor": "RGBA_0_0_0_255", + "fontColor": "RGBA_255_255_255_255", "scrollStyle": "default", "listStyle": "default" }