From 0f8c7361880c6147c4b46f7724da9d229793380f Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Wed, 8 Jan 2020 20:49:38 -0800
Subject: [PATCH] Don't make player transparent if the orbital camera is
 looking straight down

---
 src/p_user.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/p_user.c b/src/p_user.c
index 20fbc99f44..5bce0535d7 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -10293,7 +10293,13 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
 			vy = player->awayviewmobj->y;
 		}
 
-		if (P_AproxDistance(vx - mo->x, vy - mo->y) < FixedMul(48*FRACUNIT, mo->scale))
+		/*
+		When the orbital camera looks straight down, its distance
+		will be very close to the player. So give it a threshold...
+		*/
+		if (( !( camorbit && rendermode == render_opengl ) ||
+					focusaiming < ANGLE_90 || focusaiming > ANGLE_292h ) &&
+				P_AproxDistance(vx - mo->x, vy - mo->y) < FixedMul(48*FRACUNIT, mo->scale))
 			mo->flags2 |= MF2_SHADOW;
 		else
 			mo->flags2 &= ~MF2_SHADOW;
-- 
GitLab