This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

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