96 lines
2.9 KiB
C
96 lines
2.9 KiB
C
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//
|
|
//=============================================================================//
|
|
|
|
#ifndef DATATABLE_SHARED_H
|
|
#define DATATABLE_SHARED_H
|
|
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "dt_common.h"
|
|
|
|
// ------------------------------------------------------------------------ //
|
|
// Client version
|
|
// ------------------------------------------------------------------------ //
|
|
|
|
#if defined(CLIENT_DLL)
|
|
|
|
#include "dt_recv.h"
|
|
|
|
#define PROPINFO(varName) RECVINFO(varName)
|
|
#define PROPINFO_DT(varName) RECVINFO_DT(varName)
|
|
#define PROPINFO_DT_NAME(varName, remoteVarName) \
|
|
RECVINFO_DTNAME(varName, remoteVarName)
|
|
#define PROPINFO_NAME(varName, remoteVarName) \
|
|
RECVINFO_NAME(varName, remoteVarName)
|
|
|
|
#define DataTableProp RecvProp
|
|
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------------ //
|
|
// Server version
|
|
// ------------------------------------------------------------------------ //
|
|
|
|
#if !defined(CLIENT_DLL)
|
|
|
|
#include "dt_send.h"
|
|
|
|
#define PROPINFO(varName) SENDINFO(varName)
|
|
#define PROPINFO_DT(varName) SENDINFO_DT(varName)
|
|
#define PROPINFO_DT_NAME(varName, remoteVarName) \
|
|
SENDINFO_DT_NAME(varName, remoteVarName)
|
|
#define PROPINFO_NAME(varName, remoteVarName) \
|
|
SENDINFO_NAME(varName, remoteVarName)
|
|
|
|
#define DataTableProp SendProp
|
|
|
|
#endif
|
|
|
|
// Use these functions to setup your data tables.
|
|
DataTableProp PropFloat(
|
|
char *pVarName, // Variable name.
|
|
int offset, // Offset into container structure.
|
|
int sizeofVar = SIZEOF_IGNORE,
|
|
int nBits = 32, // Number of bits to use when encoding.
|
|
int flags = 0,
|
|
float fLowValue = 0.0f, // For floating point, low and high values.
|
|
float fHighValue =
|
|
HIGH_DEFAULT // High value. If HIGH_DEFAULT, it's (1<<nBits).
|
|
);
|
|
|
|
DataTableProp PropVector(
|
|
char *pVarName, int offset, int sizeofVar = SIZEOF_IGNORE,
|
|
int nBits = 32, // Number of bits (for each floating-point component) to
|
|
// use when encoding.
|
|
int flags = SPROP_NOSCALE,
|
|
float fLowValue = 0.0f, // For floating point, low and high values.
|
|
float fHighValue =
|
|
HIGH_DEFAULT // High value. If HIGH_DEFAULT, it's (1<<nBits).
|
|
);
|
|
|
|
DataTableProp PropAngle(char *pVarName, int offset,
|
|
int sizeofVar = SIZEOF_IGNORE, int nBits = 32,
|
|
int flags = 0);
|
|
|
|
DataTableProp PropInt(
|
|
char *pVarName, int offset,
|
|
int sizeofVar = SIZEOF_IGNORE, // Handled by SENDINFO macro.
|
|
int nBits = -1, // Set to -1 to automatically pick (max) number of bits
|
|
// based on size of element.
|
|
int flags = 0, int rightShift = 0);
|
|
|
|
DataTableProp PropString(char *pVarName, int offset, int bufferLen,
|
|
int flags = 0);
|
|
|
|
DataTableProp PropEHandle(char *pVarName, int offset,
|
|
int sizeofVar = SIZEOF_IGNORE);
|
|
|
|
#endif // DATATABLE_SHARED_H
|