fix broken DAC mode
adds new compat flag
This commit is contained in:
parent
b73591970d
commit
2a0aa19b2b
6 changed files with 36 additions and 6 deletions
|
|
@ -140,6 +140,7 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) {
|
|||
ds.algMacroBehavior=false;
|
||||
ds.brokenShortcutSlides=false;
|
||||
ds.ignoreDuplicateSlides=true;
|
||||
ds.brokenDACMode=true;
|
||||
|
||||
// 1.1 compat flags
|
||||
if (ds.version>24) {
|
||||
|
|
@ -799,6 +800,9 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
if (ds.version<62) {
|
||||
ds.stopPortaOnNoteOff=true;
|
||||
}
|
||||
if (ds.version<64) {
|
||||
ds.brokenDACMode=false;
|
||||
}
|
||||
ds.isDMF=false;
|
||||
|
||||
reader.readS(); // reserved
|
||||
|
|
@ -975,7 +979,12 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
reader.readC();
|
||||
reader.readC();
|
||||
}
|
||||
for (int i=0; i<4; i++) reader.readC();
|
||||
if (ds.version>=64) {
|
||||
ds.brokenDACMode=reader.readC();
|
||||
} else {
|
||||
reader.readC();
|
||||
}
|
||||
for (int i=0; i<3; i++) reader.readC();
|
||||
} else {
|
||||
for (int i=0; i<20; i++) reader.readC();
|
||||
}
|
||||
|
|
@ -1417,7 +1426,8 @@ SafeWriter* DivEngine::saveFur() {
|
|||
w->writeC(song.ignoreDuplicateSlides);
|
||||
w->writeC(song.stopPortaOnNoteOff);
|
||||
w->writeC(song.continuousVibrato);
|
||||
for (int i=0; i<4; i++) {
|
||||
w->writeC(song.brokenDACMode);
|
||||
for (int i=0; i<3; i++) {
|
||||
w->writeC(0);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue