Add some commentary for special series of effects in S3M, XM and IT

This commit is contained in:
KungFuFurby 2025-09-09 18:36:02 -04:00 committed by tildearrow
parent 7a7d381889
commit 3df67fb1b3
3 changed files with 10 additions and 10 deletions

View file

@ -1516,15 +1516,15 @@ bool DivEngine::loadIT(unsigned char* file, size_t len) {
break; break;
case 'S': // special... case 'S': // special...
switch (effectVal[chan]>>4) { switch (effectVal[chan]>>4) {
case 0x8: case 0x8: // panning
p->data[readRow][effectCol[chan]++]=0x80; p->data[readRow][effectCol[chan]++]=0x80;
p->data[readRow][effectCol[chan]++]=(effectVal[chan]&15)<<4; p->data[readRow][effectCol[chan]++]=(effectVal[chan]&15)<<4;
break; break;
case 0xc: case 0xc: // note cut
p->data[readRow][effectCol[chan]++]=0xec; p->data[readRow][effectCol[chan]++]=0xec;
p->data[readRow][effectCol[chan]++]=effectVal[chan]&15; p->data[readRow][effectCol[chan]++]=effectVal[chan]&15;
break; break;
case 0xd: case 0xd: // note delay
p->data[readRow][effectCol[chan]++]=0xed; p->data[readRow][effectCol[chan]++]=0xed;
p->data[readRow][effectCol[chan]++]=effectVal[chan]&15; p->data[readRow][effectCol[chan]++]=effectVal[chan]&15;
break; break;

View file

@ -1101,15 +1101,15 @@ bool DivEngine::loadS3M(unsigned char* file, size_t len) {
break; break;
case 'S': // special... case 'S': // special...
switch (effectVal>>4) { switch (effectVal>>4) {
case 0x8: case 0x8: // panning
p->data[readRow][effectCol[chan]++]=0x80; p->data[readRow][effectCol[chan]++]=0x80;
p->data[readRow][effectCol[chan]++]=(effectVal&15)<<4; p->data[readRow][effectCol[chan]++]=(effectVal&15)<<4;
break; break;
case 0xc: case 0xc: // note cut
p->data[readRow][effectCol[chan]++]=0xec; p->data[readRow][effectCol[chan]++]=0xec;
p->data[readRow][effectCol[chan]++]=effectVal&15; p->data[readRow][effectCol[chan]++]=effectVal&15;
break; break;
case 0xd: case 0xd: // note delay
p->data[readRow][effectCol[chan]++]=0xed; p->data[readRow][effectCol[chan]++]=0xed;
p->data[readRow][effectCol[chan]++]=effectVal&15; p->data[readRow][effectCol[chan]++]=effectVal&15;
break; break;

View file

@ -1147,11 +1147,11 @@ bool DivEngine::loadXM(unsigned char* file, size_t len) {
case 0xe: // special... case 0xe: // special...
// TODO: implement the rest // TODO: implement the rest
switch (effectVal>>4) { switch (effectVal>>4) {
case 0x5: case 0x5: // fine tune
p->data[j][effectCol[k]++]=0xe5; p->data[j][effectCol[k]++]=0xe5;
p->data[j][effectCol[k]++]=(effectVal&15)<<4; p->data[j][effectCol[k]++]=(effectVal&15)<<4;
break; break;
case 0x9: case 0x9: // retrigger
p->data[j][effectCol[k]++]=0x0c; p->data[j][effectCol[k]++]=0x0c;
p->data[j][effectCol[k]++]=(effectVal&15); p->data[j][effectCol[k]++]=(effectVal&15);
break; break;
@ -1171,11 +1171,11 @@ bool DivEngine::loadXM(unsigned char* file, size_t len) {
} }
volSliding[k]=true; volSliding[k]=true;
break; break;
case 0xc: case 0xc: // note cut
p->data[j][effectCol[k]++]=0xdc; p->data[j][effectCol[k]++]=0xdc;
p->data[j][effectCol[k]++]=MAX(1,effectVal&15); p->data[j][effectCol[k]++]=MAX(1,effectVal&15);
break; break;
case 0xd: case 0xd: // note delay
p->data[j][effectCol[k]++]=0xed; p->data[j][effectCol[k]++]=0xed;
p->data[j][effectCol[k]++]=MAX(1,effectVal&15); p->data[j][effectCol[k]++]=MAX(1,effectVal&15);
break; break;