2022-04-18 03:35:08 +02:00
|
|
|
|
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ========//
|
2022-02-22 02:45:40 +01:00
|
|
|
|
//
|
|
|
|
|
// Purpose: engine/launcher interface
|
|
|
|
|
//
|
|
|
|
|
// $NoKeywords: $
|
|
|
|
|
//=============================================================================//
|
2022-08-29 01:14:53 +02:00
|
|
|
|
#ifndef ENGINE_LAUNCHER_APIH
|
|
|
|
|
#define ENGINE_LAUNCHER_APIH
|
2022-02-22 02:45:40 +01:00
|
|
|
|
|
2023-01-30 21:22:17 +01:00
|
|
|
|
#include "public/appframework/IAppSystem.h"
|
2022-02-22 02:45:40 +01:00
|
|
|
|
|
2022-08-29 01:14:53 +02:00
|
|
|
|
struct StartupInfo_t
|
|
|
|
|
{
|
|
|
|
|
void* m_pInstance;
|
2022-11-07 22:25:20 +01:00
|
|
|
|
const char m_szBaseDirectory[260];
|
|
|
|
|
const char m_szInitialMod[260];
|
|
|
|
|
const char m_szInitialGame[260];
|
2022-08-29 01:14:53 +02:00
|
|
|
|
uint8_t m_pParentAppSystemGroup[236];
|
|
|
|
|
bool m_bTextMode;
|
|
|
|
|
};
|
|
|
|
|
|
2022-02-22 02:45:40 +01:00
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// Return values from the initialization stage of the application framework
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
INIT_RESTART = INIT_LAST_VAL,
|
|
|
|
|
RUN_FIRST_VAL,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// Return values from IEngineAPI::Run.
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
RUN_OK = RUN_FIRST_VAL,
|
|
|
|
|
RUN_RESTART,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// Main engine interface to launcher + tools
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
#define VENGINE_LAUNCHER_API_VERSION "VENGINE_LAUNCHER_API_VERSION004"
|
|
|
|
|
|
2022-08-29 01:14:53 +02:00
|
|
|
|
abstract_class IEngineAPI : public IAppSystem
|
|
|
|
|
{
|
|
|
|
|
// Functions
|
|
|
|
|
public:
|
|
|
|
|
// This function must be called before init
|
|
|
|
|
virtual bool SetStartupInfo(StartupInfo_t & info) = 0;
|
|
|
|
|
|
|
|
|
|
// Run the engine
|
|
|
|
|
virtual int Run() = 0;
|
|
|
|
|
|
|
|
|
|
// Sets the engine to run in a particular editor window
|
|
|
|
|
virtual void PostConsoleCommand(const char* pConsoleCommand) = 0;
|
|
|
|
|
|
|
|
|
|
// Are we running the simulation?
|
|
|
|
|
virtual bool IsRunningSimulation() const = 0;
|
|
|
|
|
|
|
|
|
|
// Start/stop running the simulation
|
|
|
|
|
virtual void ActivateSimulation(bool bActive) = 0;
|
|
|
|
|
|
|
|
|
|
// Reset the map we're on
|
|
|
|
|
virtual void SetMap(const char* pMapName) = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // ENGINE_LAUNCHER_APIH
|