diff options
Diffstat (limited to 'game/client/cdll_client_int.h')
| -rw-r--r-- | game/client/cdll_client_int.h | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/game/client/cdll_client_int.h b/game/client/cdll_client_int.h new file mode 100644 index 0000000..c245633 --- /dev/null +++ b/game/client/cdll_client_int.h @@ -0,0 +1,180 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//===========================================================================// + +#ifndef CDLL_CLIENT_INT_H +#define CDLL_CLIENT_INT_H +#ifdef _WIN32 +#pragma once +#endif + +#include "iclientnetworkable.h" +#include "utllinkedlist.h" +#include "cdll_int.h" +#include "eiface.h" + + +class IVModelRender; +class IVEngineClient; +class IVModelRender; +class IVEfx; +class IVRenderView; +class IVDebugOverlay; +class IMaterialSystem; +class IMaterialSystemStub; +class IDataCache; +class IMDLCache; +class IVModelInfoClient; +class IEngineVGui; +class ISpatialPartition; +class IBaseClientDLL; +class ISpatialPartition; +class IFileSystem; +class IStaticPropMgrClient; +class IShadowMgr; +class IEngineSound; +class IMatSystemSurface; +class IMaterialSystemHardwareConfig; +class ISharedGameRules; +class IEngineTrace; +class IGameUIFuncs; +class IGameEventManager2; +class IPhysicsGameTrace; +class CGlobalVarsBase; +class IClientTools; +class C_BaseAnimating; +class IColorCorrectionSystem; +class IInputSystem; +class ISceneFileCache; +class IXboxSystem; // Xbox 360 only +class IMatchmaking; +class IVideoServices; +class CSteamAPIContext; +class IClientReplayContext; +class IReplayManager; +class IEngineReplay; +class IEngineClientReplay; +class IReplayScreenshotManager; +class CSteamID; + +//============================================================================= +// HPE_BEGIN +// [dwenger] Necessary for stats display +//============================================================================= + +class AchievementsAndStatsInterface; + +//============================================================================= +// HPE_END +//============================================================================= + +extern IVModelRender *modelrender; +extern IVEngineClient *engine; +extern IVModelRender *modelrender; +extern IVEfx *effects; +extern IVRenderView *render; +extern IVDebugOverlay *debugoverlay; +extern IMaterialSystem *materials; +extern IMaterialSystemStub *materials_stub; +extern IMaterialSystemHardwareConfig *g_pMaterialSystemHardwareConfig; +extern IDataCache *datacache; +extern IMDLCache *mdlcache; +extern IVModelInfoClient *modelinfo; +extern IEngineVGui *enginevgui; +extern ISpatialPartition* partition; +extern IBaseClientDLL *clientdll; +extern IFileSystem *filesystem; +extern IStaticPropMgrClient *staticpropmgr; +extern IShadowMgr *shadowmgr; +extern IEngineSound *enginesound; +extern IMatSystemSurface *g_pMatSystemSurface; +extern IEngineTrace *enginetrace; +extern IGameUIFuncs *gameuifuncs; +extern IGameEventManager2 *gameeventmanager; +extern IPhysicsGameTrace *physgametrace; +extern CGlobalVarsBase *gpGlobals; +extern IClientTools *clienttools; +extern IInputSystem *inputsystem; +extern ISceneFileCache *scenefilecache; +extern IXboxSystem *xboxsystem; // Xbox 360 only +extern IMatchmaking *matchmaking; +extern IVideoServices *g_pVideo; +extern IUploadGameStats *gamestatsuploader; +extern CSteamAPIContext *steamapicontext; +extern IReplaySystem *g_pReplay; +extern IClientReplayContext *g_pClientReplayContext; +extern IReplayManager *g_pReplayManager; +extern IReplayScreenshotManager *g_pReplayScreenshotManager; +extern IEngineReplay *g_pEngineReplay; +extern IEngineClientReplay *g_pEngineClientReplay; + +//============================================================================= +// HPE_BEGIN +// [dwenger] Necessary for stats display +//============================================================================= + +extern AchievementsAndStatsInterface* g_pAchievementsAndStatsInterface; + +//============================================================================= +// HPE_END +//============================================================================= + +// Set to true between LevelInit and LevelShutdown. +extern bool g_bLevelInitialized; +extern bool g_bTextMode; + +// Kyle says: this is here to obsfucate our accessing of the g_bTextMode variable and for no other purpose. +// See the mess of TF_ANTI_IDLEBOT_VERIFICATION code. If that code doesn't exist anymore, this +// probably also doesn't need to exist anymore. +// +// On a suggestion from Joe, we also point it to an incomplete type. +extern class IClientPurchaseInterfaceV2 *g_pClientPurchaseInterface; + + +// Returns true if a new OnDataChanged event is registered for this frame. +bool AddDataChangeEvent( IClientNetworkable *ent, DataUpdateType_t updateType, int *pStoredEvent ); + +void ClearDataChangedEvent( int iStoredEvent ); + +//----------------------------------------------------------------------------- +// Precaches a material +//----------------------------------------------------------------------------- +void PrecacheMaterial( const char *pMaterialName ); + +//----------------------------------------------------------------------------- +// Converts a previously precached material into an index +//----------------------------------------------------------------------------- +int GetMaterialIndex( const char *pMaterialName ); + +//----------------------------------------------------------------------------- +// Converts precached material indices into strings +//----------------------------------------------------------------------------- +const char *GetMaterialNameFromIndex( int nIndex ); + +//----------------------------------------------------------------------------- +// Precache-related methods for particle systems +//----------------------------------------------------------------------------- +void PrecacheParticleSystem( const char *pParticleSystemName ); +int GetParticleSystemIndex( const char *pParticleSystemName ); +const char *GetParticleSystemNameFromIndex( int nIndex ); + + +//----------------------------------------------------------------------------- +// Called during bone setup to test perf +//----------------------------------------------------------------------------- +void TrackBoneSetupEnt( C_BaseAnimating *pEnt ); + +bool IsEngineThreaded(); + +#ifndef NO_STEAM + +/// Returns Steam ID, given player index. Returns an invalid SteamID upon +/// failure +extern CSteamID GetSteamIDForPlayerIndex( int iPlayerIndex ); + +#endif + +#endif // CDLL_CLIENT_INT_H |