diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 765a1a05d6d40b3b799861ca7d314eb5668659c3..0104368367b0ade0bc5719f05d4d56a42c67c315 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -69,6 +69,7 @@ char motd[254], server_context[8]; // Message of the Day, Unique Context (even w // server specific vars UINT8 playernode[MAXPLAYERS]; +UINT8 net_nodecount, net_playercount; SINT8 nodetoplayer[MAXNETNODES]; SINT8 nodetoplayer2[MAXNETNODES]; // say the numplayer for this node if any (splitscreen) @@ -892,8 +893,7 @@ static void CL_RemovePlayer(INT32 playernum) // remove avatar of player playeringame[playernum] = false; playernode[playernum] = UINT8_MAX; - while (!playeringame[doomcom->numslots-1] && doomcom->numslots > 1) - doomcom->numslots--; + net_playercount--; if (playernum == adminplayer) adminplayer = -1; // don't stay admin after you're gone @@ -932,8 +932,8 @@ void CL_Reset(void) multiplayer = false; servernode = 0; server = true; - doomcom->numnodes = 1; - doomcom->numslots = 1; + net_nodecount = 1; + net_playercount = 1; SV_StopServer(); SV_ResetServer(); @@ -1348,7 +1348,8 @@ void SV_ResetServer(void) if (server) servernode = 0; - doomcom->numslots = 0; + net_nodecount = 0; + net_playercount = 0; // clear server_context memset(server_context, '-', 8); @@ -1455,8 +1456,7 @@ static void Got_AddPlayer(UINT8 **p, INT32 playernum) CL_ClearPlayer(newplayernum); playeringame[newplayernum] = true; G_AddPlayer(newplayernum); - if (newplayernum+1 > doomcom->numslots) - doomcom->numslots = (INT16)(newplayernum+1); + net_playercount++; if (netgame) CONS_Printf(M_GetText("Player %d has joined the game (node %d)\n"), newplayernum+1, node);