Skip to content

Commit

Permalink
Merged revision(s) 20639 from trunk/OpenMPT:
Browse files Browse the repository at this point in the history
[Imp] IT: Disable a few more compatibility flags for older SchismTracker builds (https://bugs.openmpt.org/view.php?id=1764). Only a few flags from the proposed patch have been carried over as the implementation for some of those effects was too different between Schism Tracker and OpenMPT, potentially causing OpenMPT's old bugs to be applied to SchismTracker where they were not necessarily "correct".
........


git-svn-id: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.31@20640 56274372-70c3-4bfc-bfc3-4c3a0b034d27
  • Loading branch information
sagamusix committed Apr 21, 2024
1 parent cc68c20 commit 0a64050
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions soundlib/Load_it.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1220,7 +1220,7 @@ bool CSoundFile::ReadIT(FileReader &file, ModLoadingFlags loadFlags)
m_playBehaviour.reset(kITShortSampleRetrig);
} else if(fileHeader.cwtv == 0x0214 && fileHeader.cmwt == 0x0214 && fileHeader.special <= 1 && fileHeader.pwd == 0 && fileHeader.reserved == 0
&& (fileHeader.flags & (ITFileHeader::vol0Optimisations | ITFileHeader::instrumentMode | ITFileHeader::useMIDIPitchController | ITFileHeader::reqEmbeddedMIDIConfig | ITFileHeader::extendedFilterRange)) == ITFileHeader::instrumentMode
&& m_nSamples > 0 && (Samples[1].filename == "XXXXXXXX.YYY"))
&& m_nSamples > 1 && (Samples[1].filename == "XXXXXXXX.YYY"))
{
madeWithTracker = U_("CheeseTracker");
} else if(fileHeader.cwtv == 0 && madeWithTracker.empty())
Expand Down Expand Up @@ -1285,21 +1285,26 @@ bool CSoundFile::ReadIT(FileReader &file, ModLoadingFlags loadFlags)
// Initial note memory for channel is C-0: Added 2023-03-09, https://github.com/schismtracker/schismtracker/commit/73e9d60676c2b48c8e94e582373e29517105b2b1
if(schismDateVersion < SchismVersionFromDate<2023, 03, 9>::date)
m_playBehaviour.reset(kITInitialNoteMemory);
// 2023-10-16: kITEnvelopePositionHandling https://github.com/schismtracker/schismtracker/commit/bc81f605d927ca931a886417641da29fc89283b8
// DCT note comparison: Added 2023-10-17, https://github.com/schismtracker/schismtracker/commit/31d36dc00013fc5ab0efa20c782af18e8b006e07
if(schismDateVersion < SchismVersionFromDate<2023, 10, 17>::date)
m_playBehaviour.reset(kITDCTBehaviour);
if(schismDateVersion < SchismVersionFromDate<2023, 10, 19>::date)
{
// Panbrello sample & hold random waveform: Added 2023-10-19, https://github.com/schismtracker/schismtracker/commit/411ec16b190ba1a486d8b0907ad8d74f8fdc2840
m_playBehaviour.reset(kITPanbrelloHold);
m_playBehaviour.reset(kITSampleAndHoldPanbrello);
// Don't apply any portamento if no previous note is playing: Added 2023-10-19, https://github.com/schismtracker/schismtracker/commit/8ff0a86a715efb50c89770fb9095d4c4089ff187
m_playBehaviour.reset(kITPortaNoNote);
}
if(schismDateVersion < SchismVersionFromDate<2023, 10, 22>::date)
{
// Note delay delays first-tick behaviour for slides: Added 2023-10-22, https://github.com/schismtracker/schismtracker/commit/b9609e4f827e1b6ce9ebe6573b85e69388ca0ea0
m_playBehaviour.reset(kITFirstTickHandling);
// Added 2023-10-22, https://github.com/schismtracker/schismtracker/commit/a9e5df533ab52c35190fcc1cbfed4f0347b660bb
// https://github.com/schismtracker/schismtracker/commit/a9e5df533ab52c35190fcc1cbfed4f0347b660bb
m_playBehaviour.reset(kITMultiSampleInstrumentNumber);
}
// Panbrello hold: Added 2024-03-09, https://github.com/schismtracker/schismtracker/commit/ebdebaa8c8a735a7bf49df55debded1b7aac3605
if(schismDateVersion < SchismVersionFromDate<2024, 03, 9>::date)
m_playBehaviour.reset(kITPanbrelloHold);
break;
case 4:
madeWithTracker = MPT_UFORMAT("pyIT {}.{}")((fileHeader.cwtv & 0x0F00) >> 8, mpt::ufmt::hex0<2>(fileHeader.cwtv & 0xFF));
Expand Down

0 comments on commit 0a64050

Please sign in to comment.