diff options
author | /dev/humancontroller <devhc@example.com> | 2015-03-27 14:17:55 +0100 |
---|---|---|
committer | /dev/humancontroller <devhc@example.com> | 2017-03-09 13:51:07 +0100 |
commit | 3c08da6086d5c2431dd929543ed89afb79956423 (patch) | |
tree | 3725431d788e0abfcd78dd4457822bfefeab5716 /src/game/g_public.h | |
parent | ef4057c1551351ceff9a1378795b2fb8fb929200 (diff) |
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
Diffstat (limited to 'src/game/g_public.h')
-rw-r--r-- | src/game/g_public.h | 9 |
1 files changed, 6 insertions, 3 deletions
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 |