Fix cAudioManager::ProcessActiveQueues loop

This commit is contained in:
Sergeanur 2020-05-06 18:01:52 +03:00
parent 13522259b8
commit daa3b20477

View File

@ -609,10 +609,9 @@ cAudioManager::ComputeVolume(uint8 emittingVolume, float soundIntensity, float d
float newSoundIntensity; float newSoundIntensity;
if (soundIntensity <= 0.0f) if (soundIntensity <= 0.0f)
return 0; return 0;
if ((soundIntensity * 0.2f) <= distance) { newSoundIntensity = soundIntensity / 5.0f;
newSoundIntensity = soundIntensity * 0.2f; if (newSoundIntensity <= distance)
emittingVolume = sq((soundIntensity - newSoundIntensity - (distance - newSoundIntensity)) / (soundIntensity - newSoundIntensity)) * emittingVolume; emittingVolume = sq((soundIntensity - newSoundIntensity - (distance - newSoundIntensity)) / (soundIntensity - newSoundIntensity)) * emittingVolume;
}
return emittingVolume; return emittingVolume;
} }
@ -3611,11 +3610,10 @@ cAudioManager::ProcessActiveQueues()
SampleManager.SetChannel3DDistances(j, sample.m_fSoundIntensity, 0.25f * sample.m_fSoundIntensity); SampleManager.SetChannel3DDistances(j, sample.m_fSoundIntensity, 0.25f * sample.m_fSoundIntensity);
} }
SampleManager.SetChannelReverbFlag(j, sample.m_bReverbFlag); SampleManager.SetChannelReverbFlag(j, sample.m_bReverbFlag);
continue; break;
} }
sample.m_bIsProcessed = false; sample.m_bIsProcessed = false;
m_asActiveSamples[j].m_bIsProcessed = false; m_asActiveSamples[j].m_bIsProcessed = false;
break;
} }
} }
} }