diff --git a/engine/client/cl_qparse.c b/engine/client/cl_qparse.c index 9b339919..d953a43b 100644 --- a/engine/client/cl_qparse.c +++ b/engine/client/cl_qparse.c @@ -21,6 +21,7 @@ GNU General Public License for more details. #include "shake.h" #include "hltv.h" #include "input.h" +#include "base_cmd.h" enum { STAT_HEALTH = 0, @@ -866,7 +867,13 @@ static void CL_QuakeExecStuff( void ) if( argc == 0 ) { // debug: find all missed commands and cvars to add them into QWrap - if( !Cvar_Exists( token ) && !Cmd_Exists( token )) + cmdalias_t *alias; + cmd_t *cmd; + convar_t *cvar; + + BaseCmd_FindAll( token, &cmd, &alias, &cvar ); + + if( !cvar && !cmd ) Con_Printf( S_WARN "'%s' is not exist\n", token ); // else Msg( "cmd: %s\n", token ); diff --git a/engine/common/cmd.c b/engine/common/cmd.c index dd4754d1..29f5e3ec 100644 --- a/engine/common/cmd.c +++ b/engine/common/cmd.c @@ -650,6 +650,8 @@ int Cmd_AddCommandEx( const char *cmd_name, xcommand_t function, const char *cmd { cmd_t *cmd, *cur, *prev; size_t desc_len; + convar_t *cvar; + cmdalias_t *alias; if( !COM_CheckString( cmd_name )) { @@ -658,14 +660,14 @@ int Cmd_AddCommandEx( const char *cmd_name, xcommand_t function, const char *cmd } // fail if the command is a variable name - if( Cvar_FindVar( cmd_name )) + BaseCmd_FindAll( cmd_name, &cmd, &alias, &cvar ); + if( cvar ) { Con_DPrintf( S_ERROR "%s: %s already defined as a var\n", funcname, cmd_name ); return 0; } // fail if the command already exists and cannot be overriden - cmd = Cmd_Exists( cmd_name ); if( cmd ) { // some mods register commands that share the name with some engine's commands diff --git a/engine/common/cvar.c b/engine/common/cvar.c index e4673294..dac7c880 100644 --- a/engine/common/cvar.c +++ b/engine/common/cvar.c @@ -407,19 +407,21 @@ The flags will be or'ed in if the variable exists. */ convar_t *Cvar_Get( const char *name, const char *value, uint32_t flags, const char *var_desc ) { - convar_t *cur, *find, *var; + convar_t *cur, *find, *var; + cmd_t *cmd; + cmdalias_t *alias; ASSERT( name && *name ); + BaseCmd_FindAll( name, &cmd, &alias, &var ); + // check for command coexisting - if( Cmd_Exists( name )) + if( cmd ) { Con_DPrintf( S_ERROR "can't register variable '%s', is already defined as command\n", name ); return NULL; } - var = Cvar_FindVar( name ); - if( var ) { // already existed? @@ -519,12 +521,14 @@ Adds a freestanding variable to the variable list. */ void Cvar_RegisterVariable( convar_t *var ) { - convar_t *cur, *find, *dup; + convar_t *cur, *find, *dup; + cmd_t *cmd; + cmdalias_t *alias; ASSERT( var != NULL ); // first check to see if it has allready been defined - dup = Cvar_FindVar( var->name ); + BaseCmd_FindAll( var->name, &cmd, &alias, &dup ); if( dup ) { @@ -539,7 +543,7 @@ void Cvar_RegisterVariable( convar_t *var ) } // check for overlap with a command - if( Cmd_Exists( var->name )) + if( cmd ) { Con_DPrintf( S_ERROR "can't register variable '%s', is already defined as command\n", var->name ); return;