From f800c788719a692e238cdab036df7abfc0f9ed6c Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Sat, 9 Jul 2011 02:56:03 +0300 Subject: [PATCH] Do not show names for prey --- data/qcsrc/client/Main.qc | 2 ++ data/qcsrc/client/shownames.qc | 6 ++++++ data/qcsrc/client/shownames.qh | 1 + data/qcsrc/server/ent_cs.qc | 9 ++++++++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/data/qcsrc/client/Main.qc b/data/qcsrc/client/Main.qc index cea3273d..48e137c9 100644 --- a/data/qcsrc/client/Main.qc +++ b/data/qcsrc/client/Main.qc @@ -686,6 +686,8 @@ void Ent_ReadEntCS() self.healthvalue = ReadByte() * 10; if(sf & 16) self.armorvalue = ReadByte() * 10; + if(sf & 32) + self.eaten = ReadByte(); entcs_receiver[self.sv_entnum] = self; self.entremove = Ent_RemoveEntCS; diff --git a/data/qcsrc/client/shownames.qc b/data/qcsrc/client/shownames.qc index eb15a240..37bd0bfc 100644 --- a/data/qcsrc/client/shownames.qc +++ b/data/qcsrc/client/shownames.qc @@ -2,6 +2,7 @@ // self.origin = player origin TODO: should maybe move this so it's the origin of the shownames tag already in SSQC for culling? // self.healthvalue // self.armorvalue +// self.eaten // self.sameteam = player is on same team as local client // const float SHOWNAMES_FADESPEED = 4; @@ -13,6 +14,9 @@ void Draw_ShowNames(entity ent) if(ent.sv_entnum == player_localentnum && !cvar("chase_active")) return; + if(ent.eaten) // don't show names for prey + return; + if(ent.sameteam || (!ent.sameteam && cvar("hud_shownames_enemies"))) { ent.origin_z += cvar("hud_shownames_offset"); @@ -167,12 +171,14 @@ void Draw_ShowNames_All() e.healthvalue = entcs.healthvalue; e.armorvalue = entcs.armorvalue; e.sameteam = 1; /* (teamplay && (t == myteam)); */ + e.eaten = entcs.eaten; } else { e.healthvalue = 2342; e.armorvalue = 0; e.sameteam = 0; + e.eaten = 0; } e.origin = getplayerorigin(i); diff --git a/data/qcsrc/client/shownames.qh b/data/qcsrc/client/shownames.qh index 11f1e743..fbd20f02 100644 --- a/data/qcsrc/client/shownames.qh +++ b/data/qcsrc/client/shownames.qh @@ -1,3 +1,4 @@ .float healthvalue; .float armorvalue; +.float eaten; .float sameteam; diff --git a/data/qcsrc/server/ent_cs.qc b/data/qcsrc/server/ent_cs.qc index 128b14a1..9f564b4e 100644 --- a/data/qcsrc/server/ent_cs.qc +++ b/data/qcsrc/server/ent_cs.qc @@ -55,12 +55,14 @@ float entcs_send(entity to, float sf) WriteByte(MSG_ENTITY, self.health / 10); // FIXME use a better scale? if(sf & 16) WriteByte(MSG_ENTITY, self.armorvalue / 10); // FIXME use a better scale? + if(sf & 32) + WriteByte(MSG_ENTITY, self.stat_eaten); return TRUE; }; void entcs_think() { - self.nextthink = time + 0.033333333333; // increase this to like 0.15 once the client can do smoothing + self.nextthink = time + 0.01; entity o; o = self.owner; @@ -85,6 +87,11 @@ void entcs_think() self.armorvalue = o.armorvalue; self.SendFlags |= 16; } + if(o.stat_eaten != self.stat_eaten) + { + self.stat_eaten = o.stat_eaten; + self.SendFlags |= 32; + } }; entity attach_entcs() -- 2.39.2