Persist new volume rounding option to furnace module when saving
This commit is contained in:
parent
24ff5b240c
commit
67d6f44947
|
@ -363,7 +363,8 @@ size | description
|
|||
1 | pre note (C64) does not compensate for portamento or legato (>=168)
|
||||
1 | disable new NES DPCM features (>=183)
|
||||
1 | reset arp effect phase on new note (>=184)
|
||||
3 | reserved
|
||||
1 | linear volume scaling rounds up (>=187)
|
||||
2 | reserved
|
||||
--- | **speed pattern of first song** (>=139)
|
||||
1 | length of speed pattern (fail if this is lower than 0 or higher than 16)
|
||||
16 | speed pattern (this overrides speed 1 and speed 2 settings)
|
||||
|
|
|
@ -1873,6 +1873,9 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
if (ds.version<184) {
|
||||
ds.resetArpPhaseOnNewNote=false;
|
||||
}
|
||||
if (ds.version<187) {
|
||||
ds.ceilVolumeScaling=false;
|
||||
}
|
||||
ds.isDMF=false;
|
||||
|
||||
reader.readS(); // reserved
|
||||
|
@ -2409,7 +2412,12 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
} else {
|
||||
reader.readC();
|
||||
}
|
||||
for (int i=0; i<3; i++) {
|
||||
if (ds.version>=187) {
|
||||
ds.ceilVolumeScaling=reader.readC();
|
||||
} else {
|
||||
reader.readC();
|
||||
}
|
||||
for (int i=0; i<2; i++) {
|
||||
reader.readC();
|
||||
}
|
||||
}
|
||||
|
@ -5494,7 +5502,8 @@ SafeWriter* DivEngine::saveFur(bool notPrimary, bool newPatternFormat) {
|
|||
w->writeC(song.preNoteNoEffect);
|
||||
w->writeC(song.oldDPCM);
|
||||
w->writeC(song.resetArpPhaseOnNewNote);
|
||||
for (int i=0; i<3; i++) {
|
||||
w->writeC(song.ceilVolumeScaling);
|
||||
for (int i=0; i<2; i++) {
|
||||
w->writeC(0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue