From 707d1eb842e207b926673310b0868cad06633777 Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Tue, 3 May 2011 02:05:23 +0300 Subject: [PATCH] Base prey view height on the size difference between them and their predator. --- data/defaultVT.cfg | 1 + data/qcsrc/server/cl_client.qc | 2 +- data/qcsrc/server/constants.qh | 2 +- data/qcsrc/server/vore.qc | 13 +++++++++---- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/data/defaultVT.cfg b/data/defaultVT.cfg index 800a4c3c..a57f4128 100644 --- a/data/defaultVT.cfg +++ b/data/defaultVT.cfg @@ -1552,6 +1552,7 @@ set g_healthsize_movementfactor 0.5 "Amount by which player size affects jumping set g_healthsize_exteriorweapon_scalefactor 1 "Amount by which player size resizes the exterior weapon model" set g_healthsize_weapon_scalefactor 1 "Amount by which player size resizes the view weapon model" set g_healthsize_weapon_scalefactor_pos 10 "Amount by which the view model is moved vertically based on player size" +set g_healthsize_vore_pos 4 "Amount by which view height changes for prey, based on the size difference between them and their predator" set g_healthsize_min 50 "Player size may not drop below this amount of health" set g_healthsize_max 150 "Player size may not grow past this amount of health" diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index 7bab8694..cc858f40 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -2253,7 +2253,7 @@ void ApplyHealthSize() if not(cvar("g_healthsize")) return; - self.scale = bound(cvar("g_healthsize_min"), self.health, cvar("g_healthsize_max")) / cvar("g_healthsize"); + self.scale = bound(cvar("g_healthsize_min"), self.health, cvar("g_healthsize_max")) / cvar("g_healthsize"); // 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). diff --git a/data/qcsrc/server/constants.qh b/data/qcsrc/server/constants.qh index 4452d487..4248ff5b 100644 --- a/data/qcsrc/server/constants.qh +++ b/data/qcsrc/server/constants.qh @@ -130,7 +130,7 @@ vector PL_MAX = '16 16 45'; vector PL_CROUCH_VIEW_OFS = '0 0 15'; vector PL_CROUCH_MIN = '-16 -16 -24'; vector PL_CROUCH_MAX = '16 16 25'; -vector PL_PREY_VIEW_OFS = '0 0 15'; +vector PL_PREY_VIEW_OFS = '0 0 35'; // Sajt - added these, just as constants. Not sure how you want them actually put in the game, but I just // did this so at least they worked diff --git a/data/qcsrc/server/vore.qc b/data/qcsrc/server/vore.qc index d755ddf5..b2fa9e60 100644 --- a/data/qcsrc/server/vore.qc +++ b/data/qcsrc/server/vore.qc @@ -146,11 +146,16 @@ void Vore_CameraEffect_Apply() else self.cameraeffect_current = self.cameraeffect_target; + self.view_ofs_x = PL_PREY_VIEW_OFS_x; + self.view_ofs_y = PL_PREY_VIEW_OFS_y; self.view_ofs_z = PL_PREY_VIEW_OFS_z / self.cameraeffect_current; - if(self.predator.scale) - self.view_ofs_z *= self.predator.scale; - else if(self.fakepredator.scale) - self.view_ofs_z *= self.fakepredator.scale; + + float prey_height; + if(self.fakeprey) + prey_height = (self.scale - self.fakepredator.scale) * cvar("g_healthsize_vore_pos"); + else + prey_height = (self.scale - self.predator.scale) * cvar("g_healthsize_vore_pos"); + self.view_ofs_z += prey_height; } .float gurgle_oldstomachload; -- 2.39.2