summaryrefslogtreecommitdiffstats
path: root/src/audio/AudioManager.cpp
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-08-21 07:42:00 +0200
committerSergeanur <s.anureev@yandex.ua>2021-08-21 07:42:00 +0200
commitfe51abd53420fdeb241c1a733651ea9ec615453a (patch)
tree4709e7e9cedcbd69243064c11d541b55ab28174c /src/audio/AudioManager.cpp
parentAuto switch to remote grenade after detonator (diff)
downloadre3-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.cpp23
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;