git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@2245
d7cf8633-e32d-0410-b094-
e92efae38249
+cvar_t *cvar_vars = NULL;
char *cvar_null_string = "";
/*
char *cvar_null_string = "";
/*
*/
cvar_t *Cvar_FindVar (char *var_name)
{
*/
cvar_t *Cvar_FindVar (char *var_name)
{
- 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;
}
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
/*
============
Cvar_VariableValue
// with the archive flag set to true.
cvar_t *Cvar_FindVar (char *var_name);
// with the archive flag set to true.
cvar_t *Cvar_FindVar (char *var_name);
-
-extern cvar_t *cvar_vars;
+cvar_t *Cvar_FindVarAfter (char *prev_var_name, int neededflags);
int Cvar_CompleteCountPossible (char *partial);
char **Cvar_CompleteBuildList (char *partial);
int Cvar_CompleteCountPossible (char *partial);
char **Cvar_CompleteBuildList (char *partial);
// find the search start location
prevCvarName = MSG_ReadString();
// find the search start location
prevCvarName = MSG_ReadString();
- if (*prevCvarName)
- {
- var = Cvar_FindVar (prevCvarName);
- if (!var)
- return NULL;
- var = var->next;
- }
- else
- var = cvar_vars;
-
- // search for the next server cvar
- while (var)
- {
- if (var->flags & CVAR_NOTIFY)
- break;
- var = var->next;
- }
+ var = Cvar_FindVarAfter(prevCvarName, CVAR_NOTIFY);
void PF_registercvar (void)
{
void PF_registercvar (void)
{
- char *name, *value;
- cvar_t *variable;
+ char *name, *value;
+ cvar_t *variable;
name = G_STRING(OFS_PARM0);
value = G_STRING(OFS_PARM1);
G_FLOAT(OFS_RETURN) = 0;
name = G_STRING(OFS_PARM0);
value = G_STRING(OFS_PARM1);
G_FLOAT(OFS_RETURN) = 0;
strcpy (variable->string, value);
variable->value = atof (value);
strcpy (variable->string, value);
variable->value = atof (value);
-// link the variable in
- variable->next = cvar_vars;
- cvar_vars = variable;
+ Cvar_RegisterVariable(variable);
G_FLOAT(OFS_RETURN) = 1; // success
}
G_FLOAT(OFS_RETURN) = 1; // success
}