//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Player for HL1. // // $NoKeywords: $ //=============================================================================// #ifndef DT_UTLVECTOR_SEND_H #define DT_UTLVECTOR_SEND_H #pragma once #include "dt_send.h" #include "dt_utlvector_common.h" #define SENDINFO_UTLVECTOR( varName ) #varName, \ offsetof(currentSendDTClass, varName), \ sizeof(((currentSendDTClass*)0)->varName[0]), \ GetEnsureCapacityTemplate( ((currentSendDTClass*)0)->varName ) #define SendPropUtlVectorDataTable( varName, nMaxElements, dataTableName ) \ SendPropUtlVector( \ SENDINFO_UTLVECTOR( varName ), \ nMaxElements, \ SendPropDataTable( NULL, 0, &REFERENCE_SEND_TABLE( dataTableName ) ) \ ) // // Set it up to transmit a CUtlVector of basic types or of structures. // // pArrayProp doesn't need a name, offset, or size. You can pass 0 for all those. // Example usage: // // SendPropUtlVectorDataTable( m_StructArray, 11, DT_TestStruct ) // // SendPropUtlVector( // SENDINFO_UTLVECTOR( m_FloatArray ), // 16, // max elements // SendPropFloat( NULL, 0, 0, 0, SPROP_NOSCALE ) // ) // SendProp SendPropUtlVector( char *pVarName, // Use SENDINFO_UTLVECTOR to generate these first 4 parameters. int offset, int sizeofVar, EnsureCapacityFn ensureFn, int nMaxElements, // Max # of elements in the array. Keep this as low as possible. SendProp pArrayProp, // Describe the data inside of each element in the array. SendTableProxyFn varProxy=SendProxy_DataTableToDataTable // This can be overridden to control who the array is sent to. ); #endif // DT_UTLVECTOR_SEND_H