diff options
Diffstat (limited to 'mp/src/public/dt_utlvector_recv.h')
| -rw-r--r-- | mp/src/public/dt_utlvector_recv.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/mp/src/public/dt_utlvector_recv.h b/mp/src/public/dt_utlvector_recv.h new file mode 100644 index 00000000..2657ffe1 --- /dev/null +++ b/mp/src/public/dt_utlvector_recv.h @@ -0,0 +1,60 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Player for HL1.
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef DT_UTLVECTOR_RECV_H
+#define DT_UTLVECTOR_RECV_H
+#pragma once
+
+
+#include "dt_recv.h"
+#include "dt_utlvector_common.h"
+
+
+
+#define RECVINFO_UTLVECTOR( varName ) #varName, \
+ offsetof(currentRecvDTClass, varName), \
+ sizeof(((currentRecvDTClass*)0)->varName[0]), \
+ GetResizeUtlVectorTemplate( ((currentRecvDTClass*)0)->varName ), \
+ GetEnsureCapacityTemplate( ((currentRecvDTClass*)0)->varName )
+
+// Use this macro to specify a utlvector where you specify the function
+// that gets called to make sure the size of the utlvector is correct.
+// The size function looks like this: void ResizeUtlVector( void *pVoid, int len )
+#define RECVINFO_UTLVECTOR_SIZEFN( varName, resizeFn ) #varName, \
+ offsetof(currentRecvDTClass, varName), \
+ sizeof(((currentRecvDTClass*)0)->varName[0]), \
+ resizeFn, \
+ GetEnsureCapacityTemplate( ((currentRecvDTClass*)0)->varName )
+
+
+#define RecvPropUtlVectorDataTable( varName, nMaxElements, dataTableName ) \
+ RecvPropUtlVector( RECVINFO_UTLVECTOR( varName ), nMaxElements, RecvPropDataTable(NULL,0,0, &REFERENCE_RECV_TABLE( dataTableName ) ) )
+
+
+//
+// Receive a property sent with SendPropUtlVector.
+//
+// Example usage:
+//
+// RecvPropUtlVectorDataTable( m_StructArray, 11, DT_StructArray )
+//
+// RecvPropUtlVector( RECVINFO_UTLVECTOR( m_FloatArray ), 16, RecvPropFloat(NULL,0,0) )
+//
+RecvProp RecvPropUtlVector(
+ const char *pVarName, // Use RECVINFO_UTLVECTOR to generate these first 5 parameters.
+ int offset,
+ int sizeofVar,
+ ResizeUtlVectorFn fn,
+ EnsureCapacityFn ensureFn,
+
+ int nMaxElements, // Max # of elements in the array. Keep this as low as possible.
+ RecvProp pArrayProp // The definition of the property you're receiving into.
+ // You can leave all of its parameters at 0 (name, offset, size, etc).
+ );
+
+
+#endif // DT_UTLVECTOR_RECV_H
|