[nexuiz-commits] r8723 - in trunk/data/qcsrc: client server warpzonelib

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Feb 28 14:45:55 EST 2010


Author: div0
Date: 2010-02-28 14:45:54 -0500 (Sun, 28 Feb 2010)
New Revision: 8723

Modified:
   trunk/data/qcsrc/client/projectile.qc
   trunk/data/qcsrc/server/miscfunctions.qc
   trunk/data/qcsrc/server/w_porto.qc
   trunk/data/qcsrc/warpzonelib/anglestransform.qc
   trunk/data/qcsrc/warpzonelib/anglestransform.qh
Log:
fix some angles mess :P

Modified: trunk/data/qcsrc/client/projectile.qc
===================================================================
--- trunk/data/qcsrc/client/projectile.qc	2010-02-28 19:45:50 UTC (rev 8722)
+++ trunk/data/qcsrc/client/projectile.qc	2010-02-28 19:45:54 UTC (rev 8723)
@@ -88,10 +88,13 @@
 			default:
 				break;
 		}
-		self.angles = AnglesTransform_ApplyToAngles(self.angles, rot * (t - self.spawntime));
+		self.angles = AnglesTransform_ToAngles(AnglesTransform_Multiply(AnglesTransform_FromAngles(self.angles), rot * (t - self.spawntime)));
 	}
 
-	fixedmakevectors(self.angles);
+	vector ang;
+	ang = self.angles;
+	ang_x = -ang_x;
+	makevectors(ang);
 
 	a = 1 - (time - self.fade_time) * self.fade_rate;
 	if(a <= 0)

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2010-02-28 19:45:50 UTC (rev 8722)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2010-02-28 19:45:54 UTC (rev 8723)
@@ -2423,7 +2423,9 @@
 
     // current forward and up directions
     if (substring(e.model, 0, 1) == "*") // bmodels have their own rules
-        e.angles_x = -e.angles_x;
+		e.angles = AnglesTransform_FromVAngles(e.angles);
+	else
+		e.angles = AnglesTransform_FromAngles(e.angles);
     fixedmakevectors(e.angles);
 
     // untransform forward, up!
@@ -2436,7 +2438,9 @@
 
     e.angles = fixedvectoangles2(e_forward, e_up);
     if (substring(e.model, 0, 1) == "*") // bmodels have their own rules
-        e.angles_x = -e.angles_x;
+		e.angles = AnglesTransform_ToVAngles(e.angles);
+	else
+		e.angles = AnglesTransform_ToAngles(e.angles);
 
     setattachment(e, to, tag);
     setorigin(e, e.origin);
@@ -2448,7 +2452,9 @@
     org = gettaginfo(e, 0);
     e.angles = fixedvectoangles2(v_forward, v_up);
     if (substring(e.model, 0, 1) == "*") // bmodels have their own rules
-        e.angles_x = -e.angles_x;
+		e.angles = AnglesTransform_ToVAngles(e.angles);
+	else
+		e.angles = AnglesTransform_ToAngles(e.angles);
     setorigin(e, org);
     setattachment(e, world, "");
     setorigin(e, e.origin);

Modified: trunk/data/qcsrc/server/w_porto.qc
===================================================================
--- trunk/data/qcsrc/server/w_porto.qc	2010-02-28 19:45:50 UTC (rev 8722)
+++ trunk/data/qcsrc/server/w_porto.qc	2010-02-28 19:45:54 UTC (rev 8723)
@@ -193,7 +193,7 @@
 	gren.portal_id = time;
 	self.porto_current = gren;
 	gren.playerid = self.playerid;
-	fixedmakevectors(vectoangles(gren.velocity));
+	fixedmakevectors(fixedvectoangles(gren.velocity));
 	gren.right_vector = v_right;
 
 	gren.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_PLAYERCLIP;

Modified: trunk/data/qcsrc/warpzonelib/anglestransform.qc
===================================================================
--- trunk/data/qcsrc/warpzonelib/anglestransform.qc	2010-02-28 19:45:50 UTC (rev 8722)
+++ trunk/data/qcsrc/warpzonelib/anglestransform.qc	2010-02-28 19:45:54 UTC (rev 8723)
@@ -154,6 +154,24 @@
 	v = AnglesTransform_Multiply(transform, v);
 	return v;
 }
+vector AnglesTransform_FromAngles(vector v)
+{
+	v_x = -v_x;
+	return v;
+}
+vector AnglesTransform_ToAngles(vector v)
+{
+	v_x = -v_x;
+	return v;
+}
+vector AnglesTransform_FromVAngles(vector v)
+{
+	return v;
+}
+vector AnglesTransform_ToVAngles(vector v)
+{
+	return v;
+}
 #else
 vector AnglesTransform_ApplyToAngles(vector transform, vector v)
 {
@@ -167,6 +185,24 @@
 	v_x = -v_x;
 	return v;
 }
+vector AnglesTransform_FromAngles(vector v)
+{
+	return v;
+}
+vector AnglesTransform_ToAngles(vector v)
+{
+	return v;
+}
+vector AnglesTransform_FromVAngles(vector v)
+{
+	v_x = -v_x;
+	return v;
+}
+vector AnglesTransform_ToVAngles(vector v)
+{
+	v_x = -v_x;
+	return v;
+}
 #endif
 
 vector AnglesTransform_Multiply_GetPostShift(vector t0, vector st0, vector t1, vector st1)

Modified: trunk/data/qcsrc/warpzonelib/anglestransform.qh
===================================================================
--- trunk/data/qcsrc/warpzonelib/anglestransform.qh	2010-02-28 19:45:50 UTC (rev 8722)
+++ trunk/data/qcsrc/warpzonelib/anglestransform.qh	2010-02-28 19:45:54 UTC (rev 8723)
@@ -21,6 +21,10 @@
 
 vector AnglesTransform_ApplyToAngles(vector transform, vector v);
 vector AnglesTransform_ApplyToVAngles(vector transform, vector v);
+vector AnglesTransform_FromAngles(vector v);
+vector AnglesTransform_ToAngles(vector v);
+vector AnglesTransform_FromVAngles(vector v);
+vector AnglesTransform_ToVAngles(vector v);
 
 // transformed = original * transform + postshift
 vector AnglesTransform_Multiply_GetPostShift(vector sf0, vector st0, vector t1, vector st1);



More information about the nexuiz-commits mailing list