Android: Add Wii SYSCONF settings to GUI

Now that PR 8975 is merged, we can finally add this without hacks.

https://bugs.dolphin-emu.org/issues/11605
This commit is contained in:
JosJuice 2020-09-16 11:49:02 +02:00
parent 9c97654603
commit 6e6446be83
7 changed files with 104 additions and 3 deletions

View File

@ -39,6 +39,12 @@ public enum BooleanSetting implements AbstractBooleanSetting
MAIN_RECURSIVE_ISO_PATHS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, MAIN_RECURSIVE_ISO_PATHS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL,
"RecursiveISOPaths", false), "RecursiveISOPaths", false),
SYSCONF_SCREENSAVER(Settings.FILE_SYSCONF, "IPL", "SSV", false),
SYSCONF_WIDESCREEN(Settings.FILE_SYSCONF, "IPL", "AR", true),
SYSCONF_PAL60(Settings.FILE_SYSCONF, "IPL", "E60", true),
SYSCONF_WIIMOTE_MOTOR(Settings.FILE_SYSCONF, "BT", "MOT", true),
GFX_WIDESCREEN_HACK(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "wideScreenHack", false), GFX_WIDESCREEN_HACK(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "wideScreenHack", false),
GFX_SHOW_FPS(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShowFPS", false), GFX_SHOW_FPS(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShowFPS", false),
GFX_ENABLE_GPU_TEXTURE_DECODING(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, GFX_ENABLE_GPU_TEXTURE_DECODING(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS,
@ -134,6 +140,9 @@ public enum BooleanSetting implements AbstractBooleanSetting
@Override @Override
public boolean isRuntimeEditable() public boolean isRuntimeEditable()
{ {
if (mFile.equals(Settings.FILE_SYSCONF))
return false;
for (BooleanSetting setting : NOT_RUNTIME_EDITABLE) for (BooleanSetting setting : NOT_RUNTIME_EDITABLE)
{ {
if (setting == this) if (setting == this)

View File

@ -20,6 +20,13 @@ public enum IntSetting implements AbstractIntSetting
MAIN_LAST_PLATFORM_TAB(Settings.FILE_DOLPHIN, Settings.SECTION_INI_ANDROID, "LastPlatformTab", 0), MAIN_LAST_PLATFORM_TAB(Settings.FILE_DOLPHIN, Settings.SECTION_INI_ANDROID, "LastPlatformTab", 0),
SYSCONF_LANGUAGE(Settings.FILE_SYSCONF, "IPL", "LNG", 0x01),
SYSCONF_SOUND_MODE(Settings.FILE_SYSCONF, "IPL", "SND", 0x01),
SYSCONF_SENSOR_BAR_POSITION(Settings.FILE_SYSCONF, "BT", "BAR", 0x01),
SYSCONF_SENSOR_BAR_SENSITIVITY(Settings.FILE_SYSCONF, "BT", "SENS", 0x03),
SYSCONF_SPEAKER_VOLUME(Settings.FILE_SYSCONF, "BT", "SPKV", 0x58),
GFX_ASPECT_RATIO(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "AspectRatio", 0), GFX_ASPECT_RATIO(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "AspectRatio", 0),
GFX_SAFE_TEXTURE_CACHE_COLOR_SAMPLES(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, GFX_SAFE_TEXTURE_CACHE_COLOR_SAMPLES(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS,
"SafeTextureCacheColorSamples", 128), "SafeTextureCacheColorSamples", 128),
@ -73,6 +80,9 @@ public enum IntSetting implements AbstractIntSetting
@Override @Override
public boolean isRuntimeEditable() public boolean isRuntimeEditable()
{ {
if (mFile.equals(Settings.FILE_SYSCONF))
return false;
for (IntSetting setting : NOT_RUNTIME_EDITABLE) for (IntSetting setting : NOT_RUNTIME_EDITABLE)
{ {
if (setting == this) if (setting == this)

View File

@ -17,6 +17,7 @@ import java.util.Map;
public class Settings implements Closeable public class Settings implements Closeable
{ {
public static final String FILE_DOLPHIN = "Dolphin"; public static final String FILE_DOLPHIN = "Dolphin";
public static final String FILE_SYSCONF = "SYSCONF";
public static final String FILE_GFX = "GFX"; public static final String FILE_GFX = "GFX";
public static final String FILE_LOGGER = "Logger"; public static final String FILE_LOGGER = "Logger";
public static final String FILE_GCPAD = "GCPadNew"; public static final String FILE_GCPAD = "GCPadNew";

View File

@ -360,8 +360,8 @@ public final class SettingsFragmentPresenter
private void addGameCubeSettings(ArrayList<SettingsItem> sl) private void addGameCubeSettings(ArrayList<SettingsItem> sl)
{ {
sl.add(new SingleChoiceSetting(IntSetting.MAIN_GC_LANGUAGE, R.string.gamecube_system_language, sl.add(new SingleChoiceSetting(IntSetting.MAIN_GC_LANGUAGE, R.string.system_language, 0,
0, R.array.gameCubeSystemLanguageEntries, R.array.gameCubeSystemLanguageValues)); R.array.gameCubeSystemLanguageEntries, R.array.gameCubeSystemLanguageValues));
sl.add(new SingleChoiceSetting(IntSetting.MAIN_SLOT_A, R.string.slot_a_device, 0, sl.add(new SingleChoiceSetting(IntSetting.MAIN_SLOT_A, R.string.slot_a_device, 0,
R.array.slotDeviceEntries, R.array.slotDeviceValues)); R.array.slotDeviceEntries, R.array.slotDeviceValues));
sl.add(new SingleChoiceSetting(IntSetting.MAIN_SLOT_B, R.string.slot_b_device, 0, sl.add(new SingleChoiceSetting(IntSetting.MAIN_SLOT_B, R.string.slot_b_device, 0,
@ -370,10 +370,28 @@ public final class SettingsFragmentPresenter
private void addWiiSettings(ArrayList<SettingsItem> sl) private void addWiiSettings(ArrayList<SettingsItem> sl)
{ {
sl.add(new SingleChoiceSetting(IntSetting.SYSCONF_LANGUAGE, R.string.system_language, 0,
R.array.wiiSystemLanguageEntries, R.array.wiiSystemLanguageValues));
sl.add(new CheckBoxSetting(BooleanSetting.SYSCONF_WIDESCREEN, R.string.wii_widescreen,
R.string.wii_widescreen_description));
sl.add(new CheckBoxSetting(BooleanSetting.SYSCONF_PAL60, R.string.wii_pal60,
R.string.wii_pal60_description));
sl.add(new CheckBoxSetting(BooleanSetting.SYSCONF_SCREENSAVER, R.string.wii_screensaver,
R.string.wii_screensaver_description));
sl.add(new SingleChoiceSetting(IntSetting.SYSCONF_SOUND_MODE, R.string.sound_mode, 0,
R.array.soundModeEntries, R.array.soundModeValues));
sl.add(new CheckBoxSetting(BooleanSetting.MAIN_WII_SD_CARD, R.string.insert_sd_card, sl.add(new CheckBoxSetting(BooleanSetting.MAIN_WII_SD_CARD, R.string.insert_sd_card,
R.string.insert_sd_card_description)); R.string.insert_sd_card_description));
sl.add(new CheckBoxSetting(BooleanSetting.MAIN_ALLOW_SD_WRITES, sl.add(new CheckBoxSetting(BooleanSetting.MAIN_ALLOW_SD_WRITES,
R.string.wii_sd_card_allow_writes, 0)); R.string.wii_sd_card_allow_writes, 0));
sl.add(new CheckBoxSetting(BooleanSetting.SYSCONF_WIIMOTE_MOTOR, R.string.wiimote_rumble, 0));
sl.add(new IntSliderSetting(IntSetting.SYSCONF_SPEAKER_VOLUME, R.string.wiimote_volume, 0, 0,
127, ""));
sl.add(new IntSliderSetting(IntSetting.SYSCONF_SENSOR_BAR_SENSITIVITY,
R.string.sensor_bar_sensitivity, 0, 1, 5, ""));
sl.add(new SingleChoiceSetting(IntSetting.SYSCONF_SENSOR_BAR_POSITION,
R.string.sensor_bar_position, 0, R.array.sensorBarPositionEntries,
R.array.sensorBarPositionValues));
sl.add(new CheckBoxSetting(BooleanSetting.MAIN_WIIMOTE_CONTINUOUS_SCANNING, sl.add(new CheckBoxSetting(BooleanSetting.MAIN_WIIMOTE_CONTINUOUS_SCANNING,
R.string.wiimote_scanning, R.string.wiimote_scanning_description)); R.string.wiimote_scanning, R.string.wiimote_scanning_description));
sl.add(new CheckBoxSetting(BooleanSetting.MAIN_WIIMOTE_ENABLE_SPEAKER, R.string.wiimote_speaker, sl.add(new CheckBoxSetting(BooleanSetting.MAIN_WIIMOTE_ENABLE_SPEAKER, R.string.wiimote_speaker,

View File

@ -85,6 +85,54 @@
<item>8</item> <item>8</item>
</integer-array> </integer-array>
<!-- GameCube System Languages -->
<string-array name="wiiSystemLanguageEntries">
<item>Japanese</item>
<item>English</item>
<item>German</item>
<item>French</item>
<item>Spanish</item>
<item>Italian</item>
<item>Dutch</item>
<item>Simplified Chinese</item>
<item>Traditional Chinese</item>
<item>Korean</item>
</string-array>
<integer-array name="wiiSystemLanguageValues" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
</integer-array>
<!-- Sound Mode -->
<string-array name="soundModeEntries">
<item>Mono</item>
<item>Stereo</item>
<item>Surround</item>
</string-array>
<integer-array name="soundModeValues" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</integer-array>
<!-- Sensor Bar Position -->
<string-array name="sensorBarPositionEntries">
<item>Top</item>
<item>Bottom</item>
</string-array>
<integer-array name="sensorBarPositionValues" translatable="false">
<item>1</item>
<item>0</item>
</integer-array>
<!-- Log Verbosity selection based on LOG_LEVELS in Common/Logging/Log.h --> <!-- Log Verbosity selection based on LOG_LEVELS in Common/Logging/Log.h -->
<string-array name="logVerbosityEntriesMaxLevelInfo" translatable="false"> <string-array name="logVerbosityEntriesMaxLevelInfo" translatable="false">
<item>Notice</item> <item>Notice</item>

View File

@ -128,13 +128,24 @@
<string name="speed_limit">Speed Limit (0% = Unlimited)</string> <string name="speed_limit">Speed Limit (0% = Unlimited)</string>
<string name="overclock_warning">WARNING: Changing this from the default (100%) WILL break games and cause glitches. Please do not report bugs that occur with a non-default clock.</string> <string name="overclock_warning">WARNING: Changing this from the default (100%) WILL break games and cause glitches. Please do not report bugs that occur with a non-default clock.</string>
<string name="gamecube_submenu">GameCube</string> <string name="gamecube_submenu">GameCube</string>
<string name="gamecube_system_language">System Language</string> <string name="system_language">System Language</string>
<string name="slot_a_device">GameCube Slot A Device</string> <string name="slot_a_device">GameCube Slot A Device</string>
<string name="slot_b_device">GameCube Slot B Device</string> <string name="slot_b_device">GameCube Slot B Device</string>
<string name="wii_submenu">Wii</string> <string name="wii_submenu">Wii</string>
<string name="wii_widescreen">Widescreen</string>
<string name="wii_widescreen_description">Changes aspect ratio from 4:3 to 16:9 in games that support it.</string>
<string name="wii_pal60">Use PAL60 Mode (EuRGB60)</string>
<string name="wii_pal60_description">Changes refresh rate from 50 Hz to 60 Hz in PAL games that support it.</string>
<string name="wii_screensaver">Enable Screen Saver</string>
<string name="wii_screensaver_description">Dims the screen after five minutes of inactivity.</string>
<string name="sound_mode">Sound</string>
<string name="insert_sd_card">Insert SD Card</string> <string name="insert_sd_card">Insert SD Card</string>
<string name="insert_sd_card_description">Supports SD and SDHC. Default size is 128 MB.</string> <string name="insert_sd_card_description">Supports SD and SDHC. Default size is 128 MB.</string>
<string name="wii_sd_card_allow_writes">Allow Writes to SD Card</string> <string name="wii_sd_card_allow_writes">Allow Writes to SD Card</string>
<string name="wiimote_rumble">Wii Remote Rumble</string>
<string name="wiimote_volume">Wii Remote Speaker Volume</string>
<string name="sensor_bar_sensitivity">Sensor Bar Sensitivity</string>
<string name="sensor_bar_position">Sensor Bar Position</string>
<string name="wiimote_scanning">Wii Remote Continuous Scanning</string> <string name="wiimote_scanning">Wii Remote Continuous Scanning</string>
<string name="wiimote_scanning_description">Leave this on if you are using a DolphinBar for real Wiimote support.</string> <string name="wiimote_scanning_description">Leave this on if you are using a DolphinBar for real Wiimote support.</string>
<string name="wiimote_speaker">Wii Remote Speaker</string> <string name="wiimote_speaker">Wii Remote Speaker</string>

View File

@ -25,6 +25,10 @@ static Config::Location GetLocation(JNIEnv* env, jstring file, jstring section,
{ {
system = Config::System::Main; system = Config::System::Main;
} }
else if (decoded_file == "SYSCONF")
{
system = Config::System::SYSCONF;
}
else if (decoded_file == "GFX") else if (decoded_file == "GFX")
{ {
system = Config::System::GFX; system = Config::System::GFX;