mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-02-01 05:30:58 +00:00
Add a way to rewrite cvars loaded from config.cfg.
With this renamed cvars can be rewritten when config.cfg is first loaded. Please note that once this was done older YQ2 versions can't parse that config.cfg anymore.
This commit is contained in:
parent
430e21eab0
commit
b433ee10fd
3 changed files with 41 additions and 5 deletions
|
@ -924,6 +924,9 @@ Cmd_IsComplete(char *command)
|
|||
/* ugly hack to suppress warnings from default.cfg in Key_Bind_f() */
|
||||
qboolean doneWithDefaultCfg;
|
||||
|
||||
/* Another ugly hack, this time to rewrite CVARs loaded from config.cfg */
|
||||
qboolean doneWithCfg;
|
||||
|
||||
/*
|
||||
* A complete command line has been parsed, so try to execute it
|
||||
*/
|
||||
|
@ -947,6 +950,12 @@ Cmd_ExecuteString(char *text)
|
|||
doneWithDefaultCfg = true;
|
||||
}
|
||||
|
||||
if(Cmd_Argc() > 1 && Q_strcasecmp(cmd_argv[0], "exec") == 0 && Q_strcasecmp(cmd_argv[1], "autoexec.cfg") == 0)
|
||||
{
|
||||
/* exec autoexec.cfg is done directly after exec config.cfg, see Qcommon_Init() */
|
||||
doneWithCfg = true;
|
||||
}
|
||||
|
||||
/* check functions */
|
||||
for (cmd = cmd_functions; cmd; cmd = cmd->next)
|
||||
{
|
||||
|
|
|
@ -28,6 +28,18 @@
|
|||
|
||||
cvar_t *cvar_vars;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *old;
|
||||
char *new;
|
||||
} replacement_t;
|
||||
|
||||
/* An ugly hack to rewrite CVARs loaded from config.cfg */
|
||||
replacement_t replacements[] = {
|
||||
};
|
||||
|
||||
|
||||
static qboolean
|
||||
Cvar_InfoValidate(char *s)
|
||||
{
|
||||
|
@ -408,8 +420,8 @@ Cvar_Command(void)
|
|||
void
|
||||
Cvar_Set_f(void)
|
||||
{
|
||||
int c;
|
||||
int flags;
|
||||
char *firstarg;
|
||||
int c, flags, i;
|
||||
|
||||
c = Cmd_Argc();
|
||||
|
||||
|
@ -419,6 +431,19 @@ Cvar_Set_f(void)
|
|||
return;
|
||||
}
|
||||
|
||||
firstarg = Cmd_Argv(1);
|
||||
|
||||
/* An ugly hack to rewrite CVARs loaded from config.cfg */
|
||||
if (!doneWithCfg)
|
||||
{
|
||||
for (i = 0; i < sizeof(replacements) / sizeof(replacement_t); i++)
|
||||
{
|
||||
if (!strcmp(firstarg, replacements[i].old))
|
||||
{
|
||||
firstarg = replacements[i].new;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (c == 4)
|
||||
{
|
||||
if (!strcmp(Cmd_Argv(3), "u"))
|
||||
|
@ -437,12 +462,11 @@ Cvar_Set_f(void)
|
|||
return;
|
||||
}
|
||||
|
||||
Cvar_FullSet(Cmd_Argv(1), Cmd_Argv(2), flags);
|
||||
Cvar_FullSet(firstarg, Cmd_Argv(2), flags);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
Cvar_Set(Cmd_Argv(1), Cmd_Argv(2));
|
||||
Cvar_Set(firstarg, Cmd_Argv(2));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -313,6 +313,9 @@ enum clc_ops_e
|
|||
#define EXEC_INSERT 1 /* insert at current position, but don't run yet */
|
||||
#define EXEC_APPEND 2 /* add to end of the command buffer */
|
||||
|
||||
/* An ugly hack to rewrite CVARs loaded from config.cfg */
|
||||
extern qboolean doneWithCfg;
|
||||
|
||||
void Cbuf_Init(void);
|
||||
|
||||
/* allocates an initial text buffer that will grow as needed */
|
||||
|
|
Loading…
Reference in a new issue