diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index 5dede3ed..667a15fe 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -1766,7 +1766,7 @@ static cvar_t *GAME_EXPORT pfnCvar_RegisterClientVariable( const char *szName, c || !Q_stricmp( szName, "sensitivity" )) flags |= FCVAR_PRIVILEGED; - return (cvar_t *)Cvar_Get( szName, szValue, flags|FCVAR_CLIENTDLL, NULL ); + return (cvar_t *)Cvar_Get( szName, szValue, flags|FCVAR_CLIENTDLL, Cvar_BuildAutoDescription( szName, flags|FCVAR_CLIENTDLL )); } static int GAME_EXPORT Cmd_AddClientCommand( const char *cmd_name, xcommand_t function ) diff --git a/engine/client/cl_gameui.c b/engine/client/cl_gameui.c index be461513..b39ee040 100644 --- a/engine/client/cl_gameui.c +++ b/engine/client/cl_gameui.c @@ -691,7 +691,7 @@ pfnCvar_RegisterVariable */ static cvar_t *GAME_EXPORT pfnCvar_RegisterGameUIVariable( const char *szName, const char *szValue, int flags ) { - return (cvar_t *)Cvar_Get( szName, szValue, flags|FCVAR_GAMEUIDLL, NULL ); + return (cvar_t *)Cvar_Get( szName, szValue, flags|FCVAR_GAMEUIDLL, Cvar_BuildAutoDescription( szName, flags|FCVAR_GAMEUIDLL )); } static int GAME_EXPORT Cmd_AddGameUICommand( const char *cmd_name, xcommand_t function ) diff --git a/engine/common/cvar.c b/engine/common/cvar.c index c6bdc1a0..cdc18d7d 100644 --- a/engine/common/cvar.c +++ b/engine/common/cvar.c @@ -103,10 +103,16 @@ Cvar_BuildAutoDescription build cvar auto description that based on the setup flags ============ */ -static const char *Cvar_BuildAutoDescription( int flags ) +const char *Cvar_BuildAutoDescription( const char *szName, int flags ) { static char desc[256]; + if( FBitSet( flags, FCVAR_GLCONFIG )) + { + Q_snprintf( desc, sizeof( desc ), CVAR_GLCONFIG_DESCRIPTION, szName ); + return desc; + } + desc[0] = '\0'; if( FBitSet( flags, FCVAR_EXTDLL )) @@ -441,7 +447,7 @@ convar_t *Cvar_Get( const char *name, const char *value, int flags, const char * Cvar_DirectSet( var, value ); } - if( FBitSet( var->flags, FCVAR_ALLOCATED ) && var_desc != NULL && Q_strcmp( var_desc, var->desc )) + if( FBitSet( var->flags, FCVAR_ALLOCATED ) && Q_strcmp( var_desc, var->desc )) { if( !FBitSet( flags, FCVAR_GLCONFIG )) Con_Reportf( "%s change description from %s to %s\n", var->name, var->desc, var_desc ); @@ -454,10 +460,6 @@ convar_t *Cvar_Get( const char *name, const char *value, int flags, const char * } // allocate a new cvar - - if( !var_desc ) - var_desc = Cvar_BuildAutoDescription( flags ); - var = Mem_Malloc( cvar_pool, sizeof( *var )); var->name = copystringpool( cvar_pool, name ); var->string = copystringpool( cvar_pool, value ); @@ -1204,7 +1206,7 @@ static void Cvar_List_f( void ) if( FBitSet( var->flags, FCVAR_EXTENDED|FCVAR_ALLOCATED )) Con_Printf( " %-*s %s ^3%s^7\n", 32, var->name, value, var->desc ); - else Con_Printf( " %-*s %s ^3%s^7\n", 32, var->name, value, Cvar_BuildAutoDescription( var->flags )); + else Con_Printf( " %-*s %s ^3%s^7\n", 32, var->name, value, Cvar_BuildAutoDescription( var->name, var->flags )); count++; } diff --git a/engine/common/cvar.h b/engine/common/cvar.h index c76fdf6f..3960fbc2 100644 --- a/engine/common/cvar.h +++ b/engine/common/cvar.h @@ -44,6 +44,7 @@ void Cvar_DirectSet( convar_t *var, const char *value ); void Cvar_DirectSetValue( convar_t *var, float value ); void Cvar_Set( const char *var_name, const char *value ); void Cvar_SetValue( const char *var_name, float value ); +const char *Cvar_BuildAutoDescription( const char *szName, int flags ) RETURNS_NONNULL; float Cvar_VariableValue( const char *var_name ); int Cvar_VariableInteger( const char *var_name ); const char *Cvar_VariableString( const char *var_name ) RETURNS_NONNULL; diff --git a/engine/common/filesystem_engine.c b/engine/common/filesystem_engine.c index 43f5bca2..f10744c2 100644 --- a/engine/common/filesystem_engine.c +++ b/engine/common/filesystem_engine.c @@ -258,8 +258,7 @@ static qboolean FS_DetermineReadOnlyRootDirectory( char *out, size_t size ) void FS_CheckConfig( void ) { - // only used to prevent rescan after reading config.cfg when user hasn't enabled any addon directories - if( fs_mount_lv.value || fs_mount_hd.value || fs_mount_addon.value || fs_mount_l10n.value || Q_stricmp( ui_language.string, "english" )) + if( fs_mount_lv.value || fs_mount_hd.value || fs_mount_addon.value || fs_mount_l10n.value ) FS_Rescan_f(); } @@ -319,7 +318,6 @@ void FS_Init( const char *basedir ) Cvar_RegisterVariable( &fs_mount_lv ); Cvar_RegisterVariable( &fs_mount_addon ); Cvar_RegisterVariable( &fs_mount_l10n ); - Cvar_RegisterVariable( &ui_language ); if( !Sys_GetParmFromCmdLine( "-dll", host.gamedll )) host.gamedll[0] = 0;