]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cvar.h
Split off common CRC16 and MSG_ functions into separate files
[xonotic/darkplaces.git] / cvar.h
diff --git a/cvar.h b/cvar.h
index fd7cd6ea879ee71110015565a7105bdd8b652b85..752c2277681818611303485c54fa5b6b8117d562 100644 (file)
--- a/cvar.h
+++ b/cvar.h
@@ -131,6 +131,11 @@ typedef struct cvar_s
 
        const char *defstring;
 
+       void (*callback)(char *value);
+
+       char **aliases;
+       int aliasindex;
+
        // values at init (for Cvar_RestoreInitState)
        qboolean initstate; // indicates this existed at init
        int initflags;
@@ -146,13 +151,18 @@ typedef struct cvar_s
 
        //menucvar_t menuinfo;
        struct cvar_s *next;
-       struct cvar_s *nextonhashchain;
 } cvar_t;
 
+typedef struct cvar_hash_s
+{
+       cvar_t *cvar;
+       struct cvar_hash_s *next;
+} cvar_hash_t;
+
 typedef struct cvar_state_s
 {
        cvar_t *vars;
-       cvar_t *hashtable[CVAR_HASHSIZE];
+       cvar_hash_t *hashtable[CVAR_HASHSIZE];
 }
 cvar_state_t;
 
@@ -168,10 +178,17 @@ void Cvar_MenuString(cvar_t *variable, int menu);
 void Cvar_MenuOption(cvar_t *variable, int menu, int value[16], const char *name[16]);
 */
 
+
+void Cvar_RegisterAlias(cvar_t *variable, const char *alias );
+
+void Cvar_RegisterCallback(cvar_t *variable, void (*callback)(char *));
+
 /// registers a cvar that already has the name, string, and optionally the
 /// archive elements set.
 void Cvar_RegisterVariable(cvar_t *variable);
 
+qboolean Cvar_Readonly (cvar_t *var, const char *cmd_name);
+
 /// equivelant to "<name> <variable>" typed at the console
 void Cvar_Set (cvar_state_t *cvars, const char *var_name, const char *value);
 
@@ -203,6 +220,8 @@ const char *Cvar_CompleteVariable (cvar_state_t *cvars, const char *partial, int
 // attempts to match a partial variable name for command line completion
 // returns NULL if nothing fits
 
+void Cvar_PrintHelp(cvar_t *cvar, const char *name, qboolean full);
+
 void Cvar_CompleteCvarPrint (cvar_state_t *cvars, const char *partial, int neededflags);
 
 qboolean Cvar_Command (cmd_state_t *cmd);