diff options
author | Sergeanur <s.anureev@yandex.ua> | 2021-08-21 07:42:00 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-08-21 07:42:00 +0200 |
commit | fe51abd53420fdeb241c1a733651ea9ec615453a (patch) | |
tree | 4709e7e9cedcbd69243064c11d541b55ab28174c /src/audio/AudioManager.cpp | |
parent | Auto switch to remote grenade after detonator (diff) | |
download | re3-fe51abd53420fdeb241c1a733651ea9ec615453a.tar re3-fe51abd53420fdeb241c1a733651ea9ec615453a.tar.gz re3-fe51abd53420fdeb241c1a733651ea9ec615453a.tar.bz2 re3-fe51abd53420fdeb241c1a733651ea9ec615453a.tar.lz re3-fe51abd53420fdeb241c1a733651ea9ec615453a.tar.xz re3-fe51abd53420fdeb241c1a733651ea9ec615453a.tar.zst re3-fe51abd53420fdeb241c1a733651ea9ec615453a.zip |
Diffstat (limited to 'src/audio/AudioManager.cpp')
-rw-r--r-- | src/audio/AudioManager.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp index 614511f3..2bb17bfb 100644 --- a/src/audio/AudioManager.cpp +++ b/src/audio/AudioManager.cpp @@ -493,9 +493,28 @@ cAudioManager::ServiceSoundEffects() #endif m_bReduceReleasingPriority = (m_FrameCounter++ % 5) == 0; if (m_nUserPause && !m_nPreviousUserPause) { - for (int32 i = 0; i < NUM_CHANNELS; i++) - SampleManager.StopChannel(i); +#ifdef GTA_PS2 + if (m_bIsSurround) { + for (uint32 i = 0; i < NUM_CHANNELS_DTS_GENERIC; i++) + SampleManager.StopChannel(i); + + SampleManager.SetChannelFrequency(CHANNEL_DTS_POLICE_RADIO, 0); + SampleManager.SetChannelFrequency(CHANNEL_DTS_MISSION_AUDIO_1, 0); + SampleManager.SetChannelFrequency(CHANNEL_DTS_MISSION_AUDIO_2, 0); + SampleManager.SetChannelFrequency(CHANNEL_DTS_PLAYER_VEHICLE_ENGINE, 0); + } else { + for (uint32 i = 0; i < NUM_CHANNELS_GENERIC; i++) + SampleManager.StopChannel(i); + SampleManager.SetChannelFrequency(CHANNEL_POLICE_RADIO, 0); + SampleManager.SetChannelFrequency(CHANNEL_MISSION_AUDIO_1, 0); + SampleManager.SetChannelFrequency(CHANNEL_MISSION_AUDIO_2, 0); + SampleManager.SetChannelFrequency(CHANNEL_PLAYER_VEHICLE_ENGINE, 0); + } +#else + for (uint32 i = 0; i < NUM_CHANNELS; i++) + SampleManager.StopChannel(i); +#endif ClearRequestedQueue(); if (m_nActiveSampleQueue) { m_nActiveSampleQueue = 0; |