add two more compatibility flags

for songs that relied upon pre-0.5.5 broken behavior
This commit is contained in:
tildearrow 2022-02-09 22:07:32 -05:00
parent e115d9e23b
commit 62f2f67b9d
9 changed files with 55 additions and 13 deletions

View file

@ -565,7 +565,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
chan[i].portaNote=-1;
chan[i].portaSpeed=-1;
chan[i].inPorta=false;
dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,false,0));
if (!song.arpNonPorta) dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,false,0));
} else {
chan[i].portaNote=song.limitSlides?0x60:255;
chan[i].portaSpeed=effectVal;
@ -574,7 +574,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
chan[i].stopOnOff=false;
chan[i].scheduledSlideReset=false;
chan[i].inPorta=false;
dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,true,0));
if (!song.arpNonPorta) dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,true,0));
}
break;
case 0x02: // ramp down
@ -582,7 +582,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
chan[i].portaNote=-1;
chan[i].portaSpeed=-1;
chan[i].inPorta=false;
dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,false,0));
if (!song.arpNonPorta) dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,false,0));
} else {
chan[i].portaNote=song.limitSlides?disCont[dispatchOfChan[i]].dispatch->getPortaFloor(dispatchChanOfChan[i]):-60;
chan[i].portaSpeed=effectVal;
@ -591,7 +591,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
chan[i].stopOnOff=false;
chan[i].scheduledSlideReset=false;
chan[i].inPorta=false;
dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,true,0));
if (!song.arpNonPorta) dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,true,0));
}
break;
case 0x03: // portamento