diff options
| author | JMC47 <JMC4789@gmail.com> | 2020-09-22 14:03:56 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-22 14:03:56 -0400 |
| commit | f33767f19cca6ee95af9727f0050f27e2571f770 (patch) | |
| tree | eec5cc6be202dac8099f4f34c4ab6b655c564041 /Source/Android | |
| parent | 50b5224d0628ff15af12c169304a5bebd50c7913 (diff) | |
| parent | 7749e8c10c65dfb7c8f31d0e3793bcc143ea9c14 (diff) | |
Merge pull request #9088 from JosJuice/android-sysconf
Android: Add Wii SYSCONF settings to GUI
Diffstat (limited to 'Source/Android')
12 files changed, 129 insertions, 19 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java index 29269e40d3..59a7a7161c 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java @@ -39,6 +39,12 @@ public enum BooleanSetting implements AbstractBooleanSetting MAIN_RECURSIVE_ISO_PATHS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "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_SHOW_FPS(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShowFPS", false), GFX_ENABLE_GPU_TEXTURE_DECODING(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, @@ -134,6 +140,9 @@ public enum BooleanSetting implements AbstractBooleanSetting @Override public boolean isRuntimeEditable() { + if (mFile.equals(Settings.FILE_SYSCONF)) + return false; + for (BooleanSetting setting : NOT_RUNTIME_EDITABLE) { if (setting == this) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java index 7fc265d38f..b6e0c6c290 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java @@ -20,6 +20,13 @@ public enum IntSetting implements AbstractIntSetting 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_SAFE_TEXTURE_CACHE_COLOR_SAMPLES(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "SafeTextureCacheColorSamples", 128), @@ -73,6 +80,9 @@ public enum IntSetting implements AbstractIntSetting @Override public boolean isRuntimeEditable() { + if (mFile.equals(Settings.FILE_SYSCONF)) + return false; + for (IntSetting setting : NOT_RUNTIME_EDITABLE) { if (setting == this) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.java index 5d650371c4..46222ed2e6 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.java @@ -17,6 +17,7 @@ import java.util.Map; public class Settings implements Closeable { 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_LOGGER = "Logger"; public static final String FILE_GCPAD = "GCPadNew"; diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java index 7d9df45056..525ee7341b 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java @@ -8,10 +8,10 @@ public class FloatSliderSetting extends SliderSetting { protected AbstractFloatSetting mSetting; - public FloatSliderSetting(AbstractFloatSetting setting, int titleId, int descriptionId, int max, - String units) + public FloatSliderSetting(AbstractFloatSetting setting, int titleId, int descriptionId, int min, + int max, String units) { - super(titleId, descriptionId, max, units); + super(titleId, descriptionId, min, max, units); mSetting = setting; } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java index 9c54346bba..7ca8c4df93 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java @@ -8,10 +8,10 @@ public final class IntSliderSetting extends SliderSetting { private AbstractIntSetting mSetting; - public IntSliderSetting(AbstractIntSetting setting, int titleId, int descriptionId, int max, - String units) + public IntSliderSetting(AbstractIntSetting setting, int titleId, int descriptionId, int min, + int max, String units) { - super(titleId, descriptionId, max, units); + super(titleId, descriptionId, min, max, units); mSetting = setting; } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java index e0dbbc29d3..8811fb8f16 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java @@ -6,10 +6,10 @@ import org.dolphinemu.dolphinemu.features.settings.model.Settings; public final class PercentSliderSetting extends FloatSliderSetting { - public PercentSliderSetting(AbstractFloatSetting setting, int titleId, int descriptionId, int max, - String units) + public PercentSliderSetting(AbstractFloatSetting setting, int titleId, int descriptionId, int min, + int max, String units) { - super(setting, titleId, descriptionId, max, units); + super(setting, titleId, descriptionId, min, max, units); } @Override diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java index a50d5203a6..c922a7b156 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java @@ -4,18 +4,25 @@ import org.dolphinemu.dolphinemu.features.settings.model.Settings; public abstract class SliderSetting extends SettingsItem { + private int mMin; private int mMax; private String mUnits; - public SliderSetting(int nameId, int descriptionId, int max, String units) + public SliderSetting(int nameId, int descriptionId, int min, int max, String units) { super(nameId, descriptionId); + mMin = min; mMax = max; mUnits = units; } public abstract int getSelectedValue(Settings settings); + public int getMin() + { + return mMin; + } + public int getMax() { return mMax; diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java index 01ecfd3ffc..605c23854e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java @@ -239,6 +239,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde SeekBar seekbar = view.findViewById(R.id.seekbar); + seekbar.setMin(item.getMin()); seekbar.setMax(item.getMax()); seekbar.setProgress(mSeekbarProgress); seekbar.setKeyProgressIncrement(5); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java index e36a960179..f3855edc84 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java @@ -234,8 +234,8 @@ public final class SettingsFragmentPresenter sl.add(new CheckBoxSetting(BooleanSetting.MAIN_OVERRIDE_REGION_SETTINGS, R.string.override_region_settings, 0)); sl.add(new CheckBoxSetting(BooleanSetting.MAIN_AUTO_DISC_CHANGE, R.string.auto_disc_change, 0)); - sl.add(new PercentSliderSetting(FloatSetting.MAIN_EMULATION_SPEED, R.string.speed_limit, 0, 200, - "%")); + sl.add(new PercentSliderSetting(FloatSetting.MAIN_EMULATION_SPEED, R.string.speed_limit, 0, 0, + 200, "%")); sl.add(new CheckBoxSetting(BooleanSetting.MAIN_ANALYTICS_ENABLED, R.string.analytics, 0)); sl.add(new CheckBoxSetting(BooleanSetting.MAIN_ENABLE_SAVESTATES, R.string.enable_save_states, R.string.enable_save_states_description)); @@ -334,7 +334,8 @@ public final class SettingsFragmentPresenter dspEngineEntries, dspEngineValues)); sl.add(new CheckBoxSetting(BooleanSetting.MAIN_AUDIO_STRETCH, R.string.audio_stretch, R.string.audio_stretch_description)); - sl.add(new IntSliderSetting(IntSetting.MAIN_AUDIO_VOLUME, R.string.audio_volume, 0, 100, "%")); + sl.add(new IntSliderSetting(IntSetting.MAIN_AUDIO_VOLUME, R.string.audio_volume, 0, 0, 100, + "%")); } private void addPathsSettings(ArrayList<SettingsItem> sl) @@ -359,8 +360,8 @@ public final class SettingsFragmentPresenter private void addGameCubeSettings(ArrayList<SettingsItem> sl) { - sl.add(new SingleChoiceSetting(IntSetting.MAIN_GC_LANGUAGE, R.string.gamecube_system_language, - 0, R.array.gameCubeSystemLanguageEntries, R.array.gameCubeSystemLanguageValues)); + sl.add(new SingleChoiceSetting(IntSetting.MAIN_GC_LANGUAGE, R.string.system_language, 0, + R.array.gameCubeSystemLanguageEntries, R.array.gameCubeSystemLanguageValues)); sl.add(new SingleChoiceSetting(IntSetting.MAIN_SLOT_A, R.string.slot_a_device, 0, R.array.slotDeviceEntries, R.array.slotDeviceValues)); sl.add(new SingleChoiceSetting(IntSetting.MAIN_SLOT_B, R.string.slot_b_device, 0, @@ -369,10 +370,28 @@ public final class SettingsFragmentPresenter 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, R.string.insert_sd_card_description)); sl.add(new CheckBoxSetting(BooleanSetting.MAIN_ALLOW_SD_WRITES, 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, R.string.wiimote_scanning, R.string.wiimote_scanning_description)); sl.add(new CheckBoxSetting(BooleanSetting.MAIN_WIIMOTE_ENABLE_SPEAKER, R.string.wiimote_speaker, @@ -407,7 +426,7 @@ public final class SettingsFragmentPresenter sl.add(new CheckBoxSetting(BooleanSetting.MAIN_OVERCLOCK_ENABLE, R.string.overclock_enable, R.string.overclock_enable_description)); sl.add(new PercentSliderSetting(FloatSetting.MAIN_OVERCLOCK, R.string.overclock_title, - R.string.overclock_title_description, 400, "%")); + R.string.overclock_title_description, 0, 400, "%")); } private void addGcPadSettings(ArrayList<SettingsItem> sl) @@ -649,9 +668,9 @@ public final class SettingsFragmentPresenter sl.add(new SingleChoiceSetting(IntSetting.GFX_STEREO_MODE, R.string.stereoscopy_mode, 0, R.array.stereoscopyEntries, R.array.stereoscopyValues)); sl.add(new IntSliderSetting(IntSetting.GFX_STEREO_DEPTH, R.string.stereoscopy_depth, - R.string.stereoscopy_depth_description, 100, "%")); + R.string.stereoscopy_depth_description, 0, 100, "%")); sl.add(new IntSliderSetting(IntSetting.GFX_STEREO_CONVERGENCE_PERCENTAGE, - R.string.stereoscopy_convergence, R.string.stereoscopy_convergence_description, 200, + R.string.stereoscopy_convergence, R.string.stereoscopy_convergence_description, 0, 200, "%")); sl.add(new CheckBoxSetting(BooleanSetting.GFX_STEREO_SWAP_EYES, R.string.stereoscopy_swap_eyes, R.string.stereoscopy_swap_eyes_description)); diff --git a/Source/Android/app/src/main/res/values/arrays.xml b/Source/Android/app/src/main/res/values/arrays.xml index 5adc40229d..275f6257a6 100644 --- a/Source/Android/app/src/main/res/values/arrays.xml +++ b/Source/Android/app/src/main/res/values/arrays.xml @@ -85,6 +85,54 @@ <item>8</item> </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 --> <string-array name="logVerbosityEntriesMaxLevelInfo" translatable="false"> <item>Notice</item> diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index 7ced055909..a600725e6e 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -128,13 +128,24 @@ <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="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_b_device">GameCube Slot B Device</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_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="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_description">Leave this on if you are using a DolphinBar for real Wiimote support.</string> <string name="wiimote_speaker">Wii Remote Speaker</string> diff --git a/Source/Android/jni/NativeConfig.cpp b/Source/Android/jni/NativeConfig.cpp index 3a3a5289c3..dfc90329af 100644 --- a/Source/Android/jni/NativeConfig.cpp +++ b/Source/Android/jni/NativeConfig.cpp @@ -25,6 +25,10 @@ static Config::Location GetLocation(JNIEnv* env, jstring file, jstring section, { system = Config::System::Main; } + else if (decoded_file == "SYSCONF") + { + system = Config::System::SYSCONF; + } else if (decoded_file == "GFX") { system = Config::System::GFX; |
