r4648 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Oct 6 13:52:54 EDT 2008


Author: div0
Date: 2008-10-06 13:52:54 -0400 (Mon, 06 Oct 2008)
New Revision: 4648

Modified:
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/portals.qc
   trunk/data/qcsrc/server/race.qc
   trunk/data/qcsrc/server/w_porto.qc
Log:
minor portals fix again :P


Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2008-10-06 16:58:41 UTC (rev 4647)
+++ trunk/data/qcsrc/server/defs.qh	2008-10-06 17:52:54 UTC (rev 4648)
@@ -492,3 +492,5 @@
 
 float game_starttime; //point in time when the countdown is over
 .float stat_game_starttime;
+
+void W_Porto_Remove (entity p);

Modified: trunk/data/qcsrc/server/portals.qc
===================================================================
--- trunk/data/qcsrc/server/portals.qc	2008-10-06 16:58:41 UTC (rev 4647)
+++ trunk/data/qcsrc/server/portals.qc	2008-10-06 17:52:54 UTC (rev 4648)
@@ -524,13 +524,18 @@
 	}
 	return 1;
 }
-void Portal_ClearAll(entity own)
+void Portal_ClearAll_PortalsOnly(entity own)
 {
 	if(own.portal_in)
 		Portal_Remove(own.portal_in, 0);
 	if(own.portal_out)
 		Portal_Remove(own.portal_out, 0);
 }
+void Portal_ClearAll(entity own)
+{
+	Portal_ClearAll_PortalsOnly(own);
+	W_Porto_Remove(own);
+}
 void Portal_RemoveLater_Think()
 {
 	Portal_Remove(self, self.cnt);
@@ -542,13 +547,18 @@
 	portal.think = Portal_RemoveLater_Think;
 	portal.nextthink = time;
 }
-void Portal_ClearAllLater(entity own)
+void Portal_ClearAllLater_PortalsOnly(entity own)
 {
 	if(own.portal_in)
 		Portal_RemoveLater(own.portal_in, 0);
 	if(own.portal_out)
 		Portal_RemoveLater(own.portal_out, 0);
 }
+void Portal_ClearAllLater(entity own)
+{
+	Portal_ClearAllLater_PortalsOnly(own);
+	W_Porto_Remove(own);
+}
 void Portal_ClearWithID(entity own, float id)
 {
 	if(own.portal_in)
@@ -616,7 +626,7 @@
 	if(!portal)
 	{
 		// if(!own.portal_out || own.portal_out.portal_id == portal_id_val)
-			Portal_ClearAll(own);
+			Portal_ClearAll_PortalsOnly(own);
 		return 0;
 	}
 
@@ -640,7 +650,7 @@
 	if(!portal)
 	{
 		// if(!own.portal_in || own.portal_in.portal_id == portal_id_val)
-			Portal_ClearAll(own);
+			Portal_ClearAll_PortalsOnly(own);
 		return 0;
 	}
 

Modified: trunk/data/qcsrc/server/race.qc
===================================================================
--- trunk/data/qcsrc/server/race.qc	2008-10-06 16:58:41 UTC (rev 4647)
+++ trunk/data/qcsrc/server/race.qc	2008-10-06 17:52:54 UTC (rev 4648)
@@ -309,7 +309,6 @@
 void checkpoint_passed()
 {
 	string oldmsg;
-	entity oldself;
 
 	if(other.classname == "porto")
 	{
@@ -339,13 +338,6 @@
 	 * Remove unauthorized equipment
 	 */
 	Portal_ClearAll(other);
-	if(other.porto_current)
-	{
-		oldself = self;
-		self = other.porto_current;
-		W_Porto_Fail(1);
-		self = oldself;
-	}
 
 	other.porto_forbidden = 2; // decreased by 1 each StartFrame
 

Modified: trunk/data/qcsrc/server/w_porto.qc
===================================================================
--- trunk/data/qcsrc/server/w_porto.qc	2008-10-06 16:58:41 UTC (rev 4647)
+++ trunk/data/qcsrc/server/w_porto.qc	2008-10-06 17:52:54 UTC (rev 4648)
@@ -47,6 +47,18 @@
 	remove(self);
 }
 
+void W_Porto_Remove (entity p)
+{
+	if(p.porto_current)
+	{
+		entity oldself;
+		oldself = self;
+		self = p.porto_current;
+		W_Porto_Fail(1);
+		self = oldself;
+	}
+}
+
 void W_Porto_Think (void)
 {
 	trace_plane_normal = '0 0 0';




More information about the nexuiz-commits mailing list