# HG changeset patch # User Adam Kaminski # Date 1618775873 14400 # Sun Apr 18 15:57:53 2021 -0400 # Node ID 26249817078bd263834337fd076c08afbd7fc060 # Parent a060565535b51fadded76295b8df447920c62437 Added the CVar "cl_protectcvars" (true by default) which makes ConsoleCommand not archiving CVar changes to the user's config file optional. diff -r a060565535b5 -r 26249817078b src/c_cvars.cpp --- a/src/c_cvars.cpp Sun Apr 18 10:13:38 2021 -0400 +++ b/src/c_cvars.cpp Sun Apr 18 15:57:53 2021 -0400 @@ -86,6 +86,9 @@ int cvar_defflags; +// [AK] Prevents CVars changed by ConsoleCommand from being written into the user's config file. +CVAR( Bool, cl_protectcvars, true, CVAR_ARCHIVE | CVAR_NOSETBYACS ); + EXTERN_CVAR( Bool, sv_cheats ); FBaseCVar::FBaseCVar (const FBaseCVar &var) @@ -1707,15 +1710,18 @@ == filter) { // [AK] Reset the CVar back to its original value if it was changed by ConsoleCommand. - for ( unsigned int i = 0; i < SavedValues.Size( ); i++ ) + if ( cl_protectcvars ) { - if ( SavedValues[i].Variable == cvar ) + for ( unsigned int i = 0; i < SavedValues.Size( ); i++ ) { - cvar->ForceSet( SavedValues[i].Value, SavedValues[i].Type, true ); - if (( SavedValues[i].Type == CVAR_String ) && ( SavedValues[i].Value.String != NULL )) - delete[] SavedValues[i].Value.String; - SavedValues.Delete( i ); - break; + if ( SavedValues[i].Variable == cvar ) + { + cvar->ForceSet( SavedValues[i].Value, SavedValues[i].Type, true ); + if (( SavedValues[i].Type == CVAR_String ) && ( SavedValues[i].Value.String != NULL )) + delete[] SavedValues[i].Value.String; + SavedValues.Delete( i ); + break; + } } } diff -r a060565535b5 -r 26249817078b wadsrc/static/menudef.txt --- a/wadsrc/static/menudef.txt Sun Apr 18 10:13:38 2021 -0400 +++ b/wadsrc/static/menudef.txt Sun Apr 18 15:57:53 2021 -0400 @@ -928,6 +928,7 @@ } Option "Show IWAD selection dialog", "queryiwad", "OnOff" StaticText " " + Option "Protect cvars from consolecommand", "cl_protectcvars", "OnOff" // [AK] Option "Enable cheats from all games", "allcheats", "OnOff" Option "Enable autosaves", "disableautosave", "Autosave" Slider "Number of autosaves", "autosavecount", 1, 20, 1, 0