X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=cvar.c;h=e51b8d0943d73ec3b865e2bf8c1af36a331a8304;hb=a6cd51357b59bc588e47d3827953340c4de33d12;hp=d3df0c421ebc71fce219e56cfe59b2c10e525ddd;hpb=174d8329f84ed718f848273e1e730c60b6d93a28;p=xonotic%2Fdarkplaces.git diff --git a/cvar.c b/cvar.c index d3df0c42..e51b8d09 100644 --- a/cvar.c +++ b/cvar.c @@ -250,6 +250,34 @@ void Cvar_SetQuick_Internal (cvar_t *var, const char *value) #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) @@ -644,7 +672,8 @@ void Cvar_Set_f (void) 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); @@ -669,7 +698,8 @@ void Cvar_SetA_f (void) 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);