pokeheartgold/include/system.h
2022-04-02 20:43:55 -04:00

82 lines
1.9 KiB
C

#ifndef POKEHEARTGOLD_SYSTEM_H
#define POKEHEARTGOLD_SYSTEM_H
#include "unk_0201F79C.h"
#include "heap.h"
#define BUTTONMODE_NORMAL 0
#define BUTTONMODE_STARTEQUALSX 1
#define BUTTONMODE_SWAPXY 2
#define BUTTONMODE_LEQUALSA 3
typedef void (*GFIntrCB)(void *);
struct FSCacheEntry {
void *data;
u32 hash;
};
struct System {
GFIntrCB vBlankIntr;
void *vBlankIntrArg;
GFIntrCB hBlankIntr;
void *hBlankIntrArg;
void (*unk10)(void);
void (*unk14)(void);
UNK_0201F79C *unk18;
UNK_0201F79C *unk1C;
UNK_0201F79C *unk20;
UNK_0201F79C *unk24;
u32 *unk28;
u32 vblankCounter;
u32 unk30;
int buttonMode;
int heldKeysRaw;
int newKeysRaw;
int newAndRepeatedKeysRaw; // 40
int heldKeys;
int newKeys;
int newAndRepeatedKeys;
int keyRepeatCounter; // 50
int keyRepeatContinueDelay;
int keyRepeatStartDelay;
int simulatedInputs;
u16 touchX; // 60
u16 touchY;
u16 touchNew;
u16 touchHeld;
u8 touchpadReadAuto;
u8 screensFlipped;
u8 unk6A;
u8 lidClosedPauseDisabled;
u8 softResetDisabled;
BOOL unk70;
u32 *unk74;
}; // size=0x478
extern struct System gSystem;
void sub_0201A0E0(void);
void Main_SetVBlankIntrCB(GFIntrCB cb, void *arg);
void HBlankInterruptDisable(void);
BOOL Main_SetHBlankIntrCB(GFIntrCB cb, void *arg);
void InitSystemForTheGame(void);
void InitGraphicMemory(void);
void *Sys_AllocAndReadFile(HeapID heapId, const char *path);
void sub_0201A3F8(const char * path, void **mem);
void sub_0201A430(void);
void InitKeypadAndTouchpad(void);
void sub_0201A4B0(int a0);
void Sys_SetSleepDisableFlag(int a0);
void Sys_ClearSleepDisableFlag(int a0);
void ReadKeypadAndTouchpad(void);
void SetKeyRepeatTimers(int cont, int start);
void sub_0201A728(int a0);
void sub_0201A738(int a0);
void sub_0201A748(HeapID heapId);
void sub_0201A774(void);
BOOL sub_0201A79C(void);
#endif //POKEHEARTGOLD_SYSTEM_H