r2324 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Apr 16 05:47:44 EDT 2007


Author: div0
Date: 2007-04-16 05:47:44 -0400 (Mon, 16 Apr 2007)
New Revision: 2324

Modified:
   trunk/data/qcsrc/server/waypointsprites.qc
Log:
attachment + EF_NODEPTHTEST is a notwork. Once fixed, #define ATTACHMENT_WORKS_WITH_EF_NODEPTHTEST.


Modified: trunk/data/qcsrc/server/waypointsprites.qc
===================================================================
--- trunk/data/qcsrc/server/waypointsprites.qc	2007-04-16 09:23:28 UTC (rev 2323)
+++ trunk/data/qcsrc/server/waypointsprites.qc	2007-04-16 09:47:44 UTC (rev 2324)
@@ -53,8 +53,13 @@
 	{
 		if(wp.exteriormodeltoclient == wp.owner)
 		{
+#ifdef ATTACHMENT_WORKS_WITH_EF_NODEPTHTEST
 			setattachment(wp, world, "");
 			setorigin(wp, wp.origin + wp.exteriormodeltoclient.origin);
+#else
+			// setorigin(wp, wp.view_ofs + wp.exteriormodeltoclient.origin);
+			// has been done already by customizeentityforclient!
+#endif
 			wp.exteriormodeltoclient = world;
 		}
 		wp.owner.(wp.owned_by_field) = world;
@@ -89,6 +94,11 @@
 		if(time >= self.teleport_time)
 			doremove = TRUE;
 
+#ifndef ATTACHMENT_WORKS_WITH_EF_NODEPTHTEST
+	if(self.exteriormodeltoclient)
+		setorigin(self, self.exteriormodeltoclient.origin + self.view_ofs);
+#endif
+
 	if(doremove)
 		WaypointSprite_Kill(self);
 	else
@@ -127,7 +137,12 @@
 			return FALSE;
 
 	porigin = other.origin + other.view_ofs_z * '0 0 1';
+
+#ifdef ATTACHMENT_WORKS_WITH_EF_NODEPTHTEST
 	realorigin = self.exteriormodeltoclient.origin + self.origin;
+#else
+	realorigin = self.origin;
+#endif
 
 	distance = vlen(realorigin - porigin);
 
@@ -178,9 +193,13 @@
 	wp.exteriormodeltoclient = ref;
 	if(ref)
 	{
+#ifdef ATTACHMENT_WORKS_WITH_EF_NODEPTHTEST
 		setattachment(wp, ref, "");
 		setorigin(wp, ofs);
-		wp.origin = ofs;
+#else
+		wp.view_ofs = ofs;
+		setorigin(wp, ref.origin + ofs);
+#endif
 	}
 	else
 		setorigin(wp, ofs);




More information about the nexuiz-commits mailing list