]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cvar.c
cvar_vars is no longer known by files other than cvar.c, this meant adding a Cvar_Fin...
[xonotic/darkplaces.git] / cvar.c
diff --git a/cvar.c b/cvar.c
index 152a86aee4f52446aa95dd683d5b5484acfb4b09..3349986b4726c146598b01b90d040726542957f5 100644 (file)
--- a/cvar.c
+++ b/cvar.c
@@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include "quakedef.h"
 
-cvar_t *cvar_vars;
+cvar_t *cvar_vars = NULL;
 char   *cvar_null_string = "";
 
 /*
@@ -31,15 +31,39 @@ Cvar_FindVar
 */
 cvar_t *Cvar_FindVar (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 (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