From 73c39990f96730fc12b13aa8238e260068294381 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sat, 19 Oct 2019 14:51:24 +0200
Subject: [PATCH] Fix restoration of delayed linedef executors in
 P_NetUnArchiveThinkers for real

---
 src/p_saveg.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/p_saveg.c b/src/p_saveg.c
index ff9f3bf066..fb2365bf09 100644
--- a/src/p_saveg.c
+++ b/src/p_saveg.c
@@ -3612,21 +3612,21 @@ static void P_NetUnArchiveThinkers(void)
 		}
 
 		CONS_Debug(DBG_NETPLAY, "%u thinkers loaded in list %d\n", numloaded, i);
+	}
 
-		if (restoreNum)
+	if (restoreNum)
+	{
+		executor_t *delay = NULL;
+		UINT32 mobjnum;
+		for (currentthinker = thlist[THINK_MAIN].next; currentthinker != &thlist[THINK_MAIN];
+		currentthinker = currentthinker->next)
 		{
-			executor_t *delay = NULL;
-			UINT32 mobjnum;
-			for (currentthinker = thlist[i].next; currentthinker != &thlist[i];
-			currentthinker = currentthinker->next)
-			{
-				if (currentthinker->function.acp1 != (actionf_p1)T_ExecutorDelay)
-					continue;
-				delay = (void *)currentthinker;
-				if (!(mobjnum = (UINT32)(size_t)delay->caller))
-					continue;
-				delay->caller = P_FindNewPosition(mobjnum);
-			}
+			if (currentthinker->function.acp1 != (actionf_p1)T_ExecutorDelay)
+				continue;
+			delay = (void *)currentthinker;
+			if (!(mobjnum = (UINT32)(size_t)delay->caller))
+				continue;
+			delay->caller = P_FindNewPosition(mobjnum);
 		}
 	}
 }
-- 
GitLab