diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-10 21:25:13 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-10 21:25:13 -0500 |
commit | 937451db9d86f60bb87bbeb1a19f27354bf9d8f0 (patch) | |
tree | 19824744cc6c0d020e59591509a066f74de3aa36 | |
parent | efc82a067589a041219dbb933762878cee9b2ccd (diff) |
through debug_sub_808C4B8
-rw-r--r-- | asm/tomomichi_debug_menu.s | 216 | ||||
-rw-r--r-- | src/debug/tomomichi_debug_menu.c | 60 |
2 files changed, 60 insertions, 216 deletions
diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s index fd54de103..c45617840 100644 --- a/asm/tomomichi_debug_menu.s +++ b/asm/tomomichi_debug_menu.s @@ -3,222 +3,6 @@ .include "constants/gba_constants.inc" .include "include/macros.inc" - thumb_func_start debug_sub_808C36C -debug_sub_808C36C: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._159 @cond_branch - mov r0, #0x0 - b ._162 -._159: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._161 @cond_branch - ldr r2, ._163 @ gMenuCallback - ldr r0, ._163 + 4 @ gUnknown_Debug_083C2828 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._162 -._164: - .align 2, 0 -._163: - .word gMenuCallback - .word gUnknown_Debug_083C2828 -._161: - bl CloseMenu - mov r0, #0x1 -._162: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C36C - - thumb_func_start debug_sub_808C3B0 -debug_sub_808C3B0: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._165 @ gUnknown_Debug_083C2938 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r0, ._165 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._165 + 8 @ gMenuCallback - ldr r0, ._165 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._166: - .align 2, 0 -._165: - .word gUnknown_Debug_083C2938 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C3B0 - - thumb_func_start debug_sub_808C408 -debug_sub_808C408: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._167 @ gUnknown_Debug_083C2A48 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._167 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._167 + 8 @ gMenuCallback - ldr r0, ._167 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._168: - .align 2, 0 -._167: - .word gUnknown_Debug_083C2A48 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C408 - - thumb_func_start debug_sub_808C460 -debug_sub_808C460: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._169 @ gUnknown_Debug_083C2B4C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._169 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._169 + 8 @ gMenuCallback - ldr r0, ._169 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._170: - .align 2, 0 -._169: - .word gUnknown_Debug_083C2B4C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C460 - - thumb_func_start debug_sub_808C4B8 -debug_sub_808C4B8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._171 @ gUnknown_Debug_083C2C80 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._171 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._171 + 8 @ gMenuCallback - ldr r0, ._171 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._172: - .align 2, 0 -._171: - .word gUnknown_Debug_083C2C80 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C4B8 - thumb_func_start debug_sub_808C510 debug_sub_808C510: push {lr} diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 3d3fe2ff8..89885070a 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -125,6 +125,7 @@ bool8 debug_sub_808C5C0(void); bool8 debug_sub_808C618(void); bool8 debug_sub_808C670(void); bool8 debug_sub_808C36C(void); +bool8 debug_sub_808C6C8(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -1753,4 +1754,63 @@ bool8 debug_sub_808C31C(void) return FALSE; } +bool8 debug_sub_808C36C(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C2828[input].func; + return FALSE; +} + +bool8 debug_sub_808C3B0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), gUnknown_Debug_083C2938); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C408(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), gUnknown_Debug_083C2A48); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C460(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), gUnknown_Debug_083C2B4C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C4B8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), gUnknown_Debug_083C2C80); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + #endif |