diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-11 21:35:29 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-11 21:35:29 -0400 |
commit | c710d746a1bae3342a3065595afea75d0348bcbd (patch) | |
tree | 2eb27f3aa8b6b74225dd02778a44d1ff0684d39c | |
parent | 593a22679d127c880ef729354ce400dab17ee7fc (diff) |
through debug_sub_808D264
-rw-r--r-- | asm/tomomichi_debug_menu.s | 476 | ||||
-rw-r--r-- | src/debug/tomomichi_debug_menu.c | 126 |
2 files changed, 126 insertions, 476 deletions
diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s index ad10cb696..065c8d05a 100644 --- a/asm/tomomichi_debug_menu.s +++ b/asm/tomomichi_debug_menu.s @@ -3,482 +3,6 @@ .include "constants/gba_constants.inc" .include "include/macros.inc" - thumb_func_start debug_sub_808CF10 -debug_sub_808CF10: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._265 @ gUnknown_Debug_083C1330 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._265 + 4 @ gMenuCallback - ldr r0, ._265 + 8 @ debug_sub_808CF60 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._266: - .align 2, 0 -._265: - .word gUnknown_Debug_083C1330 - .word gMenuCallback - .word debug_sub_808CF60+1 - - thumb_func_end debug_sub_808CF10 - - thumb_func_start debug_sub_808CF60 -debug_sub_808CF60: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._267 @cond_branch - mov r0, #0x0 - b ._270 -._267: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._269 @cond_branch - ldr r2, ._271 @ gMenuCallback - ldr r0, ._271 + 4 @ gUnknown_Debug_083C1330 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._270 -._272: - .align 2, 0 -._271: - .word gMenuCallback - .word gUnknown_Debug_083C1330 -._269: - bl CloseMenu - mov r0, #0x1 -._270: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808CF60 - - thumb_func_start debug_sub_808CFA4 -debug_sub_808CFA4: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x11 - bl Menu_DrawStdWindowFrame - ldr r3, ._273 @ gUnknown_Debug_083C13D8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x8 - 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, #0x8 - bl InitMenu - ldr r0, ._273 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._273 + 8 @ gMenuCallback - ldr r0, ._273 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._274: - .align 2, 0 -._273: - .word gUnknown_Debug_083C13D8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808CFA4 - - thumb_func_start debug_sub_808CFFC -debug_sub_808CFFC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._275 @ gUnknown_Debug_083C1465 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - 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, #0x7 - bl InitMenu - ldr r1, ._275 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._275 + 8 @ gMenuCallback - ldr r0, ._275 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._276: - .align 2, 0 -._275: - .word gUnknown_Debug_083C1465 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808CFFC - - thumb_func_start debug_sub_808D054 -debug_sub_808D054: - 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, ._277 @ gUnknown_Debug_083C1503 - 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, ._277 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._277 + 8 @ gMenuCallback - ldr r0, ._277 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._278: - .align 2, 0 -._277: - .word gUnknown_Debug_083C1503 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D054 - - thumb_func_start debug_sub_808D0AC -debug_sub_808D0AC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - ldr r3, ._279 @ gUnknown_Debug_083C158A - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x4 - 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, #0x4 - bl InitMenu - ldr r1, ._279 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._279 + 8 @ gMenuCallback - ldr r0, ._279 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._280: - .align 2, 0 -._279: - .word gUnknown_Debug_083C158A - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D0AC - - thumb_func_start debug_sub_808D104 -debug_sub_808D104: - 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, ._281 @ gUnknown_Debug_083C1647 - 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, ._281 + 4 @ gDebug_0300070F - mov r0, #0x4 - strb r0, [r1] - ldr r1, ._281 + 8 @ gMenuCallback - ldr r0, ._281 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._282: - .align 2, 0 -._281: - .word gUnknown_Debug_083C1647 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D104 - - thumb_func_start debug_sub_808D15C -debug_sub_808D15C: - 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, ._283 @ gUnknown_Debug_083C1712 - 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, ._283 + 4 @ gDebug_0300070F - mov r0, #0x5 - strb r0, [r1] - ldr r1, ._283 + 8 @ gMenuCallback - ldr r0, ._283 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._284: - .align 2, 0 -._283: - .word gUnknown_Debug_083C1712 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D15C - - thumb_func_start debug_sub_808D1B4 -debug_sub_808D1B4: - 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, ._285 @ gUnknown_Debug_083C17F8 - 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, ._285 + 4 @ gDebug_0300070F - mov r0, #0x6 - strb r0, [r1] - ldr r1, ._285 + 8 @ gMenuCallback - ldr r0, ._285 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._286: - .align 2, 0 -._285: - .word gUnknown_Debug_083C17F8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D1B4 - - thumb_func_start debug_sub_808D20C -debug_sub_808D20C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._287 @ gUnknown_Debug_083C18B8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - 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, #0x7 - bl InitMenu - ldr r1, ._287 + 4 @ gDebug_0300070F - mov r0, #0x7 - strb r0, [r1] - ldr r1, ._287 + 8 @ gMenuCallback - ldr r0, ._287 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._288: - .align 2, 0 -._287: - .word gUnknown_Debug_083C18B8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D20C - - thumb_func_start debug_sub_808D264 -debug_sub_808D264: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r3, ._289 @ gDebug_0x83C1974 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x5 - 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, #0x5 - bl InitMenu - ldr r1, ._289 + 4 @ gDebug_0300070F - mov r0, #0x8 - strb r0, [r1] - ldr r1, ._289 + 8 @ gMenuCallback - ldr r0, ._289 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._290: - .align 2, 0 -._289: - .word gDebug_0x83C1974 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D264 - thumb_func_start debug_sub_808D2BC debug_sub_808D2BC: push {r4, r5, lr} diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index f572862c3..93b17a1f8 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -163,6 +163,8 @@ bool8 debug_sub_808CE10(void); void debug_sub_808CC10(u8); void debug_sub_808CE5C(u8, u8); void debug_sub_808CEAC(u8); +bool8 debug_sub_808CF60(void); +bool8 debug_sub_808D2BC(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -2780,4 +2782,128 @@ void debug_sub_808CEAC(u8 whichMenu) } } +bool8 debug_sub_808CF10(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1330) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1330), gUnknown_Debug_083C1330); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1330), 0, 27); + gMenuCallback = debug_sub_808CF60; + return FALSE; +} + +bool8 debug_sub_808CF60(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C1330[input].func; + return FALSE; +} + +bool8 debug_sub_808CFA4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C13D8) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C13D8), gUnknown_Debug_083C13D8); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C13D8), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808CFFC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1465) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1465), gUnknown_Debug_083C1465); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1465), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D054(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1503) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1503), gUnknown_Debug_083C1503); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1503), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D0AC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C158A) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C158A), gUnknown_Debug_083C158A); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C158A), 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D104(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1647) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1647), gUnknown_Debug_083C1647); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1647), 0, 28); + gDebug_0300070F = 4; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D15C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1712) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1712), gUnknown_Debug_083C1712); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1712), 0, 28); + gDebug_0300070F = 5; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D1B4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C17F8) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C17F8), gUnknown_Debug_083C17F8); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C17F8), 0, 28); + gDebug_0300070F = 6; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D20C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); + Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C18B8); + InitMenu(0, 1, 1, 7, 0, 28); + gDebug_0300070F = 7; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D264(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); + Menu_PrintItems(2, 1, 5, gDebug_0x83C1974); + InitMenu(0, 1, 1, 5, 0, 28); + gDebug_0300070F = 8; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + #endif |