2016-09-17 06:40:45 +00:00
|
|
|
#ifndef __URDE_IMAIN_HPP__
|
|
|
|
#define __URDE_IMAIN_HPP__
|
|
|
|
#include <boo/boo.hpp>
|
|
|
|
#include <boo/graphicsdev/GL.hpp>
|
|
|
|
#include <boo/audiodev/IAudioVoiceEngine.hpp>
|
|
|
|
#include <hecl/Runtime.hpp>
|
|
|
|
#include <amuse/amuse.hpp>
|
|
|
|
#include "RetroTypes.hpp"
|
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
|
|
|
class CStopWatch;
|
|
|
|
enum class EGameplayResult
|
|
|
|
{
|
|
|
|
None,
|
|
|
|
Win,
|
|
|
|
Lose,
|
|
|
|
Playing
|
|
|
|
};
|
|
|
|
|
2017-01-17 01:23:19 +00:00
|
|
|
enum class EFlowState
|
|
|
|
{
|
|
|
|
Zero,
|
|
|
|
One,
|
|
|
|
Two,
|
|
|
|
Three,
|
|
|
|
Four,
|
|
|
|
Five,
|
|
|
|
Six,
|
|
|
|
};
|
|
|
|
|
2016-09-17 06:40:45 +00:00
|
|
|
class IMain
|
|
|
|
{
|
|
|
|
public:
|
2017-01-17 01:23:19 +00:00
|
|
|
virtual ~IMain() = default;
|
2016-09-17 06:40:45 +00:00
|
|
|
virtual void RegisterResourceTweaks() {}
|
|
|
|
virtual void ResetGameState()=0;
|
2016-12-30 06:37:01 +00:00
|
|
|
virtual void StreamNewGameState(CBitStreamReader&, u32 idx) {}
|
2016-09-17 06:40:45 +00:00
|
|
|
virtual void CheckTweakManagerDebugOptions() {}
|
|
|
|
virtual void Init(const hecl::Runtime::FileStoreManager& storeMgr,
|
|
|
|
boo::IAudioVoiceEngine* voiceEngine,
|
|
|
|
amuse::IBackendVoiceAllocator& backend)=0;
|
|
|
|
virtual void Draw()=0;
|
|
|
|
virtual bool Proc()=0;
|
|
|
|
virtual void Shutdown()=0;
|
|
|
|
virtual bool CheckReset()=0;
|
|
|
|
virtual bool CheckTerminate()=0;
|
|
|
|
virtual void DrawDebugMetrics(double, CStopWatch&) {}
|
|
|
|
virtual void DoPreDrawMetrics(){}
|
|
|
|
virtual void FillInAssetIDs()=0;
|
2017-01-20 03:53:32 +00:00
|
|
|
virtual bool LoadAudio()=0;
|
2016-09-17 06:40:45 +00:00
|
|
|
virtual void ShutdownSubsystems()=0;
|
|
|
|
virtual EGameplayResult GetGameplayResult() const=0;
|
|
|
|
virtual void SetGameplayResult(EGameplayResult wl)=0;
|
2017-01-17 01:23:19 +00:00
|
|
|
virtual void SetFlowState(EFlowState s)=0;
|
2016-09-17 06:40:45 +00:00
|
|
|
virtual EFlowState GetFlowState() const=0;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __URDE_IMAIN_HPP__
|