mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Fix duration clamping in hitlag VFX
This commit is contained in:
parent
25c0ff738c
commit
5f30f99c62
1 changed files with 14 additions and 1 deletions
|
|
@ -167,20 +167,31 @@ static void K_SpawnHitLagEFX(mobj_t *victim, mobj_t *inflictor, mobj_t *source,
|
|||
color = (source->player != NULL) ? source->player->skincolor : source->color;
|
||||
}
|
||||
|
||||
// CONS_Printf("== HITLAG VFX START: endTics %d tics %d ==\n", endTics, tics);
|
||||
|
||||
while (endTics < tics)
|
||||
{
|
||||
UINT8 particle = max(1, FixedMul((tics * FRACUNIT) + (FRACUNIT/2), FRACUNIT*2/3) / FRACUNIT);
|
||||
|
||||
// CONS_Printf("trying particle %d\n", particle);
|
||||
|
||||
if (particle > NUM_HITLAG_STATES)
|
||||
{
|
||||
particle = NUM_HITLAG_STATES;
|
||||
// CONS_Printf("* corrected to %d (states - %d)\n", particle, NUM_HITLAG_STATES);
|
||||
}
|
||||
|
||||
UINT8 ticsLeft = endTics - tics;
|
||||
UINT8 ticsLeft = tics - endTics;
|
||||
// CONS_Printf("? ticsleft %d\n", ticsLeft);
|
||||
|
||||
if (particle > ticsLeft)
|
||||
{
|
||||
particle = ticsLeft;
|
||||
// CONS_Printf("* corrected to %d (ticsleft - %d)\n", particle, ticsLeft);
|
||||
}
|
||||
|
||||
// CONS_Printf("spawning, startTics %d\n", startTics);
|
||||
|
||||
K_SpawnSingleHitLagSpark(victim, &offset, newScale, particle, startTics, color);
|
||||
|
||||
startTics += max(1, FixedMul((particle * FRACUNIT) + (FRACUNIT/2), FRACUNIT/3) / FRACUNIT);
|
||||
|
|
@ -191,6 +202,8 @@ static void K_SpawnHitLagEFX(mobj_t *victim, mobj_t *inflictor, mobj_t *source,
|
|||
offset.z += P_RandomRange(PR_DECORATION, -45, 45) * newScale;
|
||||
|
||||
newScale = (newScale * 2) / 3;
|
||||
|
||||
// CONS_Printf("next: startTics %d, endTics %d, tics %d, newScale %d\n", startTics, endTics, tics, newScale);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue