Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef DT_LOCALTRANSFER_H
#define DT_LOCALTRANSFER_H
#ifdef _WIN32
#pragma once
#endif
#include "dt_send.h"
#include "dt_recv.h"
#include "dt.h"
// We have at most MAX_CHANGE_OFFSETS indices in an edict.
// We need 3 entries because of SPROP_IS_A_VECTOR_ELEM (in which case we could generate 3 props for each offset).
// Then we need 2 entries because we store up to 2 SendProp indices for each offset in PropIndicesCollection_t.
#define MAX_PROP_OFFSET_TO_INDICES_RESULTS (MAX_CHANGE_OFFSETS * 3 * PROP_INDICES_COLLECTION_NUM_INDICES)
class CBaseEdict;
// This sets up the ability to copy an entity with the specified SendTable directly
// into an entity with the specified RecvTable, thus avoiding compression overhead.
void LocalTransfer_InitFastCopy( const SendTable *pSendTable, const CStandardSendProxies *pSendProxies, RecvTable *pRecvTable, const CStandardRecvProxies *pRecvProxies, int &nSlowCopyProps, // These are incremented to tell you how many fast copy props it found.
int &nFastCopyProps );
// Transfer the data from pSrcEnt to pDestEnt using the specified SendTable and RecvTable.
void LocalTransfer_TransferEntity( const CBaseEdict *pEdict, const SendTable *pSendTable, const void *pSrcEnt, RecvTable *pRecvTable, void *pDestEnt, bool bNewlyCreated, bool bJustEnteredPVS, int objectID );
// This returns at most MAX_PROP_OFFSET_TO_INDICES_RESULTS results into pOut, so make sure it has at least that much room.
int MapPropOffsetsToIndices( const CBaseEdict *pEdict, CSendTablePrecalc *pPrecalc, const unsigned short *pOffsets, unsigned short nOffsets, unsigned short *pOut );
// Call this after packing all the entities in a frame.
void PrintPartialChangeEntsList();
#endif // DT_LOCALTRANSFER_H
|