Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
ent_cs.qc File Reference
Include dependency graph for ent_cs.qc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive)
#define DEC_FACTOR   (360 / 64)
#define DEC_FACTOR   10
#define ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive)
#define ENTCS_PROP_CODED(id, ispublic, checkprop, checkprop_pl, setprop, decfactor, svsend, clreceive)
#define ENTCS_PROP_RESOURCE(id, ispublic, checkprop, setprop, decfactor, svsend, clreceive)
#define ENTCS_SET_MUTABLE_STRING(var, x)
 the engine player name strings are mutable!
#define ENTCS_SET_NORMAL(var, x)

Functions

bool _entcs_send (entity this, entity to, int sf, int chan)
 bool (entity ent, entity player) m_check
void Ent_RemoveEntCS (entity this)
void entcs_attach (entity player)
void entcs_detach (entity player)
void entcs_force_origin (entity player)
 ENTCS_PROP (FRAGS, true, frags, frags, ENTCS_SET_NORMAL, { WriteShort(chan, ent.frags);}, { ent.frags=ReadShort();}) ENTCS_PROP(HANDICAP_LEVEL
 ENTCS_PROP (NAME, true, netname, netname, ENTCS_SET_MUTABLE_STRING, { WriteString(chan, ent.netname);}, { strcpy(ent.netname, ReadString());}) ENTCS_PROP(MODEL
 ENTCS_PROP (ORIGIN, false, origin, origin, ENTCS_SET_NORMAL, { WriteVector(chan, ent.origin);}, { ent.has_sv_origin=true;vector v=ReadVector();setorigin(ent, v);}) ENTCS_PROP_CODED(ANGLES
 ENTCS_PROP (SKIN, true, skin, skin, ENTCS_SET_NORMAL, { WriteByte(chan, ent.skin);}, { ent.skin=ReadByte();}) ENTCS_PROP(CLIENTCOLORS
 ENTCS_PROP (WANTSJOIN, true, wants_join, wants_join, ENTCS_SET_NORMAL, { WriteChar(chan, ent.wants_join);}, { ent.wants_join=ReadChar();}) ENTCS_PROP(SOLID
 ENTCS_PROP_RESOURCE (HEALTH, false, RES_HEALTH, ENTCS_SET_NORMAL, DEC_FACTOR, { WriteByte(chan, bound(0, GetResource(ent, RES_HEALTH)/DEC_FACTOR, 255));}, { ent.healthvalue=ReadByte() *DEC_FACTOR;}) ENTCS_PROP_RESOURCE(ARMOR
bool entcs_send (entity this, entity to, int sf)
void entcs_think (entity this)
void entcs_update_players (entity player)
 NET_HANDLE (CLIENT_ENTCS, bool isnew)
 NET_HANDLE (ENT_CLIENT_ENTCS, bool isnew)
bool ReadEntcs (entity this)
 STATIC_INIT (ENTCS_PUBLICMASK)
 STATIC_INIT (EntCSProps_renumber)
 STATIC_INIT (EntCSProps_setglobalids)
 void (entity ent) m_receive
 void (entity ent, entity player) m_set
 void (int chan, entity ent) m_send

Variables

ent angles = v
 angles_y
 clientcolors
 DEC_FACTOR
int ENTCS_PRIVATEMASK = 0
int ENTCS_PROP_ENTNUM_id = 0
int ENTCS_PROP_HEALTH_id = 0
int ENTCS_PROP_ORIGIN_id = 0
int ENTCS_PUBLICMASK = 0
 ENTCS_SET_NORMAL
 false
 handicap_level
bool m_public
 model
 RES_ARMOR
 solid
 sv_solid
 true
y = ReadByte() * DEC_FACTOR

Macro Definition Documentation

◆ _ENTCS_PROP

#define _ENTCS_PROP ( id,
ispublic,
checkprop,
checkprop_pl,
setprop,
svsend,
clreceive )
Value:
void id##_set(entity ent, entity player) { setprop(ent.(checkprop), player.(checkprop_pl)); } \
void id##_send(int chan, entity ent) { LAMBDA(svsend); } \
REGISTER(EntCSProps, ENTCS_PROP, id, m_id, new_pure(entcs_prop)) { \
this.m_public = ispublic; \
this.m_check = id##_check; \
this.m_set = id##_set; \
this.m_send = id##_send; \
}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
int m_id
Definition effect.qh:19
bool m_public
Definition ent_cs.qc:42
#define ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive)
Definition ent_cs.qc:59
#define LAMBDA(...)
Definition misc.qh:34
#define new_pure(class)
purely logical entities (not linked to the area grid)
Definition oo.qh:67

Definition at line 49 of file ent_cs.qc.

49#define _ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive) \
50 void id##_set(entity ent, entity player) { setprop(ent.(checkprop), player.(checkprop_pl)); } \
51 void id##_send(int chan, entity ent) { LAMBDA(svsend); } \
52 REGISTER(EntCSProps, ENTCS_PROP, id, m_id, new_pure(entcs_prop)) { \
53 this.m_public = ispublic; \
54 this.m_check = id##_check; \
55 this.m_set = id##_set; \
56 this.m_send = id##_send; \
57 }

◆ DEC_FACTOR [1/2]

#define DEC_FACTOR   (360 / 64)

Definition at line 125 of file ent_cs.qc.

Referenced by ENTCS_PROP_RESOURCE().

◆ DEC_FACTOR [2/2]

#define DEC_FACTOR   10

Definition at line 125 of file ent_cs.qc.

◆ ENTCS_PROP

#define ENTCS_PROP ( id,
ispublic,
checkprop,
checkprop_pl,
setprop,
svsend,
clreceive )
Value:
bool id##_check(entity ent, entity player) { return (ent.(checkprop) != player.(checkprop_pl)); } \
_ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive)

Definition at line 59 of file ent_cs.qc.

59#define ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive) \
60 bool id##_check(entity ent, entity player) { return (ent.(checkprop) != player.(checkprop_pl)); } \
61 _ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive)

◆ ENTCS_PROP_CODED

#define ENTCS_PROP_CODED ( id,
ispublic,
checkprop,
checkprop_pl,
setprop,
decfactor,
svsend,
clreceive )
Value:
bool id##_check(entity ent, entity player) { \
return (floor(ent.(checkprop)) / decfactor != floor(player.(checkprop_pl)) / decfactor); \
} \
_ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive)
float floor(float f)

Definition at line 63 of file ent_cs.qc.

63#define ENTCS_PROP_CODED(id, ispublic, checkprop, checkprop_pl, setprop, decfactor, svsend, clreceive) \
64 bool id##_check(entity ent, entity player) { \
65 return (floor(ent.(checkprop)) / decfactor != floor(player.(checkprop_pl)) / decfactor); \
66 } \
67 _ENTCS_PROP(id, ispublic, checkprop, checkprop_pl, setprop, svsend, clreceive)

◆ ENTCS_PROP_RESOURCE

#define ENTCS_PROP_RESOURCE ( id,
ispublic,
checkprop,
setprop,
decfactor,
svsend,
clreceive )
Value:
bool id##_check(entity ent, entity player) { \
return (floor(GetResource(ent, checkprop) / decfactor) != floor(GetResource(player, checkprop) / decfactor)); \
} \
void id##_set(entity ent, entity player) { SetResourceExplicit(ent, checkprop, GetResource(player, checkprop)); } \
void id##_send(int chan, entity ent) { LAMBDA(svsend); } \
REGISTER(EntCSProps, ENTCS_PROP, id, m_id, new_pure(entcs_prop)) { \
this.m_public = ispublic; \
this.m_check = id##_check; \
this.m_set = id##_set; \
this.m_send = id##_send; \
}
float GetResource(entity e, Resource res_type)
Returns the current amount of resource the given entity has.
bool SetResourceExplicit(entity e, Resource res_type, float amount)
Sets the resource amount of an entity without calling any hooks.
entity() spawn

Definition at line 82 of file ent_cs.qc.

82#define ENTCS_PROP_RESOURCE(id, ispublic, checkprop, setprop, decfactor, svsend, clreceive) \
83 bool id##_check(entity ent, entity player) { \
84 return (floor(GetResource(ent, checkprop) / decfactor) != floor(GetResource(player, checkprop) / decfactor)); \
85 } \
86 void id##_set(entity ent, entity player) { SetResourceExplicit(ent, checkprop, GetResource(player, checkprop)); } \
87 void id##_send(int chan, entity ent) { LAMBDA(svsend); } \
88 REGISTER(EntCSProps, ENTCS_PROP, id, m_id, new_pure(entcs_prop)) { \
89 this.m_public = ispublic; \
90 this.m_check = id##_check; \
91 this.m_set = id##_set; \
92 this.m_send = id##_send; \
93 }

◆ ENTCS_SET_MUTABLE_STRING

#define ENTCS_SET_MUTABLE_STRING ( var,
x )
Value:
MACRO_BEGIN \
strcpy(var, x); \
#define MACRO_END
Definition macro.qh:7

the engine player name strings are mutable!

Definition at line 108 of file ent_cs.qc.

108#define ENTCS_SET_MUTABLE_STRING(var, x) MACRO_BEGIN \
109 strcpy(var, x); \
110MACRO_END

Referenced by ENTCS_PROP().

◆ ENTCS_SET_NORMAL

#define ENTCS_SET_NORMAL ( var,
x )
Value:
MACRO_BEGIN \
var = x; \

Definition at line 103 of file ent_cs.qc.

103#define ENTCS_SET_NORMAL(var, x) MACRO_BEGIN \
104 var = x; \
105MACRO_END

Referenced by ENTCS_PROP(), ENTCS_PROP(), ENTCS_PROP(), ENTCS_PROP(), and ENTCS_PROP_RESOURCE().

Function Documentation

◆ _entcs_send()

bool _entcs_send ( entity this,
entity to,
int sf,
int chan )

Definition at line 191 of file ent_cs.qc.

192 {
193 entity player = this.owner;
194 sf |= BIT(ENTCS_PROP_ENTNUM_id); // assume private
195 do {
196 if (IS_PLAYER(player))
197 {
198 if (radar_showenemies) break;
199 if (SAME_TEAM(to, player)) break;
200 if (!(IS_PLAYER(to) || INGAME(to))) break;
201 }
202 sf &= ENTCS_PUBLICMASK; // no private updates
203 } while (0);
204
205 sf |= this.m_forceupdate;
206 this.m_forceupdate = 0;
207 if (chan == MSG_ENTITY)
208 WriteHeader(chan, ENT_CLIENT_ENTCS);
209 else
210 WriteHeader(chan, CLIENT_ENTCS);
211 WriteByte(chan, etof(player) - 1);
212 WriteShort(chan, sf);
213 FOREACH(EntCSProps, sf & BIT(it.m_id),
214 {
215 it.m_send(chan, this);
216 });
217 return true;
218 }
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
Definition bits.qh:8
entity owner
Definition main.qh:87
#define IS_PLAYER(s)
Definition player.qh:243
int ENTCS_PUBLICMASK
Definition ent_cs.qc:171
int ENTCS_PROP_ENTNUM_id
Definition ent_cs.qc:22
bool radar_showenemies
Definition ent_cs.qh:50
int m_forceupdate
Definition ent_cs.qh:44
#define FOREACH(list, cond, body)
Definition iter.qh:19
const int MSG_ENTITY
Definition net.qh:115
#define WriteHeader(to, id)
Definition net.qh:221
void WriteShort(float data, float dest, float desto)
void WriteByte(float data, float dest, float desto)
#define etof(e)
Definition misc.qh:25
#define INGAME(it)
Definition sv_rules.qh:24
#define SAME_TEAM(a, b)
Definition teams.qh:241

References BIT, ENTCS_PROP_ENTNUM_id, ENTCS_PUBLICMASK, entity(), etof, FOREACH, INGAME, IS_PLAYER, m_forceupdate, MSG_ENTITY, owner, radar_showenemies, SAME_TEAM, WriteByte(), WriteHeader, and WriteShort().

Referenced by entcs_attach(), and entcs_send().

◆ bool()

bool ( entity ent,
entity player )

References entity().

◆ Ent_RemoveEntCS()

void Ent_RemoveEntCS ( entity this)

Definition at line 279 of file ent_cs.qc.

280 {
281 int n = this.sv_entnum;
282 entity e = entcs_receiver(n);
284 strfree(e.netname);
285 strfree(e.model);
286 if (e != this) delete(e);
287 }
int sv_entnum
Definition main.qh:186
#define entcs_receiver(...)
Definition ent_cs.qh:65
#define NULL
Definition post.qh:14
#define strfree(this)
Definition string.qh:59

References entcs_receiver, entity(), NULL, strfree, and sv_entnum.

Referenced by NET_HANDLE().

◆ entcs_attach()

void entcs_attach ( entity player)

Definition at line 251 of file ent_cs.qc.

252 {
253 entity e = CS(player).entcs = new_pure(entcs_sender);
254 e.owner = player;
256 e.nextthink = time;
257 Net_LinkEntity(e, false, 0, entcs_send);
258 // NOTE: the following code block has been disabled as a workaround for https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/1824
259#if 0
260 if (!IS_REAL_CLIENT(player)) return;
261 FOREACH_CLIENT(true, {
262 assert(CS(it).entcs);
263 _entcs_send(CS(it).entcs, msg_entity = player, BITS(23), MSG_ONE);
264 });
265#endif
266 }
#define BITS(n)
Definition bits.qh:9
float time
bool entcs_send(entity this, entity to, int sf)
Definition ent_cs.qc:220
bool _entcs_send(entity this, entity to, int sf, int chan)
Definition ent_cs.qc:191
void entcs_think(entity this)
Definition ent_cs.qc:225
entity entcs
Definition ent_cs.qh:34
void Net_LinkEntity(entity e, bool docull, float dt, bool(entity this, entity to, int sendflags) sendfunc)
Definition net.qh:123
#define assert(expr,...)
Definition log.qh:8
float MSG_ONE
Definition menudefs.qc:56
entity msg_entity
Definition progsdefs.qc:63
#define setthink(e, f)
ClientState CS(Client this)
Definition state.qh:47
#define IS_REAL_CLIENT(v)
Definition utils.qh:17
#define FOREACH_CLIENT(cond, body)
Definition utils.qh:50

References _entcs_send(), assert, BITS, CS(), entcs, entcs_send(), entcs_think(), entity(), FOREACH_CLIENT, IS_REAL_CLIENT, msg_entity, MSG_ONE, Net_LinkEntity(), new_pure, setthink, and time.

Referenced by ClientState_attach().

◆ entcs_detach()

void entcs_detach ( entity player)

Definition at line 268 of file ent_cs.qc.

269 {
270 if (!CS(player).entcs) return;
271 delete(CS(player).entcs);
272 CS(player).entcs = NULL;
273 }

References CS(), entcs, entity(), and NULL.

Referenced by ClientState_detach().

◆ entcs_force_origin()

void entcs_force_origin ( entity player)

Definition at line 36 of file ent_cs.qc.

37{
38 CS(player).entcs.m_forceupdate = BIT(ENTCS_PROP_ORIGIN_id);
39}
int ENTCS_PROP_ORIGIN_id
Definition ent_cs.qc:23

References BIT, CS(), ENTCS_PROP_ORIGIN_id, and entity().

Referenced by globalsound(), and playersound().

◆ ENTCS_PROP() [1/5]

ENTCS_PROP ( FRAGS ,
true ,
frags ,
frags ,
ENTCS_SET_NORMAL ,
{ WriteShort(chan, ent.frags);} ,
{ ent.frags=ReadShort();}  )

References ENTCS_SET_NORMAL, frags, and WriteShort().

◆ ENTCS_PROP() [2/5]

◆ ENTCS_PROP() [3/5]

ENTCS_PROP ( ORIGIN ,
false ,
origin ,
origin ,
ENTCS_SET_NORMAL ,
{ WriteVector(chan, ent.origin);} ,
{ ent.has_sv_origin=true;vector v=ReadVector();setorigin(ent, v);}  )

References ENTCS_SET_NORMAL, and origin.

◆ ENTCS_PROP() [4/5]

ENTCS_PROP ( SKIN ,
true ,
skin ,
skin ,
ENTCS_SET_NORMAL ,
{ WriteByte(chan, ent.skin);} ,
{ ent.skin=ReadByte();}  )

References ENTCS_SET_NORMAL, skin, and WriteByte().

◆ ENTCS_PROP() [5/5]

ENTCS_PROP ( WANTSJOIN ,
true ,
wants_join ,
wants_join ,
ENTCS_SET_NORMAL ,
{ WriteChar(chan, ent.wants_join);} ,
{ ent.wants_join=ReadChar();}  )

◆ ENTCS_PROP_RESOURCE()

ENTCS_PROP_RESOURCE ( HEALTH ,
false ,
RES_HEALTH ,
ENTCS_SET_NORMAL ,
DEC_FACTOR ,
{ WriteByte(chan, bound(0, GetResource(ent, RES_HEALTH)/DEC_FACTOR, 255));} ,
{ ent.healthvalue=ReadByte() *DEC_FACTOR;}  )

◆ entcs_send()

bool entcs_send ( entity this,
entity to,
int sf )

Definition at line 220 of file ent_cs.qc.

221 {
222 return _entcs_send(this, to, sf, MSG_ENTITY);
223 }

References _entcs_send(), entity(), and MSG_ENTITY.

Referenced by entcs_attach().

◆ entcs_think()

void entcs_think ( entity this)

Definition at line 225 of file ent_cs.qc.

226 {
227 this.nextthink = time + 0.015625; // TODO: increase this to like 0.125 once the client can do smoothing
228 entity player = this.owner;
229 FOREACH(EntCSProps, it.m_check(this, player),
230 {
231 it.m_set(this, player);
232 this.SendFlags |= BIT(it.m_id);
233 });
234
236 {
237 // health is set to special values after the game ends, ignore any change
239 }
240
241 // always send origin of players even if they stand still otherwise
242 // if a teammate isn't in my pvs and their health (or view angle or name
243 // etc...) changes then their tag disappears
244 if (IS_PLAYER(this.owner))
246
247 // not needed, origin is just data to be sent
248 //setorigin(this, this.origin); // relink
249 }
float nextthink
int ENTCS_PROP_HEALTH_id
Definition ent_cs.qc:24
bool intermission_running
int SendFlags
Definition net.qh:118

References BIT, ENTCS_PROP_HEALTH_id, ENTCS_PROP_ORIGIN_id, entity(), FOREACH, intermission_running, IS_PLAYER, nextthink, owner, SendFlags, and time.

Referenced by entcs_attach(), and ReadEntcs().

◆ entcs_update_players()

void entcs_update_players ( entity player)

Definition at line 183 of file ent_cs.qc.

184 {
185 FOREACH_CLIENT(it != player && IS_PLAYER(it),
186 {
187 CS(it).entcs.SendFlags |= ENTCS_PRIVATEMASK;
188 });
189 }
int ENTCS_PRIVATEMASK
Definition ent_cs.qc:171

References CS(), ENTCS_PRIVATEMASK, entity(), FOREACH_CLIENT, and IS_PLAYER.

Referenced by MUTATOR_HOOKFUNCTION(), and PutObserverInServer().

◆ NET_HANDLE() [1/2]

NET_HANDLE ( CLIENT_ENTCS ,
bool isnew )

Definition at line 361 of file ent_cs.qc.

362 {
363 return ReadEntcs(NULL);
364 }
bool ReadEntcs(entity this)
Definition ent_cs.qc:312

References NULL, and ReadEntcs().

◆ NET_HANDLE() [2/2]

NET_HANDLE ( ENT_CLIENT_ENTCS ,
bool isnew )

Definition at line 351 of file ent_cs.qc.

352 {
353 if (isnew)
354 {
355 make_pure(this);
356 this.entremove = Ent_RemoveEntCS;
357 }
358 return ReadEntcs(this);
359 }
void Ent_RemoveEntCS(entity this)
Definition ent_cs.qc:279
#define make_pure(e)
direct use is
Definition oo.qh:13

References Ent_RemoveEntCS(), make_pure, and ReadEntcs().

◆ ReadEntcs()

bool ReadEntcs ( entity this)

Definition at line 312 of file ent_cs.qc.

313 {
314 int n = ReadByte();
315 entity e = entcs_receiver(n);
316 if (e == NULL)
317 {
318 if (!this)
319 // initial = temp
320 e = new_pure(ENT_CLIENT_ENTCS);
321 else
322 // initial = linked
323 e = this;
325 entcs_receiver(n, e);
326 }
327 else if (e != this && this)
328 {
329 // upgrade to linked
330 delete(e);
331 e = this;
333 entcs_receiver(n, e);
334 }
335
337 e.sv_entnum = n;
338 int sf = ReadShort();
339 e.has_sv_origin = false;
340 e.m_entcs_private = boolean(sf & BIT(ENTCS_PROP_ENTNUM_id));
341 FOREACH(EntCSProps, sf & BIT(it.m_id),
342 {
343 it.m_receive(e);
344 });
345 e.iflags |= IFLAG_ORIGIN;
347 getthink(e)(e);
348 return true;
349 }
#define boolean(value)
Definition bool.qh:9
void InterpolateOrigin_Undo(entity this)
snap origin to iorigin2 (actual origin)
void InterpolateOrigin_Note(entity this)
const int IFLAG_ORIGIN
int ReadByte()
#define getthink(e)

References BIT, boolean, ENTCS_PROP_ENTNUM_id, entcs_receiver, entcs_think(), entity(), FOREACH, getthink, IFLAG_ORIGIN, InterpolateOrigin_Note(), InterpolateOrigin_Undo(), new_pure, NULL, ReadByte(), and setthink.

Referenced by NET_HANDLE(), and NET_HANDLE().

◆ STATIC_INIT() [1/3]

STATIC_INIT ( ENTCS_PUBLICMASK )

Definition at line 172 of file ent_cs.qc.

173 {
174 FOREACH(EntCSProps, true,
175 {
176 if (it.m_public)
177 ENTCS_PUBLICMASK |= BIT(it.m_id);
178 else
179 ENTCS_PRIVATEMASK |= BIT(it.m_id);
180 });
181 }

References BIT, ENTCS_PRIVATEMASK, ENTCS_PUBLICMASK, and FOREACH.

◆ STATIC_INIT() [2/3]

STATIC_INIT ( EntCSProps_renumber )

Definition at line 19 of file ent_cs.qc.

19{ FOREACH(EntCSProps, true, it.m_id = i); }

References FOREACH, and STATIC_INIT.

◆ STATIC_INIT() [3/3]

STATIC_INIT ( EntCSProps_setglobalids )

Definition at line 25 of file ent_cs.qc.

26{
27 FOREACH(EntCSProps, true, {
28 if (it.registered_id == "ENTCS_PROP_ENTNUM") ENTCS_PROP_ENTNUM_id = it.m_id;
29 if (it.registered_id == "ENTCS_PROP_ORIGIN") ENTCS_PROP_ORIGIN_id = it.m_id;
30 if (it.registered_id == "ENTCS_PROP_HEALTH") ENTCS_PROP_HEALTH_id = it.m_id;
31 });
32}

References ENTCS_PROP_ENTNUM_id, ENTCS_PROP_HEALTH_id, ENTCS_PROP_ORIGIN_id, and FOREACH.

◆ void() [1/3]

void ( entity ent)

References entity().

◆ void() [2/3]

void ( entity ent,
entity player )

References entity().

◆ void() [3/3]

void ( int chan,
entity ent )

References entity().

Variable Documentation

◆ angles

ent angles = v

Definition at line 121 of file ent_cs.qc.

Referenced by _Movetype_Physics_ClientFrame(), _Movetype_Physics_Follow(), _Movetype_Physics_Frame(), _Movetype_Physics_Toss(), _Movetype_PushMove(), anticheat_spectatecopy(), bot_think(), buff_Respawn(), bumblebee_exit(), CheatImpulse(), CL_WeaponEntity_SetModel(), clientcamera_send(), CopyBody(), CSQCModel_Effects_Apply(), CSQCPlayer_Physics(), ctf_FlagThink(), door_rotating_init_startopen(), door_rotating_reset(), Draw_ArcBeam(), Draw_GrapplingHook(), dynlight_find_aiment(), electro_orb_draw(), ewheel_draw(), g_clientmodel_genericsendentity(), GrapplingHookThink(), InterpolateOrigin_Do(), InterpolateOrigin_Note(), InterpolateOrigin_Undo(), ItemDraw(), ItemSend(), ka_RespawnBall(), LaunchDebris(), M_Golem_Attack_Smash(), M_Mage_Attack_Spike(), M_Mage_Attack_Teleport(), misc_laser_aim(), ModelEffect_Draw(), modeleffect_SendEntity(), Monster_Dead_Fade(), monster_facing(), Monster_Move(), Monster_Move_2D(), Monster_Reset(), Monster_Spawn(), movelib_groundalign4point(), Movetype_Physics_MatchTicrate(), nade_darkness_boom(), nade_ice_boom(), napalm_ball_think(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), orb_draw(), physical_item_damage(), physical_item_think(), physical_item_touch(), PlayerDamage(), PlayerThink(), PlayerTouchWall(), PM_dodging(), PM_dodging_checkpressedkeys(), Projectile_Draw(), PutObserverInServer(), PutPlayerInServer(), RaceCarPhysics(), racer_exit(), raptor_exit(), relocate_spawnpoint(), SetMovedir(), spawner_use(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), SpectateCopy(), spiderbot_blowup(), spiderbot_exit(), StartItem(), SUB_CalcAngleMove(), SUB_CalcAngleMoveDone(), SV_OnEntityPreSpawnFunction(), sys_phys_simulate_simple(), sys_phys_update(), target_push_init(), target_push_send(), target_teleporter_checktarget(), tka_RespawnBall(), trigger_common_write(), turret_construct(), turret_hellion_missile_think(), turret_hk_missile_think(), turret_send(), turret_track(), vehicle_initialize(), vehicles_damage(), vehicles_painframe(), vehicles_spawn(), viewloc_send(), viewmodel_animate(), W_Arc_Bolt_Damage(), W_Arc_Bolt_Touch(), W_Crylink_Touch(), W_Devastator_Damage(), W_Devastator_Think(), W_Hagar_Damage(), W_Hagar_Touch2(), W_MineLayer_Damage(), W_Porto_Touch(), walker_draw(), walker_fire_rocket(), walker_melee_do_dmg(), walker_rocket_loop3(), WarpZone_Teleported_Send(), WarpZone_Think(), WarpZoneCamera_Think(), and WarpZoneLib_ExactTrigger_Init().

◆ angles_y

◆ clientcolors

◆ DEC_FACTOR

DEC_FACTOR

Definition at line 119 of file ent_cs.qc.

◆ ENTCS_PRIVATEMASK

int ENTCS_PRIVATEMASK = 0

Definition at line 171 of file ent_cs.qc.

Referenced by entcs_update_players(), and STATIC_INIT().

◆ ENTCS_PROP_ENTNUM_id

int ENTCS_PROP_ENTNUM_id = 0

Definition at line 22 of file ent_cs.qc.

Referenced by _entcs_send(), ReadEntcs(), and STATIC_INIT().

◆ ENTCS_PROP_HEALTH_id

int ENTCS_PROP_HEALTH_id = 0

Definition at line 24 of file ent_cs.qc.

Referenced by entcs_think(), and STATIC_INIT().

◆ ENTCS_PROP_ORIGIN_id

int ENTCS_PROP_ORIGIN_id = 0

Definition at line 23 of file ent_cs.qc.

Referenced by entcs_force_origin(), entcs_think(), and STATIC_INIT().

◆ ENTCS_PUBLICMASK

int ENTCS_PUBLICMASK = 0

Definition at line 171 of file ent_cs.qc.

Referenced by _entcs_send(), and STATIC_INIT().

◆ ENTCS_SET_NORMAL

ENTCS_SET_NORMAL

Definition at line 119 of file ent_cs.qc.

◆ false

false

Definition at line 119 of file ent_cs.qc.

◆ handicap_level

handicap_level

Definition at line 155 of file ent_cs.qc.

◆ m_public

bool m_public

Definition at line 42 of file ent_cs.qc.

◆ model

◆ RES_ARMOR

◆ solid

◆ sv_solid

sv_solid

Definition at line 165 of file ent_cs.qc.

◆ true

true

Definition at line 139 of file ent_cs.qc.

◆ y