aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorJohannes Schickel2012-10-01 03:01:21 +0200
committerJohannes Schickel2012-10-01 03:11:09 +0200
commit40ab5f878896006c0997626496511536fbb045b9 (patch)
tree06cb317474d151ca428d9bddcb0e637cbed0ba01 /engines/scumm
parentabe637b0f52cc0da583928ab0e3dac1460afff20 (diff)
downloadscummvm-rg350-40ab5f878896006c0997626496511536fbb045b9.tar.gz
scummvm-rg350-40ab5f878896006c0997626496511536fbb045b9.tar.bz2
scummvm-rg350-40ab5f878896006c0997626496511536fbb045b9.zip
SCUMM: Ignore detune for Sam&Max.
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/imuse/imuse_part.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/scumm/imuse/imuse_part.cpp b/engines/scumm/imuse/imuse_part.cpp
index 89c16a8bb5..5e928f3d44 100644
--- a/engines/scumm/imuse/imuse_part.cpp
+++ b/engines/scumm/imuse/imuse_part.cpp
@@ -111,8 +111,19 @@ void Part::saveLoadWithSerializer(Serializer *ser) {
}
void Part::set_detune(int8 detune) {
- _detune_eff = clamp((_detune = detune) + _player->getDetune(), -128, 127);
- sendPitchBend();
+ // Sam&Max does not have detune, so we just ignore this here. We still get
+ // this called, since Sam&Max uses the same controller for a different
+ // purpose.
+ if (_se->_game_id == GID_SAMNMAX) {
+#if 0
+ if (_mc) {
+ _mc->controlChange(17, detune + 0x40);
+ }
+#endif
+ } else {
+ _detune_eff = clamp((_detune = detune) + _player->getDetune(), -128, 127);
+ sendPitchBend();
+ }
}
void Part::pitchBend(int16 value) {