aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Yves Simon2002-09-09 05:03:55 +0000
committerJean-Yves Simon2002-09-09 05:03:55 +0000
commit5b8eb34406373daa7a167f89d32dbe72c3cdc005 (patch)
treeaaa72cf5ef56ae5465932f6114326e6379d28699
parentc7eff375c5343d1ff597a2e7df91c3280e68d796 (diff)
downloadscummvm-rg350-5b8eb34406373daa7a167f89d32dbe72c3cdc005.tar.gz
scummvm-rg350-5b8eb34406373daa7a167f89d32dbe72c3cdc005.tar.bz2
scummvm-rg350-5b8eb34406373daa7a167f89d32dbe72c3cdc005.zip
patch attempts to fix the MI2 music bug pointed out in bug report #551028
svn-id: r4908
-rw-r--r--Makefile6
-rw-r--r--scumm/imuse.cpp10
2 files changed, 13 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 9ce5a72e9f..dae6456811 100644
--- a/Makefile
+++ b/Makefile
@@ -25,15 +25,15 @@ OBJS =
# Enable this if you want ScummVM to dump all scripts it runs.
# This is mainly interesting for developers.
-# DEFINES += -DDUMP_SCRIPTS
+DEFINES += -DDUMP_SCRIPTS
# Uncomment this to activate the MAD lib for compressed sound files
DEFINES += -DCOMPRESSED_SOUND_FILE
LIBS += -lmad
# Uncomment this to activate the ALSA lib for midi
-# DEFINES += -DUSE_ALSA
-# LIBS += -lasound
+DEFINES += -DUSE_ALSA
+LIBS += -lasound
# Concat DEFINES and INCLUDES to for the CPPFLAGS
CPPFLAGS= $(DEFINES) $(INCLUDES)
diff --git a/scumm/imuse.cpp b/scumm/imuse.cpp
index 7e9bdd8b28..586c021446 100644
--- a/scumm/imuse.cpp
+++ b/scumm/imuse.cpp
@@ -2061,6 +2061,16 @@ void Player::parse_sysex(byte *p, uint len)
len -= 2;
switch (code = *p++) {
+ case 0: /* part on/off? */
+ // This seems to do the right thing for Monkey 2, at least.
+ a = *p++ & 0x0F;
+ part = get_part(a);
+ if (part) {
+ debug(2, "%d => turning %s part %d", p[1], (p[1] == 2) ? "OFF" : "ON", a);
+ part->set_onoff(p[1] != 2);
+ }
+ break;
+
case 16: /* set instrument in part */
a = *p++ & 0x0F;
if (_se->_hardware_type != *p++)