r5068 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Nov 21 05:27:33 EST 2008


Author: div0
Date: 2008-11-21 05:27:33 -0500 (Fri, 21 Nov 2008)
New Revision: 5068

Modified:
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/cl_physics.qc
   trunk/data/qcsrc/server/miscfunctions.qc
Log:
force chase cam in "big rigs" mode


Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2008-11-21 09:52:15 UTC (rev 5067)
+++ trunk/data/qcsrc/server/cl_client.qc	2008-11-21 10:27:33 UTC (rev 5068)
@@ -634,10 +634,7 @@
 
 		self.classname = "player";
 		self.iscreature = TRUE;
-		if(cvar("g_bigrigs"))
-			self.movetype = MOVETYPE_PUSH;
-		else
-			self.movetype = MOVETYPE_WALK;
+		self.movetype = MOVETYPE_WALK;
 		self.solid = SOLID_SLIDEBOX;
 		self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_PLAYERCLIP;
 		if(independent_players)
@@ -1265,6 +1262,9 @@
 			WriteByte(MSG_ONE, TE_CSQC_WARMUP);
 			WriteByte(MSG_ONE, 1);
 		}
+
+		if(cvar("g_bigrigs"))
+			stuffcmd(self, "cl_cmd settemp chase_active 1\n");
 	}
 
 	if(g_lms)

Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc	2008-11-21 09:52:15 UTC (rev 5067)
+++ trunk/data/qcsrc/server/cl_physics.qc	2008-11-21 10:27:33 UTC (rev 5068)
@@ -159,9 +159,15 @@
 	if (clienttype(self) == CLIENTTYPE_BOT)
 		bot_think();
 
-	if (self.movetype == MOVETYPE_NONE)
+	if (self.movetype == MOVETYPE_NONE && self.disableclientprediction != 2)
 		return;
 
+	if(g_bigrigs && self.movetype == MOVETYPE_WALK)
+	{
+		self.disableclientprediction = 1;
+		self.movetype = MOVETYPE_NONE;
+	}
+
 	if (self.punchangle != '0 0 0')
 	{
 		f = vlen(self.punchangle) - 10 * frametime;
@@ -249,7 +255,7 @@
 	if (self.deadflag)
 		return;
 
-	if (!self.fixangle && self.movetype != MOVETYPE_PUSH)
+	if (!self.fixangle && !g_bigrigs)
 	{
 		self.angles_x = 0;
 		self.angles_y = self.v_angle_y;
@@ -331,7 +337,7 @@
 				self.velocity = self.velocity + wishdir * min(f, sv_accelerate*maxspd_mod * frametime * wishspeed);
 		}
 	}
-	else if (self.movetype == MOVETYPE_PUSH)
+	else if (g_bigrigs)
 	{
 		// using this move type for "big rigs"
 		// the engine does not push the entity!

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2008-11-21 09:52:15 UTC (rev 5067)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2008-11-21 10:27:33 UTC (rev 5068)
@@ -692,6 +692,7 @@
 // requires the same, but is a stronger condition
 float boxinsidebox(vector smins, vector smaxs, vector bmins, vector bmaxs) {return smins_x >= bmins_x && smaxs_x <= bmaxs_x && smins_y >= bmins_y && smaxs_y <= bmaxs_y && smins_z >= bmins_z && smaxs_z <= bmaxs_z;};
 
+float g_bigrigs;
 float g_pickup_shells;
 float g_pickup_shells_max;
 float g_pickup_nails;
@@ -919,6 +920,7 @@
 void readlevelcvars(void)
 {
  	sv_clones = cvar("sv_clones");
+ 	g_bigrigs = cvar("g_bigrigs");
 	sv_cheats = cvar("sv_cheats");
 	sv_gentle = cvar("sv_gentle");
 	sv_foginterval = cvar("sv_foginterval");




More information about the nexuiz-commits mailing list