r3146 - in trunk/data: . qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Jan 14 16:30:29 EST 2008


Author: div0
Date: 2008-01-14 16:30:28 -0500 (Mon, 14 Jan 2008)
New Revision: 3146

Modified:
   trunk/data/default.cfg
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/miscfunctions.qc
   trunk/data/qcsrc/server/teamplay.qc
Log:
sv_defaultplayermodel_red etc. cvars, override sv_defaultplayermodel in teamplay


Modified: trunk/data/default.cfg
===================================================================
--- trunk/data/default.cfg	2008-01-14 19:13:29 UTC (rev 3145)
+++ trunk/data/default.cfg	2008-01-14 21:30:28 UTC (rev 3146)
@@ -123,6 +123,14 @@
 seta sv_defaultcharacter 0
 seta sv_defaultplayermodel models/player/nexus.zym
 seta sv_defaultplayerskin 0
+seta sv_defaultplayermodel_red "" // "" means see sv_defaultplayermodel
+seta sv_defaultplayerskin_red 0
+seta sv_defaultplayermodel_blue ""
+seta sv_defaultplayerskin_blue 0
+seta sv_defaultplayermodel_yellow ""
+seta sv_defaultplayerskin_yellow 0
+seta sv_defaultplayermodel_pink ""
+seta sv_defaultplayerskin_pink 0
 seta sv_defaultplayercolors "" // set to 16*shirt+pants to force a color, note: it does NOT depend on defaultcharacter! Set to "" to disable
 set sv_autoscreenshot 0
 net_messagetimeout 300

Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2008-01-14 19:13:29 UTC (rev 3145)
+++ trunk/data/qcsrc/server/cl_client.qc	2008-01-14 21:30:28 UTC (rev 3146)
@@ -407,6 +407,56 @@
 	return math_mod(s, 3);
 }
 
+void FixPlayermodel()
+{
+	local string defaultmodel;
+	local float defaultskin;
+	local vector m1, m2;
+
+	if(cvar("sv_defaultcharacter") == 1) {
+		defaultmodel = "";
+		defaultskin = 0;
+
+		if(teams_matter)
+		{
+			defaultmodel = cvar_string(strcat("sv_defaultplayermodel_", Team_ColorNameLowerCase(self.team)));
+			defaultskin = cvar(strcat("sv_defaultplayerskin_", Team_ColorNameLowerCase(self.team)));
+		}
+
+		if(defaultmodel == "")
+		{
+			defaultmodel = cvar_string("sv_defaultplayermodel");
+			defaultskin = cvar("sv_defaultplayerskin");
+		}
+
+		if (defaultmodel != self.model)
+		{
+			m1 = self.mins;
+			m2 = self.maxs;
+			setmodel_lod (self, defaultmodel);
+			setsize (self, m1, m2);
+		}
+
+		self.skin = defaultskin;
+	} else {
+		if (self.playermodel != self.model)
+		{
+			self.playermodel = CheckPlayerModel(self.playermodel);
+			m1 = self.mins;
+			m2 = self.maxs;
+			setmodel_lod (self, self.playermodel);
+			setsize (self, m1, m2);
+		}
+
+		self.skin = RestrictSkin(stof(self.playerskin));
+	}
+
+	if(!teams_matter)
+		if(strlen(cvar_string("sv_defaultplayercolors")))
+			if(self.clientcolors != cvar("sv_defaultplayercolors"))
+				setcolor(self, cvar("sv_defaultplayercolors"));
+}
+
 /*
 =============
 PutClientInServer
@@ -507,19 +557,8 @@
 
 		self.customizeentityforclient = Client_customizeentityforclient;
 
-		if(cvar("sv_defaultcharacter") == 1) {
-			local string defaultmodel;
-			defaultmodel = cvar_string("sv_defaultplayermodel");
-			setmodel_lod (self, defaultmodel);
-			self.skin = stof(cvar_string("sv_defaultplayerskin"));
-		} else {
-			self.playermodel = CheckPlayerModel(self.playermodel);
-			setmodel_lod (self, self.playermodel);
-			self.skin = RestrictSkin(stof(self.playerskin));
-		}
-		if(!teams_matter)
-			if(strlen(cvar_string("sv_defaultplayercolors")))
-				setcolor(self, cvar("sv_defaultplayercolors"));
+		self.model = "";
+		FixPlayermodel();
 
 		self.crouch = FALSE;
 		self.view_ofs = PL_VIEW_OFS;
@@ -1272,8 +1311,6 @@
 .float vote_nagtime;
 void PlayerPreThink (void)
 {
-	float f;
-
 	// version nagging
 	if(self.version_nagtime)
 		if(self.cvar_g_nexuizversion)
@@ -1304,8 +1341,6 @@
 	}
 
 	if(self.classname == "player") {
-		local vector m1, m2;
-
 //		if(self.netname == "Wazat")
 //			bprint(self.classname, "\n");
 
@@ -1424,39 +1459,8 @@
 			}
 		}
 
-		if(cvar("sv_defaultcharacter") == 1) {
-			local string defaultmodel;
-			defaultmodel = cvar_string("sv_defaultplayermodel");
+		FixPlayermodel();
 
-			if (defaultmodel != self.model)
-			{
-				m1 = self.mins;
-				m2 = self.maxs;
-				setmodel_lod (self, defaultmodel);
-				setsize (self, m1, m2);
-			}
-
-			if (self.skin != cvar("sv_defaultplayerskin"))
-				self.skin = cvar("sv_defaultplayerskin");
-		} else {
-			if (self.playermodel != self.model)
-			{
-				self.playermodel = CheckPlayerModel(self.playermodel);
-				m1 = self.mins;
-				m2 = self.maxs;
-				setmodel_lod (self, self.playermodel);
-				setsize (self, m1, m2);
-			}
-
-			f = RestrictSkin(stof(self.playerskin));
-			if(self.skin != f)
-				self.skin = f;
-		}
-		if(!teams_matter)
-			if(strlen(cvar_string("sv_defaultplayercolors")))
-				if(self.clientcolors != cvar("sv_defaultplayercolors"))
-					setcolor(self, cvar("sv_defaultplayercolors"));
-
 		GrapplingHookFrame();
 
 		W_WeaponFrame();

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2008-01-14 19:13:29 UTC (rev 3145)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2008-01-14 21:30:28 UTC (rev 3146)
@@ -533,6 +533,32 @@
 	else
 		return "^7";
 }
+string Team_ColorName(float t)
+{
+	// fixme: Search for team entities and get their .netname's!
+	if(t == COLOR_TEAM1)
+		return "Red";
+	if(t == COLOR_TEAM2)
+		return "Blue";
+	if(t == COLOR_TEAM3)
+		return "Yellow";
+	if(t == COLOR_TEAM4)
+		return "Pink";
+	return "Neutral";
+}
+string Team_ColorNameLowerCase(float t)
+{
+	// fixme: Search for team entities and get their .netname's!
+	if(t == COLOR_TEAM1)
+		return "red";
+	if(t == COLOR_TEAM2)
+		return "blue";
+	if(t == COLOR_TEAM3)
+		return "yellow";
+	if(t == COLOR_TEAM4)
+		return "pink";
+	return "neutral";
+}
 
 /*
 string decolorize(string s)

Modified: trunk/data/qcsrc/server/teamplay.qc
===================================================================
--- trunk/data/qcsrc/server/teamplay.qc	2008-01-14 19:13:29 UTC (rev 3145)
+++ trunk/data/qcsrc/server/teamplay.qc	2008-01-14 21:30:28 UTC (rev 3146)
@@ -39,29 +39,11 @@
 
 string TeamName(float t)
 {
-	// fixme: Search for team entities and get their .netname's!
-	if(t == COLOR_TEAM1)
-		return "Red Team";
-	if(t == COLOR_TEAM2)
-		return "Blue Team";
-	if(t == COLOR_TEAM3)
-		return "Yellow Team";
-	if(t == COLOR_TEAM4)
-		return "Pink Team";
-	return "Neutral Team";
+	return strcat(Team_ColorName(t), " Team");
 }
 string ColoredTeamName(float t)
 {
-	// fixme: Search for team entities and get their .netname's!
-	if(t == COLOR_TEAM1)
-		return "^1Red Team^7";
-	if(t == COLOR_TEAM2)
-		return "^4Blue Team^7";
-	if(t == COLOR_TEAM3)
-		return "^3Yellow Team^7";
-	if(t == COLOR_TEAM4)
-		return "^6Pink Team^7";
-	return "Neutral Team";
+	return strcat(Team_ColorCode(t), Team_ColorName(t), " Team^7");
 }
 string TeamNoName(float t)
 {




More information about the nexuiz-commits mailing list