From d687ebe09f222047c064be05d34dbef82b9dfd30 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Mon, 17 Mar 2014 15:38:10 -0400 Subject: [PATCH] Update some SendProp flags from Swarm SDK. --- public/dt_common.h | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/public/dt_common.h b/public/dt_common.h index 37bca567..6dcbf90c 100644 --- a/public/dt_common.h +++ b/public/dt_common.h @@ -62,26 +62,31 @@ #define SPROP_PROXY_ALWAYS_YES (1<<9) // Set for datatable props using one of the default datatable proxies like // SendProxy_DataTableToDataTable that always send the data to all clients. -#define SPROP_CHANGES_OFTEN (1<<10) // this is an often changed field, moved to head of sendtable so it gets a small index +#define SPROP_IS_A_VECTOR_ELEM (1<<10) // Set automatically if SPROP_VECTORELEM is used. -#define SPROP_IS_A_VECTOR_ELEM (1<<11) // Set automatically if SPROP_VECTORELEM is used. - -#define SPROP_COLLAPSIBLE (1<<12) // Set automatically if it's a datatable with an offset of 0 that doesn't change the pointer +#define SPROP_COLLAPSIBLE (1<<11) // Set automatically if it's a datatable with an offset of 0 that doesn't change the pointer // (ie: for all automatically-chained base classes). // In this case, it can get rid of this SendPropDataTable altogether and spare the // trouble of walking the hierarchy more than necessary. -#define SPROP_COORD_MP (1<<13) // Like SPROP_COORD, but special handling for multiplayer games -#define SPROP_COORD_MP_LOWPRECISION (1<<14) // Like SPROP_COORD, but special handling for multiplayer games where the fractional component only gets a 3 bits instead of 5 -#define SPROP_COORD_MP_INTEGRAL (1<<15) // SPROP_COORD_MP, but coordinates are rounded to integral boundaries -#define SPROP_NUMFLAGBITS_NETWORKED 16 +#define SPROP_COORD_MP (1<<12) // Like SPROP_COORD, but special handling for multiplayer games +#define SPROP_COORD_MP_LOWPRECISION (1<<13) // Like SPROP_COORD, but special handling for multiplayer games where the fractional component only gets a 3 bits instead of 5 +#define SPROP_COORD_MP_INTEGRAL (1<<14) // SPROP_COORD_MP, but coordinates are rounded to integral boundaries +#define SPROP_CELL_COORD (1<<15) // Like SPROP_COORD, but special encoding for cell coordinates that can't be negative, bit count indicate maximum value +#define SPROP_CELL_COORD_LOWPRECISION (1<<16) // Like SPROP_CELL_COORD, but special handling where the fractional component only gets a 3 bits instead of 5 +#define SPROP_CELL_COORD_INTEGRAL (1<<17) // SPROP_CELL_COORD, but coordinates are rounded to integral boundaries + +#define SPROP_CHANGES_OFTEN (1<<18) // this is an often changed field, moved to head of sendtable so it gets a small index + +#define SPROP_NUMFLAGBITS_NETWORKED 19 + // This is server side only, it's used to mark properties whose SendProxy_* functions encode against gpGlobals->tickcount (the only ones that currently do this are // m_flAnimTime and m_flSimulationTime. MODs shouldn't need to mess with this probably -#define SPROP_ENCODED_AGAINST_TICKCOUNT (1<<16) +#define SPROP_ENCODED_AGAINST_TICKCOUNT (1<<19) // See SPROP_NUMFLAGBITS_NETWORKED for the ones which are networked -#define SPROP_NUMFLAGBITS 17 +#define SPROP_NUMFLAGBITS 20 // Used by the SendProp and RecvProp functions to disable debug checks on type sizes. #define SIZEOF_IGNORE -1