2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CGAMEARCHITECTURESUPPORT
|
|
|
|
#define _CGAMEARCHITECTURESUPPORT
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
2022-09-13 04:26:54 +00:00
|
|
|
#include "GuiSys/CGuiSys.hpp"
|
2022-10-01 06:19:09 +00:00
|
|
|
|
2022-09-13 04:26:54 +00:00
|
|
|
#include "Kyoto/Audio/CAudioSys.hpp"
|
2022-07-18 22:42:58 +00:00
|
|
|
#include "Kyoto/Basics/COsContext.hpp"
|
|
|
|
#include "Kyoto/Basics/CStopwatch.hpp"
|
|
|
|
#include "Kyoto/TOneStatic.hpp"
|
2022-10-01 06:19:09 +00:00
|
|
|
|
|
|
|
#include "MetroidPrime/CArchitectureQueue.hpp"
|
2022-08-09 23:03:51 +00:00
|
|
|
#include "MetroidPrime/CIOWinManager.hpp"
|
2022-09-13 04:26:54 +00:00
|
|
|
#include "MetroidPrime/CInputGenerator.hpp"
|
|
|
|
|
2022-10-01 06:19:09 +00:00
|
|
|
#include "rstl/vector.hpp"
|
2022-09-13 04:26:54 +00:00
|
|
|
|
2022-10-01 06:19:09 +00:00
|
|
|
class CToken;
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
class CGameArchitectureSupport : public TOneStatic< CGameArchitectureSupport > {
|
|
|
|
public:
|
|
|
|
CGameArchitectureSupport(COsContext&);
|
|
|
|
~CGameArchitectureSupport();
|
|
|
|
|
|
|
|
void PreloadAudio();
|
|
|
|
bool UpdateTicks();
|
|
|
|
void Update();
|
2022-10-01 06:19:09 +00:00
|
|
|
void UnloadAudio();
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
inline CStopwatch& GetStopwatch1() { return x20_stopwatch1; }
|
|
|
|
inline CStopwatch& GetStopwatch2() { return x28_stopwatch2; }
|
2022-10-01 06:19:09 +00:00
|
|
|
inline CIOWinManager& GetIOWinManager() { return x58_ioWinMgr; }
|
|
|
|
inline int& GetFramesDrawn() { return x78_gameFrameCount; }
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
private:
|
2022-09-13 04:26:54 +00:00
|
|
|
CAudioSys x0_audioSys;
|
2022-10-01 06:19:09 +00:00
|
|
|
CArchitectureQueue x4_archQueue;
|
2022-04-10 00:17:06 +00:00
|
|
|
CStopwatch x20_stopwatch1;
|
|
|
|
CStopwatch x28_stopwatch2;
|
2022-09-13 04:26:54 +00:00
|
|
|
CInputGenerator x30_inputGenerator;
|
|
|
|
CGuiSys x44_guiSys;
|
|
|
|
CIOWinManager x58_ioWinMgr;
|
2022-10-01 06:19:09 +00:00
|
|
|
int x78_gameFrameCount;
|
2022-09-13 04:26:54 +00:00
|
|
|
f32 x7c_;
|
|
|
|
f32 x80_;
|
|
|
|
f32 x84_;
|
|
|
|
uint x88_;
|
2022-10-01 06:19:09 +00:00
|
|
|
rstl::vector< CToken > x90_;
|
|
|
|
OSAlarm xa0_infiniteLoopAlarm;
|
|
|
|
bool xc8_infiniteLoopAlarmSet;
|
2022-04-10 00:17:06 +00:00
|
|
|
};
|
2022-09-13 04:26:54 +00:00
|
|
|
CHECK_SIZEOF(CGameArchitectureSupport, 0xd0)
|
2022-04-10 00:17:06 +00:00
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CGAMEARCHITECTURESUPPORT
|