diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-13 00:11:13 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-13 00:11:13 -0400 |
commit | d3aab0707b15555e248438ebfbb557f12e24aa3a (patch) | |
tree | 25a7960ca173b3d07a29cc3dac5d0189e4af48ff | |
parent | 7e4093ea780cce8bc367aceb7cb7671979928c76 (diff) |
through TomomichiDebugMenu_Config
-rw-r--r-- | asm/tomomichi_debug_menu.s | 238 | ||||
-rw-r--r-- | src/debug/tomomichi_debug_menu.c | 86 |
2 files changed, 86 insertions, 238 deletions
diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s index a357044e2..4cd97de65 100644 --- a/asm/tomomichi_debug_menu.s +++ b/asm/tomomichi_debug_menu.s @@ -3,244 +3,6 @@ .include "constants/gba_constants.inc" .include "include/macros.inc" - thumb_func_start debug_sub_808EB58 -debug_sub_808EB58: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xc - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._563 @ gUnknown_Debug_083C47B2 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._563 + 4 @ gUnknown_Debug_083C47F0 - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x8 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xb - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x8 - bl InitMenu - ldr r1, ._563 + 8 @ gMenuCallback - ldr r0, ._563 + 12 @ debug_sub_808EC10 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._564: - .align 2, 0 -._563: - .word gUnknown_Debug_083C47B2 - .word gUnknown_Debug_083C47F0 - .word gMenuCallback - .word debug_sub_808EC10+1 - - thumb_func_end debug_sub_808EB58 - - thumb_func_start debug_sub_808EBB4 -debug_sub_808EBB4: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xd - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r0, ._565 @ gUnknown_Debug_083C4830 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._565 + 4 @ gUnknown_Debug_083C4888 - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x5 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xc - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x5 - bl InitMenu - ldr r1, ._565 + 8 @ gMenuCallback - ldr r0, ._565 + 12 @ debug_sub_808EC5C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._566: - .align 2, 0 -._565: - .word gUnknown_Debug_083C4830 - .word gUnknown_Debug_083C4888 - .word gMenuCallback - .word debug_sub_808EC5C+1 - - thumb_func_end debug_sub_808EBB4 - - thumb_func_start debug_sub_808EC10 -debug_sub_808EC10: - push {r4, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._568 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._568 @cond_branch - ldr r1, ._570 @ gSaveBlock1 - lsl r0, r2, #0x18 - asr r0, r0, #0x18 - ldr r2, ._570 + 4 @ 0x13c8 - add r1, r1, r2 - strh r0, [r1] - bl CloseMenu - mov r0, #0x1 - b ._569 -._571: - .align 2, 0 -._570: - .word gSaveBlock1 - .word 0x13c8 -._568: - mov r0, #0x0 -._569: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808EC10 - - thumb_func_start debug_sub_808EC5C -debug_sub_808EC5C: - push {r4, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._573 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._573 @cond_branch - ldr r0, ._575 @ 0x40a7 - lsl r1, r1, #0x18 - asr r1, r1, #0x8 - lsr r1, r1, #0x10 - bl VarSet - bl CloseMenu - mov r0, #0x1 - b ._574 -._576: - .align 2, 0 -._575: - .word 0x40a7 -._573: - mov r0, #0x0 -._574: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808EC5C - - thumb_func_start debug_sub_808ECA4 -debug_sub_808ECA4: - push {lr} - add sp, sp, #0xfffffffc - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r1, ._577 @ gMenuCallback - ldr r0, ._577 + 4 @ debug_sub_808ECD0 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x4 - pop {r1} - bx r1 -._578: - .align 2, 0 -._577: - .word gMenuCallback - .word debug_sub_808ECD0+1 - - thumb_func_end debug_sub_808ECA4 - - thumb_func_start debug_sub_808ECD0 -debug_sub_808ECD0: - push {lr} - bl UpdatePaletteFade - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._579 @cond_branch - mov r0, #0x0 - b ._580 -._579: - bl CloseMenu - mov r0, #0x2 - bl debug_sub_808F168 - ldr r0, ._581 @ CB2_ContestPainting - bl SetMainCallback2 - ldr r1, ._581 + 4 @ gMain - ldr r0, ._581 + 8 @ debug_sub_808B868 - str r0, [r1, #0x8] - mov r0, #0x1 -._580: - pop {r1} - bx r1 -._582: - .align 2, 0 -._581: - .word CB2_ContestPainting+1 - .word gMain - .word debug_sub_808B868+1 - - thumb_func_end debug_sub_808ECD0 - - thumb_func_start TomomichiDebugMenu_Config -TomomichiDebugMenu_Config: - mov r0, #0x0 - bx lr - - thumb_func_end TomomichiDebugMenu_Config - thumb_func_start debug_sub_808ED0C debug_sub_808ED0C: push {lr} diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 66b6f5add..fe3b37f34 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -203,6 +203,9 @@ bool8 debug_sub_808E95C(void); bool8 debug_sub_808EA50(void); void debug_sub_808EA9C(u8); void debug_sub_808EAFC(u8, u8); +bool8 debug_sub_808EC10(void); +bool8 debug_sub_808EC5C(void); +bool8 debug_sub_808ECD0(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -3861,4 +3864,87 @@ void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C371E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C371E[whichMenu][cursorPos]) + delta); } +bool8 debug_sub_808EB58(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 12, 2 * ARRAY_COUNT(gUnknown_Debug_083C47F0) + 3); + Menu_PrintText(gUnknown_Debug_083C47B2, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C47F0), gUnknown_Debug_083C47F0); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C47F0), 0, 11); + gMenuCallback = debug_sub_808EC10; + return FALSE; +} + +bool8 debug_sub_808EBB4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 13, 2 * ARRAY_COUNT(gUnknown_Debug_083C4888) + 3); + Menu_PrintText(gUnknown_Debug_083C4830, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C4888), gUnknown_Debug_083C4888); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C4888), 0, 12); + gMenuCallback = debug_sub_808EC5C; + return FALSE; +} + +bool8 debug_sub_808EC10(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + if (input == -2) + { + return FALSE; + } + if (input == -1) + { + return FALSE; + } + gSaveBlock1.vars[VAR_TRICK_HOUSE_ROOMS_COMPLETED - VARS_START] = cursorPos; + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808EC5C(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + if (input == -2) + { + return FALSE; + } + if (input == -1) + { + return FALSE; + } + VarSet(VAR_TRICK_HOUSE_ENTRANCE_STATE_3, cursorPos); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808ECA4(void) +{ + BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + gMenuCallback = debug_sub_808ECD0; + return FALSE; +} + +bool8 debug_sub_808ECD0(void) +{ + if (!UpdatePaletteFade()) + { + CloseMenu(); + debug_sub_808F168(2); + SetMainCallback2(CB2_ContestPainting); + gMain.savedCallback = debug_sub_808B868; + return TRUE; + } + return FALSE; +} + +bool8 TomomichiDebugMenu_Config(void) +{ + return FALSE; +} + #endif |