summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-03-10 21:25:13 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-03-10 21:25:13 -0500
commit937451db9d86f60bb87bbeb1a19f27354bf9d8f0 (patch)
tree19824744cc6c0d020e59591509a066f74de3aa36
parentefc82a067589a041219dbb933762878cee9b2ccd (diff)
through debug_sub_808C4B8
-rw-r--r--asm/tomomichi_debug_menu.s216
-rw-r--r--src/debug/tomomichi_debug_menu.c60
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