aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/globalstate.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/server/globalstate.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/server/globalstate.cpp')
-rw-r--r--mp/src/game/server/globalstate.cpp650
1 files changed, 325 insertions, 325 deletions
diff --git a/mp/src/game/server/globalstate.cpp b/mp/src/game/server/globalstate.cpp
index 43390d90..7d50d5ce 100644
--- a/mp/src/game/server/globalstate.cpp
+++ b/mp/src/game/server/globalstate.cpp
@@ -1,325 +1,325 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//
-//=============================================================================//
-#include "cbase.h"
-#include "basetypes.h"
-#include "saverestore.h"
-#include "saverestore_utlvector.h"
-#include "saverestore_utlsymbol.h"
-#include "globalstate.h"
-#include "igamesystem.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-struct globalentity_t
-{
- DECLARE_SIMPLE_DATADESC();
-
- CUtlSymbol name;
- CUtlSymbol levelName;
- GLOBALESTATE state;
- int counter;
-};
-
-
-class CGlobalState : public CAutoGameSystem
-{
-public:
- CGlobalState( char const *name ) : CAutoGameSystem( name ), m_disableStateUpdates(false)
- {
- }
-
- // IGameSystem
- virtual void LevelShutdownPreEntity()
- {
- // don't allow state updates during shutdowns
- Assert( !m_disableStateUpdates );
- m_disableStateUpdates = true;
- }
-
- virtual void LevelShutdownPostEntity()
- {
- Assert( m_disableStateUpdates );
- m_disableStateUpdates = false;
- }
-
- void EnableStateUpdates( bool bEnable )
- {
- m_disableStateUpdates = !bEnable;
- }
-
- void SetState( int globalIndex, GLOBALESTATE state )
- {
- if ( m_disableStateUpdates || !m_list.IsValidIndex(globalIndex) )
- return;
- m_list[globalIndex].state = state;
- }
-
- GLOBALESTATE GetState( int globalIndex )
- {
- if ( !m_list.IsValidIndex(globalIndex) )
- return GLOBAL_OFF;
- return m_list[globalIndex].state;
- }
-
- void SetCounter( int globalIndex, int counter )
- {
- if ( m_disableStateUpdates || !m_list.IsValidIndex(globalIndex) )
- return;
- m_list[globalIndex].counter = counter;
- }
-
- int AddToCounter( int globalIndex, int delta )
- {
- if ( m_disableStateUpdates || !m_list.IsValidIndex(globalIndex) )
- return 0;
- return ( m_list[globalIndex].counter += delta );
- }
-
- int GetCounter( int globalIndex )
- {
- if ( !m_list.IsValidIndex(globalIndex) )
- return 0;
- return m_list[globalIndex].counter;
- }
-
- void SetMap( int globalIndex, string_t mapname )
- {
- if ( !m_list.IsValidIndex(globalIndex) )
- return;
- m_list[globalIndex].levelName = m_nameList.AddString( STRING(mapname) );
- }
-
- const char *GetMap( int globalIndex )
- {
- if ( !m_list.IsValidIndex(globalIndex) )
- return NULL;
- return m_nameList.String( m_list[globalIndex].levelName );
- }
-
- const char *GetName( int globalIndex )
- {
- if ( !m_list.IsValidIndex(globalIndex) )
- return NULL;
- return m_nameList.String( m_list[globalIndex].name );
- }
-
- int GetIndex( const char *pGlobalname )
- {
- CUtlSymbol symName = m_nameList.Find( pGlobalname );
-
- if ( symName.IsValid() )
- {
- for ( int i = m_list.Count() - 1; i >= 0; --i )
- {
- if ( m_list[i].name == symName )
- return i;
- }
- }
-
- return -1;
- }
-
- int AddEntity( const char *pGlobalname, const char *pMapName, GLOBALESTATE state )
- {
- globalentity_t entity;
- entity.name = m_nameList.AddString( pGlobalname );
- entity.levelName = m_nameList.AddString( pMapName );
- entity.state = state;
-
- int index = GetIndex( m_nameList.String( entity.name ) );
- if ( index >= 0 )
- return index;
- return m_list.AddToTail( entity );
- }
-
- int GetNumGlobals( void )
- {
- return m_list.Count();
- }
-
- void Reset( void );
- int Save( ISave &save );
- int Restore( IRestore &restore );
- DECLARE_SIMPLE_DATADESC();
-
-//#ifdef _DEBUG
- void DumpGlobals( void );
-//#endif
-
-public:
- CUtlSymbolTable m_nameList;
-private:
- bool m_disableStateUpdates;
- CUtlVector<globalentity_t> m_list;
-};
-
-static CGlobalState gGlobalState( "CGlobalState" );
-
-static CUtlSymbolDataOps g_GlobalSymbolDataOps( gGlobalState.m_nameList );
-
-
-void GlobalEntity_SetState( int globalIndex, GLOBALESTATE state )
-{
- gGlobalState.SetState( globalIndex, state );
-}
-
-void GlobalEntity_SetCounter( int globalIndex, int counter )
-{
- gGlobalState.SetCounter( globalIndex, counter );
-}
-
-int GlobalEntity_AddToCounter( int globalIndex, int delta )
-{
- return gGlobalState.AddToCounter( globalIndex, delta );
-}
-
-void GlobalEntity_EnableStateUpdates( bool bEnable )
-{
- gGlobalState.EnableStateUpdates( bEnable );
-}
-
-
-void GlobalEntity_SetMap( int globalIndex, string_t mapname )
-{
- gGlobalState.SetMap( globalIndex, mapname );
-}
-
-int GlobalEntity_Add( const char *pGlobalname, const char *pMapName, GLOBALESTATE state )
-{
- return gGlobalState.AddEntity( pGlobalname, pMapName, state );
-}
-
-int GlobalEntity_GetIndex( const char *pGlobalname )
-{
- return gGlobalState.GetIndex( pGlobalname );
-}
-
-GLOBALESTATE GlobalEntity_GetState( int globalIndex )
-{
- return gGlobalState.GetState( globalIndex );
-}
-
-int GlobalEntity_GetCounter( int globalIndex )
-{
- return gGlobalState.GetCounter( globalIndex );
-}
-
-const char *GlobalEntity_GetMap( int globalIndex )
-{
- return gGlobalState.GetMap( globalIndex );
-}
-
-const char *GlobalEntity_GetName( int globalIndex )
-{
- return gGlobalState.GetName( globalIndex );
-}
-
-int GlobalEntity_GetNumGlobals( void )
-{
- return gGlobalState.GetNumGlobals();
-}
-
-CON_COMMAND(dump_globals, "Dump all global entities/states")
-{
- if ( !UTIL_IsCommandIssuedByServerAdmin() )
- return;
-
- gGlobalState.DumpGlobals();
-}
-
-// This is available all the time now on impulse 104, remove later
-//#ifdef _DEBUG
-void CGlobalState::DumpGlobals( void )
-{
- static const char *estates[] = { "Off", "On", "Dead" };
-
- Msg( "-- Globals --\n" );
- for ( int i = 0; i < m_list.Count(); i++ )
- {
- Msg( "%s: %s (%s) = %d\n", m_nameList.String( m_list[i].name ), m_nameList.String( m_list[i].levelName ), estates[m_list[i].state], m_list[i].counter );
- }
-}
-//#endif
-
-
-// Global state Savedata
-BEGIN_SIMPLE_DATADESC( CGlobalState )
- DEFINE_UTLVECTOR( m_list, FIELD_EMBEDDED ),
- // DEFINE_FIELD( m_nameList, CUtlSymbolTable ),
- // DEFINE_FIELD( m_disableStateUpdates, FIELD_BOOLEAN ),
-END_DATADESC()
-
-BEGIN_SIMPLE_DATADESC( globalentity_t )
- DEFINE_CUSTOM_FIELD( name, &g_GlobalSymbolDataOps ),
- DEFINE_CUSTOM_FIELD( levelName, &g_GlobalSymbolDataOps ),
- DEFINE_FIELD( state, FIELD_INTEGER ),
- DEFINE_FIELD( counter, FIELD_INTEGER ),
-END_DATADESC()
-
-
-int CGlobalState::Save( ISave &save )
-{
- if ( !save.WriteFields( "GLOBAL", this, NULL, m_DataMap.dataDesc, m_DataMap.dataNumFields ) )
- return 0;
-
- return 1;
-}
-
-int CGlobalState::Restore( IRestore &restore )
-{
- Reset();
- if ( !restore.ReadFields( "GLOBAL", this, NULL, m_DataMap.dataDesc, m_DataMap.dataNumFields ) )
- return 0;
-
- return 1;
-}
-
-void CGlobalState::Reset( void )
-{
- m_list.Purge();
- m_nameList.RemoveAll();
-}
-
-
-void SaveGlobalState( CSaveRestoreData *pSaveData )
-{
- CSave saveHelper( pSaveData );
- gGlobalState.Save( saveHelper );
-}
-
-
-void RestoreGlobalState( CSaveRestoreData *pSaveData )
-{
- CRestore restoreHelper( pSaveData );
- gGlobalState.Restore( restoreHelper );
-}
-
-
-//-----------------------------------------------------------------------------
-// Purpose: This gets called when a level is shut down
-//-----------------------------------------------------------------------------
-
-void ResetGlobalState( void )
-{
- gGlobalState.Reset();
-}
-
-
-void ShowServerGameTime()
-{
- Msg( "Server game time: %f\n", gpGlobals->curtime );
-}
-
-CON_COMMAND(server_game_time, "Gives the game time in seconds (server's curtime)")
-{
- if ( !UTIL_IsCommandIssuedByServerAdmin() )
- return;
-
- ShowServerGameTime();
-}
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+#include "cbase.h"
+#include "basetypes.h"
+#include "saverestore.h"
+#include "saverestore_utlvector.h"
+#include "saverestore_utlsymbol.h"
+#include "globalstate.h"
+#include "igamesystem.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+struct globalentity_t
+{
+ DECLARE_SIMPLE_DATADESC();
+
+ CUtlSymbol name;
+ CUtlSymbol levelName;
+ GLOBALESTATE state;
+ int counter;
+};
+
+
+class CGlobalState : public CAutoGameSystem
+{
+public:
+ CGlobalState( char const *name ) : CAutoGameSystem( name ), m_disableStateUpdates(false)
+ {
+ }
+
+ // IGameSystem
+ virtual void LevelShutdownPreEntity()
+ {
+ // don't allow state updates during shutdowns
+ Assert( !m_disableStateUpdates );
+ m_disableStateUpdates = true;
+ }
+
+ virtual void LevelShutdownPostEntity()
+ {
+ Assert( m_disableStateUpdates );
+ m_disableStateUpdates = false;
+ }
+
+ void EnableStateUpdates( bool bEnable )
+ {
+ m_disableStateUpdates = !bEnable;
+ }
+
+ void SetState( int globalIndex, GLOBALESTATE state )
+ {
+ if ( m_disableStateUpdates || !m_list.IsValidIndex(globalIndex) )
+ return;
+ m_list[globalIndex].state = state;
+ }
+
+ GLOBALESTATE GetState( int globalIndex )
+ {
+ if ( !m_list.IsValidIndex(globalIndex) )
+ return GLOBAL_OFF;
+ return m_list[globalIndex].state;
+ }
+
+ void SetCounter( int globalIndex, int counter )
+ {
+ if ( m_disableStateUpdates || !m_list.IsValidIndex(globalIndex) )
+ return;
+ m_list[globalIndex].counter = counter;
+ }
+
+ int AddToCounter( int globalIndex, int delta )
+ {
+ if ( m_disableStateUpdates || !m_list.IsValidIndex(globalIndex) )
+ return 0;
+ return ( m_list[globalIndex].counter += delta );
+ }
+
+ int GetCounter( int globalIndex )
+ {
+ if ( !m_list.IsValidIndex(globalIndex) )
+ return 0;
+ return m_list[globalIndex].counter;
+ }
+
+ void SetMap( int globalIndex, string_t mapname )
+ {
+ if ( !m_list.IsValidIndex(globalIndex) )
+ return;
+ m_list[globalIndex].levelName = m_nameList.AddString( STRING(mapname) );
+ }
+
+ const char *GetMap( int globalIndex )
+ {
+ if ( !m_list.IsValidIndex(globalIndex) )
+ return NULL;
+ return m_nameList.String( m_list[globalIndex].levelName );
+ }
+
+ const char *GetName( int globalIndex )
+ {
+ if ( !m_list.IsValidIndex(globalIndex) )
+ return NULL;
+ return m_nameList.String( m_list[globalIndex].name );
+ }
+
+ int GetIndex( const char *pGlobalname )
+ {
+ CUtlSymbol symName = m_nameList.Find( pGlobalname );
+
+ if ( symName.IsValid() )
+ {
+ for ( int i = m_list.Count() - 1; i >= 0; --i )
+ {
+ if ( m_list[i].name == symName )
+ return i;
+ }
+ }
+
+ return -1;
+ }
+
+ int AddEntity( const char *pGlobalname, const char *pMapName, GLOBALESTATE state )
+ {
+ globalentity_t entity;
+ entity.name = m_nameList.AddString( pGlobalname );
+ entity.levelName = m_nameList.AddString( pMapName );
+ entity.state = state;
+
+ int index = GetIndex( m_nameList.String( entity.name ) );
+ if ( index >= 0 )
+ return index;
+ return m_list.AddToTail( entity );
+ }
+
+ int GetNumGlobals( void )
+ {
+ return m_list.Count();
+ }
+
+ void Reset( void );
+ int Save( ISave &save );
+ int Restore( IRestore &restore );
+ DECLARE_SIMPLE_DATADESC();
+
+//#ifdef _DEBUG
+ void DumpGlobals( void );
+//#endif
+
+public:
+ CUtlSymbolTable m_nameList;
+private:
+ bool m_disableStateUpdates;
+ CUtlVector<globalentity_t> m_list;
+};
+
+static CGlobalState gGlobalState( "CGlobalState" );
+
+static CUtlSymbolDataOps g_GlobalSymbolDataOps( gGlobalState.m_nameList );
+
+
+void GlobalEntity_SetState( int globalIndex, GLOBALESTATE state )
+{
+ gGlobalState.SetState( globalIndex, state );
+}
+
+void GlobalEntity_SetCounter( int globalIndex, int counter )
+{
+ gGlobalState.SetCounter( globalIndex, counter );
+}
+
+int GlobalEntity_AddToCounter( int globalIndex, int delta )
+{
+ return gGlobalState.AddToCounter( globalIndex, delta );
+}
+
+void GlobalEntity_EnableStateUpdates( bool bEnable )
+{
+ gGlobalState.EnableStateUpdates( bEnable );
+}
+
+
+void GlobalEntity_SetMap( int globalIndex, string_t mapname )
+{
+ gGlobalState.SetMap( globalIndex, mapname );
+}
+
+int GlobalEntity_Add( const char *pGlobalname, const char *pMapName, GLOBALESTATE state )
+{
+ return gGlobalState.AddEntity( pGlobalname, pMapName, state );
+}
+
+int GlobalEntity_GetIndex( const char *pGlobalname )
+{
+ return gGlobalState.GetIndex( pGlobalname );
+}
+
+GLOBALESTATE GlobalEntity_GetState( int globalIndex )
+{
+ return gGlobalState.GetState( globalIndex );
+}
+
+int GlobalEntity_GetCounter( int globalIndex )
+{
+ return gGlobalState.GetCounter( globalIndex );
+}
+
+const char *GlobalEntity_GetMap( int globalIndex )
+{
+ return gGlobalState.GetMap( globalIndex );
+}
+
+const char *GlobalEntity_GetName( int globalIndex )
+{
+ return gGlobalState.GetName( globalIndex );
+}
+
+int GlobalEntity_GetNumGlobals( void )
+{
+ return gGlobalState.GetNumGlobals();
+}
+
+CON_COMMAND(dump_globals, "Dump all global entities/states")
+{
+ if ( !UTIL_IsCommandIssuedByServerAdmin() )
+ return;
+
+ gGlobalState.DumpGlobals();
+}
+
+// This is available all the time now on impulse 104, remove later
+//#ifdef _DEBUG
+void CGlobalState::DumpGlobals( void )
+{
+ static const char *estates[] = { "Off", "On", "Dead" };
+
+ Msg( "-- Globals --\n" );
+ for ( int i = 0; i < m_list.Count(); i++ )
+ {
+ Msg( "%s: %s (%s) = %d\n", m_nameList.String( m_list[i].name ), m_nameList.String( m_list[i].levelName ), estates[m_list[i].state], m_list[i].counter );
+ }
+}
+//#endif
+
+
+// Global state Savedata
+BEGIN_SIMPLE_DATADESC( CGlobalState )
+ DEFINE_UTLVECTOR( m_list, FIELD_EMBEDDED ),
+ // DEFINE_FIELD( m_nameList, CUtlSymbolTable ),
+ // DEFINE_FIELD( m_disableStateUpdates, FIELD_BOOLEAN ),
+END_DATADESC()
+
+BEGIN_SIMPLE_DATADESC( globalentity_t )
+ DEFINE_CUSTOM_FIELD( name, &g_GlobalSymbolDataOps ),
+ DEFINE_CUSTOM_FIELD( levelName, &g_GlobalSymbolDataOps ),
+ DEFINE_FIELD( state, FIELD_INTEGER ),
+ DEFINE_FIELD( counter, FIELD_INTEGER ),
+END_DATADESC()
+
+
+int CGlobalState::Save( ISave &save )
+{
+ if ( !save.WriteFields( "GLOBAL", this, NULL, m_DataMap.dataDesc, m_DataMap.dataNumFields ) )
+ return 0;
+
+ return 1;
+}
+
+int CGlobalState::Restore( IRestore &restore )
+{
+ Reset();
+ if ( !restore.ReadFields( "GLOBAL", this, NULL, m_DataMap.dataDesc, m_DataMap.dataNumFields ) )
+ return 0;
+
+ return 1;
+}
+
+void CGlobalState::Reset( void )
+{
+ m_list.Purge();
+ m_nameList.RemoveAll();
+}
+
+
+void SaveGlobalState( CSaveRestoreData *pSaveData )
+{
+ CSave saveHelper( pSaveData );
+ gGlobalState.Save( saveHelper );
+}
+
+
+void RestoreGlobalState( CSaveRestoreData *pSaveData )
+{
+ CRestore restoreHelper( pSaveData );
+ gGlobalState.Restore( restoreHelper );
+}
+
+
+//-----------------------------------------------------------------------------
+// Purpose: This gets called when a level is shut down
+//-----------------------------------------------------------------------------
+
+void ResetGlobalState( void )
+{
+ gGlobalState.Reset();
+}
+
+
+void ShowServerGameTime()
+{
+ Msg( "Server game time: %f\n", gpGlobals->curtime );
+}
+
+CON_COMMAND(server_game_time, "Gives the game time in seconds (server's curtime)")
+{
+ if ( !UTIL_IsCommandIssuedByServerAdmin() )
+ return;
+
+ ShowServerGameTime();
+}