diff options
Diffstat (limited to 'engines/sci/sound/soundcmd.cpp')
-rw-r--r-- | engines/sci/sound/soundcmd.cpp | 16 |
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); } |