summaryrefslogtreecommitdiff
path: root/engine/sys_dll.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine/sys_dll.h')
-rw-r--r--engine/sys_dll.h111
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
+