diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/public/server_class.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/public/server_class.h')
| -rw-r--r-- | mp/src/public/server_class.h | 292 |
1 files changed, 146 insertions, 146 deletions
diff --git a/mp/src/public/server_class.h b/mp/src/public/server_class.h index 6a039b16..ac961361 100644 --- a/mp/src/public/server_class.h +++ b/mp/src/public/server_class.h @@ -1,146 +1,146 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//
-//=============================================================================//
-
-#ifndef SERVER_CLASS_H
-#define SERVER_CLASS_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "tier0/dbg.h"
-#include "dt_send.h"
-#include "networkstringtabledefs.h"
-
-
-class ServerClass;
-class SendTable;
-
-extern ServerClass *g_pServerClassHead;
-
-
-class ServerClass
-{
-public:
- ServerClass( const char *pNetworkName, SendTable *pTable )
- {
- m_pNetworkName = pNetworkName;
- m_pTable = pTable;
- m_InstanceBaselineIndex = INVALID_STRING_INDEX;
- // g_pServerClassHead is sorted alphabetically, so find the correct place to insert
- if ( !g_pServerClassHead )
- {
- g_pServerClassHead = this;
- m_pNext = NULL;
- }
- else
- {
- ServerClass *p1 = g_pServerClassHead;
- ServerClass *p2 = p1->m_pNext;
-
- // use _stricmp because Q_stricmp isn't hooked up properly yet
- if ( _stricmp( p1->GetName(), pNetworkName ) > 0)
- {
- m_pNext = g_pServerClassHead;
- g_pServerClassHead = this;
- p1 = NULL;
- }
-
- while( p1 )
- {
- if ( p2 == NULL || _stricmp( p2->GetName(), pNetworkName ) > 0)
- {
- m_pNext = p2;
- p1->m_pNext = this;
- break;
- }
- p1 = p2;
- p2 = p2->m_pNext;
- }
- }
- }
-
- const char* GetName() { return m_pNetworkName; }
-
-
-public:
- const char *m_pNetworkName;
- SendTable *m_pTable;
- ServerClass *m_pNext;
- int m_ClassID; // Managed by the engine.
-
- // This is an index into the network string table (sv.GetInstanceBaselineTable()).
- int m_InstanceBaselineIndex; // INVALID_STRING_INDEX if not initialized yet.
-};
-
-
-class CBaseNetworkable;
-
-// If you do a DECLARE_SERVERCLASS, you need to do this inside the class definition.
-#define DECLARE_SERVERCLASS() \
- public: \
- virtual ServerClass* GetServerClass(); \
- static SendTable *m_pClassSendTable; \
- template <typename T> friend int ServerClassInit(T *); \
- virtual int YouForgotToImplementOrDeclareServerClass(); \
-
-#define DECLARE_SERVERCLASS_NOBASE() \
- public: \
- template <typename T> friend int ServerClassInit(T *); \
-
-// Use this macro to expose your class's data across the network.
-#define IMPLEMENT_SERVERCLASS( DLLClassName, sendTable ) \
- IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable )
-
-// You can use this instead of BEGIN_SEND_TABLE and it will do a DECLARE_SERVERCLASS automatically.
-#define IMPLEMENT_SERVERCLASS_ST(DLLClassName, sendTable) \
- IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable )\
- BEGIN_SEND_TABLE(DLLClassName, sendTable)
-
-#define IMPLEMENT_SERVERCLASS_ST_NOBASE(DLLClassName, sendTable) \
- IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable )\
- BEGIN_SEND_TABLE_NOBASE( DLLClassName, sendTable )
-
-
-#ifdef VALIDATE_DECLARE_CLASS
- #define CHECK_DECLARE_CLASS( DLLClassName, sendTable ) \
- template <typename T> int CheckDeclareClass_Access(T *); \
- template <> int CheckDeclareClass_Access<sendTable::ignored>(sendTable::ignored *, const char *pIgnored) \
- { \
- return DLLClassName::CheckDeclareClass( #DLLClassName ); \
- } \
- namespace sendTable \
- { \
- int verifyDeclareClass = CheckDeclareClass_Access( (sendTable::ignored*)0 ); \
- }
-#else
- #define CHECK_DECLARE_CLASS( DLLClassName, sendTable )
-#endif
-
-
-#define IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable ) \
- namespace sendTable \
- { \
- struct ignored; \
- extern SendTable g_SendTable; \
- } \
- CHECK_DECLARE_CLASS( DLLClassName, sendTable ) \
- static ServerClass g_##DLLClassName##_ClassReg(\
- #DLLClassName, \
- &sendTable::g_SendTable\
- ); \
- \
- ServerClass* DLLClassName::GetServerClass() {return &g_##DLLClassName##_ClassReg;} \
- SendTable *DLLClassName::m_pClassSendTable = &sendTable::g_SendTable;\
- int DLLClassName::YouForgotToImplementOrDeclareServerClass() {return 0;}
-
-
-#endif
-
-
-
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// + +#ifndef SERVER_CLASS_H +#define SERVER_CLASS_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "tier0/dbg.h" +#include "dt_send.h" +#include "networkstringtabledefs.h" + + +class ServerClass; +class SendTable; + +extern ServerClass *g_pServerClassHead; + + +class ServerClass +{ +public: + ServerClass( const char *pNetworkName, SendTable *pTable ) + { + m_pNetworkName = pNetworkName; + m_pTable = pTable; + m_InstanceBaselineIndex = INVALID_STRING_INDEX; + // g_pServerClassHead is sorted alphabetically, so find the correct place to insert + if ( !g_pServerClassHead ) + { + g_pServerClassHead = this; + m_pNext = NULL; + } + else + { + ServerClass *p1 = g_pServerClassHead; + ServerClass *p2 = p1->m_pNext; + + // use _stricmp because Q_stricmp isn't hooked up properly yet + if ( _stricmp( p1->GetName(), pNetworkName ) > 0) + { + m_pNext = g_pServerClassHead; + g_pServerClassHead = this; + p1 = NULL; + } + + while( p1 ) + { + if ( p2 == NULL || _stricmp( p2->GetName(), pNetworkName ) > 0) + { + m_pNext = p2; + p1->m_pNext = this; + break; + } + p1 = p2; + p2 = p2->m_pNext; + } + } + } + + const char* GetName() { return m_pNetworkName; } + + +public: + const char *m_pNetworkName; + SendTable *m_pTable; + ServerClass *m_pNext; + int m_ClassID; // Managed by the engine. + + // This is an index into the network string table (sv.GetInstanceBaselineTable()). + int m_InstanceBaselineIndex; // INVALID_STRING_INDEX if not initialized yet. +}; + + +class CBaseNetworkable; + +// If you do a DECLARE_SERVERCLASS, you need to do this inside the class definition. +#define DECLARE_SERVERCLASS() \ + public: \ + virtual ServerClass* GetServerClass(); \ + static SendTable *m_pClassSendTable; \ + template <typename T> friend int ServerClassInit(T *); \ + virtual int YouForgotToImplementOrDeclareServerClass(); \ + +#define DECLARE_SERVERCLASS_NOBASE() \ + public: \ + template <typename T> friend int ServerClassInit(T *); \ + +// Use this macro to expose your class's data across the network. +#define IMPLEMENT_SERVERCLASS( DLLClassName, sendTable ) \ + IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable ) + +// You can use this instead of BEGIN_SEND_TABLE and it will do a DECLARE_SERVERCLASS automatically. +#define IMPLEMENT_SERVERCLASS_ST(DLLClassName, sendTable) \ + IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable )\ + BEGIN_SEND_TABLE(DLLClassName, sendTable) + +#define IMPLEMENT_SERVERCLASS_ST_NOBASE(DLLClassName, sendTable) \ + IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable )\ + BEGIN_SEND_TABLE_NOBASE( DLLClassName, sendTable ) + + +#ifdef VALIDATE_DECLARE_CLASS + #define CHECK_DECLARE_CLASS( DLLClassName, sendTable ) \ + template <typename T> int CheckDeclareClass_Access(T *); \ + template <> int CheckDeclareClass_Access<sendTable::ignored>(sendTable::ignored *, const char *pIgnored) \ + { \ + return DLLClassName::CheckDeclareClass( #DLLClassName ); \ + } \ + namespace sendTable \ + { \ + int verifyDeclareClass = CheckDeclareClass_Access( (sendTable::ignored*)0 ); \ + } +#else + #define CHECK_DECLARE_CLASS( DLLClassName, sendTable ) +#endif + + +#define IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable ) \ + namespace sendTable \ + { \ + struct ignored; \ + extern SendTable g_SendTable; \ + } \ + CHECK_DECLARE_CLASS( DLLClassName, sendTable ) \ + static ServerClass g_##DLLClassName##_ClassReg(\ + #DLLClassName, \ + &sendTable::g_SendTable\ + ); \ + \ + ServerClass* DLLClassName::GetServerClass() {return &g_##DLLClassName##_ClassReg;} \ + SendTable *DLLClassName::m_pClassSendTable = &sendTable::g_SendTable;\ + int DLLClassName::YouForgotToImplementOrDeclareServerClass() {return 0;} + + +#endif + + + |