[nexuiz-commits] r7560 - trunk/data/qcsrc/client

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Aug 30 04:42:42 EDT 2009


Author: div0
Date: 2009-08-30 04:42:42 -0400 (Sun, 30 Aug 2009)
New Revision: 7560

Modified:
   trunk/data/qcsrc/client/projectile.qc
Log:
allow projectile "trails" when not moving (unused yet)


Modified: trunk/data/qcsrc/client/projectile.qc
===================================================================
--- trunk/data/qcsrc/client/projectile.qc	2009-08-30 06:44:20 UTC (rev 7559)
+++ trunk/data/qcsrc/client/projectile.qc	2009-08-30 08:42:42 UTC (rev 7560)
@@ -1,5 +1,6 @@
 .float spawntime;
 .vector trail_oldorigin;
+.float trail_oldtime;
 
 void SUB_Null()
 {
@@ -20,8 +21,21 @@
 void Projectile_DrawTrail(vector to)
 {
 	vector from;
+	float t0;
 	from = self.trail_oldorigin;
+	t0 = self.trail_oldtime;
 	self.trail_oldorigin = to;
+	self.trail_oldtime = time;
+
+	if(from == to)
+	{
+		switch(self.cnt)
+		{
+			default:
+				return;
+		}
+	}
+
 	switch(self.cnt)
 	{
 		case PROJECTILE_ROCKET:
@@ -64,7 +78,6 @@
 		default:
 			break;
 	}
-
 }
 
 void Projectile_Draw()
@@ -120,24 +133,27 @@
 				break;
 		}
 		self.angles = AnglesTransform_Multiply(self.angles, rot * (t - self.spawntime));
+	}
 
-		fixedmakevectors(self.angles);
+	fixedmakevectors(self.angles);
 
-		trailorigin = self.origin;
-		switch(self.cnt)
-		{
-			case PROJECTILE_GRENADE:
-			case PROJECTILE_GRENADE_BOUNCING:
-				trailorigin += v_right * 1 + v_forward * -10;
-				break;
-			default:
-				break;
-		}
-		if(drawn)
-			Projectile_DrawTrail(trailorigin);
-		else
-			self.trail_oldorigin = trailorigin;
+	trailorigin = self.origin;
+	switch(self.cnt)
+	{
+		case PROJECTILE_GRENADE:
+		case PROJECTILE_GRENADE_BOUNCING:
+			trailorigin += v_right * 1 + v_forward * -10;
+			break;
+		default:
+			break;
 	}
+	if(drawn)
+		Projectile_DrawTrail(trailorigin);
+	else
+	{
+		self.trail_oldorigin = trailorigin;
+		self.trail_oldtime = time;
+	}
 
 	if(!drawn)
 		return;



More information about the nexuiz-commits mailing list