From 1fe7e011bf8a3ca03c4e8f17e3003a736d7d7ae9 Mon Sep 17 00:00:00 2001 From: ficool2 <34815548+ficool2@users.noreply.github.com> Date: Sat, 1 Nov 2025 12:47:18 +0000 Subject: [PATCH] Predict shared thinks in server order --- src/game/client/tf/c_tf_player.cpp | 16 ++++++++++++++++ src/game/client/tf/c_tf_player.h | 3 +++ src/game/shared/tf/tf_player_shared.cpp | 4 ---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/game/client/tf/c_tf_player.cpp b/src/game/client/tf/c_tf_player.cpp index 402615a76..6ba1e4cbb 100644 --- a/src/game/client/tf/c_tf_player.cpp +++ b/src/game/client/tf/c_tf_player.cpp @@ -5886,6 +5886,17 @@ bool C_TFPlayer::IsPlayerOnSteamFriendsList( C_BasePlayer *pPlayer ) return false; } +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void C_TFPlayer::PreThink( void ) +{ + // Update timers. + UpdateTimers(); + + // Pass through to the base class think. + BaseClass::PreThink(); +} //----------------------------------------------------------------------------- // Purpose: @@ -6091,6 +6102,11 @@ void C_TFPlayer::ClientThink() } } +void C_TFPlayer::UpdateTimers( void ) +{ + m_Shared.SharedThink(); +} + void C_TFPlayer::Touch( CBaseEntity *pOther ) { BaseClass::Touch( pOther ); diff --git a/src/game/client/tf/c_tf_player.h b/src/game/client/tf/c_tf_player.h index dd68788cf..23ecbc6b7 100644 --- a/src/game/client/tf/c_tf_player.h +++ b/src/game/client/tf/c_tf_player.h @@ -111,8 +111,11 @@ public: void StopViewModelParticles( C_BaseEntity *pParticleEnt ); + virtual void PreThink( void ); virtual void ClientThink(); + void UpdateTimers(); + // Deal with recording virtual void GetToolRecordingState( KeyValues *msg ); diff --git a/src/game/shared/tf/tf_player_shared.cpp b/src/game/shared/tf/tf_player_shared.cpp index 97d8ed980..48fa645ee 100644 --- a/src/game/shared/tf/tf_player_shared.cpp +++ b/src/game/shared/tf/tf_player_shared.cpp @@ -1420,8 +1420,6 @@ void CTFPlayerShared::OnPreDataChanged( void ) m_nOldDisguiseClass = GetDisguiseClass(); m_nOldDisguiseTeam = GetDisguiseTeam(); m_iOldMovementStunParity = m_iMovementStunParity; - - SharedThink(); } //----------------------------------------------------------------------------- @@ -1483,8 +1481,6 @@ void CTFPlayerShared::OnDataChanged( void ) { GetActiveTFWeapon()->SetWeaponVisible( false ); } - - InvisibilityThink(); } //-----------------------------------------------------------------------------