// this means that this cvar should update a userinfo key but the name does not correspond directly to the userinfo key to update, and may require additional conversion ("_cl_color" for example should update "topcolor" and "bottomcolor")
#define CVAR_NQUSERINFOHACK 64
// used to determine if flags is valid
-#define CVAR_MAXFLAGSVAL 127
+#define CVAR_NORESETTODEFAULTS 128
+// for engine-owned cvars that must not be reset on gametype switch (e.g. scr_screenshot_name, which otherwise isn't set to the mod name properly)
+#define CVAR_MAXFLAGSVAL 255
// for internal use only!
#define CVAR_DEFAULTSET (1<<30)
#define CVAR_ALLOCATED (1<<31)
{
int flags;
- char *name;
+ const char *name;
- char *string;
- char *description;
+ const char *string;
+ const char *description;
int integer;
float value;
float vector[3];
- char *defstring;
+ const char *defstring;
+
+ unsigned int globaldefindex_progid[3];
+ int globaldefindex[3];
+ int globaldefindex_stringno[3];
//menucvar_t menuinfo;
struct cvar_s *next;
void Cvar_Set_f (void);
void Cvar_SetA_f (void);
+void Cvar_Del_f (void);
// commands to create new cvars (or set existing ones)
// seta creates an archived cvar (saved to config)
/// or merely sets its value if it already exists.
cvar_t *Cvar_Get (const char *name, const char *value, int flags, const char *newdescription);
-extern char *cvar_dummy_description; // ALWAYS the same pointer
+extern const char *cvar_dummy_description; // ALWAYS the same pointer
extern cvar_t *cvar_vars; // used to list all cvars
+void Cvar_UpdateAllAutoCvars(void); // updates ALL autocvars of the active prog to the cvar values (savegame loading)
+
#ifdef FILLALLCVARSWITHRUBBISH
void Cvar_FillAll_f();
#endif /* FILLALLCVARSWITHRUBBISH */