From a36a1275c8ef153c390f5e209c8ab64488563135 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Sun, 18 Sep 2011 13:20:00 +0200 Subject: [PATCH] VERY evil debug feature: allow to set independent players by cvar --- defaultXonotic.cfg | 3 +++ qcsrc/server/autocvars.qh | 1 + qcsrc/server/cl_client.qc | 2 +- qcsrc/server/defs.qh | 1 + qcsrc/server/scores_rules.qc | 4 ++-- 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 759a512e7..9430c6ff6 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -1995,6 +1995,9 @@ set _origin "0 0 0" set _campaign_index "" set _campaign_name "" +// debug +set _independent_players 0 "DO NOT TOUCH" + // define some engine cvars that we need even on dedicated server set r_showbboxes 0 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index e920b5c34..7b7a3fcef 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1,3 +1,4 @@ +float autocvar__independent_players; float autocvar__campaign_index; string autocvar__campaign_name; float autocvar__sv_init; diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index 432fa7c50..ef05663e5 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -906,7 +906,7 @@ void PutClientInServer (void) if(clienttype(self) == CLIENTTYPE_BOT && autocvar_g_botclip_collisions) self.dphitcontentsmask |= DPCONTENTS_BOTCLIP; self.frags = FRAGS_PLAYER; - if(independent_players) + if(INDEPENDENT_PLAYERS) MAKE_INDEPENDENT_PLAYER(self); self.flags = FL_CLIENT; self.takedamage = DAMAGE_AIM; diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index 7dd3a5aed..01966039c 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -496,6 +496,7 @@ float GetPlayerSoundSampleField_notFound; .float version_mismatch; float independent_players; +#define INDEPENDENT_PLAYERS (autocvar__independent_players ? (autocvar__independent_players > 0) : independent_players) #define IS_INDEPENDENT_PLAYER(e) ((e).solid == SOLID_TRIGGER) #define MAKE_INDEPENDENT_PLAYER(e) (((e).solid = SOLID_TRIGGER) + ((e).frags = FRAGS_PLAYER_NONSOLID)) // we're using + here instead of , because fteqcc sucks diff --git a/qcsrc/server/scores_rules.qc b/qcsrc/server/scores_rules.qc index 030a26d9c..eb7205e9c 100644 --- a/qcsrc/server/scores_rules.qc +++ b/qcsrc/server/scores_rules.qc @@ -17,12 +17,12 @@ void ScoreRules_basics(float teams, float sprio, float stprio, float score_enabl if(score_enabled) ScoreInfo_SetLabel_TeamScore (ST_SCORE, "score", stprio); - if not(independent_players) + if not(INDEPENDENT_PLAYERS) ScoreInfo_SetLabel_PlayerScore(SP_KILLS, "kills", 0); ScoreInfo_SetLabel_PlayerScore(SP_DEATHS, "deaths", SFL_LOWER_IS_BETTER); - if not(independent_players) + if not(INDEPENDENT_PLAYERS) ScoreInfo_SetLabel_PlayerScore(SP_SUICIDES, "suicides", SFL_LOWER_IS_BETTER); if(score_enabled) -- 2.39.2