#endif
if ((var->flags & CVAR_USERINFO) && cls.state != ca_dedicated)
CL_SetInfo(var->name, var->string, true, false, false, false);
+ else if ((var->flags & CVAR_NQUSERINFOHACK) && cls.state != ca_dedicated)
+ {
+ // update the cls.userinfo to have proper values for the
+ // silly nq config variables.
+ //
+ // this is done when these variables are changed rather than at
+ // connect time because if the user or code checks the userinfo and it
+ // holds weird values it may cause confusion...
+ if (!strcmp(var->name, "_cl_color"))
+ {
+ int top = (var->integer >> 4) & 15, bottom = var->integer & 15;
+ CL_SetInfo("topcolor", va("%i", top), true, false, false, false);
+ CL_SetInfo("bottomcolor", va("%i", bottom), true, false, false, false);
+ if (cls.protocol != PROTOCOL_QUAKEWORLD && cls.netcon)
+ {
+ MSG_WriteByte(&cls.netcon->message, clc_stringcmd);
+ MSG_WriteString(&cls.netcon->message, va("color %i %i", top, bottom));
+ }
+ }
+ else if (!strcmp(var->name, "_cl_rate"))
+ CL_SetInfo("rate", va("%i", var->integer), true, false, false, false);
+ else if (!strcmp(var->name, "_cl_playerskin"))
+ CL_SetInfo("playerskin", var->string, true, false, false, false);
+ else if (!strcmp(var->name, "_cl_playermodel"))
+ CL_SetInfo("playermodel", var->string, true, false, false, false);
+ else if (!strcmp(var->name, "_cl_name"))
+ CL_SetInfo("name", var->string, true, false, false, false);
+ }
}
void Cvar_SetQuick (cvar_t *var, const char *value)
}
+void Cvar_UnlockDefaults (void)
+{
+ cvar_t *var;
+ // unlock the default values of all cvars
+ for (var = cvar_vars ; var ; var = var->next)
+ var->flags &= ~CVAR_DEFAULTSET;
+}
+
+
void Cvar_LockDefaults_f (void)
{
cvar_t *var;
// don't save cvars that match their default value
for (var = cvar_vars ; var ; var = var->next)
- if (var->flags & CVAR_SAVE && strcmp(var->string, var->defstring))
+ if ((var->flags & CVAR_SAVE) && (strcmp(var->string, var->defstring) || (var->flags & CVAR_ALLOCATED)))
FS_Printf(f, "%s%s \"%s\"\n", var->flags & CVAR_ALLOCATED ? "seta " : "", var->name, var->string);
}
return;
}
- Con_DPrint("Set: ");
+ if (developer.integer >= 100)
+ Con_DPrint("Set: ");
// all looks ok, create/modify the cvar
Cvar_Get(Cmd_Argv(1), Cmd_Argv(2), 0);
return;
}
- Con_DPrint("SetA: ");
+ if (developer.integer >= 100)
+ Con_DPrint("SetA: ");
// all looks ok, create/modify the cvar
Cvar_Get(Cmd_Argv(1), Cmd_Argv(2), CVAR_SAVE);