From 9f10dba7d10a537d697b8e25daefbf731138a760 Mon Sep 17 00:00:00 2001 From: Jupeyy Date: Sat, 17 Oct 2020 19:27:40 +0200 Subject: [PATCH] Fix NaN in ninja muzzle --- src/game/client/components/players.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/game/client/components/players.cpp b/src/game/client/components/players.cpp index e55ca1df3..31058ad5c 100644 --- a/src/game/client/components/players.cpp +++ b/src/game/client/components/players.cpp @@ -429,13 +429,22 @@ void CPlayers::RenderPlayer( } if(g_pData->m_Weapons.m_aId[iw].m_aSpriteMuzzles[IteX]) { + vec2 Pos1, Pos0; vec2 Dir; if(PredictLocalWeapons) Dir = vec2(pPlayerChar->m_X, pPlayerChar->m_Y) - vec2(pPrevChar->m_X, pPrevChar->m_Y); else Dir = vec2(m_pClient->m_Snap.m_aCharacters[ClientID].m_Cur.m_X, m_pClient->m_Snap.m_aCharacters[ClientID].m_Cur.m_Y) - vec2(m_pClient->m_Snap.m_aCharacters[ClientID].m_Prev.m_X, m_pClient->m_Snap.m_aCharacters[ClientID].m_Prev.m_Y); - Dir = normalize(Dir); - float HadOkenAngle = GetAngle(Dir); + float HadOkenAngle = 0; + if(absolute(Dir.x) > 0.0001f || absolute(Dir.y) > 0.0001f) + { + Dir = normalize(Dir); + HadOkenAngle = GetAngle(Dir); + } + else + { + Dir = vec2(1, 0); + } Graphics()->QuadsSetRotation(HadOkenAngle); int QuadOffset = IteX * 2; vec2 DirY(-Dir.y, Dir.x);