aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorerorcun <erorcunerorcun@hotmail.com.tr>2021-07-10 23:24:27 +0300
committererorcun <erorcunerorcun@hotmail.com.tr>2021-07-10 23:27:00 +0300
commit9f0a96ac896cec2e8d094738e23566652ac45f52 (patch)
treee7e0cbeef8bf1dd219cb01fd91eba745a5d8d1e0 /src
parent61c2398b6741667b11fb3ab2d6f0dc718635ca36 (diff)
Physical: division by zero fix
Diffstat (limited to 'src')
-rw-r--r--src/entities/Physical.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/entities/Physical.cpp b/src/entities/Physical.cpp
index 890e7876..e9ae3065 100644
--- a/src/entities/Physical.cpp
+++ b/src/entities/Physical.cpp
@@ -521,6 +521,10 @@ CPhysical::ApplySpringDampening(float damping, CVector &springDir, CVector &poin
{
float speedA = DotProduct(speed, springDir);
float speedB = DotProduct(GetSpeed(point), springDir);
+#ifdef FIX_BUGS
+ if (speedB == 0.0f)
+ return true;
+#endif
float step = Min(CTimer::GetTimeStep(), 3.0f);
float impulse = -damping * (speedA + speedB)/2.0f * m_fMass * step * 0.53f;
if(bIsHeavy)