diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java index 5ed1f6a79..a5d78818f 100644 --- a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java @@ -241,7 +241,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter { diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java index 47fe619c7..831e2d1c0 100644 --- a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java @@ -119,7 +119,7 @@ public final class SettingsFragmentPresenter { mView.passSettingsToActivity(mSettings); } - sl.add(new CheckBoxSetting(SettingsFile.KEY_CPU_JIT, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.cpu_jit, 0, true, useCpuJit, true, mView)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_CPU_JIT, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.cpu_jit, R.string.cpu_jit_description, true, useCpuJit, true, mView)); } private void addSystemSettings(ArrayList sl) { @@ -138,8 +138,8 @@ public final class SettingsFragmentPresenter { } sl.add(new SingleChoiceSetting(SettingsFile.KEY_REGION_VALUE, SettingsFile.SECTION_SYSTEM, SettingsFile.SETTINGS_DOLPHIN, R.string.region, 0, R.array.regionNames, R.array.regionValues, -1, region)); - sl.add(new SingleChoiceSetting(SettingsFile.KEY_INIT_CLOCK, SettingsFile.SECTION_SYSTEM, SettingsFile.SETTINGS_DOLPHIN, R.string.init_clock, R.string.init_clock_descrip, R.array.systemClockNames, R.array.systemClockValues, 0, systemClock)); - sl.add(new DateTimeSetting(SettingsFile.KEY_INIT_TIME, SettingsFile.SECTION_SYSTEM, SettingsFile.SETTINGS_DOLPHIN, R.string.init_time, R.string.init_time_descrip, "2000-01-01 00:00:01", dateTime)); + sl.add(new SingleChoiceSetting(SettingsFile.KEY_INIT_CLOCK, SettingsFile.SECTION_SYSTEM, SettingsFile.SETTINGS_DOLPHIN, R.string.init_clock, R.string.init_clock_description, R.array.systemClockNames, R.array.systemClockValues, 0, systemClock)); + sl.add(new DateTimeSetting(SettingsFile.KEY_INIT_TIME, SettingsFile.SECTION_SYSTEM, SettingsFile.SETTINGS_DOLPHIN, R.string.init_time, R.string.init_time_description, "2000-01-01 00:00:01", dateTime)); } private void addGraphicsSettings(ArrayList sl) { @@ -160,9 +160,9 @@ public final class SettingsFragmentPresenter { shadersAccurateMul = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL); shadersAccurateGs = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_SHADERS_ACCURATE_GS); resolutionFactor = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_RESOLUTION_FACTOR); - vsyncEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_USE_VSYNC); frameLimitEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_FRAME_LIMIT_ENABLED); frameLimitValue = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_FRAME_LIMIT); + vsyncEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_USE_VSYNC); } else { mView.passSettingsToActivity(mSettings); } @@ -171,14 +171,14 @@ public final class SettingsFragmentPresenter { mView.passSettingsToActivity(mSettings); } - sl.add(new CheckBoxSetting(SettingsFile.KEY_HW_RENDERER, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.hw_renderer, 0, true, hardwareRenderer, true, mView)); - sl.add(new CheckBoxSetting(SettingsFile.KEY_HW_SHADER, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.hw_shaders, R.string.hw_shaders_descrip, true, hardwareShader, true, mView)); - sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.shaders_accurate_mul, 0, false, shadersAccurateMul)); - sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_GS, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.shaders_accurate_gs, 0, false, shadersAccurateGs)); - sl.add(new SliderSetting(SettingsFile.KEY_RESOLUTION_FACTOR, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.internal_resolution, R.string.internal_resolution_descrip, 10, "x", 1, resolutionFactor)); - sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_VSYNC, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.vsync, 0, false, vsyncEnable)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_HW_RENDERER, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.hw_renderer, R.string.hw_renderer_description, true, hardwareRenderer, true, mView)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_HW_SHADER, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.hw_shaders, R.string.hw_shaders_description, true, hardwareShader, true, mView)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.shaders_accurate_mul, R.string.shaders_accurate_mul_description, false, shadersAccurateMul)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_GS, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.shaders_accurate_gs, R.string.shaders_accurate_gs_description, false, shadersAccurateGs)); + sl.add(new SliderSetting(SettingsFile.KEY_RESOLUTION_FACTOR, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.internal_resolution, R.string.internal_resolution_description, 10, "x", 1, resolutionFactor)); sl.add(new CheckBoxSetting(SettingsFile.KEY_FRAME_LIMIT_ENABLED, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.frame_limit_enable, R.string.frame_limit_enable_description, false, frameLimitEnable)); sl.add(new SliderSetting(SettingsFile.KEY_FRAME_LIMIT, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.frame_limit_slider, R.string.frame_limit_slider_description, 500, "%", 100, frameLimitValue)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_VSYNC, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.vsync, R.string.vsync_description, false, vsyncEnable)); } private void addAudioSettings(ArrayList sl) { diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index fe35c9b3f..ea9607320 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -14,7 +14,7 @@ Analog Radius (High value = High sensitivity) Analog Threshold (Low value = High sensitivity) Input Binding - Press or move an input to bind it to %1$s. + Press or move an input to bind it to %1$s. Buttons @@ -49,67 +49,38 @@ Enable CPU JIT - %s - Dual Core - Split workload to two CPU cores instead of one. Increases speed. + Uses the Just-in-Time (JIT) compiler for CPU emulation. When enabled, game performance will be significantly improved. System clock type - Set the simulated 3DS\'s clock to either reflect that of your device or start at a fixed point. + Set the emulated 3DS clock to either reflect that of your device or start at a simulated date and time. System clock starting time override - If the System clock type is Fixed, this changes at which Date/Time it starts + If the \"System clock type\" setting is set to \"Simulated clock\", this changes the fixed date and time to start at. Emulated region - Video Backend - Select the API used for graphics rendering. Show FPS - Show the number of frames rendered per second as a measure of emulation speed. + Show the number of frames rendered per second as a measure of emulation speed. Enable V-Sync + Synchronizes the game frame rate to the refresh rate of your device. Enable hardware renderer + Uses hardware to emulate 3DS graphics. When enabled, game performance will be significantly improved. Enable hardware shader - Use hardware to emulate 3DS shaders - Enable accurate multiplication in hardware shaders> - Enable accurate geometric shaders in hardware shaders - Enable Limit Speed + Uses hardware to emulate 3DS shaders. When enabled, game performance will be significantly improved. + Enable accurate shader multiplication + Uses more accurate multiplication in hardware shaders, which may fix some graphical bugs. When enabled, performance will be reduced.> + Enable accurate geometric shaders + Uses more accurate geometry shaders in hardware shaders, which may fix some graphical bugs. When enabled, performance will be reduced.> + Enable limit speed When enabled, emulation speed will be limited to a specified percentage of normal speed. - Limit Speed Percent + Limit speed percent Specifies the percentage to limit emulation speed. With the default of 100% emulation will be limited to normal speed. Values higher or lower will increase or decrease the speed limit. - Internal Resolution - Specifies the resolution used to render at. A high resolution will improve visual quality a lot but is also quite heavy on performance and might cause glitches in certain games. Use zero(0) for auto scaling + Internal resolution + Specifies the resolution used to render at. A high resolution will improve visual quality a lot but is also quite heavy on performance and might cause glitches in certain games. Use zero(0) for auto scaling. - Audio Stretching - Stretches audio to reduce stuttering. Increases latency. - - - Hacks - Embedded Frame Buffer - Skip EFB Access from CPU - Ignore any requests from the CPU to read/write to the EFB. - Ignore Format Changes - Ignore any changes to the EFB format. - Store EFB Copies to Texture Only - Stores EFB Copies exclusively on the GPU, bypassing system memory. Causes graphical defects in a small number of games. If unsure, leave this checked. - Texture Cache - Texture Cache Accuracy - The safer the selection, the less likely the emulator will be missing any texture updates from RAM. - GPU Texture Decoding - Decodes textures on the GPU using compute shaders where supported. May improve performance in some scenarios. - External Frame Buffer - Store XFB Copies to Texture Only - Stores XFB Copies exclusively on the GPU, bypassing system memory. Causes graphical defects in a small number of games that need to readback from memory. If unsure, leave this checked. - Immediately Present XFB - Displays the XFB copies as soon as they are created, without waiting for scanout. Causes graphical defects in some games but reduces latency. If unsure, leave this unchecked. - Disable Destination Alpha - Disables emulation of a hardware feature called destination alpha, which is used in many games for various effects. - Fast Depth Calculation - Uses a less accurate algorithm to calculate depth values. - Aspect Ratio - Select what aspect ratio to use when rendering - Shader Compilation Mode - Specifies when to use Ubershaders. Disabled - Never, Hybrid - Use ubershaders while compiling specialized shaders. Exclusive - Use only ubershaders, largest performance impact. Skip Drawing - Do not draw objects while shaders are compiling, will cause broken effects. - Compile Shaders Before Starting + Enable audio stretching + Stretches audio to reduce stuttering. When enabled, increases audio latency and slightly reduces performance. Yes