diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/client/components/controls.cpp | 5 | ||||
| -rw-r--r-- | src/game/client/components/controls.h | 1 | ||||
| -rw-r--r-- | src/game/client/gameclient.cpp | 5 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/game/client/components/controls.cpp b/src/game/client/components/controls.cpp index 7b3f4716..859bb471 100644 --- a/src/game/client/components/controls.cpp +++ b/src/game/client/components/controls.cpp @@ -30,6 +30,11 @@ void CControls::OnReset() m_InputDirectionRight = 0; } +void CControls::OnPlayerDeath() +{ + m_LastData.m_WantedWeapon = m_InputData.m_WantedWeapon = 0; +} + static void ConKeyInputState(IConsole::IResult *pResult, void *pUserData) { ((int *)pUserData)[0] = pResult->GetInteger(0); diff --git a/src/game/client/components/controls.h b/src/game/client/components/controls.h index 4a1038da..092555d8 100644 --- a/src/game/client/components/controls.h +++ b/src/game/client/components/controls.h @@ -21,6 +21,7 @@ public: virtual void OnMessage(int MsgType, void *pRawMsg); virtual bool OnMouseMove(float x, float y); virtual void OnConsoleInit(); + virtual void OnPlayerDeath(); int SnapInput(int *pData); }; diff --git a/src/game/client/gameclient.cpp b/src/game/client/gameclient.cpp index 319cc300..acf29eb7 100644 --- a/src/game/client/gameclient.cpp +++ b/src/game/client/gameclient.cpp @@ -764,6 +764,11 @@ void CGameClient::OnNewSnapshot() m_Snap.m_pLocalPrevCharacter = &c->m_Prev; m_LocalCharacterPos = vec2(m_Snap.m_pLocalCharacter->m_X, m_Snap.m_pLocalCharacter->m_Y); } + else if(Client()->SnapFindItem(IClient::SNAP_PREV, NETOBJTYPE_CHARACTER, m_Snap.m_LocalCid)) + { + // player died + m_pControls->OnPlayerDeath(); + } } else m_Snap.m_Spectate = true; |