[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