From 3c08da6086d5c2431dd929543ed89afb79956423 Mon Sep 17 00:00:00 2001 From: /dev/humancontroller Date: Fri, 27 Mar 2015 14:17:55 +0100 Subject: implement the entity 64-bit client-masking extension rename the previously unused entityShared_t::s to hack, and make use of it TODO: remove the said field, and add and use ``int hiMask'' instead --- src/game/g_public.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/game/g_public.h') diff --git a/src/game/g_public.h b/src/game/g_public.h index 43b3f5de..cb3a27b2 100644 --- a/src/game/g_public.h +++ b/src/game/g_public.h @@ -31,7 +31,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // special server behaviors #define SVF_NOCLIENT 0x00000001 // don't send entity to clients, even if it has effects -#define SVF_CLIENTMASK 0x00000002 +#define SVF_CLIENTMASK 0x00000002 // send to clients specified by these bitmasks: + // entityShared_t->singleClient: low-order bits (0..31) + // entityShared_t->hack.generic1: high-order bits (32..63) #define SVF_BROADCAST 0x00000020 // send to all connected clients #define SVF_PORTAL 0x00000040 // merge a second pvs at origin2 into snapshots @@ -49,12 +51,13 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA typedef struct { - entityState_t s; // communicated by server to clients + entityState_t hack; // exists (as padding) to retain ABI compatibility + // with GPP, but can be used for extension hacks qboolean linked; // qfalse if not in any good cluster int linkcount; - int svFlags; // SVF_NOCLIENT, SVF_BROADCAST, etc + int svFlags; // SVF_NOCLIENT, SVF_BROADCAST, etc. int singleClient; // only send to this client when SVF_SINGLECLIENT is set qboolean bmodel; // if false, assume an explicit mins / maxs bounding box -- cgit