mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-16 06:57:01 +00:00
@@ -7,19 +7,46 @@
|
||||
|
||||
#include <dolphin/gx/GXStruct.h>
|
||||
|
||||
enum EConsoleType {
|
||||
kCT_Emulator,
|
||||
kCT_Development1,
|
||||
kCT_Development2Or3,
|
||||
kCT_Retail,
|
||||
};
|
||||
|
||||
class COsKeyState {
|
||||
public:
|
||||
COsKeyState(int key, bool down, bool released, bool repeat, bool unk)
|
||||
: x0_key(key), x4_down(down), x4_released(released), x4_repeat(repeat), x4_unk(unk) {}
|
||||
|
||||
private:
|
||||
int x0_key;
|
||||
short x4_down : 1;
|
||||
short x4_released : 1;
|
||||
short x4_repeat : 1;
|
||||
short x4_unk : 1;
|
||||
};
|
||||
|
||||
class COsContext {
|
||||
static bool mProgressiveMode;
|
||||
public:
|
||||
COsContext(bool, bool);
|
||||
~COsContext();
|
||||
|
||||
void OpenWindow(const char* title, int x, int y, int w, int h, bool fullscreen);
|
||||
int OpenWindow(const char* title, int x, int y, int w, int h, bool fullscreen);
|
||||
bool Update();
|
||||
COsKeyState GetOsKeyState(int key) const;
|
||||
|
||||
void* AllocFromArena(size_t sz);
|
||||
|
||||
uint GetBaseFreeRam() const {
|
||||
size_t hiAddr = reinterpret_cast< size_t >(x1c_arenaHi);
|
||||
size_t loAddr = reinterpret_cast< size_t >(x20_arenaLo2);
|
||||
return ((hiAddr & ~31) - ((loAddr + 31) & ~31));
|
||||
}
|
||||
|
||||
static void SetProgressiveMode(bool progressive) { mProgressiveMode = progressive; }
|
||||
static bool GetProgressiveMode() { return mProgressiveMode; }
|
||||
private:
|
||||
int x0_right;
|
||||
int x4_bottom;
|
||||
|
||||
Reference in New Issue
Block a user