From 67aba2648cbd4309bbaef80174a1e1e29e01003a Mon Sep 17 00:00:00 2001 From: Louis-Antoine Date: Wed, 25 Oct 2017 10:32:48 +0200 Subject: [PATCH] Fix download freezes (well, most of them) --- src/d_clisrv.c | 21 ++++++++++++--------- src/i_tcp.c | 3 +-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 312a308a..374cb75f 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3120,16 +3120,19 @@ static boolean SV_AddWaitingPlayers(void) { newplayer = true; - // search for a free playernum - // we can't use playeringame since it is not updated here - for (; newplayernum < MAXPLAYERS; newplayernum++) - { - for (n = 0; n < MAXNETNODES; n++) - if (nodetoplayer[n] == newplayernum || nodetoplayer2[n] == newplayernum) + if (netgame) + newplayernum = node; // OMFG SAY WELCOME TO TEH NEW HACK FOR FIX FIL DOWNLOAD!!1! + else + // search for a free playernum + // we can't use playeringame since it is not updated here + for (; newplayernum < MAXPLAYERS; newplayernum++) + { + for (n = 0; n < MAXNETNODES; n++) + if (nodetoplayer[n] == newplayernum || nodetoplayer2[n] == newplayernum) + break; + if (n == MAXNETNODES) break; - if (n == MAXNETNODES) - break; - } + } // should never happen since we check the playernum // before accepting the join diff --git a/src/i_tcp.c b/src/i_tcp.c index c65a536a..0063dedd 100644 --- a/src/i_tcp.c +++ b/src/i_tcp.c @@ -498,8 +498,7 @@ static void cleanupnodes(void) // Why can't I start at zero? for (j = 1; j < MAXNETNODES; j++) - //if (!(nodeingame[j] || SV_SendingFile(j))) - if (!nodeingame[j]) + if (!(nodeingame[j] || SV_SendingFile(j))) nodeconnected[j] = false; }