From c3531b64993fa753770af302e06320e4b4eeb083 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 25 May 2025 16:48:31 +0500 Subject: [PATCH] engine: expect that base_cmd is consistent, as for many years no cases of broken basecmd were found --- engine/common/cmd.c | 24 +++++++++++------------- engine/common/cvar.c | 6 ++++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/engine/common/cmd.c b/engine/common/cmd.c index 371607b0..f13550d6 100644 --- a/engine/common/cmd.c +++ b/engine/common/cmd.c @@ -958,21 +958,20 @@ static void Cmd_ExecuteStringWithPrivilegeCheck( const char *text, qboolean isPr if( !Cmd_Argc( )) return; // no tokens -#if defined(XASH_HASHED_VARS) +#if defined( XASH_HASHED_VARS ) BaseCmd_FindAll( cmd_argv[0], &cmd, &a, &cvar ); #endif if( !host.apply_game_config ) { +#if !defined( XASH_HASHED_VARS ) // check aliases - if( !a ) // if not found in basecmd + for( a = cmd_alias; a; a = a->next ) { - for( a = cmd_alias; a; a = a->next ) - { - if( !Q_stricmp( cmd_argv[0], a->name )) - break; - } + if( !Q_stricmp( cmd_argv[0], a->name )) + break; } +#endif if( a ) { @@ -987,14 +986,13 @@ static void Cmd_ExecuteStringWithPrivilegeCheck( const char *text, qboolean isPr // special mode for restore game.dll archived cvars if( !host.apply_game_config || !Q_strcmp( cmd_argv[0], "exec" )) { - if( !cmd || !cmd->function ) // if not found in basecmd +#if !defined( XASH_HASHED_VARS ) + for( cmd = cmd_functions; cmd; cmd = cmd->next ) { - for( cmd = cmd_functions; cmd; cmd = cmd->next ) - { - if( !Q_stricmp( cmd_argv[0], cmd->name ) && cmd->function ) - break; - } + if( !Q_stricmp( cmd_argv[0], cmd->name ) && cmd->function ) + break; } +#endif // check functions if( cmd && cmd->function ) diff --git a/engine/common/cvar.c b/engine/common/cvar.c index 16b2ffc0..36bc513d 100644 --- a/engine/common/cvar.c +++ b/engine/common/cvar.c @@ -1030,9 +1030,11 @@ qboolean Cvar_CommandWithPrivilegeCheck( convar_t *v, qboolean isPrivileged ) return true; } +#if !defined( XASH_HASHED_VARS ) // check variables - if( !v ) // already found in basecmd - v = Cvar_FindVar( Cmd_Argv( 0 )); + v = Cvar_FindVar( Cmd_Argv( 0 )); +#endif + if( !v ) return false;