diff --git a/engines/gob/init.h b/engines/gob/init.h index ac460fd654f..946a3fa4f13 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 01081a5af6b..b5bbcff4006 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 e064a312c2b..bfe03943905 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); }