From e7d972757bb2a104e6c4d1fc36a10c0186463a8d Mon Sep 17 00:00:00 2001 From: Logan Aerl Arias <logana@srb2.org> Date: Sun, 31 Dec 2023 14:32:06 +0000 Subject: [PATCH] Revert "Merge branch 'update-quittime-while-idling' into 'next'" This reverts merge request !2210 --- src/netcode/d_clisrv.c | 33 --------------------------------- src/p_tick.c | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 34 deletions(-) diff --git a/src/netcode/d_clisrv.c b/src/netcode/d_clisrv.c index fc5aa9afd1..d222920c3b 100644 --- a/src/netcode/d_clisrv.c +++ b/src/netcode/d_clisrv.c @@ -116,8 +116,6 @@ consvar_t cv_playbackspeed = CVAR_INIT ("playbackspeed", "1", 0, playbackspeed_c consvar_t cv_idletime = CVAR_INIT ("idletime", "0", CV_SAVE, CV_Unsigned, NULL); consvar_t cv_dedicatedidletime = CVAR_INIT ("dedicatedidletime", "10", CV_SAVE, CV_Unsigned, NULL); -static INT32 D_NumNodes(boolean skiphost); - void ResetNode(INT32 node) { memset(&netnodes[node], 0, sizeof(*netnodes)); @@ -1282,7 +1280,6 @@ static void UpdatePingTable(void) } } -// Handle idle and disconnected player timers static void IdleUpdate(void) { INT32 i; @@ -1305,26 +1302,7 @@ static void IdleUpdate(void) } } else - { players[i].lastinputtime = 0; - - if (players[i].quittime && playeringame[i]) - { - players[i].quittime++; - - if (players[i].quittime == 30 * TICRATE && G_TagGametype()) - P_CheckSurvivors(); - - if (server && players[i].quittime >= (tic_t)FixedMul(cv_rejointimeout.value, 60 * TICRATE) - && !(players[i].quittime % TICRATE)) - { - if (D_NumNodes(true) > 0) - SendKick(i, KICK_MSG_PLAYER_QUIT); - else // If the server is empty, don't send a NetXCmd - that would wake an idling dedicated server - CL_RemovePlayer(i, KICK_MSG_PLAYER_QUIT); - } - } - } } } @@ -1669,17 +1647,6 @@ INT32 D_NumBots(void) return num; } -// Returns the number of currently-connected nodes in a netgame -// Not necessarily equivalent to D_NumPlayers() minus D_NumBots() -static INT32 D_NumNodes(boolean skiphost) -{ - INT32 num = 0, ix; - for (ix = skiphost ? 1 : 0; ix < MAXNETNODES; ix++) - if (netnodes[ix].ingame) - num++; - return num; -} - // // Consistancy diff --git a/src/p_tick.c b/src/p_tick.c index db6777bca9..dca806ebee 100644 --- a/src/p_tick.c +++ b/src/p_tick.c @@ -701,11 +701,25 @@ void P_Ticker(boolean run) { INT32 i; - // Increment jointime even if paused + // Increment jointime and quittime even if paused for (i = 0; i < MAXPLAYERS; i++) if (playeringame[i]) + { players[i].jointime++; + if (players[i].quittime) + { + players[i].quittime++; + + if (players[i].quittime == 30 * TICRATE && G_TagGametype()) + P_CheckSurvivors(); + + if (server && players[i].quittime >= (tic_t)FixedMul(cv_rejointimeout.value, 60 * TICRATE) + && !(players[i].quittime % TICRATE)) + SendKick(i, KICK_MSG_PLAYER_QUIT); + } + } + if (objectplacing) { if (OP_FreezeObjectplace()) -- GitLab