r3781 - in trunk/data: . qcsrc/common qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Jul 7 02:35:37 EDT 2008


Author: div0
Date: 2008-07-07 02:35:37 -0400 (Mon, 07 Jul 2008)
New Revision: 3781

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/common/mapinfo.qc
   trunk/data/qcsrc/server/teamplay.qc
Log:
add support for capturelimit_override and capturelimit in the mapinfo file


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2008-07-06 22:11:59 UTC (rev 3780)
+++ trunk/data/defaultNexuiz.cfg	2008-07-07 06:35:37 UTC (rev 3781)
@@ -309,11 +309,14 @@
 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
 seta timelimit_override -1
 seta fraglimit_override -1
-seta g_ctf_capture_limit -1
+seta capturelimit_override -1 // actual captures, if g_ctf_win_mode 0 or 1
+seta g_ctf_capture_limit -1   // points, if g_ctf_win_mode 2
 seta g_domination_point_limit -1
 seta g_runematch_point_limit -1
 seta g_keyhunt_point_limit -1
 
+seta g_ctf_win_mode 2 // 0: captures only, 1: captures, points if equal captures, 2: points
+
 // 50% of the spawns shall be far away from any players
 set g_spawn_furthest 0.5
 // respawn delay
@@ -1034,3 +1037,6 @@
 set sv_maxidle 0
 // when sv_maxidle is not 0, assume spectators are idle too
 set sv_maxidle_spectatorsareidle 0
+
+// CTF capture limit placeholder cvar
+set capturelimit 0

Modified: trunk/data/qcsrc/common/mapinfo.qc
===================================================================
--- trunk/data/qcsrc/common/mapinfo.qc	2008-07-06 22:11:59 UTC (rev 3780)
+++ trunk/data/qcsrc/common/mapinfo.qc	2008-07-07 06:35:37 UTC (rev 3781)
@@ -458,6 +458,7 @@
 
 void _MapInfo_Map_ApplyGametype(string s, float pWantedType, float pThisType)
 {
+	string sa;
 	MapInfo_Map_supportedGametypes |= pThisType;
 	if(!(pThisType & pWantedType))
 		return;
@@ -470,15 +471,27 @@
 
 	if(pWantedType == MAPINFO_TYPE_TEAM_DEATHMATCH)
 	{
-		cvar_set("g_tdm_teams", car(s));
+		sa = car(s);
+		if(sa != "")
+			cvar_set("g_tdm_teams", car(s));
 		s = cdr(s);
 	}
 
 	if(pWantedType == MAPINFO_TYPE_KEYHUNT)
 	{
-		cvar_set("g_keyhunt_teams", car(s));
+		sa = car(s);
+		if(sa != "")
+			cvar_set("g_keyhunt_teams", car(s));
 		s = cdr(s);
 	}
+
+	if(pWantedType == MAPINFO_TYPE_CTF)
+	{
+		sa = car(s);
+		if(sa != "")
+			cvar_set("capturelimit", car(s));
+		s = cdr(s);
+	}
 }
 
 float MapInfo_Type_FromString(string t)
@@ -532,7 +545,7 @@
 		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DEATHMATCH)      fputs(fh, "type dm 30 20\n");
 		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_TEAM_DEATHMATCH) fputs(fh, "type tdm 50 20 2\n");
 		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DOMINATION)      fputs(fh, "type dom 200 20\n");
-		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CTF)             fputs(fh, "type ctf 300 20\n");
+		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CTF)             fputs(fh, "type ctf 300 20 10\n");
 		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RUNEMATCH)       fputs(fh, "type rune 200 20\n");
 		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_LMS)             fputs(fh, "type lms 9 20\n");
 		if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ARENA)           fputs(fh, "type arena 10 20\n");

Modified: trunk/data/qcsrc/server/teamplay.qc
===================================================================
--- trunk/data/qcsrc/server/teamplay.qc	2008-07-06 22:11:59 UTC (rev 3780)
+++ trunk/data/qcsrc/server/teamplay.qc	2008-07-07 06:35:37 UTC (rev 3781)
@@ -121,7 +121,7 @@
 
 void InitGameplayMode()
 {
-	float fraglimit_override, timelimit_override;
+	float fraglimit_override, timelimit_override, capturelimit_override;
 
 	VoteReset();
 
@@ -135,6 +135,7 @@
 	// set both here, gamemode can override it later
 	timelimit_override = cvar("timelimit_override");
 	fraglimit_override = cvar("fraglimit_override");
+	capturelimit_override = cvar("capturelimit_override");
 
 	if(game == GAME_DOMINATION || cvar("g_domination"))
 	{
@@ -158,6 +159,7 @@
 		ActivateTeamplay();
 
 		fraglimit_override = cvar("g_ctf_capture_limit");
+		//no capture limit override here
 
 		gamemode_name = "Capture the Flag";
 		teams_matter = 1;
@@ -263,22 +265,12 @@
 	{
 		// we can only assume...
 		ResetGameCvars();
+		game = GAME_DEATHMATCH;
 		cvar_set("g_dm", "1");
 		gamemode_name = "Deathmatch";
 		teams_matter = 0;
 	}
-/*	else if(game == GAME_TEAM_DEATHMATCH)
-	{
-		if(!cvar("deathmatch"))
-			cvar_set("deathmatch", "1");
 
-		//if(!cvar("teamplay"))
-		//	cvar_set("teamplay", "3");
-		ActivateTeamplay();
-
-		fraglimit_override = cvar("fraglimit_override");
-	}*/
-
 	// those mutators rule each other out
 	if(cvar("g_minstagib"))
 	{
@@ -318,6 +310,8 @@
 			cvar_set("fraglimit", ftos(fraglimit_override));
 		if(timelimit_override >= 0)
 			cvar_set("timelimit", ftos(timelimit_override));
+		if(capturelimit_override >= 0)
+			cvar_set("capturelimit", ftos(capturelimit_override));
 	}
 
 	if (game == GAME_DOMINATION)//cvar("g_domination"))




More information about the nexuiz-commits mailing list