From e9b8b02ec887ead824e33c0c6ac55301bb6aa6dc Mon Sep 17 00:00:00 2001
From: terencehill <piuntn@gmail.com>
Date: Fri, 14 Jun 2013 18:52:24 +0200
Subject: [PATCH] Add cvars g_freezetag_team_spawns and g_ca_team_spawns: when
 1, players spawn from the team spawnpoints of the map, if any

---
 gamemodes.cfg             | 4 +++-
 qcsrc/server/autocvars.qh | 2 ++
 qcsrc/server/teamplay.qc  | 4 ++++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/gamemodes.cfg b/gamemodes.cfg
index adac90e9c1..bd2a91c42d 100644
--- a/gamemodes.cfg
+++ b/gamemodes.cfg
@@ -163,6 +163,7 @@ set g_ca_warmup 10 "how long the players will have time to run around the map be
 set g_ca_damage2score_multiplier 0.01
 set g_ca_round_timelimit 180 "round time limit in seconds"
 seta g_ca_teams_override 0
+set g_ca_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
 set g_ca_teams 0
 
 
@@ -249,7 +250,7 @@ set g_cts_finish_kill_delay 10 "prevent cheating by running back to the start li
 // ==========================
 set g_dm 1 "Deathmatch: killing any other player is one frag, player with most frags wins"
 set g_tdm_teams 2 "how many teams are in team deathmatch (set by mapinfo)"
-set g_tdm_team_spawns 0 "when 1, a map can define team spawnpoints for TDM"
+set g_tdm_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
 seta g_tdm_teams_override 0	"how many teams are in team deathmatch"
 
 
@@ -282,6 +283,7 @@ set g_freezetag_round_timelimit 180 "round time limit in seconds"
 set g_freezetag_frozen_force 0.6 "How much to multiply the force on a frozen player with"
 set g_freezetag_frozen_maxtime 60 "frozen players will be automatically unfrozen after this time in seconds"
 seta g_freezetag_teams_override 0
+set g_freezetag_team_spawns 0 "when 1, players spawn from the team spawnpoints of the map, if any"
 set g_freezetag_teams 0
 
 
diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh
index e1ad11c529..c57663ddf5 100644
--- a/qcsrc/server/autocvars.qh
+++ b/qcsrc/server/autocvars.qh
@@ -710,6 +710,7 @@ float autocvar_g_ca_round_timelimit;
 float autocvar_g_ca_spectate_enemies;
 float autocvar_g_ca_teams;
 float autocvar_g_ca_teams_override;
+float autocvar_g_ca_team_spawns;
 float autocvar_g_ca_warmup;
 float autocvar_g_campaign;
 #define autocvar_g_campaign_forceteam cvar("g_campaign_forceteam")
@@ -824,6 +825,7 @@ float autocvar_g_freezetag_revive_clearspeed;
 float autocvar_g_freezetag_round_timelimit;
 float autocvar_g_freezetag_teams;
 float autocvar_g_freezetag_teams_override;
+float autocvar_g_freezetag_team_spawns;
 float autocvar_g_freezetag_warmup;
 #define autocvar_g_friendlyfire cvar("g_friendlyfire")
 #define autocvar_g_friendlyfire_virtual cvar("g_friendlyfire_virtual")
diff --git a/qcsrc/server/teamplay.qc b/qcsrc/server/teamplay.qc
index 0ba1e7c848..30a526bc6d 100644
--- a/qcsrc/server/teamplay.qc
+++ b/qcsrc/server/teamplay.qc
@@ -128,6 +128,8 @@ void InitGameplayMode()
 		fraglimit_override = autocvar_g_ca_point_limit;
 		leadlimit_override = autocvar_g_ca_point_leadlimit;
 		MUTATOR_ADD(gamemode_ca);
+		if(autocvar_g_ca_team_spawns)
+			have_team_spawns = -1; // request team spawns
 	}
 
 	if(g_keyhunt)
@@ -144,6 +146,8 @@ void InitGameplayMode()
 		fraglimit_override = autocvar_g_freezetag_point_limit;
 		leadlimit_override = autocvar_g_freezetag_point_leadlimit;
 		MUTATOR_ADD(gamemode_freezetag);
+		if(autocvar_g_freezetag_team_spawns)
+			have_team_spawns = -1; // request team spawns
 	}
 
 	if(g_assault)
-- 
2.39.5