[Scummvm-git-logs] scummvm branch-2-7 -> 869c6921a2f3a7959ebbf26d756b99c5154d6e98
sev-
noreply at scummvm.org
Mon Feb 13 10:36:44 UTC 2023
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
78a245519e DIRECTOR: sound loops can begin on 0
869c6921a2 DIRECTOR: D3 keeps looping sounds
Commit: 78a245519e41ff67dbb58ef8d317cf8f1e4dcaf2
https://github.com/scummvm/scummvm/commit/78a245519e41ff67dbb58ef8d317cf8f1e4dcaf2
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2023-02-13T11:36:19+01:00
Commit Message:
DIRECTOR: sound loops can begin on 0
The logic to determine if a sound is loopable or not didn't consder that
a sound could loop from the beginning. A short song in The Seven Colors
begins at sample 0 and ends at 6456, which was considered non-looping
before this.
Changed paths:
engines/director/sound.cpp
diff --git a/engines/director/sound.cpp b/engines/director/sound.cpp
index e37a126e2eb..624fc145319 100644
--- a/engines/director/sound.cpp
+++ b/engines/director/sound.cpp
@@ -790,7 +790,7 @@ Audio::AudioStream *SNDDecoder::getAudioStream(bool looping, bool forPuppet, Dis
}
bool SNDDecoder::hasLoopBounds() {
- return _loopStart != 0 && _loopEnd != 0;
+ return _loopStart != 0 || _loopEnd != 0;
}
AudioFileDecoder::AudioFileDecoder(Common::String &path)
Commit: 869c6921a2f3a7959ebbf26d756b99c5154d6e98
https://github.com/scummvm/scummvm/commit/869c6921a2f3a7959ebbf26d756b99c5154d6e98
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2023-02-13T11:36:33+01:00
Commit Message:
DIRECTOR: D3 keeps looping sounds
Changed paths:
engines/director/sound.cpp
diff --git a/engines/director/sound.cpp b/engines/director/sound.cpp
index 624fc145319..4c40fd98331 100644
--- a/engines/director/sound.cpp
+++ b/engines/director/sound.cpp
@@ -135,7 +135,9 @@ void DirectorSound::playCastMember(CastMemberID memberID, uint8 soundChannel, bo
// 4. maybe more?
if (shouldStopOnZero(soundChannel)) {
stopSound(soundChannel);
- } else {
+ // Director 4 will stop after the current loop iteration, but
+ // Director 3 will continue looping until the sound is replaced.
+ } else if (g_director->getVersion() >= 400) {
// If there is a loopable stream specified, set the loop to expire by itself
if (_channels[soundChannel - 1].loopPtr) {
debugC(5, kDebugSound, "DirectorSound::playCastMember(): telling loop in channel %d to stop", soundChannel);
More information about the Scummvm-git-logs
mailing list