diff options
| author | oy <Tom_Adams@web.de> | 2010-08-10 13:54:13 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-08-10 13:54:13 +0200 |
| commit | d37c83962da7e0660d31b70a25587fd8a8ef63f2 (patch) | |
| tree | ed635a892508ef29fc4d253d7a7d22310e6d1f6d /src/game | |
| parent | 9753f62d46d3ac21737faf378f87ad8c67f29741 (diff) | |
| download | zcatch-d37c83962da7e0660d31b70a25587fd8a8ef63f2.tar.gz zcatch-d37c83962da7e0660d31b70a25587fd8a8ef63f2.zip | |
fixed weapon change on start bug
Diffstat (limited to 'src/game')
| -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; |