From db3027fa2910b05c5389be78139858f867618b3a Mon Sep 17 00:00:00 2001 From: Kamay Xutax Date: Wed, 11 Sep 2024 15:52:48 +0200 Subject: [PATCH] Only update user cmd when a new tick arrives --- game/client/in_main.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/game/client/in_main.cpp b/game/client/in_main.cpp index 27d508b56b..b3ff1c468d 100644 --- a/game/client/in_main.cpp +++ b/game/client/in_main.cpp @@ -1020,7 +1020,21 @@ void CInput::ExtraMouseSample( int sequence_number, float frametime, bool active { VPROF( "CInput::ExtraMouseSample" ); - CUserCmd *cmd = &m_pCommands[sequence_number % MULTIPLAYER_BACKUP]; + CUserCmd dummy; + CUserCmd* cmd; + + static int old_sequence_number = 0; + + // Be sure to call this only once per tick. + if ( old_sequence_number != sequence_number ) + { + cmd = &m_pCommands[sequence_number % MULTIPLAYER_BACKUP]; + old_sequence_number = sequence_number; + } + else + { + cmd = &dummy; + } cmd->Reset();