+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include "Math.hpp"
#include "BodyEnvironment.hpp"
#include "RigidBody.hpp"
// Don't bother if it's not down
if(_extension < 1)
- return;
+ {
+ _wow = 0;
+ _frac = 0;
+ return;
+ }
// Dont bother if we are in the "wrong" ground
if (!((_onWater&&!_ground_isSolid)||(_onSolid&&_ground_isSolid))) {
- _wow = 0;
- _frac = 0;
+ _wow = 0;
+ _frac = 0;
_compressDist = 0;
_rollSpeed = 0;
_casterAngle = 0;
- return;
+ return;
}
// The ground plane transformed to the local frame.
float b = ground[3] - Math::dot3(tmp, ground)+BumpAltitude;
// Calculate the point of ground _contact.
- _frac = a/(a-b);
- if(b < 0) _frac = 1;
+ if(b < 0)
+ _frac = 1;
+ else
+ _frac = a/(a-b);
for(i=0; i<3; i++)
_contact[i] = _pos[i] + _frac*_cmpr[i];