r5752 - in trunk/data: . qcsrc/client qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Feb 5 03:41:16 EST 2009


Author: div0
Date: 2009-02-05 03:41:16 -0500 (Thu, 05 Feb 2009)
New Revision: 5752

Modified:
   trunk/data/qcsrc/client/Main.qc
   trunk/data/qcsrc/client/miscfunctions.qc
   trunk/data/qcsrc/client/waypointsprites.qc
   trunk/data/qcsrc/server/gamecommand.qc
   trunk/data/shotorigin_adjuster.cfg
Log:
improved the shot origin adjuster:
- now can load bone positions (in case this works in DP)
- displays coordinates above the adjuster


Modified: trunk/data/qcsrc/client/Main.qc
===================================================================
--- trunk/data/qcsrc/client/Main.qc	2009-02-04 21:31:51 UTC (rev 5751)
+++ trunk/data/qcsrc/client/Main.qc	2009-02-05 08:41:16 UTC (rev 5752)
@@ -364,17 +364,37 @@
 	self.angles_x = -self.angles_x;
 	R_AddEntity(self);
 }
+void ShotOrg_Draw2D()
+{
+	vector coord2d_topleft, coord2d_topright, coord2d;
+	string s;
+	vector fs;
 
+	s = vtos(self.view_ofs);
+	s = substring(s, 1, strlen(s) - 2);
+	if(tokenize_sane(s) == 3)
+		s = strcat(argv(0), " ", argv(1), " ", argv(2));
+
+	coord2d_topleft = project_3d_to_2d(self.origin + view_up * 4 - view_right * 4);
+	coord2d_topright = project_3d_to_2d(self.origin + view_up * 4 + view_right * 4);
+
+	fs = '1 1 0' * ((coord2d_topright_x - coord2d_topleft_x) / stringwidth(s, FALSE));
+
+	coord2d = coord2d_topleft - '0 1 0' * fs_y;
+	coord2d_z = 0;
+	drawstring(coord2d, s, fs, '1 1 1', 1, 0);
+}
+
 void ShotOrg_Spawn()
 {
 	debug_shotorg = spawn();
 	debug_shotorg.draw = ShotOrg_Draw;
+	debug_shotorg.draw2d = ShotOrg_Draw2D;
 	debug_shotorg.renderflags = RF_VIEWMODEL;
 	debug_shotorg.effects = EF_FULLBRIGHT;
 	precache_model("models/shotorg_adjuster.md3");
 	setmodel(debug_shotorg, "models/shotorg_adjuster.md3");
-	debug_shotorg.scale = 3;
-	debug_shotorg.alpha = 0.7;
+	debug_shotorg.scale = 2;
 	debug_shotorg.view_ofs = '25 8 -8';
 }
 
@@ -426,7 +446,6 @@
 			ShotOrg_Spawn();
 		else
 			debug_shotorg.view_ofs = debug_shotorg.view_ofs + stov(argv(1));
-		print(vtos(debug_shotorg.view_ofs), "\n");
 		localcmd("sv_cmd debug_shotorg \"", vtos(debug_shotorg.view_ofs), "\"\n");
 	}
 	else if(cmd == "shotorg_movez") {
@@ -434,7 +453,6 @@
 			ShotOrg_Spawn();
 		else
 			debug_shotorg.view_ofs = debug_shotorg.view_ofs + stof(argv(1)) * (debug_shotorg.view_ofs * (1 / debug_shotorg.view_ofs_x)); // closer/farther, same xy pos
-		print(vtos(debug_shotorg.view_ofs), "\n");
 		localcmd("sv_cmd debug_shotorg \"", vtos(debug_shotorg.view_ofs), "\"\n");
 	}
 	else if(cmd == "shotorg_set") {
@@ -442,7 +460,6 @@
 			ShotOrg_Spawn();
 		else
 			debug_shotorg.view_ofs = stov(argv(1));
-		print(vtos(debug_shotorg.view_ofs), "\n");
 		localcmd("sv_cmd debug_shotorg \"", vtos(debug_shotorg.view_ofs), "\"\n");
 	}
 	else if(cmd == "shotorg_setz") {
@@ -450,7 +467,6 @@
 			ShotOrg_Spawn();
 		else
 			debug_shotorg.view_ofs = debug_shotorg.view_ofs * (stof(argv(1)) / debug_shotorg.view_ofs_x); // closer/farther, same xy pos
-		print(vtos(debug_shotorg.view_ofs), "\n");
 		localcmd("sv_cmd debug_shotorg \"", vtos(debug_shotorg.view_ofs), "\"\n");
 	}
 	else if(cmd == "shotorg_end") {

Modified: trunk/data/qcsrc/client/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/client/miscfunctions.qc	2009-02-04 21:31:51 UTC (rev 5751)
+++ trunk/data/qcsrc/client/miscfunctions.qc	2009-02-05 08:41:16 UTC (rev 5752)
@@ -395,3 +395,16 @@
 	else
 		return stof(s);
 }
+
+vector project_3d_to_2d(vector vec)
+{ 
+	vec = cs_project(vec);
+	if(cs_project_is_b0rked)
+	{
+		vec_x += vid_width / 2;
+		vec_y += vid_height / 2;
+	}
+	vec_x *= vid_conwidth / vid_width;
+	vec_y *= vid_conheight / vid_height;
+	return vec;
+}

Modified: trunk/data/qcsrc/client/waypointsprites.qc
===================================================================
--- trunk/data/qcsrc/client/waypointsprites.qc	2009-02-04 21:31:51 UTC (rev 5751)
+++ trunk/data/qcsrc/client/waypointsprites.qc	2009-02-05 08:41:16 UTC (rev 5752)
@@ -1,16 +1,3 @@
-vector project_3d_to_2d(vector vec)
-{ 
-	vec = cs_project(vec);
-	if(cs_project_is_b0rked)
-	{
-		vec_x += vid_width / 2;
-		vec_y += vid_height / 2;
-	}
-	vec_x *= vid_conwidth / vid_width;
-	vec_y *= vid_conheight / vid_height;
-	return vec;
-}
-
 float waypointsprite_initialized;
 float waypointsprite_fadedistance;
 float waypointsprite_normdistance;

Modified: trunk/data/qcsrc/server/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/server/gamecommand.qc	2009-02-04 21:31:51 UTC (rev 5751)
+++ trunk/data/qcsrc/server/gamecommand.qc	2009-02-05 08:41:16 UTC (rev 5752)
@@ -577,8 +577,8 @@
 void GameCommand(string command)
 {
 	float argc;
-	entity client;
-	float entno;
+	entity client, e;
+	float entno, i;
 	argc = tokenize_sane(command);
 
 	if(argv(0) == "help" || argc == 0)
@@ -621,7 +621,6 @@
 
 	if(argv(0) == "make_mapinfo")
 	{
-		entity e;
 		e = spawn();
 		e.classname = "make_mapinfo";
 		e.think = make_mapinfo_Think;
@@ -832,6 +831,29 @@
 		return;
 	}
 
+	if(argv(0) == "gettaginfo") if(argc >= 4)
+	{
+		e = spawn();
+		if(argv(1) == "w")
+			setmodel(e, (nextent(world)).weaponentity.model);
+		else
+			setmodel(e, argv(1));
+		e.frame = stof(argv(2));
+		i = gettagindex(e, argv(3));
+		if(i)
+		{
+			print("model ", e.model, " frame ", ftos(e.frame), " tag ", argv(3));
+			print(" index = ", ftos(i));
+			print(" vector = ", vtos(gettaginfo(e, i)), "\n");
+			if(argc >= 6)
+				localcmd(strcat(argv(4), vtos(gettaginfo(e, i)), argv(5), "\n"));
+		}
+		else
+			print("bone not found\n");
+		remove(e);
+		return;
+	}
+
 	print("Invalid command. For a list of supported commands, try sv_cmd help.\n");
 }
 

Modified: trunk/data/shotorigin_adjuster.cfg
===================================================================
--- trunk/data/shotorigin_adjuster.cfg	2009-02-04 21:31:51 UTC (rev 5751)
+++ trunk/data/shotorigin_adjuster.cfg	2009-02-05 08:41:16 UTC (rev 5752)
@@ -20,4 +20,8 @@
 
 bind KP_DIVIDE "cl_cmd shotorg_end"
 
+bind KP_ENTER "commandmode _load_shotorigin_from_bone"
+
+alias _load_shotorigin_from_bone "sv_cmd gettaginfo w 0 $1 \"cl_cmd shotorg_set \\\"\" \"\\\"\""
+
 prvm_edictset server 1 alpha 0.8




More information about the nexuiz-commits mailing list