[nexuiz-commits] r6476 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sun Apr 12 17:16:44 EDT 2009
Author: div0
Date: 2009-04-12 17:16:44 -0400 (Sun, 12 Apr 2009)
New Revision: 6476
Modified:
trunk/data/qcsrc/server/gamecommand.qc
Log:
add a test case for the tracebox bug: "sv_cmd tracebug"
Modified: trunk/data/qcsrc/server/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/server/gamecommand.qc 2009-04-12 18:28:41 UTC (rev 6475)
+++ trunk/data/qcsrc/server/gamecommand.qc 2009-04-12 21:16:44 UTC (rev 6476)
@@ -871,6 +871,46 @@
return;
}
+ if(argv(0) == "tracebug")
+ {
+ print("TEST CASE. If this returns the runaway loop counter error, possibly everything is oaky.\n");
+ for(;;)
+ {
+ vector org, delta, start, end, p;
+
+ org = world.mins;
+ delta = world.maxs - world.mins;
+
+ start_x = org_x + random() * delta_x;
+ start_y = org_y + random() * delta_y;
+ start_z = org_z + random() * delta_z;
+
+ end_x = org_x + random() * delta_x;
+ end_y = org_y + random() * delta_y;
+ end_z = org_z + random() * delta_z;
+
+ start = stov(vtos(start));
+ end = stov(vtos(end));
+
+ tracebox(start, PL_MIN, PL_MAX, end, MOVE_NOMONSTERS, world);
+ if(!trace_startsolid)
+ {
+ p = trace_endpos;
+ tracebox(p, PL_MIN, PL_MAX, p, MOVE_NOMONSTERS, world);
+ if(trace_startsolid)
+ {
+ rint(42); // do an engine breakpoint on VM_rint so you can get the trace that errnoeously returns startsolid
+ tracebox(p, PL_MIN, PL_MAX, p, MOVE_NOMONSTERS, world);
+ tracebox(p, PL_MIN + '0.1 0.1 0.1', PL_MAX - '0.1 0.1 0.1', p, MOVE_NOMONSTERS, world);
+ if(trace_startsolid)
+ error(strcat("trace_endpos much in solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(trace_endpos), "\n"));
+ else
+ error(strcat("trace_endpos just in solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(trace_endpos), "\n"));
+ }
+ }
+ }
+ }
+
print("Invalid command. For a list of supported commands, try sv_cmd help.\n");
}
More information about the nexuiz-commits
mailing list