dev101 - fix SMSFM_intro.dmf

This commit is contained in:
tildearrow 2022-07-04 01:43:59 -05:00
parent 949e293053
commit f4a85bebff
39 changed files with 67 additions and 15 deletions

View file

@ -172,6 +172,7 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) {
ds.volMacroLinger=false;
ds.brokenOutVol=true; // ???
ds.e1e2StopOnSameNote=true;
ds.brokenPortaArp=false;
// 1.1 compat flags
if (ds.version>24) {
@ -1047,6 +1048,9 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
if (ds.version<100) {
ds.e1e2StopOnSameNote=false;
}
if (ds.version<101) {
ds.brokenPortaArp=true;
}
ds.isDMF=false;
reader.readS(); // reserved
@ -1448,7 +1452,12 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
} else {
reader.readC();
}
for (int i=0; i<8; i++) {
if (ds.version>=101) {
ds.brokenPortaArp=reader.readC();
} else {
reader.readC();
}
for (int i=0; i<7; i++) {
reader.readC();
}
}
@ -2922,7 +2931,8 @@ SafeWriter* DivEngine::saveFur(bool notPrimary) {
w->writeC(song.volMacroLinger);
w->writeC(song.brokenOutVol);
w->writeC(song.e1e2StopOnSameNote);
for (int i=0; i<8; i++) {
w->writeC(song.brokenPortaArp);
for (int i=0; i<7; i++) {
w->writeC(0);
}