aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-06-17 11:05:39 +0000
committerMartin Kiewitz2010-06-17 11:05:39 +0000
commit3a8e11767d07e836bc001e931c480a3cd63dcd67 (patch)
treef549a6c3d11f0e6edb6ffa35f321caf03f4fb898
parent81fe1aa19ee4a9e8ffb7a77fbef8dc40fddbc750 (diff)
downloadscummvm-rg350-3a8e11767d07e836bc001e931c480a3cd63dcd67.tar.gz
scummvm-rg350-3a8e11767d07e836bc001e931c480a3cd63dcd67.tar.bz2
scummvm-rg350-3a8e11767d07e836bc001e931c480a3cd63dcd67.zip
SCI: decreasing channel given to us on cmdSendMidi by one, so mute command now matches the right channel. sierra sci also decreased by one (their channel is 1-based)
svn-id: r49924
-rw-r--r--engines/sci/sound/soundcmd.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index e317796aad..6ee23d7fc8 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -232,6 +232,10 @@ reg_t SoundCommandParser::parseCommand(int argc, reg_t *argv, reg_t acc) {
uint16 controller = argv[4].toUint16();
uint16 param = argv[5].toUint16();
+ if (!channel)
+ error("invalid channel specified on cmdSendMidi");
+ channel--; // channel is given 1-based, we are using 0-based
+
_midiCommand = (channel | midiCmd) | ((uint32)controller << 8) | ((uint32)param << 16);
}