cvar.c (or cmd.c, whereever really)
Code: Select all
void Cvar_Set_f(void)
{
char *cvarname;
char *cvarvalue;
cvar_t *var;
cvarname = Cmd_Argv(1);
cvarvalue = Cmd_Argv(2);
var = Cvar_FindVar(cvarname);
if (!var)
{
if (Cmd_Exists(cvarname))
{
Con_Printf("%s exists as a command\n", cvarname);
return;
}
var = malloc(sizeof(*var));
if (!var)
return;
memset(var, 0, sizeof(*var));
var->name = strdup(cvarname);
var->string = "";
Cvar_RegisterVariable(var);
}
Cvar_Set(cvarname, cvarvalue);
}
cvar.h, add the following somewhere.
Code: Select all
void Cvar_Set_f(void);
Code: Select all
Cmd_AddCommand ("set", Cvar_Set_f);
Now mods that use your engine don't have to use inane meaninglessly named cvars called 'temp1' for instance, but can instead use sane names like 'g_maxbots'. Because its slightly more sane.
Have fun... :P