diff options
Diffstat (limited to 'public/IHammer.h')
| -rw-r--r-- | public/IHammer.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/public/IHammer.h b/public/IHammer.h new file mode 100644 index 0000000..7e85f2d --- /dev/null +++ b/public/IHammer.h @@ -0,0 +1,56 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: The application object. +// +//=============================================================================// + +#ifndef IHAMMER_H +#define IHAMMER_H + +#include "appframework/IAppSystem.h" + +typedef struct tagMSG MSG; + + +class IStudioDataCache; + + +//----------------------------------------------------------------------------- +// Return values for RequestNewConfig +//----------------------------------------------------------------------------- +enum RequestRetval_t +{ + REQUEST_OK = 0, + REQUEST_QUIT +}; + + +//----------------------------------------------------------------------------- +// Interface used to drive hammer +//----------------------------------------------------------------------------- +#define INTERFACEVERSION_HAMMER "Hammer001" +class IHammer : public IAppSystem +{ +public: + virtual bool HammerPreTranslateMessage( MSG * pMsg ) = 0; + virtual bool HammerIsIdleMessage( MSG * pMsg ) = 0; + virtual bool HammerOnIdle( long count ) = 0; + + virtual void RunFrame() = 0; + + // Returns the mod and the game to initially start up + virtual const char *GetDefaultMod() = 0; + virtual const char *GetDefaultGame() = 0; + + virtual bool InitSessionGameConfig( const char *szGameDir ) = 0; + + // Request a new config from hammer's config system + virtual RequestRetval_t RequestNewConfig() = 0; + + // Returns the full path to the mod and the game to initially start up + virtual const char *GetDefaultModFullPath() = 0; + + virtual int MainLoop() = 0; +}; + +#endif // IHAMMER_H |