aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/gob/init.h1
-rw-r--r--engines/gob/init_geisha.cpp7
-rw-r--r--engines/gob/sound/sound.cpp2
3 files changed, 10 insertions, 0 deletions
diff --git a/engines/gob/init.h b/engines/gob/init.h
index ac460fd654..946a3fa4f1 100644
--- a/engines/gob/init.h
+++ b/engines/gob/init.h
@@ -62,6 +62,7 @@ public:
~Init_Geisha();
void initVideo();
+ void initGame();
};
class Init_v2 : public Init_v1 {
diff --git a/engines/gob/init_geisha.cpp b/engines/gob/init_geisha.cpp
index 01081a5af6..b5bbcff400 100644
--- a/engines/gob/init_geisha.cpp
+++ b/engines/gob/init_geisha.cpp
@@ -44,4 +44,11 @@ void Init_Geisha::initVideo() {
_vm->_draw->_transparentCursor = 1;
}
+void Init_Geisha::initGame() {
+ // HACK - Since the MDY/TBR player is not working, claim we have no AdLib
+ _vm->_global->_soundFlags = 0;
+
+ Init::initGame();
+}
+
} // End of namespace Gob
diff --git a/engines/gob/sound/sound.cpp b/engines/gob/sound/sound.cpp
index e064a312c2..bfe0394390 100644
--- a/engines/gob/sound/sound.cpp
+++ b/engines/gob/sound/sound.cpp
@@ -434,6 +434,8 @@ void Sound::blasterPlay(SoundDesc *sndDesc, int16 repCount,
debugC(1, kDebugSound, "SoundBlaster: Playing sample (%d, %d, %d)",
repCount, frequency, fadeLength);
+ blasterStopComposition();
+
_blaster->playSample(*sndDesc, repCount, frequency, fadeLength);
}