Updated playptmod
parent
438b4143de
commit
7930b02c83
|
@ -1,7 +1,10 @@
|
||||||
/*
|
/*
|
||||||
** - playptmod v1.2 - 3rd of February 2015 -
|
** - playptmod v1.21 - 10th 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.20:
|
||||||
|
** - The EEx+Dxx quirk should also be handled for EEx+Bxx
|
||||||
|
**
|
||||||
** Changelog from 1.16:
|
** Changelog from 1.16:
|
||||||
** - The sample swap quirk had a bug (discovered by Wasp of PowerLine)
|
** - The sample swap quirk had a bug (discovered by Wasp of PowerLine)
|
||||||
** - 3xx/5xy was still wrong in PT mode (fixes "MOD.lite teknalogy" by tEiS)
|
** - 3xx/5xy was still wrong in PT mode (fixes "MOD.lite teknalogy" by tEiS)
|
||||||
|
@ -2370,6 +2373,8 @@ static void fxPositionJump(player *p, mod_channel *ch)
|
||||||
p->modOrder = ch->param - 1;
|
p->modOrder = ch->param - 1;
|
||||||
p->PBreakPosition = 0;
|
p->PBreakPosition = 0;
|
||||||
p->PosJumpAssert = true;
|
p->PosJumpAssert = true;
|
||||||
|
p->pattBreakBugPos = 0;
|
||||||
|
p->pattBreakFlag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2636,7 +2641,7 @@ static void processChannel(player *p, mod_channel *ch)
|
||||||
p->tempPeriod = ch->period;
|
p->tempPeriod = ch->period;
|
||||||
p->tempVolume = ch->volume;
|
p->tempVolume = ch->volume;
|
||||||
|
|
||||||
if (!p->forceEffectsOff)
|
if (!p->forceEffectsOff) // EEx + Dxx/Bxx quirk simulation (FT2 had this bug too)
|
||||||
processEffects(p, ch);
|
processEffects(p, ch);
|
||||||
|
|
||||||
if (!(p->tempFlags & TEMPFLAG_DELAY))
|
if (!(p->tempFlags & TEMPFLAG_DELAY))
|
||||||
|
@ -2719,8 +2724,7 @@ static void processTick(player *p)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (p->minPeriod == PT_MIN_PERIOD) // PT/NT/STK/UST bug only
|
// EEx + Dxx/Bxx quirk simulation (FT2 had this bug too)
|
||||||
{
|
|
||||||
if (p->modTick == 0)
|
if (p->modTick == 0)
|
||||||
{
|
{
|
||||||
if (p->forceEffectsOff)
|
if (p->forceEffectsOff)
|
||||||
|
@ -2732,19 +2736,16 @@ static void processTick(player *p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < p->source->head.channelCount; ++i)
|
for (i = 0; i < p->source->head.channelCount; ++i)
|
||||||
processChannel(p, p->source->channels + i);
|
processChannel(p, p->source->channels + i);
|
||||||
|
|
||||||
if (p->minPeriod == PT_MIN_PERIOD) // PT/NT/STK/UST bug only
|
// EEx + Dxx/Bxx quirk simulation (FT2 had this bug too)
|
||||||
{
|
|
||||||
if (p->modTick == 0)
|
if (p->modTick == 0)
|
||||||
{
|
{
|
||||||
if (p->pattBreakFlag && p->pattDelayFlag)
|
if (p->pattBreakFlag && p->pattDelayFlag)
|
||||||
p->forceEffectsOff = true;
|
p->forceEffectsOff = true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
p->modTick++;
|
p->modTick++;
|
||||||
if (p->modTick >= p->modSpeed)
|
if (p->modTick >= p->modSpeed)
|
||||||
|
|
Loading…
Reference in New Issue