X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Flib%2Fcsqcmodel%2Fsv_model.qc;h=0ff4389944c03dcda8f0756cb0dba5d21d43fef5;hb=d865de7a9a17c5a1d9286aec40f68c3530697660;hp=3f9dea125957db861a749f86bf4a8ffd21b5f6ab;hpb=8d425b724cf06e450f2b605c4450878d4ed76cb2;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/csqcmodel/sv_model.qc b/qcsrc/lib/csqcmodel/sv_model.qc index 3f9dea125..0ff438994 100644 --- a/qcsrc/lib/csqcmodel/sv_model.qc +++ b/qcsrc/lib/csqcmodel/sv_model.qc @@ -22,34 +22,26 @@ #include "sv_model.qh" #include "common.qh" -#include -#include -#include -#include -#include // generic CSQC model code -bool CSQCModel_Send(entity to, int sf) +bool CSQCModel_Send(entity this, entity to, int sf) { // some nice flags for CSQCMODEL_IF - float isplayer = (IS_CLIENT(self)); - float islocalplayer = (self == to); - float isnolocalplayer = (isplayer && (self != to)); - - unused_float = isplayer; - unused_float = islocalplayer; - unused_float = isnolocalplayer; + noref bool isplayer = IS_CLIENT(this); + noref bool islocalplayer = (this == to); + noref bool isnolocalplayer = (isplayer && (this != to)); WriteHeader(MSG_ENTITY, ENT_CLIENT_MODEL); WriteInt24_t(MSG_ENTITY, sf); + WriteByte(MSG_ENTITY, isplayer); #define CSQCMODEL_IF(cond) if(cond) { #define CSQCMODEL_ENDIF } #define CSQCMODEL_PROPERTY(flag,t,r,w,f) \ if(sf & flag) \ { \ - w(MSG_ENTITY, self.csqcmodel_##f); \ + w(MSG_ENTITY, this.csqcmodel_##f); \ } #define CSQCMODEL_PROPERTY_SCALED(flag,t,r,w,f,s,mi,ma) CSQCMODEL_PROPERTY(flag,t,r,w,f) ALLPROPERTIES @@ -67,13 +59,9 @@ bool CSQCModel_Send(entity to, int sf) void CSQCModel_CheckUpdate(entity e) { // some nice flags for CSQCMODEL_IF - float isplayer = (IS_CLIENT(e)); - float islocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags - float isnolocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags - - unused_float = isplayer; - unused_float = islocalplayer; - unused_float = isnolocalplayer; + noref float isplayer = IS_CLIENT(e); + noref float islocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags + noref float isnolocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags #if CSQCPLAYER_FORCE_UPDATES if(isplayer && time > e.csqcmodel_nextforcedupdate) @@ -124,12 +112,12 @@ void CSQCModel_CheckUpdate(entity e) void CSQCModel_LinkEntity(entity e) { - e.SendEntity = CSQCModel_Send; + setSendEntity(e, CSQCModel_Send); e.SendFlags = 0xFFFFFF; CSQCModel_CheckUpdate(e); } void CSQCModel_UnlinkEntity(entity e) { - e.SendEntity = func_null; + setSendEntity(e, func_null); }