add two more compatibility flags
issue #167 and #249: - stop porta on note off - continuous vibrato
This commit is contained in:
parent
742e813e98
commit
8e5b3abab8
6 changed files with 39 additions and 10 deletions
|
|
@ -796,6 +796,9 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
if (ds.version<50) {
|
||||
ds.ignoreDuplicateSlides=false;
|
||||
}
|
||||
if (ds.version<62) {
|
||||
ds.stopPortaOnNoteOff=true;
|
||||
}
|
||||
ds.isDMF=false;
|
||||
|
||||
reader.readS(); // reserved
|
||||
|
|
@ -965,7 +968,14 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
} else {
|
||||
reader.readC();
|
||||
}
|
||||
for (int i=0; i<6; i++) reader.readC();
|
||||
if (ds.version>=62) {
|
||||
ds.stopPortaOnNoteOff=reader.readC();
|
||||
ds.continuousVibrato=reader.readC();
|
||||
} else {
|
||||
reader.readC();
|
||||
reader.readC();
|
||||
}
|
||||
for (int i=0; i<4; i++) reader.readC();
|
||||
} else {
|
||||
for (int i=0; i<20; i++) reader.readC();
|
||||
}
|
||||
|
|
@ -1404,7 +1414,9 @@ SafeWriter* DivEngine::saveFur() {
|
|||
w->writeC(song.algMacroBehavior);
|
||||
w->writeC(song.brokenShortcutSlides);
|
||||
w->writeC(song.ignoreDuplicateSlides);
|
||||
for (int i=0; i<6; i++) {
|
||||
w->writeC(song.stopPortaOnNoteOff);
|
||||
w->writeC(song.continuousVibrato);
|
||||
for (int i=0; i<4; i++) {
|
||||
w->writeC(0);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue