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/sys_dll.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'engine/sys_dll.h')
| -rw-r--r-- | engine/sys_dll.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/engine/sys_dll.h b/engine/sys_dll.h new file mode 100644 index 0000000..7e1d30f --- /dev/null +++ b/engine/sys_dll.h @@ -0,0 +1,111 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Expose functions from sys_dll.cpp. +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef SYS_DLL_H +#define SYS_DLL_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "interface.h" + +//----------------------------------------------------------------------------- +// Forward declarations +//----------------------------------------------------------------------------- +class IHammer; +class IDataCache; +class IPhysics; +class IMDLCache; +class IMatSystemSurface; +class IVideoServices; +class IVideoRecorder; +class IInputSystem; +class IDedicatedExports; +class ISoundEmitterSystemBase; + +typedef unsigned short AVIHandle_t; + + +//----------------------------------------------------------------------------- +// Class factories +//----------------------------------------------------------------------------- +// This factory gets to many of the major app-single systems, +// including the material system, vgui, vgui surface, the file system. +extern CreateInterfaceFn g_AppSystemFactory; + +// this factory connect the AppSystemFactory + client.dll + gameui.dll +extern CreateInterfaceFn g_GameSystemFactory; + + +//----------------------------------------------------------------------------- +// Singleton interfaces +//----------------------------------------------------------------------------- +extern IHammer *g_pHammer; +extern IDataCache *g_pDataCache; +extern IPhysics *g_pPhysics; +extern IMDLCache *g_pMDLCache; +extern IMatSystemSurface *g_pMatSystemSurface; +extern IInputSystem *g_pInputSystem; +extern IVideoServices *g_pVideo; +extern IDedicatedExports *dedicated; + +//----------------------------------------------------------------------------- +// Other singletons +//----------------------------------------------------------------------------- +extern IVideoRecorder *g_pVideoRecorder; + +inline bool InEditMode() +{ + return g_pHammer != NULL; +} + +struct modinfo_t +{ + char szInfo[ 256 ]; + char szDL [ 256 ]; + char szHLVersion[ 32 ]; + int version; + int size; + bool svonly; + bool cldll; +}; + +extern modinfo_t gmodinfo; + +void LoadEntityDLLs( const char *szBaseDir, bool bIsServerOnly ); +void UnloadEntityDLLs( void ); + +// This returns true if someone called Error() or Sys_Error() and we're exiting. +// Since we call exit() from inside those, some destructors need to be safe and not crash. +bool IsInErrorExit(); + +// error message +bool Sys_MessageBox(const char *title, const char *info, bool bShowOkAndCancel); + +bool ServerDLL_Load( bool bIsServerOnly ); +void ServerDLL_Unload(); + +typedef uint32 AppId_t; + +// steam.inf information. +struct SteamInfVersionInfo_t +{ + int32 ClientVersion; // PatchVersion + int32 ServerVersion; // ServerVersion + char szVersionString[ 32 ]; // PatchVersion string + char szProductString[ 32 ]; // ProductName string + + AppId_t AppID; // Steam AppID. Read from steam.inf(AppID) or gameinfo.txt(SteamAppId) + AppId_t ServerAppID; // ServerAppID. Used for dedicated server crash reporting. +}; +const SteamInfVersionInfo_t& GetSteamInfIDVersionInfo(); + +extern CreateInterfaceFn g_ServerFactory; + +#endif + |