r6006 - in branches/nexuiz-2.0: . data data/models/items data/models/weapons data/qcsrc/menu/nexuiz data/qcsrc/server misc/mediasource/models

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Feb 27 00:53:55 EST 2009


Author: div0
Date: 2009-02-27 00:53:52 -0500 (Fri, 27 Feb 2009)
New Revision: 6006

Modified:
   branches/nexuiz-2.0/.patchsets
   branches/nexuiz-2.0/data/defaultNexuiz.cfg
   branches/nexuiz-2.0/data/models/items/a_rockets.md3
   branches/nexuiz-2.0/data/models/weapons/w_electro.zym
   branches/nexuiz-2.0/data/models/weapons/w_uzi.zym
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c
   branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc
   branches/nexuiz-2.0/data/qcsrc/server/scores.qc
   branches/nexuiz-2.0/data/qcsrc/server/vote.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_common.qc
   branches/nexuiz-2.0/misc/mediasource/models/a_rockets.smd.zip
Log:
r5992 | m0rfar | 2009-02-26 19:51:09 +0100 (Thu, 26 Feb 2009) | 1 line
Fixed rocket ammo by ai. It's straight and touches the ground.
r5993 | m0rfar | 2009-02-26 21:27:14 +0100 (Thu, 26 Feb 2009) | 1 line
Changed the "See help..." messages to "See 'vhelp'..." when calling a vote fails. This is abit more userfriendly.
r5994 | m0rfar | 2009-02-26 21:48:52 +0100 (Thu, 26 Feb 2009) | 1 line
a typo
r5995 | mand1nga | 2009-02-26 22:38:40 +0100 (Thu, 26 Feb 2009) | 3 lines
Bots: Explained some bots cvars. 
Increased the priority of Nexgun for close range until I figure out a better aiming configuration matching new default physics.
r5996 | m0rfar | 2009-02-26 22:42:31 +0100 (Thu, 26 Feb 2009) | 1 line
removed the "could not load texture "null"" message on two zym models. hex edited by Ronan. seems to work fine.
r5997 | mand1nga | 2009-02-27 03:58:37 +0100 (Fri, 27 Feb 2009) | 2 lines
Slightly better bot aiming
r5998 | avirox | 2009-02-27 05:29:57 +0100 (Fri, 27 Feb 2009) | 3 lines
- When no origin brush is present, spawn the .mdl_dead on the lowest z axis of the original brush instead of dead center
PS. mand1nga owes whoever reaches commit #6000 a beer
r5999 | avirox | 2009-02-27 05:37:20 +0100 (Fri, 27 Feb 2009) | 1 line
- Allow func_breakable to use .anglesjitter (and anglejitter) so that we can have objects like barrels and crates at random positions as well
r6000 | div0 | 2009-02-27 06:18:57 +0100 (Fri, 27 Feb 2009) | 2 lines
try to fix exit decal of ballistic bulletsr6002 | div0 | 2009-02-27 06:43:38 +0100 (Fri, 27 Feb 2009) | 2 lines
support g_full_getstatus_response by menu QC
r6003 | div0 | 2009-02-27 06:45:09 +0100 (Fri, 27 Feb 2009) | 2 lines
remove the team number from the fullstatus
r6004 | div0 | 2009-02-27 06:48:53 +0100 (Fri, 27 Feb 2009) | 2 lines
mark spectators as -666 if using fullstatus :P
r6005 | div0 | 2009-02-27 06:51:13 +0100 (Fri, 27 Feb 2009) | 2 lines
func_breakable needs no suport for anglesjitter etc. - the support for it is done in SV_OnEntityPreSpawnFunction and is handled for ANY classname!

Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets	2009-02-27 05:51:13 UTC (rev 6005)
+++ branches/nexuiz-2.0/.patchsets	2009-02-27 05:53:52 UTC (rev 6006)
@@ -1,2 +1,2 @@
 master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-5949,5952-5976,5979-5981,5989-5989
+revisions_applied = 1-5949,5952-5976,5979-5981,5989-5989,5992-6000,6002-6005

Modified: branches/nexuiz-2.0/data/defaultNexuiz.cfg
===================================================================
--- branches/nexuiz-2.0/data/defaultNexuiz.cfg	2009-02-27 05:51:13 UTC (rev 6005)
+++ branches/nexuiz-2.0/data/defaultNexuiz.cfg	2009-02-27 05:53:52 UTC (rev 6006)
@@ -337,26 +337,26 @@
 seta skill_auto 0	"when 1, \"skill\" gets adjusted to match the best player on the map"
 // general bot AI cvars
 set bot_ai_thinkinterval 0.05
-set bot_ai_strategyinterval 5
-set bot_ai_enemydetectioninterval 0.5
+set bot_ai_strategyinterval 2 "How often a new objective is chosen"
+set bot_ai_enemydetectioninterval 0.5 "How often bots pick a new target"
 set bot_ai_dodgeupdateinterval 0.1
-set bot_ai_chooseweaponinterval 0.3
+set bot_ai_chooseweaponinterval 0.3 "How often the weapon selection will be evaluated"
 set bot_ai_dangerdetectioninterval 0.1
 set bot_ai_dangerdetectionupdates 64
-set bot_ai_aimskill_blendrate 2
+set bot_ai_aimskill_blendrate 2	"How much correction is made to aim at the target"
 set bot_ai_aimskill_fixedrate 15
 set bot_ai_aimskill_firetolerance_distdegrees 180
-set bot_ai_aimskill_firetolerance_mindegrees 2
-set bot_ai_aimskill_firetolerance_maxdegrees 45
-set bot_ai_aimskill_mouse 1
-set bot_ai_keyboard_distance 250
+set bot_ai_aimskill_firetolerance_mindegrees 2 "Minimum angle tolerance. Used on large distances"
+set bot_ai_aimskill_firetolerance_maxdegrees 60 "Maximum firing angle. Used on close range"
+set bot_ai_aimskill_mouse 1 "How much of the aiming filters are applied"
+set bot_ai_keyboard_distance 250 "Keyboard emulation is disabled after this distance to the goal"
 set bot_ai_keyboard_treshold 0.57
-set bot_ai_aimskill_offset 1
-set bot_ai_aimskill_think 1
+set bot_ai_aimskill_offset 0.3 "Amount of error induced to the bots aim"
+set bot_ai_aimskill_think 1 "Aiming velocity. Use values below 1 for slower aiming"
 set bot_ai_custom_weapon_priority_distances "300 850"	"Define close and far distances in any order. Based on the distance to the enemy bots will choose different weapons"
 set bot_ai_custom_weapon_priority_far "11 7 15 14 4 5 8 13 6 1 3 9 2"	"Desired weapons for far distances ordered by priority"
 set bot_ai_custom_weapon_priority_mid "11 9 4 5 3 7 15 14 6 13 8 2 1"	"Desired weapons for middle distances ordered by priority"
-set bot_ai_custom_weapon_priority_close "11 3 13 14 8 6 4 2 5 7 15 1"	"Desired weapons for close distances ordered by priority"
+set bot_ai_custom_weapon_priority_close "11 7 3 13 14 8 6 4 2 5 15 1"	"Desired weapons for close distances ordered by priority"
 set bot_ai_weapon_combo 1	"Enable bots to do weapon combos"
 set bot_ai_weapon_combo_threshold 0.3	"Try to make a combo N seconds after the last attack"
 set bot_ai_friends_aware_pickup_radius "500"	"Bots will not pickup items if a team mate is this distance near the item"
@@ -366,16 +366,16 @@
 set bot_ai_bunnyhop_stopdistance 220 "Stop jumping after reaching this distance to the goal"
 set bot_ai_bunnyhop_firstjumpdelay 0.5 "Start running to the goal only if it was seen for more than N seconds"
 // Better don't touch these, there are hard to tweak!
-set bot_ai_aimskill_order_mix_1st 0.01
-set bot_ai_aimskill_order_mix_2nd 0.1
-set bot_ai_aimskill_order_mix_3th 0.01
-set bot_ai_aimskill_order_mix_4th 0.05
-set bot_ai_aimskill_order_mix_5th 0.01
-set bot_ai_aimskill_order_filter_1st 0.2
-set bot_ai_aimskill_order_filter_2nd 0.2
-set bot_ai_aimskill_order_filter_3th 0.05
-set bot_ai_aimskill_order_filter_4th 0.25
-set bot_ai_aimskill_order_filter_5th 0.3
+set bot_ai_aimskill_order_mix_1st 0.01 "Amount of the 1st filter output to apply to the aiming angle"
+set bot_ai_aimskill_order_mix_2nd 0.1 "Amount of the 1st filter output to apply to the aiming angle"
+set bot_ai_aimskill_order_mix_3th 0.01 "Amount of the 1st filter output to apply to the aiming angle"
+set bot_ai_aimskill_order_mix_4th 0.05 "Amount of the 1st filter output to apply to the aiming angle"
+set bot_ai_aimskill_order_mix_5th 0.01 "Amount of the 1st filter output to apply to the aiming angle"
+set bot_ai_aimskill_order_filter_1st 0.4 "Position filter"
+set bot_ai_aimskill_order_filter_2nd 0.4 "Movement filter"
+set bot_ai_aimskill_order_filter_3th 0.2 "Acceleration filter"
+set bot_ai_aimskill_order_filter_4th 0.4 "Position prediction filter. Used rarely"
+set bot_ai_aimskill_order_filter_5th 0.5 "Movement prediction filter. Used rarely"
 
 // waypoint editor enable
 set g_waypointeditor 0

Modified: branches/nexuiz-2.0/data/models/items/a_rockets.md3
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/weapons/w_electro.zym
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/weapons/w_uzi.zym
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c	2009-02-27 05:51:13 UTC (rev 6005)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c	2009-02-27 05:53:52 UTC (rev 6006)
@@ -116,6 +116,18 @@
 	s = me.getPlayerList(me, i, PLAYERPARM_NAME);
 	score = me.getPlayerList(me, i, PLAYERPARM_SCORE);
 
+	if(substring(score, strlen(score) - 10, 10) == ":spectator")
+	{
+		score = "-666";
+	}
+	else
+	{
+		if((t = strstrofs(score, ":", 0)) >= 0)
+			score = substring(score, 0, t);
+		if((t = strstrofs(score, ",", 0)) >= 0)
+			score = substring(score, 0, t);
+	}
+
 	s = draw_TextShortenToWidth(s, (me.columnNameSize / me.realFontSize_x), 1);
 	score = draw_TextShortenToWidth(score, me.columnScoreSize / me.realFontSize_x, 0);
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc	2009-02-27 05:51:13 UTC (rev 6005)
+++ branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc	2009-02-27 05:53:52 UTC (rev 6006)
@@ -67,12 +67,17 @@
 
 void func_breakable_look_destroyed()
 {
+	local float floor_z;
+	
 	if(self.mdl_dead == "")
 		self.model = "";
 	else {
 		setmodel(self, self.mdl_dead);
-		if (self.origin == '0 0 0')		// probably no origin brush, so don't spawn in the middle of the map..
+		if (self.origin == '0 0 0')	{	// probably no origin brush, so don't spawn in the middle of the map..
+			floor_z = self.absmin_z;
 			self.origin = (self.absmax+self.absmin)*.5);
+			self.origin_z = floor_z;
+		}
 	}
 		
 	self.solid = SOLID_NOT;

Modified: branches/nexuiz-2.0/data/qcsrc/server/scores.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/scores.qc	2009-02-27 05:51:13 UTC (rev 6005)
+++ branches/nexuiz-2.0/data/qcsrc/server/scores.qc	2009-02-27 05:53:52 UTC (rev 6006)
@@ -450,9 +450,7 @@
 				s = strcat(s, ":human");
 			else
 				s = strcat(s, ":bot");
-			if(p.classname == "player" || g_arena || g_lms)
-				s = strcat(s, ":", ftos(p.team));
-			else
+			if(p.classname != "player" && !g_arena && !g_lms)
 				s = strcat(s, ":spectator");
 		}
 		else

Modified: branches/nexuiz-2.0/data/qcsrc/server/vote.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/vote.qc	2009-02-27 05:51:13 UTC (rev 6005)
+++ branches/nexuiz-2.0/data/qcsrc/server/vote.qc	2009-02-27 05:53:52 UTC (rev 6006)
@@ -144,11 +144,11 @@
 	float argc;
 	argc = tokenize_sane(s);
 	if(argv(0) == "help") {
-		print_to(e, "  vote COMMANDS ARGUMENTS. See 'vote help' for more info.");
+		print_to(e, "  vote COMMANDS ARGUMENTS. See 'vhelp' for more info.");
 		return TRUE;
 	} else if(argv(0) == "vote") {
 		if(argv(1) == "") {
-			print_to(e, "^1You have to supply a vote command. See help for more info.");
+			print_to(e, "^1You have to supply a vote command. See 'vhelp' for more info.");
 		} else if(argv(1) == "help") {
 			VoteHelp(e);
 		} else if(argv(1) == "status") {
@@ -171,12 +171,12 @@
 					local string vote;
 					vote = VoteParse(s, argc);
 					if(vote == "") {
-						print_to(e, "^1Your vote is empty. See help for more info.");
+						print_to(e, "^1Your vote is empty. See 'vhelp' for more info.");
 					} else if(e
 						&& time < e.vote_next) {
 							print_to(e, strcat("^1You have to wait ^2", ftos(e.vote_next - time), "^1 seconds before you can again call a vote."));
 					} else if(VoteCheckNasty(vote)) {
-						print_to(e, "Syntax error in command. See help for more info.");
+						print_to(e, "Syntax error in command. See 'vhelp' for more info.");
 					} else if(RemapVote(vote, "vcall", e)) {
 						votecalledvote = strzone(RemapVote_vote);
 						votecalledvote_display = strzone(RemapVote_display);
@@ -194,7 +194,7 @@
 						VoteCount(); // needed if you are the only one
 						Nagger_VoteChanged();
 					} else {
-						print_to(e, "^1This vote is not ok. See help for more info.");
+						print_to(e, "^1This vote is not ok. See 'vhelp' for more info.");
 					}
 				}
 			} else {
@@ -241,19 +241,19 @@
 				local string dovote;
 				dovote = VoteParse(s, argc);
 				if(dovote == "") {
-					print_to(e, "^1Your command was empty. See help for more info.");
+					print_to(e, "^1Your command was empty. See 'vhelp' for more info.");
 				} else if(VoteCheckNasty(dovote)) {
-					print_to(e, "Syntax error in command. See help for more info.");
+					print_to(e, "Syntax error in command. See 'vhelp' for more info.");
 				} else if(RemapVote(dovote, "vdo", e)) { // strcat seems to be necessary
 					bprint("\{1}^2* ^3", VoteNetname(e), "^2 used his ^3master^2 status to do \"^2", RemapVote_display, "^2\".\n");
 					if(cvar("sv_eventlog"))
 						GameLogEcho(strcat(":vote:vdo:", ftos(e.playerid), ":", RemapVote_display));
 					localcmd(strcat(RemapVote_vote, "\n"));
 				} else {
-					print_to(e, "^1This command is not ok. See help for more info.");
+					print_to(e, "^1This command is not ok. See 'vhelp' for more info.");
 				}
 			} else {
-				print_to(e, "^1You are NOT a master.  You might need to login or vote to become master first. See help for more info.");
+				print_to(e, "^1You are NOT a master.  You might need to login or vote to become master first. See 'vhelp' for more info.");
 			}
 		} else if(argv(1) == "login") {
 			local string masterpwd;

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_common.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_common.qc	2009-02-27 05:51:13 UTC (rev 6005)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_common.qc	2009-02-27 05:53:52 UTC (rev 6006)
@@ -168,7 +168,7 @@
 	{
 		float f;
 		f = pow(bound(0, vlen(self.velocity) / vlen(self.oldvelocity), 1), 2); // energy multiplier
-		Damage_DamageInfo(self.origin, 0, 0, 0, self.dmg_force * normalize(self.velocity) * f, self.projectiledeathtype);
+		Damage_DamageInfo(self.origin, 0, 0, 0, self.dmg_force * normalize(self.velocity) * -f, self.projectiledeathtype);
 	}
 	
 	UpdateCSQCProjectile(self);

Modified: branches/nexuiz-2.0/misc/mediasource/models/a_rockets.smd.zip
===================================================================
(Binary files differ)




More information about the nexuiz-commits mailing list