diff options
-rw-r--r-- | engines/agos/midi.cpp | 2 | ||||
-rw-r--r-- | engines/agos/midi.h | 1 | ||||
-rw-r--r-- | engines/agos/res_snd.cpp | 4 |
3 files changed, 6 insertions, 1 deletions
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp index 552b27ac0c..85f2dd5977 100644 --- a/engines/agos/midi.cpp +++ b/engines/agos/midi.cpp @@ -54,6 +54,7 @@ MidiPlayer::MidiPlayer() { _adlibPatches = NULL; + _adLibMusic = false; _enable_sfx = true; _current = 0; @@ -235,6 +236,7 @@ int MidiPlayer::open(int gameType, bool isDemo) { } dev = MidiDriver::detectDevice(MDT_ADLIB | MDT_MIDI | (gameType == GType_SIMON1 ? MDT_PREFER_MT32 : MDT_PREFER_GM)); + _adLibMusic = (MidiDriver::getMusicType(dev) == MT_ADLIB); _nativeMT32 = ((MidiDriver::getMusicType(dev) == MT_MT32) || ConfMan.getBool("native_mt32")); _driver = MidiDriver::createMidi(dev); diff --git a/engines/agos/midi.h b/engines/agos/midi.h index 25ebd476c5..88810472e5 100644 --- a/engines/agos/midi.h +++ b/engines/agos/midi.h @@ -93,6 +93,7 @@ protected: void unloadAdlibPatches(); public: + bool _adLibMusic; bool _enable_sfx; public: diff --git a/engines/agos/res_snd.cpp b/engines/agos/res_snd.cpp index 5d6ab60c8b..c02cf96af3 100644 --- a/engines/agos/res_snd.cpp +++ b/engines/agos/res_snd.cpp @@ -309,7 +309,9 @@ void AGOSEngine::stopMusic() { } void AGOSEngine::playSting(uint16 soundId) { - if (!_midi->_enable_sfx) + // The sound effects in floppy disk version of + // Simon the Sorcerer 1 are only meant for AdLib + if (!_midi->_adLibMusic || !_midi->_enable_sfx) return; char filename[15]; |