aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sky/sound.cpp12
-rw-r--r--sky/sound.h4
2 files changed, 14 insertions, 2 deletions
diff --git a/sky/sound.cpp b/sky/sound.cpp
index e3ff675bee..95a08587e7 100644
--- a/sky/sound.cpp
+++ b/sky/sound.cpp
@@ -1252,3 +1252,15 @@ bool SkySound::startSpeech(uint16 textNum) {
_mixer->playRaw(&_ingameSpeech, playBuffer, speechSize, 11025, SoundMixer::FLAG_UNSIGNED | SoundMixer::FLAG_AUTOFREE, SOUND_SPEECH);
return true;
}
+
+void SkySound::fnPauseFx(void) {
+
+ _mixer->pauseChannel(SOUND_CH0, true);
+ _mixer->pauseChannel(SOUND_CH1, true);
+}
+
+void SkySound::fnUnPauseFx(void) {
+
+ _mixer->pauseChannel(SOUND_CH0, false);
+ _mixer->pauseChannel(SOUND_CH1, false);
+}
diff --git a/sky/sound.h b/sky/sound.h
index 298ba1ef0b..cafc3e8e5b 100644
--- a/sky/sound.h
+++ b/sky/sound.h
@@ -70,8 +70,8 @@ public:
void fnStartFx(uint32 sound, uint8 channel);
bool startSpeech(uint16 textNum);
bool speechFinished(void) { return _ingameSpeech == 0; };
- void fnPauseFx(void) { _mixer->pauseAll(true); };
- void fnUnPauseFx(void) { _mixer->pauseAll(false); };
+ void fnPauseFx(void);
+ void fnUnPauseFx(void);
void fnStopFx(void);
void stopSpeech(void);
void checkFxQueue(void);