Updated playptmod and st3play
parent
5677527ffd
commit
4a0382d874
|
@ -10,6 +10,7 @@
|
||||||
** - Proper tracker handling for non-ST3 effects
|
** - Proper tracker handling for non-ST3 effects
|
||||||
** - Panbrello (Yxy) didn't set the panning at all (heh)
|
** - Panbrello (Yxy) didn't set the panning at all (heh)
|
||||||
** - Decodes ADPCM samples at load time instead of play time
|
** - Decodes ADPCM samples at load time instead of play time
|
||||||
|
** - Mxx (set cannel volume) didn't work correctly
|
||||||
**
|
**
|
||||||
** C port of Scream Tracker 3's replayer, by 8bitbubsy (Olav Sørensen)
|
** C port of Scream Tracker 3's replayer, by 8bitbubsy (Olav Sørensen)
|
||||||
** using the original asm source codes by PSI (Sami Tammilehto) of Future Crew
|
** using the original asm source codes by PSI (Sami Tammilehto) of Future Crew
|
||||||
|
@ -2278,6 +2279,8 @@ static void s_chanvol(PLAYER *p, chn_t *ch) // NON-ST3
|
||||||
{
|
{
|
||||||
if (ch->info <= 0x40)
|
if (ch->info <= 0x40)
|
||||||
ch->chanvol = ch->info;
|
ch->chanvol = ch->info;
|
||||||
|
|
||||||
|
setvol(p, ch->channelnum, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
/*
|
/*
|
||||||
** - playptmod v1.22 - 14th of March 2015 -
|
** - playptmod v1.23 - 23rd of March 2015 -
|
||||||
** This is the foobar2000 version, with added code by kode54
|
** This is the foobar2000 version, with added code by kode54
|
||||||
**
|
**
|
||||||
|
** Changelog from 1.22:
|
||||||
|
** - Do sample swaps even if the new sample has a length of 0 (fixes "MOD.lsd ninja")
|
||||||
|
**
|
||||||
** Changelog from 1.21:
|
** Changelog from 1.21:
|
||||||
** - Only do portamentos if the voice has a period set (fixes first row of "MOD.cry of doom 3")
|
** - Only do portamentos if the voice has a period set (fixes first row of "MOD.cry of doom 3")
|
||||||
**
|
**
|
||||||
|
@ -2656,10 +2659,7 @@ static void processChannel(player *p, mod_channel *ch)
|
||||||
{
|
{
|
||||||
s = &p->source->samples[ch->sample - 1];
|
s = &p->source->samples[ch->sample - 1];
|
||||||
|
|
||||||
if (s->length > 0)
|
|
||||||
mixerSwapChSource(p, ch->chanIndex, p->source->sampleData + s->offset, s->length, s->loopStart, s->loopLength, (s->attribute & 1) ? 2 : 1);
|
mixerSwapChSource(p, ch->chanIndex, p->source->sampleData + s->offset, s->length, s->loopStart, s->loopLength, (s->attribute & 1) ? 2 : 1);
|
||||||
else
|
|
||||||
mixerSetChSource(p, ch->chanIndex, NULL, 0, 0, 0, 0, 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (p->tempFlags & TEMPFLAG_START)
|
else if (p->tempFlags & TEMPFLAG_START)
|
||||||
|
|
Loading…
Reference in New Issue