[nexuiz-commits] r7635 - in branches/nexuiz-2.0: . data data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Sep 5 06:40:32 EDT 2009


Author: div0
Date: 2009-09-05 06:40:32 -0400 (Sat, 05 Sep 2009)
New Revision: 7635

Modified:
   branches/nexuiz-2.0/.patchsets
   branches/nexuiz-2.0/data/defaultHavoc.cfg
   branches/nexuiz-2.0/data/defaultNexuiz.cfg
   branches/nexuiz-2.0/data/nexuiz-credits.txt
   branches/nexuiz-2.0/data/qcsrc/server/bots.qc
   branches/nexuiz-2.0/data/qcsrc/server/ctf.qc
   branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
   branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc
   branches/nexuiz-2.0/data/qcsrc/server/race.qc
Log:
r7605 | div0 | 2009-09-03 04:08:36 -0400 (Thu, 03 Sep 2009) | 2 lines
updated credits
r7606 | div0 | 2009-09-03 09:39:00 -0400 (Thu, 03 Sep 2009) | 2 lines
prevent screwup when trying to route to a waypoint as opposed to an item (CTF DOES THAT)
r7607 | div0 | 2009-09-03 10:17:49 -0400 (Thu, 03 Sep 2009) | 3 lines
- do not crash on "disconnect" or "quit" in CTF
- improve base finding in CTF, make it actually work
r7608 | div0 | 2009-09-03 11:00:26 -0400 (Thu, 03 Sep 2009) | 2 lines
fix routing to personal waypoints that I broke today
r7609 | fruitiex | 2009-09-03 11:11:20 -0400 (Thu, 03 Sep 2009) | 2 lines
make the scoreboard background more visible, crank up default hud bg alpha from 0.7 to 0.8
r7610 | lordhavoc | 2009-09-03 11:37:11 -0400 (Thu, 03 Sep 2009) | 3 lines
removed sv_gameplayfix_delayprojectiles 0
removed cl_nolerp 1


Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/.patchsets	2009-09-05 10:40:32 UTC (rev 7635)
@@ -1,2 +1,2 @@
 master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-7563,7565-7586,7589-7589,7592-7592,7595-7595,7597-7597,7601-7602
+revisions_applied = 1-7563,7565-7586,7589-7589,7592-7592,7595-7595,7597-7597,7601-7602,7605-7610

Modified: branches/nexuiz-2.0/data/defaultHavoc.cfg
===================================================================
--- branches/nexuiz-2.0/data/defaultHavoc.cfg	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/defaultHavoc.cfg	2009-09-05 10:40:32 UTC (rev 7635)
@@ -19,8 +19,6 @@
 
 cl_netfps 60
 sys_ticrate 0.0166667
-sv_gameplayfix_delayprojectiles 0
-cl_nolerp 1
 
 crosshair 6
 bgmvolume 0

Modified: branches/nexuiz-2.0/data/defaultNexuiz.cfg
===================================================================
--- branches/nexuiz-2.0/data/defaultNexuiz.cfg	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/defaultNexuiz.cfg	2009-09-05 10:40:32 UTC (rev 7635)
@@ -1301,14 +1301,14 @@
 con_notifyalign 0
 
 sbar_info_pos 50
-seta sbar_alpha_bg 0.7
+seta sbar_alpha_bg 0.8
 seta sbar_alpha_fg 1
 seta sbar_border_thickness 1 "scoreboard border tickness"
 seta sbar_color_bg_r 0 "red color component of the HUD background"
 seta sbar_color_bg_g 0.25 "green color component of the HUD background"
 seta sbar_color_bg_b 0.17 "blue color component of the HUD background"
 seta sbar_color_bg_team 0.5 "team color multiplier of the HUD background"
-seta sbar_scoreboard_alpha_bg 0.28 "scoreboard background alpha"
+seta sbar_scoreboard_alpha_bg 0.6 "scoreboard background alpha"
 seta sbar_scoreboard_highlight 1 "enable highlighting for rows and columns in the scoreboard"
 
 // for menu server list (eventually make them have engine support?)

Modified: branches/nexuiz-2.0/data/nexuiz-credits.txt
===================================================================
--- branches/nexuiz-2.0/data/nexuiz-credits.txt	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/nexuiz-credits.txt	2009-09-05 10:40:32 UTC (rev 7635)
@@ -14,7 +14,7 @@
 
 Kristian "morfar" Johansson
 
-SavageX
+Maik "SavageX" Merten
 
 
 **Development Team:
@@ -40,6 +40,9 @@
 Stephan "esteel" Stahl
 *Programmer
 
+Jakob "tZork" Markstrom Grohn
+*Programmer and Artist
+
 Tyler "-z-" Mulligan
 *Web Developer and Interaction Designer
 
@@ -89,63 +92,68 @@
 
 **Thanks:
 
+Robert "ai" Kuroto - Various models
+Chris "amethyst7" Matz - Level design
+blkrbt - Music
 Gerd "Elysis" Raudenbusch - Music
+Rasmus "FruitieX" Eskola - Artist
 Braden "meoblast001" Walters - Music
-Michael "Tenshihan" Quinn - Music
-blkrbt - Music
+Alexander "motorsep" Zubov - Weapon animation
+Eric "Munyul Verminard" Sambach - Level design
+Severin "sev" Meyer - Artist
+Simon O'Callaghan - "egyptsoc" texture set
+Michael "Tenshihan" Quinn - Sound effects
 Amos "torus" Dudley - Announcer voices
+Mattrew "Tronyn" Rye - Level design
+Henning "Tymo" Janssen - Level design
+Kevin "Tyrann" Shanahan - Level design
 William "Willis" Weilep - Master server host
-Severin "sev" Meyer - Artist
-Simon O'Callaghan - "egyptsoc" texture set
-Robert "ai" Kuroto - Various models
-Alexander "motorsep" Zubov - Weapon animation
 
-Qantourisc
-Tymo
-Spirit
+
+
 Attila "WW3" Houtkooper
+BigMac
+Brain Younds
+Christian Ice
+Clinton "Kaziganthe" Freeman
+Dan "Digger" Korostelev
+Donkey
+Dustin Geeraert
+Edgenetwork
+Edward "Ed" Holness
+FrikaC
 GreEn`mArine
-Dan "Digger" Korostelev
-leileilol
+Jitspoe
 Jody Gallagher
-Donkey
-Vortex
 Juergen "LowDragon" Timm
-Sajt
-Supajoe
-lcatlnx
-Zenex
-Q1 Retexturing Project
-Tomaz
-Jitspoe
-"Parapraxis"
+Lee David Ash
+Mathieu "Elric" Olivier
+Mephisto
+MirceaKitsune
+MrBougo
+Munyul
+Netzwerg
 NoelCower
-Brain Younds
-Spike
+Parapraxis
 Petithomme
-Tei
-Munyul
-Mathieu "Elric" Olivier
+Q1 Retexturing Project
+Qantourisc
+Ronan
+Sajt
+Shaggy
+Shank
 SomeGuy
-Lee David Ash
-Shank
-FrikaC
-Dustin Geeraert
+Spike
+Spirit
 Steve Vermeulen
-Edgenetwork
-Clinton "Kaziganthe" Freeman
-Jakob "tZork" Markstrom Grohn
-BigMac
-Mephisto
+Supajoe
+Tei
+Tomaz
+Ulrich Galbraith
+Vortex
+Zenex
+dstrek
+lcatlnx
+leileilol
 michaelb
-dstrek
-Netzwerg
-Ulrich Galbraith
-Christian Ice
-FruitieX
-Edward "Ed" Holness
-MirceaKitsune
-Ronan
-Shaggy
-MrBougo
 terencehill

Modified: branches/nexuiz-2.0/data/qcsrc/server/bots.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/bots.qc	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/qcsrc/server/bots.qc	2009-09-05 10:40:32 UTC (rev 7635)
@@ -1255,17 +1255,11 @@
 	return cwp + cwb;
 };
 
-void waypoint_spawnforitem(entity e)
+void waypoint_spawnforitem_force(entity e, vector org)
 {
 	local entity w;
 	local vector org;
 
-	if(!bot_waypoints_for_items)
-		return;
-
-	// Center of entity
-	org = (e.absmax + e.absmin) * 0.5;
-
 	// Fix the waypoint altitude if necessary
 	traceline(org, org + '0 0 -65535', TRUE, e);
 	if(
@@ -1274,10 +1268,6 @@
 	)
 		org_z = trace_endpos_z + PL_MAX_z - PL_MIN_z;
 
-	// TODO: Cleaner solution
-	if(e.classname!="item_flag_team")
-		e.nearestwaypointtimeout = time + 1000000000;
-
 	// don't spawn an item spawnfunc_waypoint if it already exists
 	w = findchain(classname, "waypoint");
 	while (w)
@@ -1301,6 +1291,14 @@
 		w = w.chain;
 	}
 	e.nearestwaypoint = waypoint_spawn(org, org, WAYPOINTFLAG_GENERATED | WAYPOINTFLAG_ITEM);
+}
+
+void waypoint_spawnforitem(entity e)
+{
+	if(!bot_waypoints_for_items)
+		return;
+
+	waypoint_spawnforitem_force(e, e.origin);
 };
 
 void waypoint_spawnforteleporter(entity e, vector destination, float timetaken)
@@ -1756,6 +1754,7 @@
 void() havocbot_role_ctf_offense;
 void navigation_routerating(entity e, float f, float rangebias)
 {
+	entity nwp;
 	if (!e)
 		return;
 
@@ -1852,24 +1851,32 @@
 	//bprint(etos(e));
 	//bprint("\n");
 	// update the cached spawnfunc_waypoint link on a dynamic item entity
-	if (time > e.nearestwaypointtimeout)
+	if(e.classname == "waypoint" && !(e.wpflags & WAYPOINTFLAG_PERSONAL))
 	{
-		e.nearestwaypoint = navigation_findnearestwaypoint(e, TRUE);
+		nwp = e;
+	}
+	else
+	{
+		if (time > e.nearestwaypointtimeout)
+		{
+			e.nearestwaypoint = navigation_findnearestwaypoint(e, TRUE);
 
-		// TODO: Cleaner solution, probably handling this timeout from ctf.qc
-		if(e.classname=="item_flag_team")
-			e.nearestwaypointtimeout = time + 2;
-		else
-			e.nearestwaypointtimeout = time + random() * 3 + 5;
+			// TODO: Cleaner solution, probably handling this timeout from ctf.qc
+			if(e.classname=="item_flag_team")
+				e.nearestwaypointtimeout = time + 2;
+			else
+				e.nearestwaypointtimeout = time + random() * 3 + 5;
+		}
+		nwp = e.nearestwaypoint;
 	}
 
-	//dprint("-- checking ", e.classname, " (with cost ", ftos(e.nearestwaypoint.wpcost), ")\n");
-	if (e.nearestwaypoint)
-	if (e.nearestwaypoint.wpcost < 10000000)
+	//dprint("-- checking ", e.classname, " (with cost ", ftos(nwp.wpcost), ")\n");
+	if (nwp)
+	if (nwp.wpcost < 10000000)
 	{
-		//te_wizspike(e.nearestwaypoint.wpnearestpoint);
-	//	dprint(e.classname, " ", ftos(f), "/(1+", ftos((e.nearestwaypoint.wpcost + vlen(e.origin - e.nearestwaypoint.wpnearestpoint))), "/", ftos(rangebias), ") = ");
-		f = f * rangebias / (rangebias + (e.nearestwaypoint.wpcost + vlen(e.origin - e.nearestwaypoint.wpnearestpoint)));
+		//te_wizspike(nwp.wpnearestpoint);
+	//	dprint(e.classname, " ", ftos(f), "/(1+", ftos((nwp.wpcost + vlen(e.origin - nwp.wpnearestpoint))), "/", ftos(rangebias), ") = ");
+		f = f * rangebias / (rangebias + (nwp.wpcost + vlen(e.origin - nwp.wpnearestpoint)));
 		//if (self.havocbot_role == havocbot_role_ctf_offense)
 		//dprint("considering ", e.classname, " (with rating ", ftos(f), ")\n");
 		//dprint(ftos(f));
@@ -1906,7 +1913,8 @@
 		return TRUE;
 
 	// see if there are waypoints describing a path to the item
-	e = e.nearestwaypoint;
+	if(e.classname != "waypoint" || (e.wpflags & WAYPOINTFLAG_PERSONAL))
+		e = e.nearestwaypoint;
 	if(e == world)
 		return FALSE;
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/ctf.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/ctf.qc	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/qcsrc/server/ctf.qc	2009-09-05 10:40:32 UTC (rev 7635)
@@ -1,6 +1,7 @@
 #define FLAG_MIN (PL_MIN + '0 0 -13')
 #define FLAG_MAX (PL_MAX + '0 0 -13')
 
+.entity basewaypoint;
 .entity sprite;
 entity ctf_worldflaglist; // CTF flags in the map
 .entity ctf_worldflagnext;
@@ -822,7 +823,9 @@
 	// From Spidflisk
 	item_flag_postspawn();
 
-	waypoint_spawnforitem(self);
+	waypoint_spawnforitem_force(self, self.origin);
+	self.nearestwaypointtimeout = 0; // activate waypointing again
+	self.basewaypoint = self.nearestwaypoint;
 
 	WaypointSprite_SpawnFixed("redbase", self.origin + '0 0 37', self, sprite);
 	WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_FLAG, colormapPaletteColor(COLOR_TEAM1 - 1, FALSE));
@@ -927,7 +930,9 @@
 	// From Spidflisk
 	item_flag_postspawn();
 
-	waypoint_spawnforitem(self);
+	waypoint_spawnforitem_force(self, self.origin);
+	self.nearestwaypointtimeout = 0; // activate waypointing again
+	self.basewaypoint = self.nearestwaypoint;
 
 	WaypointSprite_SpawnFixed("bluebase", self.origin + '0 0 37', self, sprite);
 	WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_FLAG, colormapPaletteColor(COLOR_TEAM2 - 1, FALSE));

Modified: branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_world.qc	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_world.qc	2009-09-05 10:40:32 UTC (rev 7635)
@@ -2577,6 +2577,11 @@
 
 void SV_Shutdown()
 {
+	if(gameover > 1) // shutting down already?
+		return;
+
+	gameover = 2; // 2 = server shutting down
+
 	if(world_initialized > 0)
 	{
 		world_initialized = 0;

Modified: branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc	2009-09-05 10:40:32 UTC (rev 7635)
@@ -23,6 +23,7 @@
 .float havocbot_cantfindflag;
 .float havocbot_role_timeout;
 .entity ctf_worldflagnext;
+.entity basewaypoint;
 
 vector havocbot_ctf_middlepoint;
 float havocbot_ctf_middlepoint_radius;
@@ -90,12 +91,6 @@
 
 void havocbot_goalrating_ctf_ourbase(float ratingscale)
 {
-	if not(bot_waypoints_for_items)
-	{
-		havocbot_goalrating_ctf_ourflag(ratingscale);
-		return;
-	}
-
 	local entity head;
 	head = ctf_worldflaglist;
 	while (head)
@@ -107,17 +102,7 @@
 	if not(head)
 		return;
 
-	// dropped_origin is set by ctf code whenever the flag is picked up
-	head = findradius(head.dropped_origin, 100);
-	while(head)
-	{
-		if(head.classname=="waypoint")
-		{
-			navigation_routerating(head, ratingscale, 10000);
-			return;
-		}
-		head=head.chain;
-	}
+	navigation_routerating(head.basewaypoint, ratingscale, 10000);
 };
 
 void havocbot_goalrating_ctf_enemyflag(float ratingscale)
@@ -149,16 +134,7 @@
 	if not(head)
 		return;
 
-	head = findradius(head.dropped_origin, 100);
-	while(head)
-	{
-		if(head.classname=="waypoint")
-		{
-			navigation_routerating(head, ratingscale, 10000);
-			return;
-		}
-		head=head.chain;
-	}
+	navigation_routerating(head.basewaypoint, ratingscale, 10000);
 };
 
 void havocbot_goalrating_ctf_ourstolenflag(float ratingscale)

Modified: branches/nexuiz-2.0/data/qcsrc/server/race.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/race.qc	2009-09-05 10:26:50 UTC (rev 7634)
+++ branches/nexuiz-2.0/data/qcsrc/server/race.qc	2009-09-05 10:40:32 UTC (rev 7635)
@@ -512,8 +512,7 @@
 
 	o = (self.absmin + self.absmax) * 0.5;
 	tracebox(o, PL_MIN, PL_MAX, o - '0 0 1' * (o_z - self.absmin_z), MOVE_NORMAL, self);
-	self.nearestwaypoint = waypoint_spawn(trace_endpos, trace_endpos, WAYPOINTFLAG_GENERATED);
-	self.nearestwaypointtimeout = time + 1000000000;
+	waypoint_spawnforitem_force(self, trace_endpos);
 
 	if(!self.message)
 		self.message = "went backwards";



More information about the nexuiz-commits mailing list