X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=cvar.c;h=f0923b02cb9c9546f58488c208a2f5b8ab6526b3;hp=b51e87aa276195e821a382557c9ab6a810fa2d47;hb=7e973e86c5b9abe7638782e877603832861e9870;hpb=9e358929b960643be1ef4d1c69bbaf03d5e12075 diff --git a/cvar.c b/cvar.c index b51e87aa..f0923b02 100644 --- a/cvar.c +++ b/cvar.c @@ -21,33 +21,57 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "quakedef.h" -cvar_t *cvar_vars; -char *cvar_null_string = ""; +cvar_t *cvar_vars = NULL; +char *cvar_null_string = ""; /* ============ Cvar_FindVar ============ */ -cvar_t *Cvar_FindVar (char *var_name) +cvar_t *Cvar_FindVar (const char *var_name) { - cvar_t *var; + cvar_t *var; - for (var=cvar_vars ; var ; var=var->next) + for (var = cvar_vars;var;var = var->next) if (!strcmp (var_name, var->name)) return var; return NULL; } +cvar_t *Cvar_FindVarAfter (const char *prev_var_name, int neededflags) +{ + cvar_t *var; + + if (*prev_var_name) + { + var = Cvar_FindVar (prev_var_name); + if (!var) + return NULL; + var = var->next; + } + else + var = cvar_vars; + + // search for the next cvar matching the needed flags + while (var) + { + if ((var->flags & neededflags) || !neededflags) + break; + var = var->next; + } + return var; +} + /* ============ Cvar_VariableValue ============ */ -float Cvar_VariableValue (char *var_name) +float Cvar_VariableValue (const char *var_name) { - cvar_t *var; + cvar_t *var; var = Cvar_FindVar (var_name); if (!var) @@ -61,7 +85,7 @@ float Cvar_VariableValue (char *var_name) Cvar_VariableString ============ */ -char *Cvar_VariableString (char *var_name) +const char *Cvar_VariableString (const char *var_name) { cvar_t *var; @@ -77,7 +101,7 @@ char *Cvar_VariableString (char *var_name) Cvar_CompleteVariable ============ */ -char *Cvar_CompleteVariable (char *partial) +const char *Cvar_CompleteVariable (const char *partial) { cvar_t *cvar; int len; @@ -104,8 +128,7 @@ char *Cvar_CompleteVariable (char *partial) Thanks to Fett erich@heintz.com */ -int -Cvar_CompleteCountPossible (char *partial) +int Cvar_CompleteCountPossible (const char *partial) { cvar_t *cvar; int len; @@ -134,17 +157,16 @@ Cvar_CompleteCountPossible (char *partial) Thanks to taniwha */ -char ** -Cvar_CompleteBuildList (char *partial) +const char **Cvar_CompleteBuildList (const char *partial) { - cvar_t *cvar; - int len = 0; - int bpos = 0; - int sizeofbuf = (Cvar_CompleteCountPossible (partial) + 1) * sizeof (char *); - char **buf; + const cvar_t *cvar; + int len = 0; + int bpos = 0; + int sizeofbuf = (Cvar_CompleteCountPossible (partial) + 1) * sizeof (const char *); + const char **buf; len = strlen(partial); - buf = Mem_Alloc(tempmempool, sizeofbuf + sizeof (char *)); + buf = Mem_Alloc(tempmempool, sizeofbuf + sizeof (const char *)); // Loop through the alias list and print all matches for (cvar = cvar_vars; cvar; cvar = cvar->next) if (!strncasecmp(partial, cvar->name, len)) @@ -159,7 +181,7 @@ Cvar_CompleteBuildList (char *partial) Cvar_Set ============ */ -void Cvar_SetQuick (cvar_t *var, char *value) +void Cvar_SetQuick (cvar_t *var, const char *value) { qboolean changed; @@ -191,7 +213,7 @@ void Cvar_SetQuick (cvar_t *var, char *value) } } -void Cvar_Set (char *var_name, char *value) +void Cvar_Set (const char *var_name, const char *value) { cvar_t *var; var = Cvar_FindVar (var_name); @@ -219,7 +241,7 @@ void Cvar_SetValueQuick (cvar_t *var, float value) Cvar_SetQuick (var, val); } -void Cvar_SetValue (char *var_name, float value) +void Cvar_SetValue (const char *var_name, float value) { char val[32]; @@ -320,21 +342,24 @@ Cvar_List */ void Cvar_List_f (void) { - cvar_t *cvar; - char *partial; - int len; - int count; + cvar_t *cvar; + const char *partial; + int len, count; - if (Cmd_Argc() > 1) { + if (Cmd_Argc() > 1) + { partial = Cmd_Argv (1); len = strlen(partial); - } else { + } + else + { partial = NULL; len = 0; } count = 0; - for (cvar = cvar_vars; cvar; cvar = cvar->next) { + for (cvar = cvar_vars; cvar; cvar = cvar->next) + { if (partial && strncmp (partial,cvar->name,len)) continue; @@ -348,3 +373,4 @@ void Cvar_List_f (void) Con_Printf ("\n"); } // 2000-01-09 CvarList command by Maddes +