X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fent_cs.qc;h=98ec277683c5477912cc1415f234c284a80754b5;hb=1aac6cbd00e98ca537937fdc9490216a50cf3caa;hp=9c4bf59758770d4fc6f90f6abcf3560a21e27081;hpb=a1ef51d662c331da95d2aee51d03efff23079ff1;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/ent_cs.qc b/qcsrc/server/ent_cs.qc index 9c4bf5975..98ec27768 100644 --- a/qcsrc/server/ent_cs.qc +++ b/qcsrc/server/ent_cs.qc @@ -1,3 +1,14 @@ +#if defined(CSQC) +#elif defined(MENUQC) +#elif defined(SVQC) + #include "../dpdefs/progsdefs.qh" + #include "../dpdefs/dpextensions.qh" + #include "../common/constants.qh" + #include "constants.qh" + #include "defs.qh" + #include "mutators/mutators_include.qh" +#endif + /** * The point of these entities is to avoid the problems * with clientprediction. @@ -18,26 +29,26 @@ void entcs_init() { print("Initializing ClientSide information entities\n"); -}; +} float entcs_customize() { entity o; o = self.owner; if(o.deadflag != DEAD_NO) - return FALSE; - if(o.classname != "player") - return FALSE; + return false; + if (!IS_PLAYER(o)) + return false; if(other == o) - return FALSE; - if(other.classname == "player") + return false; + if((IS_PLAYER(other)) || other.caplayer) if(!teamplay || o.team != other.team) - if not (radar_showennemies) - return FALSE; - return TRUE; + if (!radar_showennemies) + return false; + return true; } -float entcs_send(entity to, float sf) +float entcs_send(entity to, int sf) { WriteByte(MSG_ENTITY, ENT_CLIENT_ENTCS); WriteByte(MSG_ENTITY, sf); @@ -45,18 +56,18 @@ float entcs_send(entity to, float sf) WriteByte(MSG_ENTITY, num_for_edict(self.owner)-1); if(sf & 2) { - WriteShort(MSG_ENTITY, self.origin_x); - WriteShort(MSG_ENTITY, self.origin_y); - WriteShort(MSG_ENTITY, self.origin_z); + WriteShort(MSG_ENTITY, self.origin.x); + WriteShort(MSG_ENTITY, self.origin.y); + WriteShort(MSG_ENTITY, self.origin.z); } if(sf & 4) - WriteByte(MSG_ENTITY, self.angles_y * 256.0 / 360); + WriteByte(MSG_ENTITY, self.angles.y * 256.0 / 360); if(sf & 8) 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? - return TRUE; -}; + return true; +} void entcs_think() { @@ -70,7 +81,7 @@ void entcs_think() setorigin(self, o.origin); self.SendFlags |= 2; } - if(o.angles_y != self.angles_y) + if(o.angles.y != self.angles.y) { self.angles = o.angles; self.SendFlags |= 4; @@ -85,11 +96,11 @@ void entcs_think() self.armorvalue = o.armorvalue; self.SendFlags |= 16; } -}; +} entity attach_entcs() { - local entity ent; + entity ent; ent = spawn(); ent.classname = "entcs_sender_v2"; @@ -97,16 +108,16 @@ entity attach_entcs() ent.think = entcs_think; ent.nextthink = time; - Net_LinkEntity(ent, FALSE, 0, entcs_send); + Net_LinkEntity(ent, false, 0, entcs_send); ent.customizeentityforclient = entcs_customize; self.entcs = ent; return ent; -}; +} void detach_entcs() { remove(self.entcs); self.entcs = world; -}; +}