From 99542a5b00cf3c1cbdc89507e7087014e3ab6d74 Mon Sep 17 00:00:00 2001 From: Eidolon Date: Thu, 16 Oct 2025 16:32:36 -0500 Subject: [PATCH] Disable invinc sprite flicker, MT_INVULNFLASH in reducevfx --- src/k_kart.c | 4 ++-- src/p_mobj.c | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index e300bd5f2..fcb315775 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -11828,10 +11828,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; diff --git a/src/p_mobj.c b/src/p_mobj.c index 5197bcc5e..f9b5dae5d 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8327,6 +8327,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: