[Scummvm-git-logs] scummvm master -> e96f022cfdf0bca276fc304c098260419ccd870c
eriktorbjorn
noreply at scummvm.org
Thu Feb 20 18:42:38 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e96f022cfd SCUMM: Fix audio pops at the end of Sega CD MI1 (bug #15369)
Commit: e96f022cfdf0bca276fc304c098260419ccd870c
https://github.com/scummvm/scummvm/commit/e96f022cfdf0bca276fc304c098260419ccd870c
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2025-02-20T19:40:26+01:00
Commit Message:
SCUMM: Fix audio pops at the end of Sega CD MI1 (bug #15369)
A error in how the size of the audio data was calculated meant that the
last eight bytes were never decrypted. As far as I can tell, this bug
was there for more than twenty years! Other than the encryption, the
sound resources appear to be identical to the VGA CD ones.
Changed paths:
engines/scumm/sound.cpp
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index 3fb7b6e2050..52846a66784 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -272,7 +272,12 @@ void Sound::triggerSound(int soundID) {
// 80 80 80 80 80 80 80 80 |........|
// 80 80 80 80 80 80 80 80 |........|
- size = READ_BE_UINT32(ptr + 4) - 27;
+ // Skip to the VOC header, and adjust the size. Note that while
+ // ptr points to the beginning of the resource, 'size' refers
+ // to the size of the SBL data. That is why there it an eight
+ // byte difference. See bug #15369.
+
+ size = READ_BE_UINT32(ptr + 4) - 19;
ptr += 27;
// Fingolfin says: after eyeballing a single SEGA
More information about the Scummvm-git-logs
mailing list