summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
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
commit3c08da6086d5c2431dd929543ed89afb79956423 (patch)
tree3725431d788e0abfcd78dd4457822bfefeab5716 /src/game
parentef4057c1551351ceff9a1378795b2fb8fb929200 (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')
-rw-r--r--src/game/g_public.h9
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