diff --git a/src/public/jigglebones.cpp b/src/public/jigglebones.cpp index 176bf723746..7a3bfcc861c 100644 --- a/src/public/jigglebones.cpp +++ b/src/public/jigglebones.cpp @@ -588,14 +588,15 @@ void CJiggleBones::BuildJiggleTransformations( int boneIndex, float currenttime, data->lastBoingPos = goalBasePosition; - float speed = vel.NormalizeInPlace(); - if ( speed < 0.00001f ) + float speed; + if ( vel.IsZero() ) { vel = Vector( 0, 0, 1.0f ); speed = 0.0f; } else { + speed = vel.NormalizeInPlace(); speed /= deltaT; } @@ -674,7 +675,7 @@ void CJiggleBones::BuildJiggleTransformations( int boneIndex, float currenttime, boingSide = CrossProduct( data->boingDir, Vector( 0, 0, 1.0f ) ); } boingSide.NormalizeInPlace(); - + Vector boingOtherSide = CrossProduct( data->boingDir, boingSide ); matrix3x4_t xfrmToBoingCoordsMX;