X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Flib%2Fcsqcmodel%2Fsv_model.qc;h=dd8d5d33aaee2a8f479cd6edcc34f9047adf6730;hp=60ad7252f9b853b11d742b1cf4ac14bbb0bd7e3d;hb=b0a563c3658ec620ddb9037b9417b743a47002a5;hpb=77d6a05629e33da863fccb3cdd03b3c63af890dd diff --git a/qcsrc/lib/csqcmodel/sv_model.qc b/qcsrc/lib/csqcmodel/sv_model.qc index 60ad7252f..dd8d5d33a 100644 --- a/qcsrc/lib/csqcmodel/sv_model.qc +++ b/qcsrc/lib/csqcmodel/sv_model.qc @@ -24,33 +24,30 @@ #include "common.qh" #include #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) { - SELFPARAM(); // 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 @@ -68,13 +65,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) @@ -125,12 +118,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); }