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 ACTIVITYLIST_H
#define ACTIVITYLIST_H
#ifdef _WIN32
#pragma once
#endif
#include <keyvalues.h>
typedef struct activityentry_s activityentry_t;
class CActivityRemap { public:
CActivityRemap() { pExtraBlock = NULL; }
void SetExtraKeyValueBlock ( KeyValues *pKVBlock ) { pExtraBlock = pKVBlock; }
KeyValues *GetExtraKeyValueBlock ( void ) { return pExtraBlock; }
Activity activity; Activity mappedActivity;
private:
KeyValues *pExtraBlock; };
class CActivityRemapCache { public:
CActivityRemapCache() { }
CActivityRemapCache( const CActivityRemapCache& src ) { int c = src.m_cachedActivityRemaps.Count(); for ( int i = 0; i < c; i++ ) { m_cachedActivityRemaps.AddToTail( src.m_cachedActivityRemaps[ i ] ); } }
CActivityRemapCache& operator = ( const CActivityRemapCache& src ) { if ( this == &src ) return *this;
int c = src.m_cachedActivityRemaps.Count(); for ( int i = 0; i < c; i++ ) { m_cachedActivityRemaps.AddToTail( src.m_cachedActivityRemaps[ i ] ); }
return *this; }
CUtlVector< CActivityRemap > m_cachedActivityRemaps; };
void UTIL_LoadActivityRemapFile( const char *filename, const char *section, CUtlVector <CActivityRemap> &entries );
//=========================================================
//=========================================================
extern void ActivityList_Init( void ); extern void ActivityList_Free( void ); extern bool ActivityList_RegisterSharedActivity( const char *pszActivityName, int iActivityIndex ); extern Activity ActivityList_RegisterPrivateActivity( const char *pszActivityName ); extern int ActivityList_IndexForName( const char *pszActivityName ); extern const char *ActivityList_NameForIndex( int iActivityIndex ); extern int ActivityList_HighestIndex();
// This macro guarantees that the names of each activity and the constant used to
// reference it in the code are identical.
#define REGISTER_SHARED_ACTIVITY( _n ) ActivityList_RegisterSharedActivity(#_n, _n);
#define REGISTER_PRIVATE_ACTIVITY( _n ) _n = ActivityList_RegisterPrivateActivity( #_n );
// Implemented in shared code
extern void ActivityList_RegisterSharedActivities( void );
class ISaveRestoreOps; extern ISaveRestoreOps* ActivityDataOps();
#endif // ACTIVITYLIST_H
|