diff --git a/src/settings.cpp b/src/settings.cpp --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1913,6 +1913,8 @@ CommandCost CmdChangeSetting(TileIndex t } SetWindowClassesDirty(WC_GAME_OPTIONS); + + if (_save_config) SaveToConfig(); } return CommandCost(); @@ -1981,12 +1983,15 @@ bool SetSettingValue(uint index, int32 v SetWindowClassesDirty(WC_GAME_OPTIONS); + if (_save_config) SaveToConfig(); return true; } if (force_newgame) { void *var2 = GetVariableAddress(&_settings_newgame, &sd->save); Write_ValidateSetting(var2, sd, value); + + if (_save_config) SaveToConfig(); return true; } @@ -2080,6 +2085,7 @@ bool SetSettingValue(uint index, const c } if (sd->desc.proc != nullptr) sd->desc.proc(0); + if (_save_config) SaveToConfig(); return true; }