aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sound')
-rw-r--r--engines/sci/sound/drivers/midi.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/sci/sound/drivers/midi.cpp b/engines/sci/sound/drivers/midi.cpp
index 6611753420..a8f20dc0e2 100644
--- a/engines/sci/sound/drivers/midi.cpp
+++ b/engines/sci/sound/drivers/midi.cpp
@@ -893,10 +893,16 @@ int MidiPlayer_Midi::open(ResourceManager *resMan) {
res = resMan->findResource(ResourceId(kResourceTypePatch, 1), 0);
if (res) {
- if (!isMt32GmPatch(res->data, res->size))
+ if (!isMt32GmPatch(res->data, res->size)) {
mapMt32ToGm(res->data, res->size);
- else
- error("MT-32 patch has wrong type");
+ } else {
+ if (getSciVersion() <= SCI_VERSION_2_1) {
+ error("MT-32 patch has wrong type");
+ } else {
+ // Happens in the SCI3 interactive demo of Lighthouse
+ warning("TODO: Ignoring new SCI3 type of MT-32 patch for now (size = %d)", res->size);
+ }
+ }
} else {
// No MT-32 patch present, try to read from MT32.DRV
Common::File f;