mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2025-01-17 22:25:37 +00:00
Qt: Fix Apply Game Settings option
This commit is contained in:
parent
c90824f8e9
commit
75b4891f78
|
@ -168,6 +168,7 @@ void Settings::Load(SettingsInterface& si)
|
|||
create_save_state_backups = si.GetBoolValue("Main", "CreateSaveStateBackups", true);
|
||||
confim_power_off = si.GetBoolValue("Main", "ConfirmPowerOff", true);
|
||||
load_devices_from_save_states = si.GetBoolValue("Main", "LoadDevicesFromSaveStates", false);
|
||||
apply_compatibility_settings = si.GetBoolValue("Main", "ApplyCompatibilitySettings", true);
|
||||
apply_game_settings = si.GetBoolValue("Main", "ApplyGameSettings", true);
|
||||
auto_load_cheats = si.GetBoolValue("Main", "AutoLoadCheats", true);
|
||||
disable_all_enhancements = si.GetBoolValue("Main", "DisableAllEnhancements", false);
|
||||
|
@ -385,6 +386,7 @@ void Settings::Save(SettingsInterface& si) const
|
|||
si.SetBoolValue("Main", "CreateSaveStateBackups", create_save_state_backups);
|
||||
si.SetBoolValue("Main", "ConfirmPowerOff", confim_power_off);
|
||||
si.SetBoolValue("Main", "LoadDevicesFromSaveStates", load_devices_from_save_states);
|
||||
si.SetBoolValue("Main", "ApplyCompatibilitySettings", apply_compatibility_settings);
|
||||
si.SetBoolValue("Main", "ApplyGameSettings", apply_game_settings);
|
||||
si.SetBoolValue("Main", "AutoLoadCheats", auto_load_cheats);
|
||||
si.SetBoolValue("Main", "DisableAllEnhancements", disable_all_enhancements);
|
||||
|
|
|
@ -70,6 +70,7 @@ struct Settings
|
|||
bool create_save_state_backups = false;
|
||||
bool confim_power_off = true;
|
||||
bool load_devices_from_save_states = false;
|
||||
bool apply_compatibility_settings = true;
|
||||
bool apply_game_settings = true;
|
||||
bool auto_load_cheats = true;
|
||||
bool disable_all_enhancements = false;
|
||||
|
|
|
@ -825,7 +825,7 @@ void System::LoadSettings(bool display_osd_messages)
|
|||
Host::LoadSettings(si, lock);
|
||||
|
||||
// apply compatibility settings
|
||||
if (g_settings.apply_game_settings && !s_running_game_code.empty())
|
||||
if (g_settings.apply_compatibility_settings && !s_running_game_code.empty())
|
||||
{
|
||||
const GameDatabase::Entry* entry = GameDatabase::GetEntryForSerial(s_running_game_code);
|
||||
if (entry)
|
||||
|
@ -848,6 +848,14 @@ void System::ApplySettings(bool display_osd_messages)
|
|||
const Settings old_config(std::move(g_settings));
|
||||
g_settings = Settings();
|
||||
LoadSettings(display_osd_messages);
|
||||
|
||||
// If we've disabled/enabled game settings, we need to reload without it.
|
||||
if (g_settings.apply_game_settings != old_config.apply_game_settings)
|
||||
{
|
||||
UpdateGameSettingsLayer();
|
||||
LoadSettings(display_osd_messages);
|
||||
}
|
||||
|
||||
CheckForSettingsChanges(old_config);
|
||||
Host::CheckForSettingsChanges(old_config);
|
||||
|
||||
|
@ -867,7 +875,7 @@ bool System::ReloadGameSettings(bool display_osd_messages)
|
|||
bool System::UpdateGameSettingsLayer()
|
||||
{
|
||||
std::unique_ptr<INISettingsInterface> new_interface;
|
||||
if (!s_running_game_code.empty())
|
||||
if (g_settings.apply_game_settings && !s_running_game_code.empty())
|
||||
{
|
||||
std::string filename(GetGameSettingsPath(s_running_game_code));
|
||||
if (FileSystem::FileExists(filename.c_str()))
|
||||
|
|
|
@ -201,10 +201,12 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(SettingsDialog* dialog, QWidget*
|
|||
|
||||
addBooleanTweakOption(dialog, m_ui.tweakOptionTable, tr("Disable All Enhancements"), "Main", "DisableAllEnhancements",
|
||||
false);
|
||||
addBooleanTweakOption(dialog, m_ui.tweakOptionTable, tr("Show Status Indicators"), "Display", "ShowStatusIndicators",
|
||||
true);
|
||||
addBooleanTweakOption(dialog, m_ui.tweakOptionTable, tr("Show Enhancement Settings"), "Display", "ShowEnhancements",
|
||||
false);
|
||||
addBooleanTweakOption(dialog, m_ui.tweakOptionTable, tr("Show Status Indicators"), "Display", "ShowStatusIndicators",
|
||||
true);
|
||||
addBooleanTweakOption(dialog, m_ui.tweakOptionTable, tr("Apply Compatibility Settings"), "Main",
|
||||
"ApplyCompatibilitySettings", true);
|
||||
addIntRangeTweakOption(dialog, m_ui.tweakOptionTable, tr("Display FPS Limit"), "Display", "MaxFPS", 0, 1000, 0);
|
||||
|
||||
addMSAATweakOption(dialog, m_ui.tweakOptionTable, tr("Multisample Antialiasing"));
|
||||
|
@ -281,8 +283,9 @@ void AdvancedSettingsWidget::onResetToDefaultClicked()
|
|||
int i = 0;
|
||||
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, false); // Disable all enhancements
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Show status indicators
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, false); // Show enhancement settings
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Show status indicators
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Apply compatibility settings
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, i++, 0); // Display FPS limit
|
||||
setChoiceTweakOption(m_ui.tweakOptionTable, i++, 0); // Multisample antialiasing
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, false); // PGXP vertex cache
|
||||
|
|
Loading…
Reference in a new issue