r4628 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Oct 4 16:30:37 EDT 2008


Author: div0
Date: 2008-10-04 16:30:37 -0400 (Sat, 04 Oct 2008)
New Revision: 4628

Modified:
   trunk/data/qcsrc/server/portals.qc
   trunk/data/qcsrc/server/portals.qh
   trunk/data/qcsrc/server/w_porto.qc
Log:
fix MrBougo's portal bug


Modified: trunk/data/qcsrc/server/portals.qc
===================================================================
--- trunk/data/qcsrc/server/portals.qc	2008-10-04 20:16:03 UTC (rev 4627)
+++ trunk/data/qcsrc/server/portals.qc	2008-10-04 20:30:37 UTC (rev 4628)
@@ -5,10 +5,7 @@
 .vector portal_safe_origin;
 .float portal_wants_to_vanish;
 .float portal_activatetime;
-.float portal_id;
 
-.entity portal_in, portal_out;
-
 vector Portal_Transform_Apply(vector transform, vector v)
 {
 	fixedmakevectors(transform);

Modified: trunk/data/qcsrc/server/portals.qh
===================================================================
--- trunk/data/qcsrc/server/portals.qh	2008-10-04 20:16:03 UTC (rev 4627)
+++ trunk/data/qcsrc/server/portals.qh	2008-10-04 20:30:37 UTC (rev 4628)
@@ -1,3 +1,6 @@
+.float portal_id;
+.entity portal_in, portal_out;
+
 void Portal_ClearAll(entity own);
 void Portal_ClearAllLater(entity own);
 float Portal_SpawnOutPortalAtTrace(entity own, vector dir, float id);

Modified: trunk/data/qcsrc/server/w_porto.qc
===================================================================
--- trunk/data/qcsrc/server/w_porto.qc	2008-10-04 20:16:03 UTC (rev 4627)
+++ trunk/data/qcsrc/server/w_porto.qc	2008-10-04 20:30:37 UTC (rev 4628)
@@ -1,4 +1,3 @@
-.float portal_id;
 .entity porto_current;
 .vector porto_v_angle; // holds "held" view angles
 .float porto_v_angle_held;
@@ -113,12 +112,20 @@
 	}
 	else
 	{
-		if(Portal_SpawnOutPortalAtTrace(self.owner, self.right_vector, self.portal_id))
+		if(self.owner.portal_in.portal_id == self.portal_id)
 		{
-			sound(self, CHAN_PROJECTILE, "porto/create.ogg", VOL_BASE, ATTN_NORM);
-			trace_plane_normal = norm;
-			centerprint(self.owner, "^4Out^7-portal created.\n");
-			W_Porto_Success();
+			if(Portal_SpawnOutPortalAtTrace(self.owner, self.right_vector, self.portal_id))
+			{
+				sound(self, CHAN_PROJECTILE, "porto/create.ogg", VOL_BASE, ATTN_NORM);
+				trace_plane_normal = norm;
+				centerprint(self.owner, "^4Out^7-portal created.\n");
+				W_Porto_Success();
+			}
+			else
+			{
+				sound(self, CHAN_PROJECTILE, "porto/unsupported.ogg", VOL_BASE, ATTN_NORM);
+				W_Porto_Fail(0);
+			}
 		}
 		else
 		{




More information about the nexuiz-commits mailing list