From: <sv...@op...> - 2024-07-13 13:31:24
|
Author: sagamusix Date: Sat Jul 13 15:31:12 2024 New Revision: 21151 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21151 Log: [Fix] S3M: Fingerprinting based on GUS addresses didn't work when sample loading was disabled. Modified: trunk/OpenMPT/soundlib/Load_s3m.cpp Modified: trunk/OpenMPT/soundlib/Load_s3m.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_s3m.cpp Sat Jul 13 15:29:00 2024 (r21150) +++ trunk/OpenMPT/soundlib/Load_s3m.cpp Sat Jul 13 15:31:12 2024 (r21151) @@ -546,11 +546,11 @@ if(sampleHeader.sampleType < S3MSampleHeader::typeAdMel) { - const uint32 sampleOffset = sampleHeader.GetSampleOffset(); - if((loadFlags & loadSampleData) && sampleHeader.length != 0 && file.Seek(sampleOffset)) + if(sampleHeader.length != 0) { SampleIO sampleIO = sampleHeader.GetSampleFormat((fileHeader.formatVersion == S3MFileHeader::oldVersion)); - sampleIO.ReadSample(Samples[smp + 1], file); + if((loadFlags & loadSampleData) && file.Seek(sampleHeader.GetSampleOffset())) + sampleIO.ReadSample(Samples[smp + 1], file); anySamples = true; if(sampleIO.GetEncoding() == SampleIO::ADPCM) anyADPCM = true; @@ -574,7 +574,7 @@ m_modFormat.madeWithTracker = UL_("UNMO3"); else if(!fileHeader.flags && fileHeader.globalVol == 48 && fileHeader.masterVolume == 176 && fileHeader.tempo == 150 && !usePanningTable) m_modFormat.madeWithTracker = UL_("deMODifier"); // SoundSmith to S3M converter - else if(!fileHeader.flags && fileHeader.globalVol == 64 && fileHeader.speed == 6 && fileHeader.tempo == 125 && !usePanningTable) + else if(!fileHeader.flags && fileHeader.globalVol == 64 && (fileHeader.masterVolume & 0x7F) == 48 && fileHeader.speed == 6 && fileHeader.tempo == 125 && !usePanningTable) m_modFormat.madeWithTracker = UL_("Kosmic To-S3M"); // MTM to S3M converter by Zab/Kosmic } } else if(isST3) |