[nexuiz-commits] r8724 - trunk/data/qcsrc/warpzonelib

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Feb 28 14:46:01 EST 2010


Author: div0
Date: 2010-02-28 14:46:01 -0500 (Sun, 28 Feb 2010)
New Revision: 8724

Modified:
   trunk/data/qcsrc/warpzonelib/client.qc
   trunk/data/qcsrc/warpzonelib/common.qc
   trunk/data/qcsrc/warpzonelib/common.qh
Log:
better rick roll angle handling - cube map is now almost glitchfree :P

Modified: trunk/data/qcsrc/warpzonelib/client.qc
===================================================================
--- trunk/data/qcsrc/warpzonelib/client.qc	2010-02-28 19:45:54 UTC (rev 8723)
+++ trunk/data/qcsrc/warpzonelib/client.qc	2010-02-28 19:46:01 UTC (rev 8724)
@@ -74,6 +74,9 @@
 float warpzone_saved;
 vector warpzone_saved_origin;
 vector warpzone_saved_angles;
+#ifndef KEEP_ROLL
+var float autocvar_cl_rollkillspeed = 10;
+#endif
 void WarpZone_FixView()
 {
 	float pd;
@@ -82,6 +85,13 @@
 	warpzone_saved_origin = warpzone_fixview_origin;
 	warpzone_saved_angles = warpzone_fixview_angles;
 
+#ifndef KEEP_ROLL
+	if(autocvar_cl_rollkillspeed)
+		R_SetView(VF_CL_VIEWANGLES_Z, input_angles_z * max(0, (1 - frametime * autocvar_cl_rollkillspeed)));
+	else
+		R_SetView(VF_CL_VIEWANGLES_Z, 0);
+#endif
+
 	e = WarpZone_Find(warpzone_fixview_origin, warpzone_fixview_origin);
 	if(e)
 	{

Modified: trunk/data/qcsrc/warpzonelib/common.qc
===================================================================
--- trunk/data/qcsrc/warpzonelib/common.qc	2010-02-28 19:45:54 UTC (rev 8723)
+++ trunk/data/qcsrc/warpzonelib/common.qc	2010-02-28 19:46:01 UTC (rev 8724)
@@ -314,16 +314,22 @@
 
 vector WarpZone_TransformVAngles(entity wz, vector ang)
 {
+#ifdef KEEP_ROLL
 	float roll;
-
 	roll = ang_z;
 	ang_z = 0;
+#endif
 
 	ang = AnglesTransform_ApplyToVAngles(wz.warpzone_transform, ang);
+
+#ifdef KEEP_ROLL
 	ang = AnglesTransform_Normalize(ang, TRUE);
 	ang = AnglesTransform_CancelRoll(ang);
+	ang_z = roll;
+#else
+	ang = AnglesTransform_Normalize(ang, FALSE);
+#endif
 
-	ang_z = roll;
 	return ang;
 }
 

Modified: trunk/data/qcsrc/warpzonelib/common.qh
===================================================================
--- trunk/data/qcsrc/warpzonelib/common.qh	2010-02-28 19:45:54 UTC (rev 8723)
+++ trunk/data/qcsrc/warpzonelib/common.qh	2010-02-28 19:46:01 UTC (rev 8724)
@@ -1,3 +1,6 @@
+// uncomment this if your mod uses the roll angle in fixangle
+// #define KEEP_ROLL
+
 const void func_null(void); // never assign to this one please
 
 .vector warpzone_shift;



More information about the nexuiz-commits mailing list