[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