summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/tomomichi_debug_menu.s476
-rw-r--r--src/debug/tomomichi_debug_menu.c126
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