[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