summaryrefslogtreecommitdiffstats
path: root/src/audio/AudioManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/AudioManager.cpp')
-rw-r--r--src/audio/AudioManager.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp
index 131704dc..f8fc5ff1 100644
--- a/src/audio/AudioManager.cpp
+++ b/src/audio/AudioManager.cpp
@@ -273,6 +273,8 @@ cAudioManager::ResetTimers(uint32 time)
ClearMissionAudio(0);
ClearMissionAudio(1);
SampleManager.StopChannel(CHANNEL_POLICE_RADIO);
+ SampleManager.StopChannel(CHANNEL_MISSION_AUDIO_1);
+ SampleManager.StopChannel(CHANNEL_MISSION_AUDIO_2);
SampleManager.SetEffectsFadeVolume(0);
SampleManager.SetMusicFadeVolume(0);
MusicManager.ResetMusicAfterReload();
@@ -445,9 +447,17 @@ cAudioManager::ServiceSoundEffects()
#endif
m_bFifthFrameFlag = (m_FrameCounter++ % 5) == 0;
if (m_nUserPause && !m_nPreviousUserPause) {
- for (int32 i = 0; i < NUM_CHANNELS; i++)
+ for (int32 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);
+
+ // ps2 code just stops the sound here for some reason
+ //SampleManager.StopChannel(CHANNEL_MISSION_AUDIO_1);
+ //SampleManager.StopChannel(CHANNEL_MISSION_AUDIO_2);
+
ClearRequestedQueue();
if (m_nActiveSampleQueue) {
m_nActiveSampleQueue = 0;