From 2067c9b80e7dda2de5eb4e289e6d2e62366ebc63 Mon Sep 17 00:00:00 2001 From: div0 Date: Sun, 11 Oct 2009 11:33:31 +0000 Subject: [PATCH] show aiming direction on player models using a REALLY stupid way (cvar controlled) git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8094 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/defaultNexuiz.cfg | 3 +++ data/qcsrc/server/cl_weaponsystem.qc | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/data/defaultNexuiz.cfg b/data/defaultNexuiz.cfg index f02079cb8..0c57a39d3 100644 --- a/data/defaultNexuiz.cfg +++ b/data/defaultNexuiz.cfg @@ -1655,4 +1655,7 @@ seta cl_noantilag 0 "turn this on if you believe antilag is bad" r_shadow_shadowmapping 1 +set sv_pitch_min -35 "minimum aiming angle for shooting direction display of the gun" +set sv_pitch_max 35 "maximum aiming angle for shooting direction display of the gun" + set rescan_pending 0 "set to 1 to schedule a fs_rescan at the end of this match" diff --git a/data/qcsrc/server/cl_weaponsystem.qc b/data/qcsrc/server/cl_weaponsystem.qc index 2d6bfce55..8167ad956 100644 --- a/data/qcsrc/server/cl_weaponsystem.qc +++ b/data/qcsrc/server/cl_weaponsystem.qc @@ -737,6 +737,7 @@ void CL_Weaponentity_Think() void CL_ExteriorWeaponentity_Think() { float tag_found; + vector ang; self.nextthink = time; if (self.owner.exteriorweaponentity != self) { @@ -777,6 +778,26 @@ void CL_ExteriorWeaponentity_Think() else self.alpha = 1; + ang_x = bound(cvar("sv_pitch_min"), self.owner.v_angle_x, cvar("sv_pitch_max")); + ang_y = 0; + ang_z = 0; + +#ifdef OUR_MODELS_ARE_SANE + ang_x = -/* don't ask */ang_x; + self.angles = ang; +#else + ang_y = self.owner.v_angle_y; + makevectors(ang); + var vector v = v_forward; + gettaginfo(self.tag_entity, self.tag_index); + // untransform v according to this coordinate space + vector w; + w_x = v_forward * v; + w_y = -v_right * v; + w_z = v_up * v; + self.angles = vectoangles(w); +#endif + self.colormap = self.owner.colormap; }; -- 2.39.2