From a918c61de80c223de1f05af6e7a535597ba5cb87 Mon Sep 17 00:00:00 2001 From: furo Date: Fri, 29 Dec 2023 22:39:42 +0100 Subject: [PATCH] Fix players on 0.7 becoming invisible when `m_HookTick` is negative. --- src/game/server/entities/character.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index 1c0c5a1ae..ad405eb28 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -1099,6 +1099,10 @@ void CCharacter::SnapCharacter(int SnappingClient, int ID) pCharacter->m_Angle -= (int)(2.0f * pi * 256.0f); } + // m_HookTick can be negative when using the hook_duration tune, which 0.7 clients + // will consider invalid. https://github.com/ddnet/ddnet/issues/3915 + pCharacter->m_HookTick = maximum(0, pCharacter->m_HookTick); + pCharacter->m_Tick = Tick; pCharacter->m_Emote = Emote; pCharacter->m_AttackTick = m_AttackTick;