aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/simon/sound.cpp5
-rw-r--r--engines/simon/sound.h1
-rw-r--r--engines/simon/vga.cpp5
3 files changed, 8 insertions, 3 deletions
diff --git a/engines/simon/sound.cpp b/engines/simon/sound.cpp
index 250baf0487..b65e1b9c80 100644
--- a/engines/simon/sound.cpp
+++ b/engines/simon/sound.cpp
@@ -589,6 +589,11 @@ void Sound::playVoiceData(byte *soundData, uint sound) {
_mixer->playRaw(&_voiceHandle, buffer, size, rate, flags);
}
+void Sound::stopSfx5() {
+ _sfx5Playing = 0;
+ _mixer->stopHandle(_sfx5Handle);
+}
+
void Sound::switchVoiceFile(uint disc) {
if (_lastVoiceFile != disc) {
stopAll();
diff --git a/engines/simon/sound.h b/engines/simon/sound.h
index 4f45f8691d..17ebd13263 100644
--- a/engines/simon/sound.h
+++ b/engines/simon/sound.h
@@ -82,6 +82,7 @@ public:
bool hasVoice() const;
bool isVoiceActive() const;
+ void stopSfx5();
void stopVoice();
void stopAll();
void effectsPause(bool b);
diff --git a/engines/simon/vga.cpp b/engines/simon/vga.cpp
index 621181ae87..2ac834e54d 100644
--- a/engines/simon/vga.cpp
+++ b/engines/simon/vga.cpp
@@ -2459,7 +2459,7 @@ void SimonEngine::vc82_getPathValue() {
uint16 var = vcReadNextWord();
- if (getBitFlag(82) == true) {
+ if (getBitFlag(82)) {
val = _pathValues1[_GPVCount1++];
} else {
val = _pathValues[_GPVCount++];
@@ -2477,8 +2477,7 @@ void SimonEngine::vc83_playSoundLoop() {
}
void SimonEngine::vc84_stopSoundLoop() {
- // Stop looping sound effect
- debug(0, "STUB: vc84_stopSoundLoop");
+ _sound->stopSfx5();
}
// Scrolling functions for Feeble Files