tweaked backwards and re-acceleration speeds, so you can get back in race quicker after hitting an obstacle

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@2700 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
auria 2008-12-16 21:00:56 +00:00
parent 77e4513e48
commit dda853bd93
2 changed files with 20 additions and 5 deletions

View File

@ -104,7 +104,7 @@
(wheel-width 0.3 )
(chassis-linear-damping 0.2 )
(chassis-angular-damping 30.2 )
(max-speed-reverse-ratio 0.2 ) ;; percentage of max speed for reverse gear
(max-speed-reverse-ratio 0.4 ) ;; percentage of max speed for reverse gear
(suspension-rest 0.2 )
(suspension-travel-cm 19 )

View File

@ -704,6 +704,15 @@ void Kart::updatePhysics (float dt)
m_vehicle->applyEngineForce(engine_power, 2);
m_vehicle->applyEngineForce(engine_power, 3);
if(m_speed < 0.0f)
{
// let a player going backwards accelerate quickly (e.g. if a player hits a
// wall, he needs to be able to start again quickly after going backwards)
m_vehicle->applyEngineForce(engine_power*5, 2);
m_vehicle->applyEngineForce(engine_power*5, 3);
}
}
else
{ // not accelerating
@ -722,17 +731,23 @@ void Kart::updatePhysics (float dt)
else
{
resetBrakes();
// going backward, apply reverse gear ratio
// going backward, apply reverse gear ratio (unless he goes too fast backwards)
if ( fabs(m_speed) < m_max_speed*m_max_speed_reverse_ratio )
{
m_vehicle->applyEngineForce(-engine_power*m_controls.brake, 2);
m_vehicle->applyEngineForce(-engine_power*m_controls.brake, 3);
if(m_controls.brake)
{
// the backwards acceleration is artificially increased to allow
// players to get "unstuck" quicker if they hit e.g. a wall
m_vehicle->applyEngineForce(-engine_power*2.5, 2);
m_vehicle->applyEngineForce(-engine_power*2.5, 3);
}
}
else
{
m_vehicle->applyEngineForce(0.f, 2);
m_vehicle->applyEngineForce(0.f, 3);
}
}
}
}
else