Clean up our player enumflags.

This commit is contained in:
Marco Cawthorne 2022-08-07 14:14:26 -07:00
parent 29d3404bb0
commit c451f64742
Signed by: eukara
GPG key ID: CE2032F0A2882A22

View file

@ -17,29 +17,14 @@
/* all potential SendFlags bits we can possibly send */ /* all potential SendFlags bits we can possibly send */
enumflags enumflags
{ {
PLAYER_KEEPALIVE, PLAYER_TOPFRAME = PLAYER_CUSTOMFIELDSTART,
PLAYER_MODELINDEX,
PLAYER_ORIGIN,
PLAYER_ORIGIN_Z,
PLAYER_ANGLES_X,
PLAYER_ANGLES_Y,
PLAYER_COLORMAP,
PLAYER_VELOCITY,
PLAYER_VELOCITY_Z,
PLAYER_FLAGS,
PLAYER_WEAPON,
PLAYER_ITEMS,
PLAYER_HEALTH,
PLAYER_ARMOR,
PLAYER_MOVETYPE,
PLAYER_VIEWOFS,
PLAYER_TOPFRAME,
PLAYER_BOTTOMFRAME, PLAYER_BOTTOMFRAME,
PLAYER_AMMO1, PLAYER_AMMO1,
PLAYER_AMMO2, PLAYER_AMMO2,
PLAYER_AMMO3, PLAYER_AMMO3,
PLAYER_UNUSED1, PLAYER_UNUSED5,
PLAYER_UNUSED2 PLAYER_UNUSED6,
PLAYER_UNUSED7
}; };
class player:NSClientPlayer class player:NSClientPlayer
@ -363,20 +348,34 @@ player::SendEntity
float float
player::SendEntity(entity ePEnt, float fChanged) player::SendEntity(entity ePEnt, float fChanged)
{ {
bool is_spec = false;
bool spectarget = false;
/* don't broadcast invisible players */ /* don't broadcast invisible players */
if (IsFakeSpectator() && ePEnt != this) if (IsFakeSpectator() && ePEnt != this)
return (0); return (0);
if (!GetModelindex() && ePEnt != this) if (!GetModelindex() && ePEnt != this)
return (0); return (0);
if (ePEnt != self) { /* figure out if we should optimise this player */
if (ePEnt.flags & FL_CLIENT && ePEnt != this) {
NSClientSpectator sp = (NSClientSpectator)ePEnt;
is_spec = (sp.IsFakeSpectator() || sp.IsRealSpectator());
spectarget = (is_spec == true && edict_num(sp.spec_ent) == this);
}
/* if we're a spectator of any type and spectate this player */
if (ePEnt != this && spectarget == false) {
fChanged &= ~PLAYER_ITEMS; fChanged &= ~PLAYER_ITEMS;
fChanged &= ~PLAYER_HEALTH; fChanged &= ~PLAYER_HEALTH;
fChanged &= ~PLAYER_ARMOR; fChanged &= ~PLAYER_TIMINGS;
fChanged &= ~PLAYER_VIEWOFS;
fChanged &= ~PLAYER_AMMO1; fChanged &= ~PLAYER_AMMO1;
fChanged &= ~PLAYER_AMMO2; fChanged &= ~PLAYER_AMMO2;
fChanged &= ~PLAYER_AMMO3; fChanged &= ~PLAYER_AMMO3;
fChanged &= ~PLAYER_FLAGS;
fChanged &= ~PLAYER_PUNCHANGLE;
fChanged &= ~PLAYER_VIEWZOOM;
fChanged &= ~PLAYER_SPECTATE;
} }
WriteByte(MSG_ENTITY, ENT_PLAYER); WriteByte(MSG_ENTITY, ENT_PLAYER);