about summary refs log tree commit diff
path: root/src/game/client
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-09-08 02:54:03 +0200
committeroy <Tom_Adams@web.de>2010-09-08 02:54:03 +0200
commite191b2c59e24eee5bf77b993e9a5dec2a4c7adfa (patch)
treeb877bd86a77df9660f22fd271ccc249be3975047 /src/game/client
parente31b125a0de8b359921807d3b5590e8e20fcfc8e (diff)
downloadzcatch-e191b2c59e24eee5bf77b993e9a5dec2a4c7adfa.tar.gz
zcatch-e191b2c59e24eee5bf77b993e9a5dec2a4c7adfa.zip
when hooking a player don't use predicted values for rendering the hook. Closes #9
Diffstat (limited to 'src/game/client')
-rw-r--r--src/game/client/components/players.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/game/client/components/players.cpp b/src/game/client/components/players.cpp
index ad7b3bcd..bb79f550 100644
--- a/src/game/client/components/players.cpp
+++ b/src/game/client/components/players.cpp
@@ -165,6 +165,14 @@ void CPlayers::RenderHook(
 					HookPos = mix(vec2(m_pClient->m_PredictedPrevChar.m_Pos.x, m_pClient->m_PredictedPrevChar.m_Pos.y),
 						vec2(m_pClient->m_PredictedChar.m_Pos.x, m_pClient->m_PredictedChar.m_Pos.y), Client()->PredIntraGameTick());
 			}
+			else if(pInfo.m_Local)
+			{
+				HookPos = mix(vec2(m_pClient->m_Snap.m_aCharacters[pPlayerChar->m_HookedPlayer].m_Prev.m_X,
+					m_pClient->m_Snap.m_aCharacters[pPlayerChar->m_HookedPlayer].m_Prev.m_Y),
+					vec2(m_pClient->m_Snap.m_aCharacters[pPlayerChar->m_HookedPlayer].m_Cur.m_X,
+					m_pClient->m_Snap.m_aCharacters[pPlayerChar->m_HookedPlayer].m_Cur.m_Y),
+					Client()->IntraGameTick());
+			}
 			else
 				HookPos = mix(vec2(pPrevChar->m_HookX, pPrevChar->m_HookY), vec2(pPlayerChar->m_HookX, pPlayerChar->m_HookY), Client()->IntraGameTick());
 		}