SCI: kDoAudio stops samples played with kDoSound #2792
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
This fixes subtle sound bugs in SCI16 games with speech. The SQ4CD introduction has at least two:
In both of these cases, the digital sample should have stopped as soon as speech started.
In SSCI, digital samples are handled by kDoAudio. If a digital sample is played with kDoSound then SSCI just calls kDoAudio and it still does the work. When kDoAudio plays, it first stops any samples that it already played.
In ScummVM, all sounds played with kDoSound are handled separately from kDoAudio, even if they're samples, so an extra step is needed for our kDoAudio to stop all samples as SSCI does.
[ Ignore the name of my branch; I wasn't paying attention ]