Revert "Merge branch 'update-quittime-while-idling' into 'next'"

This reverts merge request !2210
This commit is contained in:
Logan Aerl Arias 2023-12-31 14:32:06 +00:00
parent 9b39493b42
commit e7d972757b
2 changed files with 15 additions and 34 deletions

View file

@ -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_idletime = CVAR_INIT ("idletime", "0", CV_SAVE, CV_Unsigned, NULL);
consvar_t cv_dedicatedidletime = CVAR_INIT ("dedicatedidletime", "10", 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) void ResetNode(INT32 node)
{ {
memset(&netnodes[node], 0, sizeof(*netnodes)); memset(&netnodes[node], 0, sizeof(*netnodes));
@ -1282,7 +1280,6 @@ static void UpdatePingTable(void)
} }
} }
// Handle idle and disconnected player timers
static void IdleUpdate(void) static void IdleUpdate(void)
{ {
INT32 i; INT32 i;
@ -1305,26 +1302,7 @@ static void IdleUpdate(void)
} }
} }
else else
{
players[i].lastinputtime = 0; 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; 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 // Consistancy

View file

@ -701,11 +701,25 @@ void P_Ticker(boolean run)
{ {
INT32 i; INT32 i;
// Increment jointime even if paused // Increment jointime and quittime even if paused
for (i = 0; i < MAXPLAYERS; i++) for (i = 0; i < MAXPLAYERS; i++)
if (playeringame[i]) if (playeringame[i])
{
players[i].jointime++; 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 (objectplacing)
{ {
if (OP_FreezeObjectplace()) if (OP_FreezeObjectplace())