diff options
author | Jean-Yves Simon | 2002-09-09 05:03:55 +0000 |
---|---|---|
committer | Jean-Yves Simon | 2002-09-09 05:03:55 +0000 |
commit | 5b8eb34406373daa7a167f89d32dbe72c3cdc005 (patch) | |
tree | aaa72cf5ef56ae5465932f6114326e6379d28699 /scumm | |
parent | c7eff375c5343d1ff597a2e7df91c3280e68d796 (diff) | |
download | scummvm-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
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/imuse.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
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++) |