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;
//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;
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);
// 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);