From 9d39ca888f65840b5541378e71aa000300369ca6 Mon Sep 17 00:00:00 2001 From: def Date: Wed, 27 Nov 2019 18:18:48 +0100 Subject: [PATCH] Support shotgun_speed 0 for mapping stationary bullets --- src/base/vmath.h | 3 +++ src/game/client/prediction/gameworld.cpp | 2 +- src/game/server/gameworld.cpp | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/base/vmath.h b/src/base/vmath.h index 06862da55..9f4c6fe9b 100644 --- a/src/base/vmath.h +++ b/src/base/vmath.h @@ -77,6 +77,9 @@ typedef vector2_base ivec2; template inline vector2_base closest_point_on_line(vector2_base line_point0, vector2_base line_point1, vector2_base target_point) { + if(line_point1 == line_point0) + return line_point0; + vector2_base c = target_point - line_point0; vector2_base v = (line_point1 - line_point0); v = normalize(v); diff --git a/src/game/client/prediction/gameworld.cpp b/src/game/client/prediction/gameworld.cpp index 077a50a66..8f0f6097d 100644 --- a/src/game/client/prediction/gameworld.cpp +++ b/src/game/client/prediction/gameworld.cpp @@ -214,7 +214,7 @@ void CGameWorld::Tick() CCharacter *CGameWorld::IntersectCharacter(vec2 Pos0, vec2 Pos1, float Radius, vec2& NewPos, CCharacter *pNotThis, int CollideWith, class CCharacter *pThisOnly) { // Find other players - float ClosestLen = distance(Pos0, Pos1) * 100.0f; + float ClosestLen = HUGE_VALF; CCharacter *pClosest = 0; CCharacter *p = (CCharacter *)FindFirst(ENTTYPE_CHARACTER); diff --git a/src/game/server/gameworld.cpp b/src/game/server/gameworld.cpp index a7e5ca5ff..cba241469 100644 --- a/src/game/server/gameworld.cpp +++ b/src/game/server/gameworld.cpp @@ -295,7 +295,7 @@ void CGameWorld::Tick() CCharacter *CGameWorld::IntersectCharacter(vec2 Pos0, vec2 Pos1, float Radius, vec2& NewPos, CCharacter *pNotThis, int CollideWith, class CCharacter *pThisOnly) { // Find other players - float ClosestLen = distance(Pos0, Pos1) * 100.0f; + float ClosestLen = HUGE_VALF; CCharacter *pClosest = 0; CCharacter *p = (CCharacter *)FindFirst(ENTTYPE_CHARACTER);