aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/soundcmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sound/soundcmd.cpp')
-rw-r--r--engines/sci/sound/soundcmd.cpp16
1 files changed, 2 insertions, 14 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index 873a16cc73..daba976f50 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -177,18 +177,6 @@ void SoundCommandParser::processPlaySound(reg_t obj) {
writeSelectorValue(_segMan, obj, SELECTOR(state), kSoundPlaying);
}
- // WORKAROUND: Songs 1840, 1843 and 1849 in the Windows version of KQ5CD
- // are all missing their channel 15 (all played during its ending
- // sequences, when fighting with Mordack). This makes the game scripts
- // wait indefinitely for the missing signals in these songs. In the
- // original interpreter, this bug manifests as an "Out of heap" error. We
- // signal the game scripts to stop waiting forever by setting the song's
- // dataInc selector to something other than 0. This causes Mordack's
- // appearing animation to occur a bit earlier than expected, but at least
- // the game doesn't freeze at that point. Fixes bug #3605269.
- if (g_sci->getGameId() == GID_KQ5 && (resourceId == 1840 || resourceId == 1843 || resourceId == 1849))
- musicSlot->dataInc = 1;
-
musicSlot->loop = readSelectorValue(_segMan, obj, SELECTOR(loop));
musicSlot->priority = readSelectorValue(_segMan, obj, SELECTOR(priority));
// Reset hold when starting a new song. kDoSoundSetHold is always called after
@@ -395,7 +383,7 @@ reg_t SoundCommandParser::kDoSoundFade(int argc, reg_t *argv, reg_t acc) {
if (musicSlot->fadeTo == musicSlot->volume)
return acc;
- // sometimes we get objects in that position, fix it up (ffs. workarounds)
+ // Sometimes we get objects in that position, so fix the value (refer to workarounds.cpp)
if (!argv[1].getSegment())
musicSlot->fadeStep = volume > musicSlot->fadeTo ? -argv[3].toUint16() : argv[3].toUint16();
else
@@ -749,7 +737,7 @@ void SoundCommandParser::updateSci0Cues() {
}
if (noOnePlaying && pWaitingForPlay) {
- // If there is a queued entry, play it now ffs: SciMusic::soundPlay()
+ // If there is a queued entry, play it now - check SciMusic::soundPlay()
pWaitingForPlay->isQueued = false;
_music->soundPlay(pWaitingForPlay);
}