From 0186f6784b800c8d1edba5d78e331b9522104bbc Mon Sep 17 00:00:00 2001
From: Jimita the Cat <lazymyuutsu@gmail.com>
Date: Wed, 6 Mar 2019 21:40:38 -0300
Subject: [PATCH] a

---
 src/p_mobj.c |  2 +-
 src/p_user.c | 11 +----------
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/src/p_mobj.c b/src/p_mobj.c
index 850ec2987..e2543f553 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -6033,7 +6033,7 @@ void P_RunOverlays(void)
 		{
 			angle_t viewingangle;
 
-			if (players[displayplayer].awayviewtics)
+			if (players[displayplayer].awayviewtics && players[displayplayer].awayviewmobj != NULL && !P_MobjWasRemoved(players[displayplayer].awayviewmobj))
 				viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, players[displayplayer].awayviewmobj->x, players[displayplayer].awayviewmobj->y);
 			else if (!camera.chase && players[displayplayer].mo)
 				viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, players[displayplayer].mo->x, players[displayplayer].mo->y);
diff --git a/src/p_user.c b/src/p_user.c
index 285d36ca9..b0d716cea 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -8741,14 +8741,8 @@ void P_PlayerThink(player_t *player)
 	if (player->flashcount)
 		player->flashcount--;
 
-	// Re-fixed by Jimita (11-12-2018)
-	if (player->awayviewtics)
-	{
+	if (player->awayviewtics && player->awayviewtics != -1)
 		player->awayviewtics--;
-		if (!player->awayviewtics)
-			player->awayviewtics = -1;
-		// The timer might've reached zero, but we'll run the remote view camera anyway by setting it to -1.
-	}
 
 	/// \note do this in the cheat code
 	if (player->pflags & PF_NOCLIP)
@@ -9526,9 +9520,6 @@ void P_PlayerAfterThink(player_t *player)
 		}
 	}
 
-	if (player->awayviewtics < 0)
-		player->awayviewtics = 0;
-
 	// spectator invisibility and nogravity.
 	if ((netgame || multiplayer) && player->spectator)
 	{
-- 
GitLab