diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /engine/networkstringtableitem.h | |
| download | archived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.tar.xz archived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.zip | |
Diffstat (limited to 'engine/networkstringtableitem.h')
| -rw-r--r-- | engine/networkstringtableitem.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/engine/networkstringtableitem.h b/engine/networkstringtableitem.h new file mode 100644 index 0000000..ba767c4 --- /dev/null +++ b/engine/networkstringtableitem.h @@ -0,0 +1,69 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef NETWORKSTRINGTABLEITEM_H +#define NETWORKSTRINGTABLEITEM_H +#ifdef _WIN32 +#pragma once +#endif + +#include "utlsymbol.h" +#include "utlvector.h" + +#ifdef _XBOX +#define SHARED_NET_STRING_TABLES +#endif + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- + +class CNetworkStringTableItem +{ +public: + enum + { + MAX_USERDATA_BITS = 14, + MAX_USERDATA_SIZE = (1 << MAX_USERDATA_BITS) + }; + + struct itemchange_s { + int tick; + int length; + unsigned char *data; + }; + + CNetworkStringTableItem( void ); + ~CNetworkStringTableItem( void ); + +#ifndef SHARED_NET_STRING_TABLES + void EnableChangeHistory( void ); + void UpdateChangeList( int tick, int length, const void *userData ); + int RestoreTick( int tick ); + inline int GetTickCreated( void ) const { return m_nTickCreated; } +#endif + + bool SetUserData( int tick, int length, const void *userdata ); + const void *GetUserData( int *length=0 ); + inline int GetUserDataLength() const { return m_nUserDataLength; } + + // Used by server only + // void SetTickCount( int count ) ; + inline int GetTickChanged( void ) const { return m_nTickChanged; } + +public: + unsigned char *m_pUserData; + int m_nUserDataLength; + int m_nTickChanged; + +#ifndef SHARED_NET_STRING_TABLES + int m_nTickCreated; + CUtlVector< itemchange_s > *m_pChangeList; +#endif +}; + +#endif // NETWORKSTRINGTABLEITEM_H |