From 3cea12627e104a2c1e43a623daa87331f56919ce Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 17 Feb 2024 22:16:39 +0300 Subject: [PATCH] engine: client: add cl_trace_stufftext from old engine --- engine/client/cl_main.c | 6 ++++-- engine/client/cl_parse.c | 7 +++++++ engine/client/cl_parse_48.c | 8 ++++++-- engine/client/client.h | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index a1405b6c..7a3804ea 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -75,8 +75,9 @@ static CVAR_DEFINE_AUTO( cl_upmax, "1200", FCVAR_ARCHIVE, "max allowed incoming CVAR_DEFINE_AUTO( cl_lw, "1", FCVAR_ARCHIVE|FCVAR_USERINFO, "enable client weapon predicting" ); CVAR_DEFINE_AUTO( cl_charset, "utf-8", FCVAR_ARCHIVE, "1-byte charset to use (iconv style)" ); -CVAR_DEFINE_AUTO( cl_trace_messages, "0", FCVAR_ARCHIVE|FCVAR_CHEAT, "enable message names tracing (good for developers)"); -CVAR_DEFINE_AUTO( cl_trace_events, "0", FCVAR_ARCHIVE|FCVAR_CHEAT, "enable events tracing (good for developers)"); +CVAR_DEFINE_AUTO( cl_trace_stufftext, "0", FCVAR_ARCHIVE|FCVAR_CHEAT, "enable stufftext (server-to-client console commands) tracing (good for developers)" ); +CVAR_DEFINE_AUTO( cl_trace_messages, "0", FCVAR_ARCHIVE|FCVAR_CHEAT, "enable message names tracing (good for developers)" ); +CVAR_DEFINE_AUTO( cl_trace_events, "0", FCVAR_ARCHIVE|FCVAR_CHEAT, "enable events tracing (good for developers)" ); static CVAR_DEFINE_AUTO( cl_nat, "0", 0, "show servers running under NAT" ); CVAR_DEFINE_AUTO( hud_utf8, "0", FCVAR_ARCHIVE, "Use utf-8 encoding for hud text" ); CVAR_DEFINE_AUTO( ui_renderworld, "0", FCVAR_ARCHIVE, "render world when UI is visible" ); @@ -2892,6 +2893,7 @@ static void CL_InitLocal( void ) Cvar_RegisterVariable( &rcon_address ); + Cvar_RegisterVariable( &cl_trace_stufftext ); Cvar_RegisterVariable( &cl_trace_messages ); Cvar_RegisterVariable( &cl_trace_events ); diff --git a/engine/client/cl_parse.c b/engine/client/cl_parse.c index 03a3b8bb..d6d131d8 100644 --- a/engine/client/cl_parse.c +++ b/engine/client/cl_parse.c @@ -2329,11 +2329,18 @@ void CL_ParseServerMessage( sizebuf_t *msg, qboolean normal_message ) break; case svc_stufftext: s = MSG_ReadString( msg ); + if( cl_trace_stufftext.value ) + { + size_t len = Q_strlen( s ); + Con_Printf( "Stufftext: %s%c", s, len && s[len-1] == '\n' ? '\0' : '\n' ); + } + #ifdef HACKS_RELATED_HLMODS // disable Cry Of Fear antisave protection if( !Q_strnicmp( s, "disconnect", 10 ) && cls.signon != SIGNONS ) break; // too early #endif + Cbuf_AddFilteredText( s ); break; case svc_setangle: diff --git a/engine/client/cl_parse_48.c b/engine/client/cl_parse_48.c index 4a3a0455..61fa3071 100644 --- a/engine/client/cl_parse_48.c +++ b/engine/client/cl_parse_48.c @@ -443,13 +443,17 @@ void CL_ParseLegacyServerMessage( sizebuf_t *msg, qboolean normal_message ) break; case svc_stufftext: s = MSG_ReadString( msg ); + if( cl_trace_stufftext.value ) + { + size_t len = Q_strlen( s ); + Con_Printf( "Stufftext: %s%c", s, len && s[len-1] == '\n' ? '\0' : '\n' ); + } + #ifdef HACKS_RELATED_HLMODS // disable Cry Of Fear antisave protection if( !Q_strnicmp( s, "disconnect", 10 ) && cls.signon != SIGNONS ) break; // too early #endif - - Con_Reportf( "Stufftext: %s", s ); Cbuf_AddFilteredText( s ); break; case svc_setangle: diff --git a/engine/client/client.h b/engine/client/client.h index 36b1b9c9..f9774594 100644 --- a/engine/client/client.h +++ b/engine/client/client.h @@ -688,6 +688,7 @@ extern convar_t r_showtextures; extern convar_t cl_bmodelinterp; extern convar_t cl_lw; // local weapons extern convar_t cl_charset; +extern convar_t cl_trace_stufftext; extern convar_t cl_trace_messages; extern convar_t cl_trace_events; extern convar_t hud_utf8;