improved patch by MiniBjorn to remove skidding when it doesn't make sense
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@2850 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
52bfa1b506
commit
4c3834e4e2
@ -120,7 +120,7 @@ void SkidMarks::update(float dt)
|
||||
}
|
||||
// Currently no skid marking
|
||||
// -------------------------
|
||||
if(!m_kart.getControls().m_drift) return; // no skidmarking
|
||||
if((!m_kart.getControls().m_drift) || (fabsf(m_kart.getControls().m_steer) < 0.001f)) return; // no skidmarking
|
||||
|
||||
// not turning enough, don't draw skidmarks if kart is going straight ahead
|
||||
// this is even stricter for Ai karts, since they tend to use LOTS of skidding
|
||||
|
@ -792,18 +792,23 @@ void Kart::updatePhysics (float dt)
|
||||
|
||||
}
|
||||
#endif
|
||||
if(m_controls.m_drift && fabs(m_controls.m_steer) > 0.001f && isOnGround() )
|
||||
{
|
||||
m_skidding += m_kart_properties->getSkidIncrease()
|
||||
*dt/m_kart_properties->getTimeTillMaxSkid();
|
||||
if(m_skidding>m_kart_properties->getMaxSkid())
|
||||
m_skidding=m_kart_properties->getMaxSkid();
|
||||
if (isOnGround()){
|
||||
if((fabs(m_controls.m_steer) > 0.001f) && m_controls.m_drift)
|
||||
{
|
||||
m_skidding += m_kart_properties->getSkidIncrease()
|
||||
*dt/m_kart_properties->getTimeTillMaxSkid();
|
||||
if(m_skidding>m_kart_properties->getMaxSkid())
|
||||
m_skidding=m_kart_properties->getMaxSkid();
|
||||
}
|
||||
else if(m_skidding>1.0f)
|
||||
{
|
||||
m_skidding *= m_kart_properties->getSkidDecrease();
|
||||
if(m_skidding<1.0f) m_skidding=1.0f;
|
||||
}
|
||||
}
|
||||
else if(m_skidding>1.0f)
|
||||
else
|
||||
{
|
||||
m_skidding -= m_kart_properties->getSkidDecrease()
|
||||
*dt/m_kart_properties->getTimeTillMaxSkid();
|
||||
if(m_skidding<1.0f) m_skidding=1.0f;
|
||||
m_skidding = 1.0f; // Lose any skid factor as soon as we fly
|
||||
}
|
||||
if(m_skidding>1.0f)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user