diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 706fc008d..51803d714 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2267,10 +2267,8 @@ static void CL_ConnectToServer(void) { pnumnodes = 0; for (i = 0; i < MAXNETNODES; i++) - { if (nodeingame[i]) pnumnodes++; - } } } while (!(cl_mode == CL_CONNECTED && (client || (server && nodewaited <= pnumnodes)))); @@ -3699,10 +3697,8 @@ void D_QuitNetGame(void) netbuffer->packettype = PT_SERVERSHUTDOWN; for (i = 0; i < MAXNETNODES; i++) - { if (nodeingame[i]) HSendPacket(i, true, 0, 0); - } #ifdef MASTERSERVER if (serverrunning && netgame && cv_advertise.value) // see mserv.c Online() UnregisterServer(); @@ -6261,10 +6257,8 @@ static inline void PingUpdate(void) //send out our ping packets for (i = 0; i < MAXNETNODES; i++) - { if (nodeingame[i]) HSendPacket(i, true, 0, sizeof(netinfo_pak)); - } pingmeasurecount = 0; //Reset count } @@ -6367,10 +6361,8 @@ static void HandleNodeTimeouts(void) if (server) { for (i = 1; i < MAXNETNODES; i++) - { if (nodeingame[i] && freezetimeout[i] < I_GetTime()) Net_ConnectionTimeout(i); - } // In case the cvar value was lowered if (joindelay) diff --git a/src/d_net.c b/src/d_net.c index 7fd4502d9..b7486330e 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -632,8 +632,13 @@ void Net_WaitAllAckReceived(UINT32 timeout) static void InitNode(netnode_t *node) { - memset(node, 0, sizeof(node_t)); + node->acktosend_head = node->acktosend_tail = 0; + node->firstacktosend = 0; node->nextacknum = 1; + node->remotefirstack = 0; + node->flags = 0; + node->sendnum = 0; + node->recvnum = 0; } static void InitAck(void) diff --git a/src/d_netfil.c b/src/d_netfil.c index 75d62613d..9d5bd3139 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -674,18 +674,18 @@ boolean CL_LoadServerFiles(void) const char *s; switch(fileneeded[i].status) { - case FS_NOTFOUND: - s = "FS_NOTFOUND"; - break; - case FS_REQUESTED: - s = "FS_REQUESTED"; - break; - case FS_DOWNLOADING: - s = "FS_DOWNLOADING"; - break; - default: - s = "unknown"; - break; + case FS_NOTFOUND: + s = "FS_NOTFOUND"; + break; + case FS_REQUESTED: + s = "FS_REQUESTED"; + break; + case FS_DOWNLOADING: + s = "FS_DOWNLOADING"; + break; + default: + s = "unknown"; + break; } I_Error("Try to load file \"%s\" with status of %d (%s)\n", fileneeded[i].filename, fileneeded[i].status, s); @@ -1585,21 +1585,21 @@ void PT_FileFragment(SINT8 node, INT32 netconsole) const char *s; switch(file->status) { - case FS_NOTFOUND: - s = "FS_NOTFOUND"; - break; - case FS_FOUND: - s = "FS_FOUND"; - break; - case FS_OPEN: - s = "FS_OPEN"; - break; - case FS_BADHASH: - s = "FS_BADHASH"; - break; - default: - s = "unknown"; - break; + case FS_NOTFOUND: + s = "FS_NOTFOUND"; + break; + case FS_FOUND: + s = "FS_FOUND"; + break; + case FS_OPEN: + s = "FS_OPEN"; + break; + case FS_BADHASH: + s = "FS_BADHASH"; + break; + default: + s = "unknown"; + break; } I_Error("Received a file not requested (file id: %d, file status: %s)\n", filenum, s); } diff --git a/src/i_tcp.c b/src/i_tcp.c index d4064b320..798b2a9ce 100644 --- a/src/i_tcp.c +++ b/src/i_tcp.c @@ -507,10 +507,8 @@ static void cleanupnodes(void) // Why can't I start at zero? for (j = 1; j < MAXNETNODES; j++) - { if (!(nodeingame[j] || SendingFile(j))) nodeconnected[j] = false; - } } static SINT8 getfreenode(void) @@ -520,13 +518,11 @@ static SINT8 getfreenode(void) cleanupnodes(); for (j = 0; j < MAXNETNODES; j++) - { if (!nodeconnected[j]) { nodeconnected[j] = true; return j; } - } /** \warning No free node? Just in case a node might not have been freed properly, * look if there are connected nodes that aren't in game, and forget them. @@ -840,7 +836,7 @@ static void SOCK_Send(void) static void SOCK_FreeNodenum(INT32 numnode) { // can't disconnect from self :) - if (numnode <= 0 || numnode > MAXNETNODES) + if (!numnode || numnode > MAXNETNODES) return; DEBFILE(va("Free node %d (%s)\n", numnode, SOCK_GetNodeAddress(numnode))); @@ -1466,12 +1462,14 @@ static void SOCK_RegisterHolePunch(void) static boolean SOCK_OpenSocket(void) { - memset(clientaddress, 0, sizeof(clientaddress)); + size_t i; + + memset(clientaddress, 0, sizeof (clientaddress)); - memset(nodeconnected, false, sizeof(nodeconnected)); nodeconnected[0] = true; // always connected to self + for (i = 1; i < MAXNETNODES; i++) + nodeconnected[i] = false; nodeconnected[BROADCASTADDR] = true; - I_NetSend = SOCK_Send; I_NetGet = SOCK_Get; I_NetCloseSocket = SOCK_CloseSocket; @@ -1521,7 +1519,7 @@ static boolean SOCK_Ban(INT32 node) { INT32 ban; - if (node < 0 || node > MAXNETNODES) + if (node > MAXNETNODES) return false; ban = numbans;