mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'eid-more-reducevfx' into 'master'
More reducevfx See merge request kart-krew-dev/ring-racers-internal!2951
This commit is contained in:
commit
b8769f14de
2 changed files with 38 additions and 11 deletions
17
src/k_kart.c
17
src/k_kart.c
|
|
@ -6807,6 +6807,14 @@ static void K_SpawnDriftSparks(player_t *player)
|
|||
I_Assert(player->mo != NULL);
|
||||
I_Assert(!P_MobjWasRemoved(player->mo));
|
||||
|
||||
if (player->driftcharge >= dsthree)
|
||||
{
|
||||
if (cv_reducevfx.value || leveltime % 2 == 0)
|
||||
{
|
||||
K_SpawnDriftElectricity(player);
|
||||
}
|
||||
}
|
||||
|
||||
if (leveltime % 2 == 1)
|
||||
return;
|
||||
|
||||
|
|
@ -6937,11 +6945,6 @@ static void K_SpawnDriftSparks(player_t *player)
|
|||
P_SetTarget(&spark->owner, player->mo);
|
||||
spark->renderflags |= RF_REDUCEVFX;
|
||||
}
|
||||
|
||||
if (player->driftcharge >= dsthree)
|
||||
{
|
||||
K_SpawnDriftElectricity(player);
|
||||
}
|
||||
}
|
||||
|
||||
static void K_SpawnAIZDust(player_t *player)
|
||||
|
|
@ -11838,10 +11841,10 @@ void K_KartResetPlayerColor(player_t *player)
|
|||
}
|
||||
else
|
||||
{
|
||||
flicker += ((defaultTime - player->invincibilitytimer) / TICRATE / 2) * (cv_reducevfx.value ? 4 : 1);
|
||||
flicker += (defaultTime - player->invincibilitytimer) / TICRATE / 2;
|
||||
}
|
||||
|
||||
if (leveltime % flicker == 0)
|
||||
if (leveltime % flicker == 0 && !cv_reducevfx.value)
|
||||
{
|
||||
player->mo->color = SKINCOLOR_INVINCFLASH;
|
||||
player->mo->colorized = true;
|
||||
|
|
|
|||
32
src/p_mobj.c
32
src/p_mobj.c
|
|
@ -8208,13 +8208,26 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
invinc_rotation_delay = 8;
|
||||
}
|
||||
|
||||
if ((trans >= NUMTRANSMAPS) // not a valid visibility
|
||||
|| (myspeed < (tripspeed - basespeed/2) && (leveltime & 1)) // < 150% flickering
|
||||
|| (mobj->target->player->tripwirePass < TRIPWIRE_BOOST) // Not strong enough to make an aura
|
||||
|| mobj->target->player->flamedash) // Flameshield dash
|
||||
if ((trans >= NUMTRANSMAPS) || mobj->target->player->flamedash || mobj->target->player->tripwirePass < TRIPWIRE_BOOST)
|
||||
{
|
||||
// never show for flameshield dash, below tripwire minimum or transparency invalid
|
||||
mobj->renderflags &= ~RF_TRANSMASK;
|
||||
mobj->renderflags |= RF_DONTDRAW;
|
||||
}
|
||||
else if (myspeed < (tripspeed - basespeed/2))
|
||||
{
|
||||
mobj->renderflags &= ~(RF_TRANSMASK|RF_DONTDRAW);
|
||||
if (cv_reducevfx.value)
|
||||
{
|
||||
// < 150% make more transparent for reducevfx
|
||||
mobj->renderflags |= RF_TRANS40;
|
||||
}
|
||||
else if (leveltime & 1)
|
||||
{
|
||||
// < 150% flickering normally
|
||||
mobj->renderflags |= RF_DONTDRAW;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
boolean blastermode = (myspeed >= tripspeed) && (mobj->target->player->tripwirePass >= TRIPWIRE_BLASTER);
|
||||
|
|
@ -8327,6 +8340,17 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
P_RemoveMobj(mobj);
|
||||
return false;
|
||||
}
|
||||
|
||||
// This invinc mobj flickers intensely, so don't draw it in reducevfx
|
||||
if (cv_reducevfx.value && (mobj->renderflags & RF_DONTDRAW) == 0)
|
||||
{
|
||||
mobj->renderflags |= RF_DONTDRAW;
|
||||
}
|
||||
if (!cv_reducevfx.value && (mobj->renderflags & RF_DONTDRAW) != 0)
|
||||
{
|
||||
mobj->renderflags ^= RF_DONTDRAW;
|
||||
}
|
||||
|
||||
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z);
|
||||
break;
|
||||
case MT_BRAKEDRIFT:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue