54 lines
1.8 KiB
C
54 lines
1.8 KiB
C
//========= 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
|