From 01016ceee9a40aa9d2a598994666b17273ca4250 Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Sat, 6 Apr 2024 17:45:44 -0700
Subject: [PATCH] Splitscreen GP: hide GAME OVERED player sprite and VFX

- Does not interfere with destroyed kart explosion
---
 src/k_hud.cpp | 8 ++++++++
 src/p_user.c  | 5 +++++
 2 files changed, 13 insertions(+)

diff --git a/src/k_hud.cpp b/src/k_hud.cpp
index 73ffb6be36..5c1b8f3db7 100644
--- a/src/k_hud.cpp
+++ b/src/k_hud.cpp
@@ -4512,6 +4512,10 @@ static void K_drawKartMinimap(void)
 			if ((gametyperules & GTR_BUMPERS) && (players[i].pflags & PF_ELIMINATED))
 				continue;
 
+			// This gets set for a player who has GAME OVER'd
+			if (P_MobjIsReappearing(players[i].mo))
+				continue;
+
 			if (i == displayplayers[0] || i == displayplayers[1] || i == displayplayers[2] || i == displayplayers[3])
 			{
 				// Draw display players on top of everything else
@@ -4723,6 +4727,10 @@ static void K_drawKartMinimap(void)
 
 		mobj = players[localplayers[i]].mo;
 
+		// This gets set for a player who has GAME OVER'd
+		if (P_MobjIsReappearing(mobj))
+			continue;
+
 		if (mobj->health <= 0 && (players[localplayers[i]].pflags & PF_NOCONTEST))
 		{
 			if (P_MobjWasRemoved(mobj->tracer))
diff --git a/src/p_user.c b/src/p_user.c
index ecfe54deec..e3402c8333 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -4156,6 +4156,11 @@ void P_PlayerThink(player_t *player)
 
 		player->playerstate = PST_DEAD;
 
+		// hide the player sprite forever
+		player->mo->hitlag = INT32_MAX;
+		player->mo->renderflags |= RF_DONTDRAW;
+		player->mo->reappear = INFTICS; // also hides the follower
+
 		// respawn from where you died
 		player->respawn.pointx = player->mo->x;
 		player->respawn.pointy = player->mo->y;
-- 
GitLab