X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=cvar.c;h=3db048c037013260683675652329875e0d924758;hb=713ff59c3b4958a58e5d1a4365c780c557cb3fcb;hp=75ff70f44ad1242b7d2b630190d79b756d49605e;hpb=90571e84116d49ec97a787f2728ff24beb3d0253;p=xonotic%2Fdarkplaces.git diff --git a/cvar.c b/cvar.c index 75ff70f4..3db048c0 100644 --- a/cvar.c +++ b/cvar.c @@ -220,7 +220,7 @@ void Cvar_CompleteCvarPrint (const char *partial) // Loop through the command list and print all matches for (cvar = cvar_vars; cvar; cvar = cvar->next) if (!strncasecmp(partial, cvar->name, len)) - Con_Printf ("%c3%s%s : \"%s\" (\"%s\") : %s\n", STRING_COLOR_TAG, cvar->name, STRING_COLOR_DEFAULT_STR, cvar->string, cvar->defstring, cvar->description); + Con_Printf ("^3%s^7 is \"%s\" [\"%s\"] %s\n", cvar->name, cvar->string, cvar->defstring, cvar->description); } @@ -234,7 +234,7 @@ void Cvar_SetQuick_Internal (cvar_t *var, const char *value) qboolean changed; size_t valuelen; - changed = strcmp(var->string, value); + changed = strcmp(var->string, value) != 0; // LordHavoc: don't reallocate when there is no change if (!changed) return; @@ -617,7 +617,8 @@ void Cvar_ResetToDefaults_All_f (void) cvar_t *var; // restore the default values of all cvars for (var = cvar_vars ; var ; var = var->next) - Cvar_SetQuick(var, var->defstring); + if((var->flags & CVAR_NORESETTODEFAULTS) == 0) + Cvar_SetQuick(var, var->defstring); } @@ -626,7 +627,7 @@ void Cvar_ResetToDefaults_NoSaveOnly_f (void) cvar_t *var; // restore the default values of all cvars for (var = cvar_vars ; var ; var = var->next) - if (!(var->flags & CVAR_SAVE)) + if ((var->flags & (CVAR_NORESETTODEFAULTS | CVAR_SAVE)) == 0) Cvar_SetQuick(var, var->defstring); } @@ -636,7 +637,7 @@ void Cvar_ResetToDefaults_SaveOnly_f (void) cvar_t *var; // restore the default values of all cvars for (var = cvar_vars ; var ; var = var->next) - if (var->flags & CVAR_SAVE) + if ((var->flags & (CVAR_NORESETTODEFAULTS | CVAR_SAVE)) == CVAR_SAVE) Cvar_SetQuick(var, var->defstring); } @@ -701,9 +702,9 @@ void Cvar_List_f (void) if (len) { if(ispattern) - Con_Printf("%i cvar(s) matching \"%s\"\n", count, partial); + Con_Printf("%i cvar%s matching \"%s\"\n", count, (count > 1) ? "s" : "", partial); else - Con_Printf("%i cvar(s) beginning with \"%s\"\n", count, partial); + Con_Printf("%i cvar%s beginning with \"%s\"\n", count, (count > 1) ? "s" : "", partial); } else Con_Printf("%i cvar(s)\n", count); @@ -762,4 +763,39 @@ void Cvar_SetA_f (void) Cvar_Get(Cmd_Argv(1), Cmd_Argv(2), CVAR_SAVE, Cmd_Argc() > 3 ? Cmd_Argv(3) : NULL); } - +#ifdef FILLALLCVARSWITHRUBBISH +void Cvar_FillAll_f() +{ + char *buf, *p, *q; + int n, i; + cvar_t *var; + qboolean verify; + if(Cmd_Argc() != 2) + { + Con_Printf("Usage: %s length to plant rubbish\n", Cmd_Argv(0)); + Con_Printf("Usage: %s -length to verify that the rubbish is still there\n", Cmd_Argv(0)); + return; + } + n = atoi(Cmd_Argv(1)); + verify = (n < 0); + if(verify) + n = -n; + buf = Z_Malloc(n + 1); + buf[n] = 0; + for(var = cvar_vars; var; var = var->next) + { + for(i = 0, p = buf, q = var->name; i < n; ++i) + { + *p++ = *q++; + if(!*q) + q = var->name; + } + if(verify && strcmp(var->string, buf)) + { + Con_Printf("\n%s does not contain the right rubbish, either this is the first run or a possible overrun was detected, or something changed it intentionally; it DOES contain: %s\n", var->name, var->string); + } + Cvar_SetQuick(var, buf); + } + Z_Free(buf); +} +#endif /* FILLALLCVARSWITHRUBBISH */