engine: common: reduce large static arrays amount for logging by adding generic function accepting va_list

This commit is contained in:
Alibek Omarov 2024-07-17 22:27:01 +03:00
parent a937320c65
commit aed96ee753

View file

@ -331,6 +331,21 @@ CONSOLE PRINT
============================================================================= =============================================================================
*/ */
static void Con_Printfv( qboolean debug, const char *szFmt, va_list args )
{
static char buffer[MAX_PRINT_MSG];
qboolean add_newline;
add_newline = Q_vsnprintf( buffer, sizeof( buffer ), szFmt, args ) < 0;
if( debug && Q_strcmp( buffer, "0\n" ))
return; // hlrally spam
Sys_Print( buffer );
if( add_newline )
Sys_Print( "\n" );
}
/* /*
============= =============
Con_Printf Con_Printf
@ -339,20 +354,14 @@ Con_Printf
*/ */
void GAME_EXPORT Con_Printf( const char *szFmt, ... ) void GAME_EXPORT Con_Printf( const char *szFmt, ... )
{ {
static char buffer[MAX_PRINT_MSG]; va_list args;
va_list args;
qboolean add_newline;
if( !host.allow_console ) if( !host.allow_console )
return; return;
va_start( args, szFmt ); va_start( args, szFmt );
add_newline = Q_vsnprintf( buffer, sizeof( buffer ), szFmt, args ) < 0; Con_Printfv( false, szFmt, args );
va_end( args ); va_end( args );
Sys_Print( buffer );
if( add_newline )
Sys_Print( "\n" );
} }
/* /*
@ -363,23 +372,14 @@ Con_DPrintf
*/ */
void GAME_EXPORT Con_DPrintf( const char *szFmt, ... ) void GAME_EXPORT Con_DPrintf( const char *szFmt, ... )
{ {
static char buffer[MAX_PRINT_MSG]; va_list args;
va_list args;
qboolean add_newline;
if( host_developer.value < DEV_NORMAL ) if( host_developer.value < DEV_NORMAL )
return; return;
va_start( args, szFmt ); va_start( args, szFmt );
add_newline = Q_vsnprintf( buffer, sizeof( buffer ), szFmt, args ) < 0; Con_Printfv( true, szFmt, args );
va_end( args ); va_end( args );
if( buffer[0] == '0' && buffer[1] == '\n' && buffer[2] == '\0' )
return; // hlrally spam
Sys_Print( buffer );
if( add_newline )
Sys_Print( "\n" );
} }
/* /*
@ -390,20 +390,14 @@ Con_Reportf
*/ */
void Con_Reportf( const char *szFmt, ... ) void Con_Reportf( const char *szFmt, ... )
{ {
static char buffer[MAX_PRINT_MSG]; va_list args;
va_list args;
qboolean add_newline;
if( host_developer.value < DEV_EXTENDED ) if( host_developer.value < DEV_EXTENDED )
return; return;
va_start( args, szFmt ); va_start( args, szFmt );
add_newline = Q_vsnprintf( buffer, sizeof( buffer ), szFmt, args ) < 0; Con_Printfv( false, szFmt, args );
va_end( args ); va_end( args );
Sys_Print( buffer );
if( add_newline )
Sys_Print( "\n" );
} }