aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/sequences_v1.cpp1
-rw-r--r--engines/kyra/sound.cpp4
-rw-r--r--engines/kyra/sound.h3
3 files changed, 7 insertions, 1 deletions
diff --git a/engines/kyra/sequences_v1.cpp b/engines/kyra/sequences_v1.cpp
index 158d3b4c73..b0e143a2a7 100644
--- a/engines/kyra/sequences_v1.cpp
+++ b/engines/kyra/sequences_v1.cpp
@@ -118,6 +118,7 @@ void KyraEngine::seq_intro() {
delay(30 * _tickLength);
_seq->setCopyViewOffs(false);
_sound->haltTrack();
+ _sound->voiceStop();
if (_features & GF_TALKIE) {
_res->unloadPakFile("INTRO.VRM");
}
diff --git a/engines/kyra/sound.cpp b/engines/kyra/sound.cpp
index 4a0fab6367..50cfa05b62 100644
--- a/engines/kyra/sound.cpp
+++ b/engines/kyra/sound.cpp
@@ -81,6 +81,10 @@ void Sound::voicePlay(const char *file) {
fileSize = 0;
}
+void Sound::voiceStop() {
+ _mixer->stopHandle(_vocHandle);
+}
+
bool Sound::voiceIsPlaying() {
return _mixer->isSoundHandleActive(_vocHandle);
}
diff --git a/engines/kyra/sound.h b/engines/kyra/sound.h
index e43239efc1..3252bee6d8 100644
--- a/engines/kyra/sound.h
+++ b/engines/kyra/sound.h
@@ -64,7 +64,8 @@ public:
void voicePlay(const char *file);
void voiceUnload() {}
bool voiceIsPlaying();
-
+ void voiceStop();
+
protected:
KyraEngine *_engine;
Audio::Mixer *_mixer;