aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2010-01-02 20:20:36 +0000
committerWillem Jan Palenstijn2010-01-02 20:20:36 +0000
commit13a242838fc9ad8c25fd6e250b0931d8564460a4 (patch)
treecf5027f07259f85e53d67ebecbba5ceb17a6de96 /engines/sci/sfx
parent0b3d3c37a590b116e280f0ffefc26cd3d27b16fd (diff)
downloadscummvm-rg350-13a242838fc9ad8c25fd6e250b0931d8564460a4.tar.gz
scummvm-rg350-13a242838fc9ad8c25fd6e250b0931d8564460a4.tar.bz2
scummvm-rg350-13a242838fc9ad8c25fd6e250b0931d8564460a4.zip
SCI/new music code: Don't stop notes when looping for a hold
svn-id: r46897
Diffstat (limited to 'engines/sci/sfx')
-rw-r--r--engines/sci/sfx/midiparser.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/engines/sci/sfx/midiparser.cpp b/engines/sci/sfx/midiparser.cpp
index 87cbfb48d6..5ddccf5a01 100644
--- a/engines/sci/sfx/midiparser.cpp
+++ b/engines/sci/sfx/midiparser.cpp
@@ -146,16 +146,9 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
case kMidiHold:
// Check if the hold ID marker is the same as the hold ID
// marker set for that song by cmdSetSoundHold.
- // If it is, loop back
-
- // FIXME: this is currently broken, as seen in the
- // scene in LSL5 where Larry first arrives at the airport
- // in the limo. The engine sound is stopped instead of
- // continuing. As a possible direction to look at for a fix,
- // removing the allNotesOff() call in jumpToTick() lets the
- // engine sound continue.
+ // If it is, loop back, but don't stop notes when jumping.
if (info.basic.param2 == _pSnd->hold)
- jumpToTick(_loopTick);
+ jumpToTick(_loopTick, false, false);
break;
case kUpdateCue:
switch (_soundVersion) {