]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cvar.c
changed Host_Init to execute configs only once
[xonotic/darkplaces.git] / cvar.c
diff --git a/cvar.c b/cvar.c
index 2de6617f0f8d4e5a3c29b7fe5735c83258113e68..b77fee3d4490dd1ca5f2f344bad94a5e97afe3a1 100644 (file)
--- a/cvar.c
+++ b/cvar.c
@@ -329,8 +329,15 @@ void Cvar_RegisterVariable (cvar_t *variable)
        variable->integer = (int) variable->value;
 
 // link the variable in
-       variable->next = cvar_vars;
-       cvar_vars = variable;
+// alphanumerical order
+       for( cvar = NULL, cvar2 = cvar_vars ; cvar2 && strcmp( cvar2->name, variable->name ) < 0 ; cvar = cvar2, cvar2 = cvar->next )
+               ;
+       if( cvar ) {
+               cvar->next = variable;
+       } else {
+               cvar_vars = variable;
+       }
+       variable->next = cvar2;
 }
 
 /*
@@ -346,7 +353,7 @@ cvar_t *Cvar_Get (const char *name, const char *value, int flags)
 
        if (developer.integer)
                Con_Printf("Cvar_Get(\"%s\", \"%s\", %i);\n", name, value, flags);
-       
+
 // first check to see if it has already been defined
        cvar = Cvar_FindVar (name);
        if (cvar)
@@ -400,9 +407,7 @@ qboolean    Cvar_Command (void)
 // perform a variable print or set
        if (Cmd_Argc() == 1)
        {
-               // only print if host_initialized (otherwise it could print twice if this is in a script)
-               if (host_initialized)
-                       Con_Printf("\"%s\" is \"%s\"\n", v->name, v->string);
+               Con_Printf("\"%s\" is \"%s\"\n", v->name, v->string);
                return true;
        }
 
@@ -433,7 +438,7 @@ void Cvar_WriteVariables (qfile_t *f)
 
        for (var = cvar_vars ; var ; var = var->next)
                if (var->flags & CVAR_SAVE)
-                       FS_Printf(f, "seta %s \"%s\"\n", var->name, var->string);
+                       FS_Printf(f, "%s%s \"%s\"\n", var->flags & CVAR_ALLOCATED ? "seta " : "", var->name, var->string);
 }