From a78ab8d0142c59698d90be9fd3facd11d0a60916 Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Mon, 2 May 2011 04:39:09 +0300 Subject: [PATCH] Fix view offset with prey at different sizes. --- data/qcsrc/server/cl_client.qc | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index 675c757d..2ae048db 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -2251,21 +2251,29 @@ void ApplyHealthSize() if not(cvar("g_healthsize")) return; - self.scale = self.health / 100; // ranges between 0 and 100 - - // The following code sets the bounding box to match the player's size. - // It is currently disabled because of issues with engine movement prediction (cl_movement). - // The engine expects the bounding box to be default size, and changing it will cause glitches. - // This code may be enabled once the engine has the ability to use different bbox sizes for movement prediction. - if(self.crouch) + if(self.predator.classname == "player" || self.fakeprey) { - //setsize (self, PL_CROUCH_MIN * self.scale, PL_CROUCH_MAX * self.scale); - self.view_ofs = PL_CROUCH_VIEW_OFS * self.scale; + self.view_ofs = PL_CROUCH_VIEW_OFS * self.predator.scale; + self.scale = 0; } else { - //setsize (self, PL_MIN * self.scale, PL_MAX * self.scale); - self.view_ofs = PL_VIEW_OFS * self.scale; + self.scale = self.health / 100; // ranges between 0 and 100 + + // The following code sets the bounding box to match the player's size. + // It is currently disabled because of issues with engine movement prediction (cl_movement). + // The engine expects the bounding box to be default size, and changing it will cause glitches. + // This code may be enabled once the engine has the ability to use different bbox sizes for movement prediction. + if(self.crouch) + { + //setsize (self, PL_CROUCH_MIN * self.scale, PL_CROUCH_MAX * self.scale); + self.view_ofs = PL_CROUCH_VIEW_OFS * self.scale; + } + else + { + //setsize (self, PL_MIN * self.scale, PL_MAX * self.scale); + self.view_ofs = PL_VIEW_OFS * self.scale; + } } } -- 2.39.2