Avoid NAN problem if a kart with velocity 0 is involved in a collision.

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11949 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
hikerstk 2012-11-15 00:10:36 +00:00
parent 6325e02b16
commit 04c3b93bb1

View File

@ -343,13 +343,19 @@ void Physics::KartKartCollision(AbstractKart *kart_a,
// More driving towards left --> left kart gets bigger impulse
if(vel_diff<0)
{
f_left *= 1.0f - vel_diff/fabsf(vel_left);
// Avoid too large impulse for karts that are driving
// slow (and division by zero)
if(fabsf(vel_left)>2.0f)
f_left *= 1.0f - vel_diff/fabsf(vel_left);
if(f_left > 2.0f)
f_left = 2.0f;
}
else
{
f_right *= 1.0f + vel_diff/fabsf(vel_right);
// Avoid too large impulse for karts that are driving
// slow (and division by zero)
if(fabsf(vel_right)>2.0f)
f_right *= 1.0f + vel_diff/fabsf(vel_right);
if(f_right > 2.0f)
f_right = 2.0f;
}