From: <sv...@op...> - 2024-05-09 16:45:21
|
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 |