no longer making local copies of all CS_SYSTEMINFO server cvars

this avoids undesired local changes to sv_pure etc
This commit is contained in:
myT 2018-01-29 20:46:39 +01:00
parent c512071f2d
commit e4e68a971c
2 changed files with 27 additions and 1 deletions

View file

@ -2,7 +2,7 @@
DD Mmm 18 - 1.50
add: on Windows, "/crashreport:yes" and "/crashreport:no" command-line arguments
they enable the the crash handler's quiet mode (no dialog window will be shown)
they enable the crash handler's quiet mode (no dialog window will be shown)
add: the fs_restart command to manually restart the file system
@ -21,6 +21,9 @@ chg: on Windows, a fatal error will move the early console window to the foregro
chg: com_hunkMegs doesn't have a maximum value anymore
a value too high would reset it and the engine might fail to load with the default value
fix: no longer making local copies of all the system info cvars of the current server
this avoids undesired local changes to cvars such as sv_pure
fix: now updating the FS (connected to pure server, pak references) on client disconnects
fix: the condump command was truncating its file path argument to 64 characters

View file

@ -322,6 +322,18 @@ int cl_connectedToPureServer;
void CL_SystemInfoChanged()
{
// these are cvars the client doesn't need nor want to set locally
// no need to reject "sv_cheats" since it gets cleared by /map and set by /devmap
static const char* rejectedCVars[] = {
"sv_pure",
"sv_paks",
"sv_pakNames",
"sv_referencedPaks",
"sv_referencedPakNames",
"sv_currentPak",
"sv_serverid"
};
const char *s, *t;
// don't set any vars when playing a demo
@ -360,6 +372,17 @@ void CL_SystemInfoChanged()
break;
}
// reject unwanted cvars
qbool rejected = qfalse;
for ( int i = 0; i < ARRAY_LEN(rejectedCVars); ++i ) {
if ( !Q_stricmp(key, rejectedCVars[i]) ) {
rejected = qtrue;
break;
}
}
if ( rejected )
continue;
// ehw!
if (!Q_stricmp(key, "fs_game"))
{