body->add_force(fwd_dir*(controls->forward.get_value()*thrust));
const LinAl::Vector<float, 2> &velocity = body->get_velocity();
float speed = velocity.norm();
- body->add_force(velocity*-min(speed+setup.speed/speed, 1.0f/dt_secs));
+ if(speed>1e-5)
+ body->add_force(velocity*-min(speed+setup.speed/speed, 1.0f/dt_secs));
body->add_torque(controls->turn_left.get_value()*torque);
Geometry::Angle<float> angular_vel = body->get_angular_velocity();
Geometry::Angle<float> angular_speed = abs(angular_vel);
- body->add_torque(angular_vel.radians()*-min(angular_speed.radians()+setup.turn_rate/angular_speed.radians(), 1.0f/dt_secs));
+ if(abs(angular_speed.radians())>1e-5)
+ body->add_torque(angular_vel.radians()*-min(angular_speed.radians()+setup.turn_rate/angular_speed.radians(), 1.0f/dt_secs));
}