[nexuiz-commits] r7296 - in trunk/data: . qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Aug 3 09:44:30 EDT 2009


Author: div0
Date: 2009-08-03 09:44:30 -0400 (Mon, 03 Aug 2009)
New Revision: 7296

Modified:
   trunk/data/nexuiz-credits.txt
   trunk/data/qcsrc/server/gamecommand.qc
Log:
credits update
tracebug test case update


Modified: trunk/data/nexuiz-credits.txt
===================================================================
--- trunk/data/nexuiz-credits.txt	2009-08-03 13:19:37 UTC (rev 7295)
+++ trunk/data/nexuiz-credits.txt	2009-08-03 13:44:30 UTC (rev 7296)
@@ -22,25 +22,28 @@
 Andreas "Black" Kirsch
 *Programmer
 
-Stephan "esteel" Stahl
-*Programmer
+Michael "Tenshihan" Quinn
+*Sound FX and Player-Voices
 
+Paul "Strahlemann" Evers
+*Level Designer
+
 Peter "Morphed" Pielak
 *Artist
 
-Paul "Strahlemann" Evers
-*Level Designer
+Samual Lenks
+*Programmer
 
-Wolfgang "Blub\0" Bumiller
+Saulo "mand1nga" Gil
 *Programmer
 
+Stephan "esteel" Stahl
+*Programmer
+
 Tyler "-z-" Mulligan
 *Web Developer and Interaction Designer
 
-Michael "Tenshihan" Quinn
-*Sound FX and Player-Voices
-
-Saulo "mand1nga" Gil
+Wolfgang "Blub\0" Bumiller
 *Programmer
 
 

Modified: trunk/data/qcsrc/server/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/server/gamecommand.qc	2009-08-03 13:19:37 UTC (rev 7295)
+++ trunk/data/qcsrc/server/gamecommand.qc	2009-08-03 13:44:30 UTC (rev 7296)
@@ -875,7 +875,8 @@
 		print("TEST CASE. If this returns the runaway loop counter error, possibly everything is oaky.\n");
 		for(;;)
 		{
-			vector org, delta, start, end, p;
+			vector org, delta, start, end, p, pos;
+			float safe, unsafe;
 
 			org = world.mins;
 			delta = world.maxs - world.mins;
@@ -902,11 +903,36 @@
 					tracebox(start, PL_MIN, PL_MAX, end, MOVE_NOMONSTERS, world);
 					tracebox(p, PL_MIN, PL_MAX, p, MOVE_NOMONSTERS, world);
 
+					// how much do we need to back off?
+					safe = 1;
+					unsafe = 0;
+					for(;;)
+					{
+						pos = p * (1 - (safe + unsafe) * 0.5) + start * ((safe + unsafe) * 0.5);
+						tracebox(pos, PL_MIN, PL_MAX, pos, MOVE_NOMONSTERS, world);
+						if(trace_startsolid)
+						{
+							if((safe + unsafe) * 0.5 == unsafe)
+								break;
+							unsafe = (safe + unsafe) * 0.5;
+						}
+						else
+						{
+							if((safe + unsafe) * 0.5 == safe)
+								break;
+							safe = (safe + unsafe) * 0.5;
+						}
+					}
+
+					print("safe distance to back off: ", ftos(safe * vlen(p - start)), "qu\n");
+					print("unsafe distance to back off: ", ftos(unsafe * vlen(p - start)), "qu\n");
+
 					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"));
+						print("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("trace_endpos just in solid when tracing from ", vtos(start), " to ", vtos(end), " endpos ", vtos(trace_endpos), "\n");
+					break;
 				}
 			}
 		}



More information about the nexuiz-commits mailing list