From 5c2110dafef33d3dcbc97d52fac7335cae4a207e Mon Sep 17 00:00:00 2001 From: Sryder Date: Sun, 1 Jul 2018 03:06:34 +0100 Subject: [PATCH] Fix the issue with timing out when joining during intermission --- src/d_clisrv.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 0d3b9141..bf218870 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3874,9 +3874,8 @@ FILESTAMP // Update the nettics nettics[node] = realend; - // Don't do anything for packets of type NODEKEEPALIVE? - if (netconsole == -1 || netbuffer->packettype == PT_NODEKEEPALIVE - || netbuffer->packettype == PT_NODEKEEPALIVEMIS) + // This should probably still timeout though, as the node should always have a player 1 number + if (netconsole == -1) break; // If a client sends a ticcmd it should mean they are done receiving the savegame @@ -3886,6 +3885,12 @@ FILESTAMP /// \todo Use a separate cvar for that kind of timeout? freezetimeout[node] = I_GetTime() + connectiontimeout; + // Don't do anything for packets of type NODEKEEPALIVE? + // Sryder 2018/07/01: Update the freezetimeout still! + if (netbuffer->packettype == PT_NODEKEEPALIVE + || netbuffer->packettype == PT_NODEKEEPALIVEMIS) + break; + // Copy ticcmd G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][netconsole], &netbuffer->u.clientpak.cmd, 1);