r5497 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue Jan 13 01:10:15 EST 2009
Author: div0
Date: 2009-01-13 01:10:14 -0500 (Tue, 13 Jan 2009)
New Revision: 5497
Modified:
trunk/data/qcsrc/server/portals.qc
Log:
can't fix this portal crash without additional info, but detect the bad condition and abort with a backtrace while keeping the server running. If anyone gets one of these backtraces, send it to me together with some lines of backlog.
Modified: trunk/data/qcsrc/server/portals.qc
===================================================================
--- trunk/data/qcsrc/server/portals.qc 2009-01-12 15:29:35 UTC (rev 5496)
+++ trunk/data/qcsrc/server/portals.qc 2009-01-13 06:10:14 UTC (rev 5497)
@@ -84,6 +84,12 @@
vector old_yawforward;
float planeshift, s, t;
+ if not(teleporter.enemy)
+ {
+ backtrace("Portal_TeleportPlayer called without other portal being set. Stop.");
+ return 0;
+ }
+
from = teleporter.origin;
transform = teleporter.portal_transform;
@@ -195,8 +201,21 @@
if(player.flagcarried)
DropFlag(player.flagcarried, player, world);
+
+ if not(teleporter.enemy)
+ {
+ backtrace("Portal_TeleportPlayer ended up without other portal being set BEFORE TeleportPlayer. Stop.");
+ return 0;
+ }
+
TeleportPlayer(teleporter, player, to, ang, newvel, teleporter.enemy.absmin, teleporter.enemy.absmax);
+ if not(teleporter.enemy)
+ {
+ backtrace("Portal_TeleportPlayer ended up without other portal being set AFTER TeleportPlayer. Stop.");
+ return 0;
+ }
+
// reset fade counter
teleporter.portal_wants_to_vanish = 0;
teleporter.fade_time = time + cvar("g_balance_portal_lifetime");
More information about the nexuiz-commits
mailing list