total extinction of legacy sample mode, part 4

prepare the conversion code...
This commit is contained in:
tildearrow 2025-11-08 20:15:40 -05:00
parent 183526cdbd
commit f45bb97318
4 changed files with 19 additions and 0 deletions

View file

@ -1166,6 +1166,9 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) {
ds.systemFlags[0].set("brokenPitch",true);
}
// always convert to normal sample mode (I have no idea how will I do export)
ds.convertLegacySampleMode();
ds.systemName=getSongSystemLegacyName(ds,!getConfInt("noMultiSystem",0));
if (active) quitDispatch();

View file

@ -2181,6 +2181,11 @@ bool DivEngine::loadFur(unsigned char* file, size_t len, int variantID) {
addWarning("this song used partial pitch linearity, which has been removed from Furnace. you may have to adjust your song.");
}
// removal of legacy sample mode
if (ds.version<239) {
ds.convertLegacySampleMode();
}
if (active) quitDispatch();
BUSY_BEGIN_SOFT;
saveLock.lock();

View file

@ -729,3 +729,9 @@ void DivSong::unload() {
}
subsong.clear();
}
// from this point onwards, a mess.
void DivSong::convertLegacySampleMode() {
}

View file

@ -408,6 +408,11 @@ struct DivSong {
*/
void findSubSongs(int chans);
/**
* try to convert usage of legacy sample mode into normal mode.
*/
void convertLegacySampleMode();
/**
* clear orders and patterns.
*/