mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 06:06:50 +00:00
79 lines
1.9 KiB
C
79 lines
1.9 KiB
C
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// Purpose: Defines a group of app systems that all have the same lifetime
|
||
|
// that need to be connected/initialized, etc. in a well-defined order
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//
|
||
|
//===========================================================================//
|
||
|
|
||
|
#ifndef DEDICATED_H
|
||
|
#define DEDICATED_H
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "appframework/tier3app.h"
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Forward declarations
|
||
|
//-----------------------------------------------------------------------------
|
||
|
class IDedicatedServerAPI;
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Singleton interfaces
|
||
|
//-----------------------------------------------------------------------------
|
||
|
extern IDedicatedServerAPI *engine;
|
||
|
|
||
|
|
||
|
extern char g_szEXEName[ MAX_PATH ];
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Inner loop: initialize, shutdown main systems, load steam to
|
||
|
//-----------------------------------------------------------------------------
|
||
|
#ifdef POSIX
|
||
|
#define DEDICATED_BASECLASS CTier2SteamApp
|
||
|
#else
|
||
|
#define DEDICATED_BASECLASS CVguiSteamApp
|
||
|
#endif
|
||
|
|
||
|
class CDedicatedAppSystemGroup : public DEDICATED_BASECLASS
|
||
|
{
|
||
|
typedef DEDICATED_BASECLASS BaseClass;
|
||
|
|
||
|
public:
|
||
|
// Methods of IApplication
|
||
|
virtual bool Create( );
|
||
|
virtual bool PreInit( );
|
||
|
virtual int Main( );
|
||
|
virtual void PostShutdown();
|
||
|
virtual void Destroy();
|
||
|
|
||
|
// Used to chain to base class
|
||
|
AppModule_t LoadModule( CreateInterfaceFn factory )
|
||
|
{
|
||
|
return CSteamAppSystemGroup::LoadModule( factory );
|
||
|
}
|
||
|
|
||
|
// Method to add various global singleton systems
|
||
|
bool AddSystems( AppSystemInfo_t *pSystems )
|
||
|
{
|
||
|
return CSteamAppSystemGroup::AddSystems( pSystems );
|
||
|
}
|
||
|
|
||
|
void *FindSystem( const char *pInterfaceName )
|
||
|
{
|
||
|
return CSteamAppSystemGroup::FindSystem( pInterfaceName );
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
#endif // DEDICATED_H
|