aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
authorFilippos Karapetis2013-07-08 12:32:12 +0300
committerFilippos Karapetis2013-07-08 12:32:12 +0300
commitfef7d59c54147c47fb18e1a0fc3f1f32494a7042 (patch)
tree855503455e083333ab35d6c04a33cceee6e139ad /engines/sci/sound
parent6fa668e32a86c89a88144dbe6862cb917c0d8870 (diff)
downloadscummvm-rg350-fef7d59c54147c47fb18e1a0fc3f1f32494a7042.tar.gz
scummvm-rg350-fef7d59c54147c47fb18e1a0fc3f1f32494a7042.tar.bz2
scummvm-rg350-fef7d59c54147c47fb18e1a0fc3f1f32494a7042.zip
SCI: Rewrite the song loop comments in commit 6fa668e to make more sense
Diffstat (limited to 'engines/sci/sound')
-rw-r--r--engines/sci/sound/midiparser_sci.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp
index 938455c24a..6a78f494c7 100644
--- a/engines/sci/sound/midiparser_sci.cpp
+++ b/engines/sci/sound/midiparser_sci.cpp
@@ -537,10 +537,12 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
// marker set for that song by cmdSetSoundHold.
// If it is, loop back, but don't stop notes when jumping.
// We need to wait for the delta of the current event before
- // jumping, as in LSL6, this ends up jumping forward one tick
- // (the hold marker occurs at playtick 27, with loopTick
- // being 15 and the event itself having a tick of 13,
- // total = 28) - bug #3614566.
+ // jumping, thus the jump will be performed on the next
+ // parseNextEvent() call, like with the signal set events.
+ // In LSL6, room 360, song 381, this ends up jumping forward
+ // one tick (the hold marker occurs at playtick 27, with
+ // _loopTick being 15 and the event itself having a delta of
+ // 13, total = 28) - bug #3614566.
if (info.basic.param2 == _pSnd->hold) {
_jumpToHoldTick = true;
}
@@ -649,11 +651,8 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
// the MIDI hold one above. However, we can't perform the
// jump on the next tick like with the MIDI hold jump above,
// as there aren't any subsequent MIDI events after this one.
- // This assert is here to detect cases where the song jumps
- // forward, like with the hold jump above (however, this
- // scenario sounds less likely to occur with this jump). Note
- // that we haven't yet found a scene where this jump might
- // lock up,
+ // This assert is here to detect cases where the song ends
+ // up jumping forward, like with bug #3614566 (see above).
assert(_loopTick + info.delta < _position._playTick);
uint32 extraDelta = info.delta;