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