S3M/XM/IT import: fix contiguous slide/porta

This commit is contained in:
tildearrow 2024-07-04 02:42:36 -05:00
parent f68249f52b
commit 8d11b4a840
3 changed files with 36 additions and 3 deletions

View file

@ -1138,6 +1138,9 @@ bool DivEngine::loadIT(unsigned char* file, size_t len) {
portaStatus[chan]=portaVal;
portaStatusChanged[chan]=true;
}
if (portaType[chan]!=3) {
portaStatusChanged[chan]=true;
}
portaType[chan]=3;
porting[chan]=true;
} else if (vol[chan]>=203 && vol[chan]<=212) { // vibrato
@ -1179,6 +1182,9 @@ bool DivEngine::loadIT(unsigned char* file, size_t len) {
portaStatus[chan]=effectVal[chan];
portaStatusChanged[chan]=true;
}
if (portaType[chan]!=2) {
portaStatusChanged[chan]=true;
}
portaType[chan]=2;
porting[chan]=true;
break;
@ -1187,6 +1193,9 @@ bool DivEngine::loadIT(unsigned char* file, size_t len) {
portaStatus[chan]=effectVal[chan];
portaStatusChanged[chan]=true;
}
if (portaType[chan]!=1) {
portaStatusChanged[chan]=true;
}
portaType[chan]=1;
porting[chan]=true;
break;
@ -1195,6 +1204,9 @@ bool DivEngine::loadIT(unsigned char* file, size_t len) {
portaStatus[chan]=effectVal[chan];
portaStatusChanged[chan]=true;
}
if (portaType[chan]!=3) {
portaStatusChanged[chan]=true;
}
portaType[chan]=3;
porting[chan]=true;
break;