From ea66ff7d66c083a416671a879b290e3de36a8135 Mon Sep 17 00:00:00 2001 From: div0 Date: Wed, 25 Feb 2009 16:26:15 +0000 Subject: [PATCH] fix crash with sv_spectate 0 in team games git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5968 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_client.qc | 22 ++++++++++++++++++---- data/qcsrc/server/teamplay.qc | 4 ++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index 3950f2d31..d28af4a57 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -1207,13 +1207,27 @@ void ClientConnect (void) //if(g_domination) // dom_player_join_team(self); - //JoinBestTeam(self, FALSE, FALSE); - // if((cvar("sv_spectate") == 1 && !g_lms) || cvar("g_campaign")) { self.classname = "observer"; } else { - self.classname = "player"; - campaign_bots_may_start = 1; + if(cvar("teamplay")) + { + if(cvar("g_balance_teams") || cvar("g_balance_teams_force")) + { + self.classname = "player"; + campaign_bots_may_start = 1; + JoinBestTeam(self, FALSE, TRUE); + } + else + { + self.classname = "observer"; // do it anyway + } + } + else + { + self.classname = "player"; + campaign_bots_may_start = 1; + } } self.playerid = (playerid_last = playerid_last + 1); diff --git a/data/qcsrc/server/teamplay.qc b/data/qcsrc/server/teamplay.qc index 73077b4f1..cf8e53680 100644 --- a/data/qcsrc/server/teamplay.qc +++ b/data/qcsrc/server/teamplay.qc @@ -919,7 +919,7 @@ void SV_ChangeTeam(float _color) steam = 2; else if(scolor == COLOR_TEAM3 - 1) steam = 3; - else if(scolor == COLOR_TEAM4 - 1) + else // if(scolor == COLOR_TEAM4 - 1) steam = 4; if(dcolor == COLOR_TEAM1 - 1) dteam = 1; @@ -927,7 +927,7 @@ void SV_ChangeTeam(float _color) dteam = 2; else if(dcolor == COLOR_TEAM3 - 1) dteam = 3; - else if(dcolor == COLOR_TEAM4 - 1) + else // if(dcolor == COLOR_TEAM4 - 1) dteam = 4; CheckAllowedTeams(self); -- 2.39.2