From 3a467889aec0cf15cae1d39bc4f6aa3e88b53800 Mon Sep 17 00:00:00 2001
From: fickleheart <fickle@tinted.red>
Date: Sun, 27 Jan 2019 17:48:39 -0600
Subject: [PATCH] Fix spectators spawning as players in netreplays

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

diff --git a/src/p_mobj.c b/src/p_mobj.c
index f71ff2092..3eae4cae0 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -10889,7 +10889,8 @@ void P_SpawnPlayer(INT32 playernum)
 	}
 
 	// spawn as spectator determination
-	if (!G_GametypeHasSpectators())
+	if (multiplayer && demoplayback); // Don't mess with spectator values since the demo setup handles them already.
+	else if (!G_GametypeHasSpectators())
 		p->spectator = false;
 	else if (netgame && p->jointime <= 1 && pcount)
 	{
diff --git a/src/p_tick.c b/src/p_tick.c
index 8814d4406..471b38ecf 100644
--- a/src/p_tick.c
+++ b/src/p_tick.c
@@ -612,7 +612,7 @@ void P_Ticker(boolean run)
 		{
 
 			if (!multiplayer) {
-			G_ReadDemoTiccmd(&players[consoleplayer].cmd, 0);
+				G_ReadDemoTiccmd(&players[consoleplayer].cmd, 0);
 			} else {
 				for (i = 0; i < MAXPLAYERS; i++)
 					if (playeringame[i])
-- 
GitLab