From 4344cee11ee18524d1258a69181da13e415bc95c Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Mon, 11 Jul 2011 03:24:05 +0300 Subject: [PATCH] Don't hide the predator's stomach model behind walls. This fixes walls showing through the stomach when the predator is too close to a wall --- data/qcsrc/server/cl_client.qc | 5 +++++ data/qcsrc/server/cl_weaponsystem.qc | 4 ++++ data/qcsrc/server/vore.qc | 1 + 3 files changed, 10 insertions(+) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index 1ccdea5c..702125d7 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -531,15 +531,20 @@ float Client_customizeentityforclient() if(other.predator == self || other.fakepredator == self) { Client_setmodel(stomachmodel); + self.effects |= EF_NODEPTHTEST; // don't hide behind walls self.alpha = other.cvar_cl_vore_stomachmodel; return TRUE; } Client_setmodel(setmodel_state()); + self.effects &~= EF_NODEPTHTEST; if not(self.stat_eaten || self.fakeprey) self.alpha = default_player_alpha; else if(cvar("g_vore_neighborprey_distance") && !self.fakeprey && (self.predator == other.predator || self.predator == other.fakepredator) && !(other.cvar_chase_active || other.classname == "observer")) + { self.alpha = default_player_alpha; // allow seeing neighboring prey + self.effects |= EF_NODEPTHTEST; // don't hide behind the stomach's own EF_NODEPTHTEST + } else self.alpha = -1; // hide prey return TRUE; diff --git a/data/qcsrc/server/cl_weaponsystem.qc b/data/qcsrc/server/cl_weaponsystem.qc index 144ade6e..f6ae23fa 100644 --- a/data/qcsrc/server/cl_weaponsystem.qc +++ b/data/qcsrc/server/cl_weaponsystem.qc @@ -266,10 +266,14 @@ float CL_ExteriorWeaponentity_CustomizeEntityForClient() return TRUE; } + self.effects &~= EF_NODEPTHTEST; if not(self.owner.stat_eaten) setmodel(self, strcat("models/weapons/v_", self.owner.weaponname, ".md3")); else if(cvar("g_vore_neighborprey_distance") && (other.predator == self.owner.predator || other.fakepredator == self.owner.predator) && !(other.cvar_chase_active || other.classname == "observer")) + { setmodel(self, strcat("models/weapons/v_", self.owner.weaponname, ".md3")); // allow seeing neighboring prey's weapon model + self.effects |= EF_NODEPTHTEST; // don't hide behind the stomach's own EF_NODEPTHTEST + } else setmodel(self, ""); // hide prey's weapon model return TRUE; diff --git a/data/qcsrc/server/vore.qc b/data/qcsrc/server/vore.qc index 531f95d0..7e22cf90 100644 --- a/data/qcsrc/server/vore.qc +++ b/data/qcsrc/server/vore.qc @@ -235,6 +235,7 @@ void Vore_SwallowModel_Update(entity prey, entity pred) // apply the properties of the prey prey.swallow_model.viewmodelforclient = prey; // use the same system as the weapon model //prey.swallow_model.effects |= EF_NOGUNBOB; // let it bob + prey.swallow_model.effects |= EF_NODEPTHTEST; // don't hide behind walls prey.swallow_model.colormap = prey.colormap; // pants and shirt color prey.swallow_model.glowmod = prey.glowmod; // glow color -- 2.39.2