aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/midi.cpp2
-rw-r--r--engines/agos/midi.h1
-rw-r--r--engines/agos/res_snd.cpp4
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];