mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2025-02-16 19:05:39 +00:00
Settings: Add option to temporarily disable all enhancements
This commit is contained in:
parent
40f241dde3
commit
68ce959d70
|
@ -180,4 +180,6 @@
|
|||
<string name="settings_use_analog_sticks_for_dpad">Use Analog Sticks for D-Pad in Digital Mode</string>
|
||||
<string name="settings_summary_enable_analog_mode_on_reset">Forces the controller to analog mode when the console is reset/powered on.</string>
|
||||
<string name="settings_summary_use_analog_sticks_for_dpad">Allows you to use the analog sticks to control the d-pad in digital mode, as well as the buttons.</string>
|
||||
<string name="settings_disable_all_enhancements">Disable All Enhancements</string>
|
||||
<string name="settings_summary_disable_all_enhancements">Temporarily disables all enhancements, which can be useful when debugging issues.</string>
|
||||
</resources>
|
||||
|
|
|
@ -23,6 +23,12 @@
|
|||
app:entryValues="@array/settings_language_values"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
app:iconSpaceReserved="false" />
|
||||
<SwitchPreferenceCompat
|
||||
app:key="Main/DisableAllEnhancements"
|
||||
app:title="@string/settings_disable_all_enhancements"
|
||||
app:defaultValue="false"
|
||||
app:summary="@string/settings_summary_disable_all_enhancements"
|
||||
app:iconSpaceReserved="false" />
|
||||
<ListPreference
|
||||
app:key="CPU/Overclock"
|
||||
app:title="@string/settings_cpu_overclocking"
|
||||
|
|
|
@ -462,6 +462,7 @@ void HostInterface::SetDefaultSettings(SettingsInterface& si)
|
|||
si.SetBoolValue("Main", "ConfirmPowerOff", true);
|
||||
si.SetBoolValue("Main", "LoadDevicesFromSaveStates", false);
|
||||
si.SetBoolValue("Main", "ApplyGameSettings", true);
|
||||
si.SetBoolValue("Main", "DisableAllEnhancements", false);
|
||||
|
||||
si.SetStringValue("CPU", "ExecutionMode", Settings::GetCPUExecutionModeName(Settings::DEFAULT_CPU_EXECUTION_MODE));
|
||||
si.SetBoolValue("CPU", "RecompilerMemoryExceptions", false);
|
||||
|
@ -573,6 +574,28 @@ void HostInterface::LoadSettings(SettingsInterface& si)
|
|||
|
||||
void HostInterface::FixIncompatibleSettings(bool display_osd_messages)
|
||||
{
|
||||
if (g_settings.disable_all_enhancements)
|
||||
{
|
||||
g_settings.cpu_overclock_enable = false;
|
||||
g_settings.cpu_overclock_active = false;
|
||||
g_settings.gpu_resolution_scale = 1;
|
||||
g_settings.gpu_multisamples = 1;
|
||||
g_settings.gpu_per_sample_shading = false;
|
||||
g_settings.gpu_true_color = false;
|
||||
g_settings.gpu_scaled_dithering = false;
|
||||
g_settings.gpu_texture_filter = GPUTextureFilter::Nearest;
|
||||
g_settings.gpu_disable_interlacing = false;
|
||||
g_settings.gpu_force_ntsc_timings = false;
|
||||
g_settings.gpu_widescreen_hack = false;
|
||||
g_settings.gpu_pgxp_enable = false;
|
||||
g_settings.gpu_24bit_chroma_smoothing = false;
|
||||
g_settings.cdrom_read_speedup = false;
|
||||
g_settings.cdrom_mute_cd_audio = false;
|
||||
g_settings.texture_replacements.enable_vram_write_replacements = false;
|
||||
g_settings.bios_patch_fast_boot = false;
|
||||
g_settings.bios_patch_tty_enable = false;
|
||||
}
|
||||
|
||||
if (g_settings.gpu_pgxp_enable)
|
||||
{
|
||||
if (g_settings.gpu_renderer == GPURenderer::Software)
|
||||
|
|
|
@ -120,6 +120,7 @@ void Settings::Load(SettingsInterface& si)
|
|||
load_devices_from_save_states = si.GetBoolValue("Main", "LoadDevicesFromSaveStates", false);
|
||||
apply_game_settings = si.GetBoolValue("Main", "ApplyGameSettings", true);
|
||||
auto_load_cheats = si.GetBoolValue("Main", "AutoLoadCheats", false);
|
||||
disable_all_enhancements = si.GetBoolValue("Main", "DisableAllEnhancements", false);
|
||||
|
||||
cpu_execution_mode =
|
||||
ParseCPUExecutionMode(
|
||||
|
@ -284,6 +285,7 @@ void Settings::Save(SettingsInterface& si) const
|
|||
si.SetBoolValue("Main", "LoadDevicesFromSaveStates", load_devices_from_save_states);
|
||||
si.SetBoolValue("Main", "ApplyGameSettings", apply_game_settings);
|
||||
si.SetBoolValue("Main", "AutoLoadCheats", auto_load_cheats);
|
||||
si.SetBoolValue("Main", "DisableAllEnhancements", disable_all_enhancements);
|
||||
|
||||
si.SetStringValue("CPU", "ExecutionMode", GetCPUExecutionModeName(cpu_execution_mode));
|
||||
si.SetBoolValue("CPU", "OverclockEnable", cpu_overclock_enable);
|
||||
|
|
|
@ -90,6 +90,7 @@ struct Settings
|
|||
bool load_devices_from_save_states = false;
|
||||
bool apply_game_settings = true;
|
||||
bool auto_load_cheats = false;
|
||||
bool disable_all_enhancements = false;
|
||||
|
||||
GPURenderer gpu_renderer = GPURenderer::Software;
|
||||
std::string gpu_adapter;
|
||||
|
|
|
@ -145,6 +145,8 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(QtHostInterface* host_interface,
|
|||
|
||||
m_ui.tweakOptionTable->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<int>(Settings::DEFAULT_DMA_MAX_SLICE_TICKS));
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, 16, static_cast<int>(Settings::DEFAULT_DMA_HALT_TICKS));
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, 17, static_cast<int>(Settings::DEFAULT_GPU_FIFO_SIZE));
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, 18, static_cast<int>(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<int>(Settings::DEFAULT_DMA_MAX_SLICE_TICKS));
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, 17, static_cast<int>(Settings::DEFAULT_DMA_HALT_TICKS));
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, 18, static_cast<int>(Settings::DEFAULT_GPU_FIFO_SIZE));
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, 19, static_cast<int>(Settings::DEFAULT_GPU_MAX_RUN_AHEAD));
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, 20, false);
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, 21, true);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue