[Scummvm-git-logs] scummvm master -> 29337ef0d4688a82c2f0ce694a188eecb0ff2989
AndywinXp
noreply at scummvm.org
Sun Nov 19 22:02:22 UTC 2023
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:
29337ef0d4 SCUMM: HE/SOUND: Fix bug #13102
Commit: 29337ef0d4688a82c2f0ce694a188eecb0ff2989
https://github.com/scummvm/scummvm/commit/29337ef0d4688a82c2f0ce694a188eecb0ff2989
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-11-19T23:02:15+01:00
Commit Message:
SCUMM: HE/SOUND: Fix bug #13102
This was also happening in the original. It is caused by the
presence of a SRFS header block which gets played as audio
data.
Changed paths:
engines/scumm/he/mixer_he.cpp
diff --git a/engines/scumm/he/mixer_he.cpp b/engines/scumm/he/mixer_he.cpp
index a26dbaf047f..a7751b92cff 100644
--- a/engines/scumm/he/mixer_he.cpp
+++ b/engines/scumm/he/mixer_he.cpp
@@ -766,6 +766,15 @@ bool HEMixer::mixerStartSpoolingChannel(
_mixerChannels[channel].lastReadPosition += initialReadCount;
+ // Freddi Fish 4 has some unhandled headers inside its spooled
+ // music files which were leftovers from the development process.
+ // These are 32 bytes blocks, so we can just skip them... (#13102)
+ if (READ_BE_UINT32(data) == MKTAG('S', 'R', 'F', 'S')) {
+ sampleFileIOHandle.seek(_mixerChannels[channel].initialSpoolingFileOffset, SEEK_SET);
+ sampleFileIOHandle.seek(32, SEEK_CUR);
+ sampleFileIOHandle.read(data, initialReadCount);
+ }
+
byte *dataTmp = data;
int rampUpSampleCount = 64;
for (int i = 0; i < rampUpSampleCount; i++) {
More information about the Scummvm-git-logs
mailing list