diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index f381af3c0..f0aac9365 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -180,4 +180,6 @@
Use Analog Sticks for D-Pad in Digital Mode
Forces the controller to analog mode when the console is reset/powered on.
Allows you to use the analog sticks to control the d-pad in digital mode, as well as the buttons.
+ Disable All Enhancements
+ Temporarily disables all enhancements, which can be useful when debugging issues.
diff --git a/android/app/src/main/res/xml/advanced_preferences.xml b/android/app/src/main/res/xml/advanced_preferences.xml
index ad5fd714b..c392f9219 100644
--- a/android/app/src/main/res/xml/advanced_preferences.xml
+++ b/android/app/src/main/res/xml/advanced_preferences.xml
@@ -23,6 +23,12 @@
app:entryValues="@array/settings_language_values"
app:useSimpleSummaryProvider="true"
app:iconSpaceReserved="false" />
+
setColumnWidth(0, 380);
+ addBooleanTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("Disable All Enhancements"), "Main",
+ "DisableAllEnhancements", false);
addIntRangeTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("Display FPS Limit"), "Display", "MaxFPS", 0, 1000,
0);
@@ -201,25 +203,26 @@ AdvancedSettingsWidget::~AdvancedSettingsWidget() = default;
void AdvancedSettingsWidget::onResetToDefaultClicked()
{
- setIntRangeTweakOption(m_ui.tweakOptionTable, 0, 0);
- setBooleanTweakOption(m_ui.tweakOptionTable, 1, false);
+ setBooleanTweakOption(m_ui.tweakOptionTable, 0, false);
+ setIntRangeTweakOption(m_ui.tweakOptionTable, 1, 0);
setBooleanTweakOption(m_ui.tweakOptionTable, 2, false);
setBooleanTweakOption(m_ui.tweakOptionTable, 3, false);
- setFloatRangeTweakOption(m_ui.tweakOptionTable, 4, -1.0f);
- setFloatRangeTweakOption(m_ui.tweakOptionTable, 5, Settings::DEFAULT_GPU_PGXP_DEPTH_THRESHOLD);
- setBooleanTweakOption(m_ui.tweakOptionTable, 6, false);
- setChoiceTweakOption(m_ui.tweakOptionTable, 7, Settings::DEFAULT_CPU_FASTMEM_MODE);
- setBooleanTweakOption(m_ui.tweakOptionTable, 8, false);
+ setBooleanTweakOption(m_ui.tweakOptionTable, 4, false);
+ setFloatRangeTweakOption(m_ui.tweakOptionTable, 5, -1.0f);
+ setFloatRangeTweakOption(m_ui.tweakOptionTable, 6, Settings::DEFAULT_GPU_PGXP_DEPTH_THRESHOLD);
+ setBooleanTweakOption(m_ui.tweakOptionTable, 7, false);
+ setChoiceTweakOption(m_ui.tweakOptionTable, 8, Settings::DEFAULT_CPU_FASTMEM_MODE);
setBooleanTweakOption(m_ui.tweakOptionTable, 9, false);
setBooleanTweakOption(m_ui.tweakOptionTable, 10, false);
setBooleanTweakOption(m_ui.tweakOptionTable, 11, false);
setBooleanTweakOption(m_ui.tweakOptionTable, 12, false);
- setIntRangeTweakOption(m_ui.tweakOptionTable, 13, Settings::DEFAULT_VRAM_WRITE_DUMP_WIDTH_THRESHOLD);
- setIntRangeTweakOption(m_ui.tweakOptionTable, 14, Settings::DEFAULT_VRAM_WRITE_DUMP_HEIGHT_THRESHOLD);
- setIntRangeTweakOption(m_ui.tweakOptionTable, 15, static_cast(Settings::DEFAULT_DMA_MAX_SLICE_TICKS));
- setIntRangeTweakOption(m_ui.tweakOptionTable, 16, static_cast(Settings::DEFAULT_DMA_HALT_TICKS));
- setIntRangeTweakOption(m_ui.tweakOptionTable, 17, static_cast(Settings::DEFAULT_GPU_FIFO_SIZE));
- setIntRangeTweakOption(m_ui.tweakOptionTable, 18, static_cast(Settings::DEFAULT_GPU_MAX_RUN_AHEAD));
- setBooleanTweakOption(m_ui.tweakOptionTable, 19, false);
- setBooleanTweakOption(m_ui.tweakOptionTable, 20, true);
+ setBooleanTweakOption(m_ui.tweakOptionTable, 13, false);
+ setIntRangeTweakOption(m_ui.tweakOptionTable, 14, Settings::DEFAULT_VRAM_WRITE_DUMP_WIDTH_THRESHOLD);
+ setIntRangeTweakOption(m_ui.tweakOptionTable, 15, Settings::DEFAULT_VRAM_WRITE_DUMP_HEIGHT_THRESHOLD);
+ setIntRangeTweakOption(m_ui.tweakOptionTable, 16, static_cast(Settings::DEFAULT_DMA_MAX_SLICE_TICKS));
+ setIntRangeTweakOption(m_ui.tweakOptionTable, 17, static_cast(Settings::DEFAULT_DMA_HALT_TICKS));
+ setIntRangeTweakOption(m_ui.tweakOptionTable, 18, static_cast(Settings::DEFAULT_GPU_FIFO_SIZE));
+ setIntRangeTweakOption(m_ui.tweakOptionTable, 19, static_cast(Settings::DEFAULT_GPU_MAX_RUN_AHEAD));
+ setBooleanTweakOption(m_ui.tweakOptionTable, 20, false);
+ setBooleanTweakOption(m_ui.tweakOptionTable, 21, true);
}
diff --git a/src/duckstation-sdl/sdl_host_interface.cpp b/src/duckstation-sdl/sdl_host_interface.cpp
index cce2ad925..b0d0b3feb 100644
--- a/src/duckstation-sdl/sdl_host_interface.cpp
+++ b/src/duckstation-sdl/sdl_host_interface.cpp
@@ -1156,6 +1156,7 @@ void SDLHostInterface::DrawDebugMenu()
ImGui::Separator();
+ settings_changed |= ImGui::MenuItem("Disable All Enhancements", nullptr, &m_settings_copy.disable_all_enhancements);
settings_changed |= ImGui::MenuItem("Dump CPU to VRAM Copies", nullptr, &debug_settings.dump_cpu_to_vram_copies);
settings_changed |= ImGui::MenuItem("Dump VRAM to CPU Copies", nullptr, &debug_settings.dump_vram_to_cpu_copies);