diff options
author | Akira Akashi <rubenru09@aol.com> | 2021-06-02 22:13:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-02 22:13:57 +0100 |
commit | 9d3d4a2acff67f43896e9e0dcd26e7aaeb55e3b3 (patch) | |
tree | d707aa8fead427dadbbb29b886875e6c8961bd5a /arm9/src/main.c | |
parent | a2a17a9426f16ee601ff17840b8bb7851fef7138 (diff) | |
parent | 7e32d3758e7e36d7a67a1442cdb9386f9aa18a6e (diff) |
Merge branch 'master' into 0202A1E0
Diffstat (limited to 'arm9/src/main.c')
-rw-r--r-- | arm9/src/main.c | 94 |
1 files changed, 43 insertions, 51 deletions
diff --git a/arm9/src/main.c b/arm9/src/main.c index c50fbaff..749bec41 100644 --- a/arm9/src/main.c +++ b/arm9/src/main.c @@ -12,32 +12,25 @@ #include "player_data.h" #include "sound.h" #include "timer3.h" +#include "unk_02031734.h" +#include "unk_0202F150.h" +#include "module_52.h" FS_EXTERN_OVERLAY(MODULE_52); FS_EXTERN_OVERLAY(MODULE_63); #define SOFT_RESET_KEY (PAD_BUTTON_L | PAD_BUTTON_R | PAD_BUTTON_START | PAD_BUTTON_SELECT) -struct Unk2106FA0 gBacklightTop; +s32 UNK_02016FA4; +PMBackLightSwitch gBacklightTop; +struct UnkStruct_02016FA8 UNK_02016FA8; -extern BOOL OverlayManager_new(struct Unk21DBE18 *, s32 *, int); -extern BOOL OverlayManager_Run(int); -extern void OverlayManager_delete(int); -extern BOOL FUN_02033678(void); -extern u32 FUN_020335B8(void); -extern BOOL FUN_0202FB80(void); - -extern void InitSystemForTheGame(void); -extern void InitGraphicMemory(void); extern void FUN_02022294(void); extern void GF_InitRTCWork(void); extern void FUN_02002C14(void); extern void FUN_02002C50(int, int); -extern struct SaveBlock2 * SaveBlock2_new(void); -extern void * FUN_02029EF8(struct SaveBlock2 *); extern int FUN_020337E8(int); extern void FUN_02034188(int, int); -extern int FUN_020227FC(struct SaveBlock2 *); extern void FUN_02089D90(int); extern void FUN_0200A2AC(void); extern void FUN_02015E30(void); @@ -49,13 +42,13 @@ extern void FUN_0200A318(void); extern void FUN_0200E2D8(void); extern struct Unk21DBE18 MOD63_021DBE18; -extern struct Unk21DBE18 MOD52_021D76C8; extern u8 SDK_STATIC_BSS_START[]; -const int gGameVersion = GAME_VERSION; const int gGameLanguage = GAME_LANGUAGE; +const int gGameVersion = GAME_VERSION; +__declspec(noreturn) THUMB_FUNC void NitroMain(void) { InitSystemForTheGame(); @@ -72,13 +65,13 @@ THUMB_FUNC void NitroMain(void) FUN_02002C50(0, 3); FUN_02002C50(1, 3); FUN_02002C50(3, 3); - gBacklightTop.unk18 = -1; - gBacklightTop.unk20 = SaveBlock2_new(); - InitSoundData(FUN_02029EF8(gBacklightTop.unk20), Sav2_PlayerData_GetOptionsAddr(gBacklightTop.unk20)); + UNK_02016FA8.unk10 = -1; + UNK_02016FA8.unk18 = SaveBlock2_new(); + InitSoundData(Sav2_Chatot_get(UNK_02016FA8.unk18), Sav2_PlayerData_GetOptionsAddr(UNK_02016FA8.unk18)); Init_Timer3(); if (FUN_020337E8(3) == 3) FUN_02034188(3, 0); - if (FUN_020227FC(gBacklightTop.unk20) == 0) + if (FUN_020227FC(UNK_02016FA8.unk18) == 0) { FUN_02089D90(0); } @@ -88,12 +81,12 @@ THUMB_FUNC void NitroMain(void) { case 0: // Title Demo - gBacklightTop.unk1C = 0; + UNK_02016FA8.unk14 = 0; RegisterMainOverlay(FS_OVERLAY_ID(MODULE_63), &MOD63_021DBE18); break; case 1: // Reset transition? - gBacklightTop.unk1C = 1; + UNK_02016FA8.unk14 = 1; RegisterMainOverlay(FS_OVERLAY_ID(MODULE_52), &MOD52_021D76C8); break; default: @@ -106,7 +99,7 @@ THUMB_FUNC void NitroMain(void) InitializeMainRNG(); FUN_0200A2AC(); FUN_02015E30(); - gBacklightTop.unk4 = 0; + UNK_02016FA4 = 0; for (;;) { FUN_02000EE8(); @@ -145,40 +138,40 @@ THUMB_FUNC void NitroMain(void) THUMB_FUNC void FUN_02000DF4(void) { - gBacklightTop.unk8 = (FSOverlayID)-1; - gBacklightTop.unkC = 0; - gBacklightTop.unk10 = (FSOverlayID)-1; // overlay invalid - gBacklightTop.unk14 = NULL; + UNK_02016FA8.unk0 = SDK_OVERLAY_INVALID_ID; + UNK_02016FA8.unk4 = NULL; + UNK_02016FA8.unk8 = SDK_OVERLAY_INVALID_ID; // overlay invalid + UNK_02016FA8.unkC = NULL; } THUMB_FUNC void Main_RunOverlayManager(void) { - if (!gBacklightTop.unkC) + if (UNK_02016FA8.unk4 == NULL) { - if (gBacklightTop.unk14 == NULL) + if (UNK_02016FA8.unkC == NULL) return; - if (gBacklightTop.unk10 != SDK_OVERLAY_INVALID_ID) - HandleLoadOverlay(gBacklightTop.unk10, 0); - gBacklightTop.unk8 = gBacklightTop.unk10; - gBacklightTop.unkC = OverlayManager_new(gBacklightTop.unk14, &gBacklightTop.unk18, 0); - gBacklightTop.unk10 = SDK_OVERLAY_INVALID_ID; - gBacklightTop.unk14 = NULL; + if (UNK_02016FA8.unk8 != SDK_OVERLAY_INVALID_ID) + HandleLoadOverlay(UNK_02016FA8.unk8, 0); + UNK_02016FA8.unk0 = UNK_02016FA8.unk8; + UNK_02016FA8.unk4 = OverlayManager_new(UNK_02016FA8.unkC, &UNK_02016FA8.unk10, 0); + UNK_02016FA8.unk8 = SDK_OVERLAY_INVALID_ID; + UNK_02016FA8.unkC = NULL; } - if (OverlayManager_Run(gBacklightTop.unkC)) + if (OverlayManager_Run(UNK_02016FA8.unk4)) { - OverlayManager_delete(gBacklightTop.unkC); - gBacklightTop.unkC = 0; - if (gBacklightTop.unk8 != SDK_OVERLAY_INVALID_ID) - UnloadOverlayByID(gBacklightTop.unk8); + OverlayManager_delete(UNK_02016FA8.unk4); + UNK_02016FA8.unk4 = NULL; + if (UNK_02016FA8.unk0 != SDK_OVERLAY_INVALID_ID) + UnloadOverlayByID(UNK_02016FA8.unk0); } } -THUMB_FUNC void RegisterMainOverlay(FSOverlayID id, struct Unk21DBE18 * arg1) +THUMB_FUNC void RegisterMainOverlay(FSOverlayID id, const struct Unk21DBE18 * arg1) { - if (gBacklightTop.unk14 != NULL) - ErrorHandling(); - gBacklightTop.unk10 = id; - gBacklightTop.unk14 = arg1; + if (UNK_02016FA8.unkC != NULL) + GF_AssertFail(); + UNK_02016FA8.unk8 = id; + UNK_02016FA8.unkC = arg1; } THUMB_FUNC void FUN_02000E9C(void) @@ -218,9 +211,8 @@ THUMB_FUNC void FUN_02000EE8(void) } extern void FUN_0200E3A0(PMLCDTarget, int); -extern BOOL FUN_02032DAC(void); -// No Return +__declspec(noreturn) THUMB_FUNC void DoSoftReset(u32 parameter) { FUN_0200E3A0(PM_LCD_TOP, 0x7FFF); @@ -257,7 +249,7 @@ THUMB_FUNC void FUN_02000F4C(u32 arg0, u32 arg1) { HandleDSLidAction(); FUN_02016464(); - if (gMain.unk48 & 1) + if (gMain.newKeys & 1) break; FUN_02000E9C(); } @@ -294,10 +286,10 @@ THUMB_FUNC void HandleDSLidAction(void) FUN_0201CE04(); if (CTRDG_IsPulledOut() == TRUE) { - gBacklightTop.unk4 = 1; + UNK_02016FA4 = 1; } { - int r1 = gBacklightTop.unk4; + int r1 = UNK_02016FA4; while (1) { PMWakeUpTrigger trigger = PM_TRIGGER_COVER_OPEN | PM_TRIGGER_CARD; @@ -311,7 +303,7 @@ THUMB_FUNC void HandleDSLidAction(void) } else if (PAD_DetectFold()) { - r1 = gBacklightTop.unk4 = 1; + r1 = UNK_02016FA4 = 1; } else break; @@ -331,6 +323,6 @@ THUMB_FUNC void HandleDSLidAction(void) { PM_GetBackLight(&top, &bottom); if (top == PM_BACKLIGHT_OFF) - PM_SetBackLight(PM_LCD_ALL, gBacklightTop.unk0); + PM_SetBackLight(PM_LCD_ALL, gBacklightTop); } } |