r5742 - in trunk/data/qcsrc: client server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Feb 4 05:37:18 EST 2009


Author: div0
Date: 2009-02-04 05:37:18 -0500 (Wed, 04 Feb 2009)
New Revision: 5742

Modified:
   trunk/data/qcsrc/client/Main.qc
   trunk/data/qcsrc/server/cl_weaponsystem.qc
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/gamecommand.qc
Log:
shotorg adjuster: make the client send the shot origin to the server, so the weapons all shoot with the currently "adjusted" shot origin (for testing)


Modified: trunk/data/qcsrc/client/Main.qc
===================================================================
--- trunk/data/qcsrc/client/Main.qc	2009-02-04 10:23:14 UTC (rev 5741)
+++ trunk/data/qcsrc/client/Main.qc	2009-02-04 10:37:18 UTC (rev 5742)
@@ -374,7 +374,7 @@
 	precache_model("models/shotorg_adjuster.md3");
 	setmodel(debug_shotorg, "models/shotorg_adjuster.md3");
 	debug_shotorg.scale = 3;
-	debug_shotorg.alpha = 0.8;
+	debug_shotorg.alpha = 0.7;
 	debug_shotorg.view_ofs = '25 8 -8';
 }
 
@@ -427,6 +427,7 @@
 		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") {
 		if(!debug_shotorg)
@@ -434,6 +435,7 @@
 		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") {
 		if(!debug_shotorg)
@@ -441,6 +443,7 @@
 		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") {
 		if(!debug_shotorg)
@@ -448,6 +451,7 @@
 		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") {
 		if(debug_shotorg)
@@ -456,6 +460,7 @@
 			remove(debug_shotorg);
 			debug_shotorg = world;
 		}
+		localcmd("sv_cmd debug_shotorg\n");
 	}
 	else
 	{

Modified: trunk/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- trunk/data/qcsrc/server/cl_weaponsystem.qc	2009-02-04 10:23:14 UTC (rev 5741)
+++ trunk/data/qcsrc/server/cl_weaponsystem.qc	2009-02-04 10:37:18 UTC (rev 5742)
@@ -39,6 +39,9 @@
 	traceline(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * MAX_SHOT_DISTANCE, MOVE_NOMONSTERS, self);
 	trueaimpoint = trace_endpos;
 
+	if(debug_shotorg != '0 0 0')
+		vecs = debug_shotorg;
+
 	if (cvar("g_shootfromeye"))
 		w_shotorg = ent.origin + ent.view_ofs;
 	else if (cvar("g_shootfromcenter"))

Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2009-02-04 10:23:14 UTC (rev 5741)
+++ trunk/data/qcsrc/server/defs.qh	2009-02-04 10:37:18 UTC (rev 5742)
@@ -531,3 +531,5 @@
 .void() reset2; // if set, an entity is reset using this (after calling ALL the reset functions for other entities)
 
 void ClientData_Touch(entity e);
+
+vector debug_shotorg; // if non-zero, overrides the shot origin of all weapons

Modified: trunk/data/qcsrc/server/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/server/gamecommand.qc	2009-02-04 10:23:14 UTC (rev 5741)
+++ trunk/data/qcsrc/server/gamecommand.qc	2009-02-04 10:37:18 UTC (rev 5742)
@@ -826,6 +826,12 @@
 		return;
 	}
 
+	if(argv(0) == "debug_shotorg")
+	{
+		debug_shotorg = stov(argv(1));
+		return;
+	}
+
 	print("Invalid command. For a list of supported commands, try sv_cmd help.\n");
 }
 




More information about the nexuiz-commits mailing list