Document main screen handlers

This commit is contained in:
Marcus Huderle 2020-08-10 19:19:49 -05:00
parent 4a4ac6fc91
commit 546c69ed58
10 changed files with 9377 additions and 9358 deletions

View File

@ -405,8 +405,8 @@ _08050444: .4byte 0x000004B4
_08050448: .4byte gUnk_02019EEC
_0805044C: .4byte gUnk_02002A40
thumb_func_start sub_08050450
sub_08050450: @ 0x08050450
thumb_func_start HandleChooseFileScreen
HandleChooseFileScreen: @ 0x08050450
push {r4, lr}
bl sub_080AD90C
ldr r1, _080504D8 @ =gUnk_080FC8A4
@ -3104,8 +3104,8 @@ sub_0805194C: @ 0x0805194C
_08051980: .4byte gUnk_02019EE0
_08051984: .4byte 0x000004B4
thumb_func_start sub_08051988
sub_08051988: @ 0x08051988
thumb_func_start HandleGameplayScreen
HandleGameplayScreen: @ 0x08051988
push {lr}
ldr r1, _080519A4 @ =gScreenTransition
ldr r0, [r1]
@ -3875,8 +3875,8 @@ _08052088: .4byte gScreen
_0805208C: .4byte 0x00001C01
_08052090: .4byte 0x00001D05
thumb_func_start sub_08052094
sub_08052094: @ 0x08052094
thumb_func_start HandleGameOverScreen
HandleGameOverScreen: @ 0x08052094
push {r4, lr}
ldr r1, _080520BC @ =gUnk_080FCA70
ldr r4, _080520C0 @ =gUnk_03001000

View File

@ -1857,8 +1857,8 @@ _0805F9E2:
.align 2, 0
_0805F9E4: .4byte 0x0000031A
thumb_func_start sub_0805F9E8
sub_0805F9E8: @ 0x0805F9E8
thumb_func_start HandleDebugTextScreen
HandleDebugTextScreen: @ 0x0805F9E8
push {lr}
ldr r1, _0805F9FC @ =gUnk_08109A30
ldr r0, _0805FA00 @ =gUnk_03001000

View File

@ -201,8 +201,8 @@ sub_080A35C8: @ 0x080A35C8
.align 2, 0
_080A35DC: .4byte gUnk_02021EE0
thumb_func_start sub_080A35E0
sub_080A35E0: @ 0x080A35E0
thumb_func_start HandleCreditsScreen
HandleCreditsScreen: @ 0x080A35E0
push {lr}
ldr r1, _080A35FC @ =gScreenTransition
ldr r0, [r1]

File diff suppressed because it is too large Load Diff

9347
data/data_08100CD4.s Executable file

File diff suppressed because it is too large Load Diff

View File

@ -242,4 +242,10 @@ extern void sub_0807921C();
extern void sub_0807A1B8();
extern void sub_08079938();
extern void sub_0807ACCC(Entity*);
extern void HandleIntroScreen(void);
extern void HandleChooseFileScreen(void);
extern void HandleGameplayScreen(void);
extern void HandleGameOverScreen(void);
extern void HandleCreditsScreen(void);
extern void HandleDebugTextScreen(void);
#endif

View File

@ -20,6 +20,7 @@ enum {
SCREEN_GAMEPLAY,
SCREEN_GAME_OVER,
SCREEN_CREDITS,
SCREEN_DEBUG_TEXT,
};
typedef struct {

View File

@ -916,6 +916,8 @@ SECTIONS {
data/data_080D3D94.o(.rodata);
data/areaPropertyLists.o(.rodata);
data/data_080D5360.o(.rodata);
src/mainLoop.o(.rodata);
data/data_08100CD4.o(.rodata);
src/item.o(.rodata);
data/data_0811BD44.o(.rodata);
src/object/greatFairy.o(.rodata);

View File

@ -26,7 +26,7 @@ u32 IntroSetTransition(u32 transition)
DoFade(7, 8);
}
void sub_080AD380()
void HandleIntroScreen(void)
{
sub_080AD90C();
switch (gUnk_03001000.funcIndex) {

View File

@ -6,7 +6,6 @@
extern void sub_0804FF84(u32);
extern u32 gUnk_020176A0;
extern const void (*gUnk_08100CBC[])();
extern void VBlankInterruptWait(void);
extern void DisableInterruptsAndDMA(void);
extern void sub_0801D66C(void*, u8*, int);
@ -15,6 +14,15 @@ extern void sub_08016B34(void);
static void sub_08055F70(void);
static bool32 SoftResetKeysPressed(void);
static void (*const sScreenHandlers[])(void) = {
[SCREEN_INTRO] = HandleIntroScreen,
[SCREEN_CHOOSE_FILE] = HandleChooseFileScreen,
[SCREEN_GAMEPLAY] = HandleGameplayScreen,
[SCREEN_GAME_OVER] = HandleGameOverScreen,
[SCREEN_CREDITS] = HandleCreditsScreen,
[SCREEN_DEBUG_TEXT] = HandleDebugTextScreen,
};
void MainLoop(void) {
int var0;
@ -60,7 +68,7 @@ void MainLoop(void) {
}
gUnk_03001000.ticks++;
gUnk_08100CBC[gUnk_03001000.screen]();
sScreenHandlers[gUnk_03001000.screen]();
sub_08056458();
sub_08050154();
sub_080A3480();