r4476 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Sep 21 08:35:39 EDT 2008


Author: div0
Date: 2008-09-21 08:35:38 -0400 (Sun, 21 Sep 2008)
New Revision: 4476

Modified:
   trunk/data/qcsrc/server/portals.qc
Log:
add a misisng portal side check


Modified: trunk/data/qcsrc/server/portals.qc
===================================================================
--- trunk/data/qcsrc/server/portals.qc	2008-09-21 11:13:47 UTC (rev 4475)
+++ trunk/data/qcsrc/server/portals.qc	2008-09-21 12:35:38 UTC (rev 4476)
@@ -422,6 +422,9 @@
 	o = self.owner;
 	self.solid = SOLID_BBOX;
 	self.owner = world;
+
+	fixedmakevectors(self.angles);
+
 	FOR_EACH_PLAYER(e)
 	{
 		if(time < self.portal_activatetime)
@@ -430,6 +433,9 @@
 		if(e != o)
 			if(IS_INDEPENDENT_PLAYER(e) || IS_INDEPENDENT_PLAYER(o))
 				continue; // cannot go through someone else's portal
+		if((e.origin - self.origin) * v_forward < 0) // wrong side of the plane? no teleport
+			continue;
+
 		// if e would hit the portal in a frame...
 		// already teleport him
 		tracebox(e.origin, e.mins, e.maxs, e.origin + e.velocity * 2 * frametime, MOVE_NORMAL, e);




More information about the nexuiz-commits mailing list