From 5c83381ed6ac2318a2affe8526ea2b37f2da8478 Mon Sep 17 00:00:00 2001 From: div0 Date: Mon, 30 Jun 2008 08:38:11 +0000 Subject: [PATCH] sv_maxidle_spectatorsareidle git-svn-id: svn://svn.icculus.org/nexuiz/trunk@3745 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/defaultNexuiz.cfg | 2 ++ data/qcsrc/server/cl_physics.qc | 13 +++++-------- data/qcsrc/server/defs.qh | 1 + data/qcsrc/server/miscfunctions.qc | 1 + 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/data/defaultNexuiz.cfg b/data/defaultNexuiz.cfg index 20f8fbcad..37c8b2d70 100644 --- a/data/defaultNexuiz.cfg +++ b/data/defaultNexuiz.cfg @@ -1032,3 +1032,5 @@ set menu_cdtrack digital-pursuit // maxidle (in seconds): kick players idle for more than that amount of time set sv_maxidle 0 +// when sv_maxidle is not 0, assume spectators are idle too +set sv_maxidle_spectatorsareidle 0 diff --git a/data/qcsrc/server/cl_physics.qc b/data/qcsrc/server/cl_physics.qc index 9c06c585c..7973f40e7 100644 --- a/data/qcsrc/server/cl_physics.qc +++ b/data/qcsrc/server/cl_physics.qc @@ -122,16 +122,13 @@ void SV_PlayerPhysics() string temps; buttons = self.BUTTON_ATCK + 2 * self.BUTTON_JUMP + 4 * self.BUTTON_ATCK2 + 8 * self.BUTTON_ZOOM + 16 * self.BUTTON_CROUCH + 32 * self.BUTTON_HOOK + 64 * self.BUTTON_USE; - if(buttons != self.buttons_old) - self.parm_idlesince = time; + if(!sv_maxidle_spectatorsareidle || self.movetype == MOVETYPE_WALK) + { + if(buttons != self.buttons_old || self.movement != self.movement_old || self.v_angle != self.v_angle_old) + self.parm_idlesince = time; + } self.buttons_old = buttons; - - if(self.movement != self.movement_old) - self.parm_idlesince = time; self.movement_old = self.movement; - - if(self.v_angle != self.v_angle_old) - self.parm_idlesince = time; self.v_angle_old = self.v_angle; if(time > self.shtest_next) diff --git a/data/qcsrc/server/defs.qh b/data/qcsrc/server/defs.qh index c37944ca4..e3c24b7f6 100644 --- a/data/qcsrc/server/defs.qh +++ b/data/qcsrc/server/defs.qh @@ -445,3 +445,4 @@ float lockteams; .float parm_idlesince; float sv_maxidle; +float sv_maxidle_spectatorsareidle; diff --git a/data/qcsrc/server/miscfunctions.qc b/data/qcsrc/server/miscfunctions.qc index ce70b9929..ec1197a72 100644 --- a/data/qcsrc/server/miscfunctions.qc +++ b/data/qcsrc/server/miscfunctions.qc @@ -768,6 +768,7 @@ void readlevelcvars(void) g_vampire = cvar("g_vampire"); g_tourney = cvar("g_tourney"); sv_maxidle = cvar("sv_maxidle"); + sv_maxidle_spectatorsareidle = cvar("sv_maxidle_spectatorsareidle"); g_pickup_shells = cvar("g_pickup_shells"); g_pickup_shells_max = cvar("g_pickup_shells_max"); -- 2.39.2