1
This commit is contained in:
111
engine/sys_dll.h
Normal file
111
engine/sys_dll.h
Normal file
@ -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
|
||||
|
Reference in New Issue
Block a user