Physical: division by zero fix

This commit is contained in:
erorcun 2021-07-10 23:24:27 +03:00
parent 61c2398b67
commit 9f0a96ac89

View file

@ -521,6 +521,10 @@ CPhysical::ApplySpringDampening(float damping, CVector &springDir, CVector &poin
{ {
float speedA = DotProduct(speed, springDir); float speedA = DotProduct(speed, springDir);
float speedB = DotProduct(GetSpeed(point), 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 step = Min(CTimer::GetTimeStep(), 3.0f);
float impulse = -damping * (speedA + speedB)/2.0f * m_fMass * step * 0.53f; float impulse = -damping * (speedA + speedB)/2.0f * m_fMass * step * 0.53f;
if(bIsHeavy) if(bIsHeavy)