prime/include/MetroidPrime/CGameArchitectureSupport.hpp
Luke Street 7ca3a1c0bb Replace int types in Retro code
Retro seemingly avoided using the Dolphin
typedefs in most places, opting to use int/uint
instead. This likely means they didn't use
u8/s8/u16/s16/etc either.


Former-commit-id: 133326ae406a0ebc76f56f8bcb489fda280be2be
2022-10-09 01:37:23 -04:00

56 lines
1.4 KiB
C++

#ifndef _CGAMEARCHITECTURESUPPORT
#define _CGAMEARCHITECTURESUPPORT
#include "types.h"
#include "GuiSys/CGuiSys.hpp"
#include "Kyoto/Audio/CAudioSys.hpp"
#include "Kyoto/Basics/COsContext.hpp"
#include "Kyoto/Basics/CStopwatch.hpp"
#include "Kyoto/TOneStatic.hpp"
#include "MetroidPrime/CArchitectureQueue.hpp"
#include "MetroidPrime/CIOWinManager.hpp"
#include "MetroidPrime/CInputGenerator.hpp"
#include "rstl/vector.hpp"
class CToken;
class CGameArchitectureSupport : public TOneStatic< CGameArchitectureSupport > {
public:
CGameArchitectureSupport(COsContext&);
~CGameArchitectureSupport();
void PreloadAudio();
bool UpdateTicks();
void Update();
void UnloadAudio();
inline CStopwatch& GetStopwatch1() { return x20_stopwatch1; }
inline CStopwatch& GetStopwatch2() { return x28_stopwatch2; }
inline CIOWinManager& GetIOWinManager() { return x58_ioWinMgr; }
inline int& GetFramesDrawn() { return x78_gameFrameCount; }
private:
CAudioSys x0_audioSys;
CArchitectureQueue x4_archQueue;
CStopwatch x20_stopwatch1;
CStopwatch x28_stopwatch2;
CInputGenerator x30_inputGenerator;
CGuiSys x44_guiSys;
CIOWinManager x58_ioWinMgr;
int x78_gameFrameCount;
float x7c_;
float x80_;
float x84_;
uint x88_;
rstl::vector< CToken > x90_;
OSAlarm xa0_infiniteLoopAlarm;
bool xc8_infiniteLoopAlarmSet;
};
CHECK_SIZEOF(CGameArchitectureSupport, 0xd0)
#endif // _CGAMEARCHITECTURESUPPORT