From: Rudolf Polzer Date: Fri, 2 Dec 2011 08:22:41 +0000 (+0100) Subject: when NOT networking players by this code, also network tag_entity; ignore tag_index X-Git-Tag: xonotic-v0.6.0~74^2~100^2~34 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=f8b5dfab5e050b7448a7e9a6214f6412c7865b9b;p=xonotic%2Fxonotic-data.pk3dir.git when NOT networking players by this code, also network tag_entity; ignore tag_index tag_index could later be found automatically by checking which models we have... e.g. use "bip01 r hand" if a weapon model is attached to a player model --- diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 10e4e345b..10f77b6cd 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -2107,3 +2107,14 @@ float lowestbit(float f) f &~= f * 65536; return f; } + +#ifdef CSQC +entity ReadCSQCEntity() +{ + float f; + f = ReadShort(); + if(f == 0) + return world; + return findfloat(world, entnum, f); +} +#endif diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index b2e77484e..e2dfcb3b8 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -270,3 +270,7 @@ float xdecode(string s); #ifndef COMPAT_XON010_CHANNELS #define sound(e,c,s,v,a) sound7(e,c,s,v,a,0,0) #endif + +#ifdef CSQC +entity ReadCSQCEntity() +#endif diff --git a/qcsrc/csqcmodel/settings.qh b/qcsrc/csqcmodel/settings.qh index 97b5d6613..89e1b1de7 100644 --- a/qcsrc/csqcmodel/settings.qh +++ b/qcsrc/csqcmodel/settings.qh @@ -11,8 +11,14 @@ CSQCMODEL_PROPERTY(2, ReadShort, WriteShort, colormap) \ CSQCMODEL_PROPERTY(4, ReadInt24_t, WriteInt24_t, effects) \ CSQCMODEL_PROPERTY_SCALED(8, ReadByte, WriteByte, alpha, 255, 0, 255) \ + CSQCMODEL_ENDIF \ + CSQCMODEL_IF(!isplayer) \ + CSQCMODEL_PROPERTY(1, ReadCSQCEntity, WriteEntity, tag_entity) \ CSQCMODEL_ENDIF +// declare "odd" fields here +.entity tag_entity; + // add hook function calls here #define CSQCMODEL_HOOK_PREUPDATE #define CSQCMODEL_HOOK_POSTUPDATE