diff --git a/src/audio/sfx_manager.cpp b/src/audio/sfx_manager.cpp index c43327897..4efd0806e 100644 --- a/src/audio/sfx_manager.cpp +++ b/src/audio/sfx_manager.cpp @@ -245,7 +245,6 @@ void SFXManager::deleteSFX(SFXBase *sfx) */ void SFXManager::pauseAll() { - for(std::vector::iterator i=m_all_sfx.begin(); i!=m_all_sfx.end(); i++) { @@ -262,7 +261,7 @@ void SFXManager::resumeAll() { SFXStatus status = (*i)->getStatus(); // Initial happens when - if(status==SFX_PAUSED || status==SFX_INITIAL) + if(status==SFX_PAUSED) (*i)->resume(); } // for i in m_all_sfx } // resumeAll diff --git a/src/karts/kart.cpp b/src/karts/kart.cpp index 48fb932de..94046f8b4 100644 --- a/src/karts/kart.cpp +++ b/src/karts/kart.cpp @@ -725,20 +725,12 @@ void Kart::updatePhysics (float dt) //apply the brakes for(int i=0; i<4; i++) m_vehicle->setBrake(getBrakeFactor() * 4.0f, i); - - m_skid_sound->position( getXYZ() ); - if(m_skid_sound->getStatus() != SFXManager::SFX_PLAYING) - { - m_skid_sound->loop(); - m_skid_sound->play(); - } + m_skidding*= 1.08f;//skid a little when the brakes are hit (just enough to make the skiding sound) + if(m_skidding>2.0f) m_skidding=2.0f; m_reverse_allowed = false; } else { - // no braking sound - if(m_skid_sound->getStatus() == SFXManager::SFX_PLAYING) m_skid_sound->stop(); - if(m_reverse_allowed) { // going backward, apply reverse gear ratio @@ -763,9 +755,6 @@ void Kart::updatePhysics (float dt) } else { - // not braking, stop sound - if(m_skid_sound->getStatus() == SFXManager::SFX_PLAYING) m_skid_sound->stop(); - // lift the foot from throttle, brakes with 10% engine_power m_vehicle->applyEngineForce(-m_controls.accel*engine_power*0.1f, 2); m_vehicle->applyEngineForce(-m_controls.accel*engine_power*0.1f, 3); @@ -807,7 +796,8 @@ void Kart::updatePhysics (float dt) } if(m_skidding>1.0f) { - m_skid_sound->play(); + if(m_skid_sound->getStatus() != SFXManager::SFX_PLAYING) + m_skid_sound->play(); } else if(m_skid_sound->getStatus() == SFXManager::SFX_PLAYING) {