From: Mario Date: Tue, 5 May 2015 13:11:25 +0000 (+1000) Subject: Fix some minor issues with crouching and looking up/down X-Git-Tag: xonotic-v0.8.1~38^2~7 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=8496035b49ebcf0e25cfc9650798b12727bcd370;p=xonotic%2Fxonotic-data.pk3dir.git Fix some minor issues with crouching and looking up/down --- diff --git a/qcsrc/common/physics.qc b/qcsrc/common/physics.qc index 32ae72f42..0e14da749 100644 --- a/qcsrc/common/physics.qc +++ b/qcsrc/common/physics.qc @@ -1581,6 +1581,8 @@ void PM_Main() self.movement = PHYS_INPUT_MOVEVALUES(self); + vector oldv_angle = self.v_angle; + vector oldangles = self.angles; // we need to save these as they're abused by other code self.v_angle = PHYS_INPUT_ANGLES(self); self.angles = PHYS_WORLD_ANGLES(self); @@ -1818,6 +1820,11 @@ void PM_Main() self.lastflags = self.flags; self.lastclassname = self.classname; + +#ifdef CSQC + self.v_angle = oldv_angle; + self.angles = oldangles; +#endif } #ifdef SVQC diff --git a/qcsrc/csqcmodellib/cl_player.qc b/qcsrc/csqcmodellib/cl_player.qc index 76ee4124a..12ffe5b2f 100644 --- a/qcsrc/csqcmodellib/cl_player.qc +++ b/qcsrc/csqcmodellib/cl_player.qc @@ -189,7 +189,7 @@ void CSQCPlayer_PredictTo(float endframe, float apply_error) input_angles = view_angles; } -float CSQCPlayer_IsLocalPlayer() +bool CSQCPlayer_IsLocalPlayer() { return (self == csqcplayer); } diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index ee8520ca7..d3bb7362e 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -2448,8 +2448,8 @@ void PlayerPreThink (void) if (!self.crouch) { self.crouch = true; - self.view_ofs = PL_CROUCH_VIEW_OFS; - setsize (self, PL_CROUCH_MIN, PL_CROUCH_MAX); + self.view_ofs = self.stat_pl_crouch_view_ofs; + setsize (self, self.stat_pl_crouch_min, self.stat_pl_crouch_max); // setanim(self, self.anim_duck, false, true, true); // this anim is BROKEN anyway } } @@ -2457,12 +2457,12 @@ void PlayerPreThink (void) { if (self.crouch) { - tracebox(self.origin, PL_MIN, PL_MAX, self.origin, false, self); + tracebox(self.origin, self.stat_pl_min, self.stat_pl_max, self.origin, false, self); if (!trace_startsolid) { self.crouch = false; - self.view_ofs = PL_VIEW_OFS; - setsize (self, PL_MIN, PL_MAX); + self.view_ofs = self.stat_pl_view_ofs; + setsize (self, self.stat_pl_min, self.stat_pl_max); } } }