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

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Sep 25 14:52:01 EDT 2009


Author: div0
Date: 2009-09-25 14:52:01 -0400 (Fri, 25 Sep 2009)
New Revision: 7907

Modified:
   trunk/data/qcsrc/server/bot/waypoints.qc
   trunk/data/qcsrc/server/cl_impulse.qc
   trunk/data/qcsrc/server/miscfunctions.qc
Log:
better output for WPs in solid


Modified: trunk/data/qcsrc/server/bot/waypoints.qc
===================================================================
--- trunk/data/qcsrc/server/bot/waypoints.qc	2009-09-25 18:40:50 UTC (rev 7906)
+++ trunk/data/qcsrc/server/bot/waypoints.qc	2009-09-25 18:52:01 UTC (rev 7907)
@@ -32,12 +32,18 @@
 		{
 			if(!(f & WAYPOINTFLAG_GENERATED))
 			{
-				dprint("Killed a waypoint that was stuck in solid at ", vtos(org), "\n");
+				dprint("Killed a waypoint that was stuck in solid at ", vtos(w.origin), "\n");
 				remove(w);
 				return world;
 			}
 			else
-				dprint("A generated waypoint is stuck in solid at ", vtos(org), "\n");
+			{
+				if(cvar("developer"))
+				{
+					print("A generated waypoint is stuck in solid at ", vtos(w.origin), "\n");
+					backtrace("Waypoint stuck");
+				}
+			}
 		}
 		setsize(w, '0 0 0', '0 0 0');
 	}

Modified: trunk/data/qcsrc/server/cl_impulse.qc
===================================================================
--- trunk/data/qcsrc/server/cl_impulse.qc	2009-09-25 18:40:50 UTC (rev 7906)
+++ trunk/data/qcsrc/server/cl_impulse.qc	2009-09-25 18:52:01 UTC (rev 7907)
@@ -546,6 +546,7 @@
 					e2 = navigation_findnearestwaypoint(self, FALSE);
 					navigation_markroutes(e2);
 					i = 0;
+					m = 0;
 					for(e = findchain(classname, "waypoint"); e; e = e.chain)
 					{
 						if(e.wpcost >= 10000000)
@@ -554,6 +555,7 @@
 							e.colormod_x = 0.1;
 							e.effects |= EF_NODEPTHTEST | EF_BLUE;
 							++i;
+							++m;
 						}
 					}
 					if(i)
@@ -566,12 +568,16 @@
 						{
 							print("cannot reach me: ", etos(e), " ", vtos(e.origin), "\n");
 							e.colormod_x = 0.1;
+							if not(e.effects & EF_NODEPTHTEST) // not already reported before
+								++m;
 							e.effects |= EF_NODEPTHTEST | EF_RED;
 							++i;
 						}
 					}
 					if(i)
 						print(ftos(i), " waypoints cannot walk to here in any way (marked with red light)\n");
+					if(m && i && i != m)
+						print(ftos(m), " waypoints have been marked total\n");
 					i = 0;
 					for(e = findchain(classname, "info_player_deathmatch"); e; e = e.chain)
 					{

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-09-25 18:40:50 UTC (rev 7906)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-09-25 18:52:01 UTC (rev 7907)
@@ -582,9 +582,11 @@
 
 void backtrace(string msg)
 {
-    float dev;
+    float dev, war;
     dev = cvar("developer");
+    war = cvar("prvm_backtraceforwarnings");
     cvar_set("developer", "1");
+    cvar_set("prvm_backtraceforwarnings", "1");
     dprint("\n");
     dprint("--- CUT HERE ---\nWARNING: ");
     dprint(msg);
@@ -592,6 +594,7 @@
     remove(world); // isn't there any better way to cause a backtrace?
     dprint("\n--- CUT UNTIL HERE ---\n");
     cvar_set("developer", ftos(dev));
+    cvar_set("prvm_backtraceforwarnings", ftos(war));
 }
 
 string Team_ColorCode(float teamid)



More information about the nexuiz-commits mailing list