Author: sagamusix
Date: Thu May 9 18:45:14 2024
New Revision: 20745
URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20745
Log:
[Imp] S3M: Detect files saved with PlayerPRO on intel platforms, where it tries to disguise as Scream Tracker 3 but the tracker ID bytes are swapped. Supposedly this will not work for files saved on Motorola Macs.
Modified:
trunk/OpenMPT/soundlib/Load_s3m.cpp
trunk/OpenMPT/soundlib/S3MTools.h
Modified: trunk/OpenMPT/soundlib/Load_s3m.cpp
==============================================================================
--- trunk/OpenMPT/soundlib/Load_s3m.cpp Thu May 9 15:11:23 2024 (r20744)
+++ trunk/OpenMPT/soundlib/Load_s3m.cpp Thu May 9 18:45:14 2024 (r20745)
@@ -279,8 +279,11 @@
}
break;
case S3MFileHeader::trkImagoOrpheus:
- madeWithTracker = U_("Imago Orpheus");
- formatTrackerStr = true;
+ formatTrackerStr = (fileHeader.cwtv != S3MFileHeader::trkPlayerPRO);
+ if(formatTrackerStr)
+ madeWithTracker = U_("Imago Orpheus");
+ else
+ madeWithTracker = U_("PlayerPRO");
nonCompatTracker = true;
break;
case S3MFileHeader::trkImpulseTracker:
Modified: trunk/OpenMPT/soundlib/S3MTools.h
==============================================================================
--- trunk/OpenMPT/soundlib/S3MTools.h Thu May 9 15:11:23 2024 (r20744)
+++ trunk/OpenMPT/soundlib/S3MTools.h Thu May 9 18:45:14 2024 (r20745)
@@ -53,6 +53,7 @@
trkBeRoTrackerOld = 0x4100, // Used from 2004 to 2012
trkGraoumfTracker = 0x5447,
trkCamoto = 0xCA00,
+ trkPlayerPRO = 0x2013 // PlayerPRO on Intel doesn't byte-swap the tracker ID bytes
};
// Flags
|