[nexuiz-commits] r7025 - in trunk/data/qcsrc: client menu/nexuiz server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Jun 13 13:26:30 EDT 2009


Author: div0
Date: 2009-06-13 13:26:29 -0400 (Sat, 13 Jun 2009)
New Revision: 7025

Modified:
   trunk/data/qcsrc/client/sbar.qc
   trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup_radar.c
   trunk/data/qcsrc/server/bots.qc
   trunk/data/qcsrc/server/gamecommand.qc
   trunk/data/qcsrc/server/havocbot.qc
Log:
two minor HUD patches; more persistence for bot scripting (if routing fails, they now have 20 seconds to walk around to random waypoints and find a route again)


Modified: trunk/data/qcsrc/client/sbar.qc
===================================================================
--- trunk/data/qcsrc/client/sbar.qc	2009-06-13 17:09:26 UTC (rev 7024)
+++ trunk/data/qcsrc/client/sbar.qc	2009-06-13 17:26:29 UTC (rev 7025)
@@ -2161,17 +2161,21 @@
 
 	if (intermission == 1)
 	{
-		Sbar_DrawCenterPrint();
 		if(sb_showaccuracy)
 			Sbar_DrawAccuracyStats();
 		else
 			Sbar_DrawScoreboard();
-		return;
+		Sbar_DrawCenterPrint();
 	}
 	else if (intermission == 2)
 	{
-		Sbar_FinaleOverlay();
-		Sbar_DrawCenterPrint();
+		if(sb_showaccuracy)
+			Sbar_DrawAccuracyStats();
+		else if (sb_showscores)
+			Sbar_DrawScoreboard();
+		else
+			Sbar_FinaleOverlay();
+		Sbar_DrawCenterPrint();	
 	}
 	else if(sb_showaccuracy)
  	{

Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup_radar.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup_radar.c	2009-06-13 17:09:26 UTC (rev 7024)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup_radar.c	2009-06-13 17:26:29 UTC (rev 7025)
@@ -58,24 +58,29 @@
 		me.TD(me, 1, 4, makeNexuizTextLabel(0, "HUD settings:"));
 	me.TR(me);
 		me.TDempty(me, 0.2);
-		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Default Red:"));
-		me.TD(me, 1, 3, e = makeNexuizSlider(0, 1, 0.01, "sbar_color_bg_r"));
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Default Green:"));
-		me.TD(me, 1, 3, e = makeNexuizSlider(0, 1, 0.01, "sbar_color_bg_g"));
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Default Blue:"));
-		me.TD(me, 1, 3, e = makeNexuizSlider(0, 1, 0.01, "sbar_color_bg_b"));
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Team brightness:"));
-		me.TD(me, 1, 3, e = makeNexuizSlider(0.1, 1, 0.01, "sbar_color_bg_team"));
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Alpha:"));
+		me.TD(me, 1, 0.8, e = makeNexuizCheckBoxEx(100, 110, "viewsize", "Background:"));
 		me.TD(me, 1, 3, e = makeNexuizSlider(0, 1, 0.01, "sbar_alpha_bg"));
+			setDependent(e, "viewsize", 0, 100);
+		me.TR(me);
+			me.TDempty(me, 0.2);
+			me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Default Red:"));
+			me.TD(me, 1, 3, e = makeNexuizSlider(0, 1, 0.01, "sbar_color_bg_r"));
+				setDependent(e, "viewsize", 0, 100);
+		me.TR(me);
+			me.TDempty(me, 0.2);
+			me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Default Green:"));
+			me.TD(me, 1, 3, e = makeNexuizSlider(0, 1, 0.01, "sbar_color_bg_g"));
+				setDependent(e, "viewsize", 0, 100);
+		me.TR(me);
+			me.TDempty(me, 0.2);
+			me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Default Blue:"));
+			me.TD(me, 1, 3, e = makeNexuizSlider(0, 1, 0.01, "sbar_color_bg_b"));
+				setDependent(e, "viewsize", 0, 100);
+		me.TR(me);
+			me.TDempty(me, 0.2);
+			me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Team brightness:"));
+			me.TD(me, 1, 3, e = makeNexuizSlider(0.1, 1, 0.01, "sbar_color_bg_team"));
+				setDependent(e, "viewsize", 0, 100);
 	me.TR(me);
 	me.TR(me);
 		me.TD(me, 1, 4, makeNexuizTextLabel(0, "Waypoint settings:"));

Modified: trunk/data/qcsrc/server/bots.qc
===================================================================
--- trunk/data/qcsrc/server/bots.qc	2009-06-13 17:09:26 UTC (rev 7024)
+++ trunk/data/qcsrc/server/bots.qc	2009-06-13 17:26:29 UTC (rev 7025)
@@ -1927,7 +1927,10 @@
 	if not (self.navigation_hasgoals)
 	{
 		dprint(self.netname, " can't walk to any goal, going to a near waypoint\n");
-		local entity head;
+
+		entity head;
+
+		RandomSelection_Init();
 		head = findradius(self.origin,1000);
 		while(head)
 		{
@@ -1935,11 +1938,12 @@
 			if(!(head.wpflags & WAYPOINTFLAG_GENERATED))
 			if(vlen(self.origin-head.origin)>100)
 			if(checkpvs(self.view_ofs,head))
-			if(random()<0.5)
-				navigation_routetogoal(head,self.origin);
-
+				RandomSelection_Add(head, 0, string_null, 1, 0);
 			head = head.chain;
 		}
+		if(RandomSelection_chosen_ent)
+			navigation_routetogoal(RandomSelection_chosen_ent, self.origin);
+
 		self.navigation_hasgoals = FALSE; // Reset this value
 	}
 };

Modified: trunk/data/qcsrc/server/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/server/gamecommand.qc	2009-06-13 17:09:26 UTC (rev 7024)
+++ trunk/data/qcsrc/server/gamecommand.qc	2009-06-13 17:26:29 UTC (rev 7025)
@@ -970,7 +970,7 @@
 						bot_queuecommand(bot, strcat(argv(3), " ", argv(4)));
 				}
 				else
-					localcmd(s, "\n");
+					localcmd(strcat(s, "\n"));
 
 				++i;
 			}

Modified: trunk/data/qcsrc/server/havocbot.qc
===================================================================
--- trunk/data/qcsrc/server/havocbot.qc	2009-06-13 17:09:26 UTC (rev 7024)
+++ trunk/data/qcsrc/server/havocbot.qc	2009-06-13 17:26:29 UTC (rev 7025)
@@ -1132,6 +1132,7 @@
 };
 
 .entity havocbot_personal_waypoint;
+.float havocbot_personal_waypoint_searchtime;
 float havocbot_moveto_refresh_route()
 {
 	// Refresh path to goal if necessary
@@ -1140,19 +1141,7 @@
 	navigation_goalrating_start();
 	navigation_routerating(wp, 10000, 10000);
 	navigation_goalrating_end();
-
-	if(self.navigation_hasgoals)
-	{
-		dprint(self.netname, " walking to its personal waypoint\n");
-		self.bot_strategytime = time + 10;
-		return TRUE;
-	}
-	else
-	{
-		dprint("(", self.netname, ") Warning: can't walk to the personal waypoint located at ", vtos(wp.origin),", trying again later\n");
-		self.bot_strategytime = time + 1;
-		return FALSE;
-	}
+	return self.navigation_hasgoals;
 }
 
 .float havocbot_personal_waypoint_failcounter;
@@ -1171,23 +1160,28 @@
 		}
 
 		if (!bot_strategytoken_taken)
-		if(self.bot_strategytime<time)
+		if(self.havocbot_personal_waypoint_searchtime<time)
 		{
 			bot_strategytoken_taken = TRUE;
 			if(havocbot_moveto_refresh_route())
 			{
+				dprint(self.netname, " walking to its personal waypoint (after ", ftos(self.havocbot_personal_waypoint_failcounter), " failed attempts)\n");
+				self.havocbot_personal_waypoint_searchtime = time + 10;
 				self.havocbot_personal_waypoint_failcounter = 0;
 			}
 			else
 			{
 				self.havocbot_personal_waypoint_failcounter += 1;
+				self.havocbot_personal_waypoint_searchtime = time + 2;
 				if(self.havocbot_personal_waypoint_failcounter >= 10)
 				{
-					dprint("Warning: can't walk to the personal waypoint located at ", vtos(wp.origin),"\n");
+					dprint("Warning: can't walk to the personal waypoint located at ", vtos(self.havocbot_personal_waypoint.origin),"\n");
 					self.aistatus &~= AI_STATUS_WAYPOINT_PERSONAL_LINKING;
 					remove(self.havocbot_personal_waypoint);
 					return CMD_STATUS_ERROR;
 				}
+				else
+					dprint(self.netname, " can't walk to its personal waypoint (after ", ftos(self.havocbot_personal_waypoint_failcounter), " failed attempts), trying later\n");
 			}
 		}
 
@@ -1225,7 +1219,7 @@
 			return CMD_STATUS_EXECUTING;
 		}
 
-		self.bot_strategytime = time; // so we set the route next frame
+		self.havocbot_personal_waypoint_searchtime = time; // so we set the route next frame
 		self.aistatus &~= AI_STATUS_WAYPOINT_PERSONAL_LINKING;
 		self.aistatus |= AI_STATUS_WAYPOINT_PERSONAL_GOING;
 



More information about the nexuiz-commits mailing list