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.
111 lines
3.1 KiB
111 lines
3.1 KiB
//========= 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 |
|
|
|
|