summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-03-12 23:21:23 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-03-12 23:21:23 -0400
commit017d462feddbf3101c22c8d95901c1ad50f8f406 (patch)
treeb010504b98f2701774b01d9600d58acdd03aba37
parentd5ccd132e0043405bae5337919c8678817417b4c (diff)
through debug_sub_808DF64
-rw-r--r--asm/tomomichi_debug_menu.s1021
-rw-r--r--src/debug/tomomichi_debug_menu.c359
2 files changed, 329 insertions, 1051 deletions
diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s
index 98ce3da92..8c60faedb 100644
--- a/asm/tomomichi_debug_menu.s
+++ b/asm/tomomichi_debug_menu.s
@@ -3,1027 +3,6 @@
.include "constants/gba_constants.inc"
.include "include/macros.inc"
- thumb_func_start debug_sub_808D844
-debug_sub_808D844:
- push {lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1c
- mov r3, #0x3
- bl Menu_DrawStdWindowFrame
- ldr r3, ._357 @ gUnknown_Debug_083C1A78
- mov r0, #0x2
- mov r1, #0x1
- mov r2, #0x1
- 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, #0x1
- bl InitMenu
- ldr r1, ._357 + 4 @ gMenuCallback
- ldr r0, ._357 + 8 @ debug_sub_808D894
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._358:
- .align 2, 0
-._357:
- .word gUnknown_Debug_083C1A78
- .word gMenuCallback
- .word debug_sub_808D894+1
-
- thumb_func_end debug_sub_808D844
-
- thumb_func_start debug_sub_808D894
-debug_sub_808D894:
- push {lr}
- bl Menu_ProcessInput
- lsl r0, r0, #0x18
- asr r3, r0, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r3, r0
- bne ._359 @cond_branch
- mov r0, #0x0
- b ._362
-._359:
- mov r0, #0x1
- neg r0, r0
- cmp r3, r0
- beq ._361 @cond_branch
- ldr r2, ._363 @ gMenuCallback
- ldr r1, ._363 + 4 @ gUnknown_Debug_083C1A78
- lsl r0, r3, #0x3
- add r0, r0, r1
- ldr r0, [r0, #0x4]
- str r0, [r2]
- mov r0, #0x0
- b ._362
-._364:
- .align 2, 0
-._363:
- .word gMenuCallback
- .word gUnknown_Debug_083C1A78
-._361:
- bl CloseMenu
- mov r0, #0x1
-._362:
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808D894
-
- thumb_func_start debug_sub_808D8D8
-debug_sub_808D8D8:
- push {r4, lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x5
- bl Menu_DrawStdWindowFrame
- ldr r3, ._365 @ gUnknown_Debug_083C1A9C
- mov r0, #0x2
- mov r1, #0x1
- mov r2, #0x2
- 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, #0x2
- bl InitMenu
- ldr r0, ._365 + 4 @ gDebug_0300070F
- strb r4, [r0]
- ldr r1, ._365 + 8 @ gMenuCallback
- ldr r0, ._365 + 12 @ debug_sub_808D930
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r4}
- pop {r1}
- bx r1
-._366:
- .align 2, 0
-._365:
- .word gUnknown_Debug_083C1A9C
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808D930+1
-
- thumb_func_end debug_sub_808D8D8
-
- thumb_func_start debug_sub_808D930
-debug_sub_808D930:
- push {r4, r5, lr}
- bl Menu_ProcessInput
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- bl Menu_GetCursorPos
- add r1, r0, #0
- ldr r5, ._370 @ gDebug_0300070F
- ldrb r0, [r5]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl debug_sub_808D97C
- ldrb r0, [r5]
- bl debug_sub_808D9CC
- lsl r4, r4, #0x18
- asr r4, r4, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r4, r0
- beq ._367 @cond_branch
- mov r0, #0x1
- neg r0, r0
- cmp r4, r0
- beq ._368 @cond_branch
-._367:
- mov r0, #0x0
- b ._369
-._371:
- .align 2, 0
-._370:
- .word gDebug_0300070F
-._368:
- bl CloseMenu
- mov r0, #0x1
-._369:
- pop {r4, r5}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808D930
-
- thumb_func_start debug_sub_808D97C
-debug_sub_808D97C:
- push {r4, lr}
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- ldr r0, ._375 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._374 @cond_branch
- ldr r0, ._375 + 4 @ gUnknown_Debug_083C1AAE
- lsl r1, r2, #0x3
- add r1, r1, r2
- add r1, r1, r3
- lsl r1, r1, #0x1
- add r1, r1, r0
- ldrh r4, [r1]
- add r0, r4, #0
- bl FlagGet
- lsl r0, r0, #0x18
- cmp r0, #0
- bne ._373 @cond_branch
- add r0, r4, #0
- bl FlagSet
- b ._374
-._376:
- .align 2, 0
-._375:
- .word gMain
- .word gUnknown_Debug_083C1AAE
-._373:
- add r0, r4, #0
- bl FlagClear
-._374:
- pop {r4}
- pop {r0}
- bx r0
-
- thumb_func_end debug_sub_808D97C
-
- thumb_func_start debug_sub_808D9CC
-debug_sub_808D9CC:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r5, #0x0
- ldr r0, ._379 @ gUnknown_Debug_083C1AAC
- add r0, r1, r0
- ldrb r2, [r0]
- cmp r5, r2
- bcs ._377 @cond_branch
- ldr r0, ._379 + 4 @ gUnknown_Debug_083C1AAE
- mov r8, r0
- lsl r0, r1, #0x3
- add r0, r0, r1
- lsl r7, r0, #0x1
- add r6, r2, #0
-._378:
- lsl r0, r5, #0x1
- add r4, r0, #1
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- add r0, r0, r7
- add r0, r0, r8
- ldrh r0, [r0]
- bl FlagGet
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- neg r2, r0
- orr r2, r2, r0
- lsr r2, r2, #0x1f
- mov r0, #0x1c
- add r1, r4, #0
- bl debug_sub_808F2E0
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- bcc ._378 @cond_branch
-._377:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._380:
- .align 2, 0
-._379:
- .word gUnknown_Debug_083C1AAC
- .word gUnknown_Debug_083C1AAE
-
- thumb_func_end debug_sub_808D9CC
-
- thumb_func_start debug_sub_808DA30
-debug_sub_808DA30:
- push {lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x3
- bl Menu_DrawStdWindowFrame
- ldr r3, ._381 @ gUnknown_Debug_083C103A
- mov r0, #0x2
- mov r1, #0x1
- mov r2, #0x1
- 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, #0x1
- bl InitMenu
- ldr r1, ._381 + 4 @ gMenuCallback
- ldr r0, ._381 + 8 @ debug_sub_808DA80
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._382:
- .align 2, 0
-._381:
- .word gUnknown_Debug_083C103A
- .word gMenuCallback
- .word debug_sub_808DA80+1
-
- thumb_func_end debug_sub_808DA30
-
- thumb_func_start debug_sub_808DA80
-debug_sub_808DA80:
- push {r4, lr}
- bl Menu_ProcessInput
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- bl Menu_GetCursorPos
- bl debug_sub_808DAD4
- bl debug_sub_808DABC
- lsl r4, r4, #0x18
- asr r4, r4, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r4, r0
- beq ._383 @cond_branch
- mov r0, #0x1
- neg r0, r0
- cmp r4, r0
- beq ._384 @cond_branch
-._383:
- mov r0, #0x0
- b ._385
-._384:
- bl CloseMenu
- mov r0, #0x1
-._385:
- pop {r4}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808DA80
-
- thumb_func_start debug_sub_808DABC
-debug_sub_808DABC:
- push {lr}
- ldr r0, ._386 @ gSpecialVar_Result
- ldrh r2, [r0]
- mov r0, #0x18
- mov r1, #0x1
- bl debug_sub_808F31C
- pop {r0}
- bx r0
-._387:
- .align 2, 0
-._386:
- .word gSpecialVar_Result
-
- thumb_func_end debug_sub_808DABC
-
- thumb_func_start debug_sub_808DAD4
-debug_sub_808DAD4:
- push {lr}
- ldr r0, ._390 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._388 @cond_branch
- mov r2, #0x1
- b ._389
-._391:
- .align 2, 0
-._390:
- .word gMain
-._388:
- mov r0, #0x80
- lsl r0, r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._392 @cond_branch
- ldr r2, ._393 @ 0xffff
-._389:
- ldr r1, ._393 + 4 @ gSpecialVar_Result
- ldrh r0, [r1]
- add r0, r2, r0
- strh r0, [r1]
-._392:
- pop {r0}
- bx r0
-._394:
- .align 2, 0
-._393:
- .word 0xffff
- .word gSpecialVar_Result
-
- thumb_func_end debug_sub_808DAD4
-
- thumb_func_start debug_sub_808DB0C
-debug_sub_808DB0C:
- push {lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x18
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r3, ._395 @ gUnknown_Debug_083C3D08
- mov r0, #0x2
- mov r1, #0x1
- mov r2, #0x9
- bl Menu_PrintItems
- mov r0, #0x0
- str r0, [sp]
- mov r0, #0x17
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- mov r3, #0x9
- bl InitMenu
- ldr r1, ._395 + 4 @ gMenuCallback
- ldr r0, ._395 + 8 @ debug_sub_808DB5C
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._396:
- .align 2, 0
-._395:
- .word gUnknown_Debug_083C3D08
- .word gMenuCallback
- .word debug_sub_808DB5C+1
-
- thumb_func_end debug_sub_808DB0C
-
- thumb_func_start debug_sub_808DB5C
-debug_sub_808DB5C:
- push {lr}
- bl Menu_ProcessInput
- lsl r0, r0, #0x18
- asr r1, r0, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r1, r0
- bne ._397 @cond_branch
- mov r0, #0x0
- b ._400
-._397:
- mov r0, #0x1
- neg r0, r0
- cmp r1, r0
- beq ._399 @cond_branch
- ldr r2, ._401 @ gMenuCallback
- ldr r0, ._401 + 4 @ gUnknown_Debug_083C3D08
- lsl r1, r1, #0x3
- add r0, r0, #0x4
- add r1, r1, r0
- ldr r0, [r1]
- str r0, [r2]
- mov r0, #0x0
- b ._400
-._402:
- .align 2, 0
-._401:
- .word gMenuCallback
- .word gUnknown_Debug_083C3D08
-._399:
- bl CloseMenu
- mov r0, #0x1
-._400:
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808DB5C
-
- thumb_func_start debug_sub_808DBA0
-debug_sub_808DBA0:
- 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, ._403 @ gUnknown_Debug_083C432C
- 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, ._403 + 4 @ gDebug_0300070F
- strb r4, [r0]
- ldr r1, ._403 + 8 @ gMenuCallback
- ldr r0, ._403 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r4}
- pop {r1}
- bx r1
-._404:
- .align 2, 0
-._403:
- .word gUnknown_Debug_083C432C
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DBA0
-
- thumb_func_start debug_sub_808DBF8
-debug_sub_808DBF8:
- 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, ._405 @ gUnknown_Debug_083C436C
- 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, ._405 + 4 @ gDebug_0300070F
- mov r0, #0x1
- strb r0, [r1]
- ldr r1, ._405 + 8 @ gMenuCallback
- ldr r0, ._405 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._406:
- .align 2, 0
-._405:
- .word gUnknown_Debug_083C436C
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DBF8
-
- thumb_func_start debug_sub_808DC50
-debug_sub_808DC50:
- 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, ._407 @ gUnknown_Debug_083C43B4
- 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, ._407 + 4 @ gDebug_0300070F
- mov r0, #0x2
- strb r0, [r1]
- ldr r1, ._407 + 8 @ gMenuCallback
- ldr r0, ._407 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._408:
- .align 2, 0
-._407:
- .word gUnknown_Debug_083C43B4
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DC50
-
- thumb_func_start debug_sub_808DCA8
-debug_sub_808DCA8:
- 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, ._409 @ gUnknown_Debug_083C43FC
- 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, ._409 + 4 @ gDebug_0300070F
- mov r0, #0x3
- strb r0, [r1]
- ldr r1, ._409 + 8 @ gMenuCallback
- ldr r0, ._409 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._410:
- .align 2, 0
-._409:
- .word gUnknown_Debug_083C43FC
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DCA8
-
- thumb_func_start debug_sub_808DD00
-debug_sub_808DD00:
- 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, ._411 @ gUnknown_Debug_083C4444
- 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, ._411 + 4 @ gDebug_0300070F
- mov r0, #0x4
- strb r0, [r1]
- ldr r1, ._411 + 8 @ gMenuCallback
- ldr r0, ._411 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._412:
- .align 2, 0
-._411:
- .word gUnknown_Debug_083C4444
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DD00
-
- thumb_func_start debug_sub_808DD58
-debug_sub_808DD58:
- 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, ._413 @ gUnknown_Debug_083C448C
- 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, ._413 + 4 @ gDebug_0300070F
- mov r0, #0x5
- strb r0, [r1]
- ldr r1, ._413 + 8 @ gMenuCallback
- ldr r0, ._413 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._414:
- .align 2, 0
-._413:
- .word gUnknown_Debug_083C448C
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DD58
-
- thumb_func_start debug_sub_808DDB0
-debug_sub_808DDB0:
- push {lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xd
- bl Menu_DrawStdWindowFrame
- ldr r3, ._415 @ gUnknown_Debug_83C44C4
- mov r0, #0x2
- mov r1, #0x1
- mov r2, #0x6
- 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, #0x6
- bl InitMenu
- ldr r1, ._415 + 4 @ gDebug_0300070F
- mov r0, #0x6
- strb r0, [r1]
- ldr r1, ._415 + 8 @ gMenuCallback
- ldr r0, ._415 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._416:
- .align 2, 0
-._415:
- .word gUnknown_Debug_83C44C4
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DDB0
-
- thumb_func_start debug_sub_808DE08
-debug_sub_808DE08:
- 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, ._417 @ gUnknown_Debug_83C44EC
- 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, ._417 + 4 @ gDebug_0300070F
- mov r0, #0x7
- strb r0, [r1]
- ldr r1, ._417 + 8 @ gMenuCallback
- ldr r0, ._417 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._418:
- .align 2, 0
-._417:
- .word gUnknown_Debug_83C44EC
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DE08
-
- thumb_func_start debug_sub_808DE60
-debug_sub_808DE60:
- 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, ._419 @ gUnknown_Debug_083C4534
- 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, ._419 + 4 @ gDebug_0300070F
- mov r0, #0x8
- strb r0, [r1]
- ldr r1, ._419 + 8 @ gMenuCallback
- ldr r0, ._419 + 12 @ debug_sub_808DEB8
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._420:
- .align 2, 0
-._419:
- .word gUnknown_Debug_083C4534
- .word gDebug_0300070F
- .word gMenuCallback
- .word debug_sub_808DEB8+1
-
- thumb_func_end debug_sub_808DE60
-
- thumb_func_start debug_sub_808DEB8
-debug_sub_808DEB8:
- push {r4, r5, lr}
- bl Menu_ProcessInput
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- bl Menu_GetCursorPos
- add r1, r0, #0
- ldr r5, ._424 @ gDebug_0300070F
- ldrb r0, [r5]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl debug_sub_808DF64
- ldrb r0, [r5]
- bl debug_sub_808DF04
- lsl r4, r4, #0x18
- asr r4, r4, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r4, r0
- beq ._421 @cond_branch
- mov r0, #0x1
- neg r0, r0
- cmp r4, r0
- beq ._422 @cond_branch
-._421:
- mov r0, #0x0
- b ._423
-._425:
- .align 2, 0
-._424:
- .word gDebug_0300070F
-._422:
- bl CloseMenu
- mov r0, #0x1
-._423:
- pop {r4, r5}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808DEB8
-
- thumb_func_start debug_sub_808DF04
-debug_sub_808DF04:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r5, #0x0
- ldr r0, ._428 @ gUnknown_Debug_083C457C
- add r0, r1, r0
- ldrb r2, [r0]
- cmp r5, r2
- bcs ._426 @cond_branch
- ldr r0, ._428 + 4 @ gUnknown_Debug_083C4586
- mov r8, r0
- lsl r0, r1, #0x3
- add r0, r0, r1
- lsl r7, r0, #0x1
- add r6, r2, #0
-._427:
- lsl r0, r5, #0x1
- add r4, r0, #1
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- add r0, r0, r7
- add r0, r0, r8
- ldrh r0, [r0]
- bl VarGet
- add r2, r0, #0
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- mov r0, #0x18
- add r1, r4, #0
- bl debug_sub_808F31C
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- bcc ._427 @cond_branch
-._426:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._429:
- .align 2, 0
-._428:
- .word gUnknown_Debug_083C457C
- .word gUnknown_Debug_083C4586
-
- thumb_func_end debug_sub_808DF04
-
- thumb_func_start debug_sub_808DF64
-debug_sub_808DF64:
- push {r4, r5, lr}
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- ldr r0, ._432 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._430 @cond_branch
- mov r5, #0x1
- b ._431
-._433:
- .align 2, 0
-._432:
- .word gMain
-._430:
- mov r0, #0x80
- lsl r0, r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._434 @cond_branch
- ldr r5, ._435 @ 0xffff
-._431:
- ldr r1, ._435 + 4 @ gUnknown_Debug_083C4586
- lsl r0, r2, #0x3
- add r0, r0, r2
- add r0, r0, r3
- lsl r0, r0, #0x1
- add r0, r0, r1
- ldrh r4, [r0]
- add r0, r4, #0
- bl VarGet
- add r1, r0, #0
- add r1, r5, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r0, r4, #0
- bl VarSet
-._434:
- pop {r4, r5}
- pop {r0}
- bx r0
-._436:
- .align 2, 0
-._435:
- .word 0xffff
- .word gUnknown_Debug_083C4586
-
- thumb_func_end debug_sub_808DF64
-
thumb_func_start debug_sub_808DFC0
debug_sub_808DFC0:
push {lr}
diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c
index 0c72b8e66..03c520018 100644
--- a/src/debug/tomomichi_debug_menu.c
+++ b/src/debug/tomomichi_debug_menu.c
@@ -175,6 +175,18 @@ bool8 debug_sub_808D650(void);
bool8 debug_sub_808D744(void);
void debug_sub_808D790(u8, u8);
void debug_sub_808D7E0(u8);
+bool8 debug_sub_808D894(void);
+bool8 debug_sub_808D930(void);
+void debug_sub_808D97C(u8, u8);
+void debug_sub_808D9CC(u8);
+bool8 debug_sub_808DA80(void);
+void debug_sub_808DAD4(void);
+void debug_sub_808DABC(void);
+void debug_sub_808F31C(u8, u8, u16);
+bool8 debug_sub_808DB5C(void);
+bool8 debug_sub_808DEB8(void);
+void debug_sub_808DF64(u8, u8);
+void debug_sub_808DF04(u8);
extern const u8 DebugScript_081C1CFE[];
extern const u8 DebugScript_081C1D07[];
@@ -1308,11 +1320,11 @@ const struct MenuAction gUnknown_Debug_083C351C[] = {
const u8 gUnknown_Debug_083C3544[] = {3, 2, 6, 9, 5};
const u16 gUnknown_Debug_083C354A[][9] = {
- {0x4027, 0x4028, 0x4029},
- {0x4047, 0x404F},
- {0x4021, 0x4022, 0x4048, 0x404A, 0x402A, 0x402B},
- {0x4020, 0x4023, 0x4024, 0x4025, 0x4040, 0x4041, 0x4042, 0x4044, 0x4045},
- {0x4046, 0x4049, 0x404B, 0x404C, 0x4026}
+ {VAR_CYCLING_ROAD_RECORD_COLLISIONS, VAR_CYCLING_ROAD_RECORD_TIME_L, VAR_CYCLING_ROAD_RECORD_TIME_H},
+ {VAR_SHROOMISH_SIZE_RECORD, VAR_BARBOACH_SIZE_RECORD},
+ {VAR_REPEL_STEP_COUNT, VAR_ICE_STEP_COUNT, VAR_ASH_GATHER_COUNT, VAR_CRUISE_STEP_COUNT, VAR_HAPPINESS_STEP_COUNTER, VAR_POISON_STEP_COUNTER},
+ {VAR_RECYCLE_GOODS, VAR_STARTER_MON, VAR_MIRAGE_RND_H, VAR_MIRAGE_RND_L, VAR_DAYS, VAR_FANCLUB_UNKNOWN_1, VAR_FANCLUB_UNKNOWN_2, VAR_TRICK_HOUSE_ROOMS_COMPLETED, VAR_LOTTERY_PRIZE},
+ {VAR_NATIONAL_DEX, VAR_BIRCH_STATE, VAR_LOTTERY_RND_L, VAR_LOTTERY_RND_H, VAR_SECRET_BASE_MAP}
};
const u8 gUnknown_Debug_083C35A4[] = _("OBJCHRWORK0ー8");
@@ -1366,8 +1378,8 @@ const struct MenuAction gUnknown_Debug_083C36E4[] = {
const u8 gUnknown_Debug_083C371C[] = {9, 7};
const u16 gUnknown_Debug_083C371E[][9] = {
- {0x4010, 0x4011, 0x4012, 0x4013, 0x4014, 0x4015, 0x4016, 0x4017, 0x4018},
- {0x4019, 0x401A, 0x401B, 0x401C, 0x401D, 0x401E, 0x401F}
+ {VAR_OBJ_GFX_ID_0, VAR_OBJ_GFX_ID_1, VAR_OBJ_GFX_ID_2, VAR_OBJ_GFX_ID_3, VAR_OBJ_GFX_ID_4, VAR_OBJ_GFX_ID_5, VAR_OBJ_GFX_ID_6, VAR_OBJ_GFX_ID_7, VAR_OBJ_GFX_ID_8},
+ {VAR_OBJ_GFX_ID_9, VAR_OBJ_GFX_ID_A, VAR_OBJ_GFX_ID_B, VAR_OBJ_GFX_ID_C, VAR_OBJ_GFX_ID_D, VAR_OBJ_GFX_ID_E, VAR_OBJ_GFX_ID_F}
};
const u8 gUnknown_Debug_083C3742[] = _("SP");
@@ -1520,12 +1532,12 @@ const struct MenuAction gUnknown_Debug_83C3C00[] = {
const u8 gUnknown_Debug_083C3C48[] = {6, 5, 9, 2, 9, 6};
const u16 gUnknown_Debug_83C3C4E[][9] = {
- {0x4086, 0x4087, 0x4088, 0x408A, 0x4092, 0x40B4},
- {0x40A6, 0x40C1, 0x40B5, 0x40A7, 0x40A5},
- {0x40AB, 0x40AC, 0x40AD, 0x40AE, 0x40AF, 0x40B0, 0x40B1, 0x40B2, 0x40B6},
- {0x4090, 0x40BE},
- {0x4089, 0x408E, 0x4096, 0x4097, 0x4099, 0x409C, 0x40A3, 0x40A4, 0x40A9},
- {0x40B3, 0x40B7, 0x40BB, 0x40BC, 0x40C0, 0x40C5}
+ {VAR_LINK_CONTEST_ROOM_STATE, VAR_CABLE_CLUB_STATE, VAR_CONTEST_LOCATION, VAR_CONTEST_PRIZE_PICKUP, VAR_LITTLEROOT_INTRO_STATE, VAR_PORTHOLE_STATE},
+ {VAR_TRICK_HOUSE_ENTRANCE_STATE_2, VAR_TRICK_HOUSE_PRIZE_PICKUP, VAR_TRICK_HOUSE_STATE, VAR_TRICK_HOUSE_ENTRANCE_STATE_3, VAR_TRICK_HOUSE_ENTRANCE_STATE},
+ {VAR_TRICK_HOUSE_PUZZLE_1_STATE, VAR_TRICK_HOUSE_PUZZLE_2_STATE, VAR_TRICK_HOUSE_PUZZLE_3_STATE, VAR_TRICK_HOUSE_PUZZLE_4_STATE, VAR_TRICK_HOUSE_PUZZLE_5_STATE, VAR_TRICK_HOUSE_PUZZLE_6_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE, VAR_TRICK_HOUSE_PUZZLE_8_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE_2},
+ {VAR_BRINEY_HOUSE_STATE, VAR_GLASS_WORKSHOP_STATE},
+ {VAR_0x4089, VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, VAR_BRINEY_LOCATION, VAR_0x4097, VAR_LILYCOVE_CONTEST_LOBBY_STATE, VAR_ELITE_4_STATE, VAR_CABLE_CAR_STATION_STATE, VAR_SAFARI_ZONE_STATE, VAR_CYCLING_CHALLENGE_STATE},
+ {VAR_WEATHER_INSTITUTE_STATE, VAR_SLATEPORT_FAN_CLUB_STATE, 0x40BB, VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, VAR_GAME_CORNER_STATE, VAR_WHICH_FOSSIL_REVIVED}
};
const u8 gUnknown_Debug_083C3CBA[] = _("タウン");
@@ -1738,15 +1750,15 @@ const struct MenuAction gUnknown_Debug_083C4534[] = {
const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9};
const u16 gUnknown_Debug_083C4586[][9] = {
- {0x4050, 0x4051, 0x4052, 0x4053, 0x4054, 0x4055, 0x4056, 0x40C7, 0x0000},
- {0x4057, 0x4058, 0x4059, 0x405A, 0x405B, 0x405C, 0x405D, 0x405E, 0x405F},
- {0x4060, 0x4061, 0x4062, 0x4063, 0x4064, 0x4065, 0x4066, 0x4067, 0x4068},
- {0x4069, 0x406A, 0x406B, 0x406C, 0x406D, 0x406E, 0x406F, 0x4070, 0x4071},
- {0x4072, 0x4073, 0x4074, 0x4075, 0x4076, 0x4077, 0x4078, 0x4079, 0x407A},
- {0x407B, 0x407C, 0x407D, 0x407E, 0x407F, 0x4080, 0x4081, 0x0000, 0x0000},
- {0x4082, 0x4083, 0x4084, 0x408C, 0x408D, 0x40C2, 0x0000, 0x0000, 0x0000},
- {0x4085, 0x408F, 0x4093, 0x4094, 0x4095, 0x40A0, 0x40AA, 0x40C4, 0x40C6},
- {0x4098, 0x409A, 0x409B, 0x40A2, 0x40A8, 0x40B9, 0x40BA, 0x40BF, 0x40C3}
+ {VAR_LITTLEROOT_STATE, VAR_ROUTE102_ACCESSIBLE, 0x4052, VAR_LAVARIDGE_RIVAL_STATE, VAR_CURRENT_SECRET_BASE, 0x4055, 0x4056, VAR_OLDALE_STATE},
+ {VAR_PETALBURG_STATE, VAR_SLATEPORT_STATE, 0x4059, VAR_RUSTBORO_STATE, 0x405B, 0x405C, 0x405D, VAR_SOOTOPOLIS_STATE, 0x405F},
+ {VAR_ROUTE101_STATE, 0x4061, VAR_ROUTE103_STATE, 0x4063, 0x4064, 0x4065, 0x4066, 0x4067, 0x4068},
+ {VAR_ROUTE110_STATE, 0x406A, 0x406B, 0x406C, 0x406D, 0x406E, VAR_ROUTE116_STATE, 0x4070, VAR_ROUTE118_STATE},
+ {VAR_ROUTE119_STATE, 0x4073, VAR_ROUTE121_STATE, 0x4075, 0x4076, 0x4077, 0x4078, 0x4079, 0x407A},
+ {VAR_ROUTE128_STATE, 0x407C, 0x407D, 0x407E, 0x407F, 0x4080, 0x4081},
+ {VAR_LITTLEROOT_HOUSES_STATE, 0x4083, VAR_BIRCH_LAB_STATE, VAR_LITTLEROOT_HOUSES_STATE_2, VAR_LITTLEROOT_RIVAL_STATE, VAR_PACIFIDLOG_TM_RECEIVED_DAY},
+ {VAR_PETALBURG_GYM_STATE, VAR_DEVON_CORP_3F_STATE, VAR_MAUVILLE_GYM_STATE, VAR_LILYCOVE_MUSEUM_2F_STATE, VAR_LILYCOVE_FAN_CLUB_STATE, VAR_SLATEPORT_HARBOR_STATE, VAR_SLATEPORT_MUSEUM_1F_STATE, VAR_FOSSIL_RESURRECTION_STATE, VAR_STEVENS_HOUSE_STATE},
+ {VAR_PETALBURG_WOODS_STATE, VAR_RUSTURF_TUNNEL_STATE, VAR_CAVE_OF_ORIGIN_B4F_STATE, VAR_SEAFLOOR_CAVERN_STATE, 0x40A8, VAR_MT_PYRE_STATE, VAR_NEW_MAUVILLE_STATE, VAR_METEOR_FALLS_STATE, VAR_VICTORY_ROAD_1F_STATE}
};
const u8 gUnknown_Debug_083C4628[] = _("LOCALWORK0ー8");
@@ -1800,8 +1812,8 @@ const struct MenuAction gUnknown_Debug_083C4754C[] = {
const u8 gUnknown_Debug_083C478C[] = {9, 7};
const u16 gUnknown_Debug_083C478E[][9] = {
- {0x4000, 0x4001, 0x4002, 0x4003, 0x4004, 0x4005, 0x4006, 0x4007, 0x4008},
- {0x4009, 0x400A, 0x400B, 0x400C, 0x400D, 0x400E, 0x400F}
+ {VAR_TEMP_0, VAR_TEMP_1, VAR_TEMP_2, VAR_TEMP_3, VAR_TEMP_4, VAR_TEMP_5, VAR_TEMP_6, VAR_TEMP_7, VAR_TEMP_8},
+ {VAR_TEMP_9, VAR_TEMP_A, VAR_TEMP_B, VAR_TEMP_C, VAR_TEMP_D, VAR_TEMP_E, VAR_TEMP_F}
};
const u8 gUnknown_Debug_083C47B2[] = _("Level");
@@ -2527,7 +2539,7 @@ void debug_sub_808C764(u8 whichMenu)
for (i = 0; i < gUnknown_Debug_083C31DC[whichMenu]; i++)
{
- debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_83C31E6[whichMenu][i]) ? TRUE : FALSE);
+ debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_83C31E6[whichMenu][i]) ? 1 : 0);
}
}
@@ -2689,7 +2701,7 @@ void debug_sub_808CC10(u8 whichMenu)
for (i = 0; i < gUnknown_Debug_083C2710[whichMenu]; i++)
{
- debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C271A[whichMenu][i]) ? TRUE : FALSE);
+ debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C271A[whichMenu][i]) ? 1 : 0);
}
}
@@ -2785,7 +2797,7 @@ void debug_sub_808CEAC(u8 whichMenu)
for (i = 0; i < gUnknown_Debug_083C1C34[whichMenu]; i++)
{
- debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1C38[whichMenu][i]) ? TRUE : FALSE);
+ debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1C38[whichMenu][i]) ? 1 : 0);
}
}
@@ -2947,7 +2959,7 @@ void debug_sub_808D358(u8 whichMenu)
for (i = 0; i < gUnknown_Debug_083C19BC[whichMenu]; i++)
{
- debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? TRUE : FALSE);
+ debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? 1 : 0);
}
}
@@ -3032,7 +3044,7 @@ void debug_sub_808D59C(u8 whichMenu)
for (i = 0; i < gUnknown_Debug_083C1194[whichMenu]; i++)
{
- debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? TRUE : FALSE);
+ debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? 1 : 0);
}
}
@@ -3117,8 +3129,295 @@ void debug_sub_808D7E0(u8 whichMenu)
for (i = 0; i < gUnknown_Debug_083C12D0[whichMenu]; i++)
{
- debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C12D2[whichMenu][i]) ? TRUE : FALSE);
+ debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C12D2[whichMenu][i]) ? 1 : 0);
}
}
+bool8 debug_sub_808D844(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A78) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1A78), gUnknown_Debug_083C1A78);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1A78), 0, 27);
+ gMenuCallback = debug_sub_808D894;
+ return FALSE;
+}
+
+bool8 debug_sub_808D894(void)
+{
+ s8 input = Menu_ProcessInput();
+
+ if (input == -2)
+ return FALSE;
+ if (input == -1)
+ {
+ CloseMenu();
+ return TRUE;
+ }
+ gMenuCallback = gUnknown_Debug_083C1A78[input].func;
+ return FALSE;
+}
+
+bool8 debug_sub_808D8D8(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A9C) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1A9C), gUnknown_Debug_083C1A9C);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1A9C), 0, 28);
+ gDebug_0300070F = 0;
+ gMenuCallback = debug_sub_808D930;
+ return FALSE;
+}
+
+bool8 debug_sub_808D930(void)
+{
+ s8 input = Menu_ProcessInput();
+ s8 cursorPos = Menu_GetCursorPos();
+
+ debug_sub_808D97C(gDebug_0300070F, cursorPos);
+ debug_sub_808D9CC(gDebug_0300070F);
+ if (input == -2)
+ return FALSE;
+ if (input == -1)
+ {
+ CloseMenu();
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void debug_sub_808D97C(u8 whichMenu, u8 cursorPos)
+{
+ if (gMain.newKeys & R_BUTTON)
+ {
+ if (!FlagGet(gUnknown_Debug_083C1AAE[whichMenu][cursorPos]))
+ FlagSet(gUnknown_Debug_083C1AAE[whichMenu][cursorPos]);
+ else
+ FlagClear(gUnknown_Debug_083C1AAE[whichMenu][cursorPos]);
+ }
+}
+
+void debug_sub_808D9CC(u8 whichMenu)
+{
+ u8 i;
+
+ for (i = 0; i < gUnknown_Debug_083C1AAC[whichMenu]; i++)
+ {
+ debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1AAE[whichMenu][i]) ? 1 : 0);
+ }
+}
+
+bool8 debug_sub_808DA30(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C103A) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C103A), gUnknown_Debug_083C103A);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C103A), 0, 28);
+ gMenuCallback = debug_sub_808DA80;
+ return FALSE;
+}
+
+bool8 debug_sub_808DA80(void)
+{
+ s8 input = Menu_ProcessInput();
+ /*s8 cursorPos = */Menu_GetCursorPos();
+
+ debug_sub_808DAD4();
+ debug_sub_808DABC();
+ if (input == -2)
+ return FALSE;
+ if (input == -1)
+ {
+ CloseMenu();
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void debug_sub_808DABC(void)
+{
+ debug_sub_808F31C(24, 1, gSpecialVar_Result);
+}
+
+void debug_sub_808DAD4(void)
+{
+ u16 delta;
+
+ if (gMain.newKeys & R_BUTTON)
+ {
+ delta = +1;
+ }
+ else if (gMain.newKeys & L_BUTTON)
+ {
+ delta = -1;
+ }
+ else
+ return;
+ gSpecialVar_Result += delta;
+}
+
+bool8 debug_sub_808DB0C(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C3D08) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3D08), gUnknown_Debug_083C3D08);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3D08), 0, 23);
+ gMenuCallback = debug_sub_808DB5C;
+ return FALSE;
+}
+
+bool8 debug_sub_808DB5C(void)
+{
+ s8 input = Menu_ProcessInput();
+
+ if (input == -2)
+ return FALSE;
+ if (input == -1)
+ {
+ CloseMenu();
+ return TRUE;
+ }
+ gMenuCallback = gUnknown_Debug_083C3D08[input].func;
+ return FALSE;
+}
+
+bool8 debug_sub_808DBA0(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C432C) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), gUnknown_Debug_083C432C);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), 0, 28);
+ gDebug_0300070F = 0;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DBF8(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C436C) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), gUnknown_Debug_083C436C);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), 0, 28);
+ gDebug_0300070F = 1;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DC50(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43B4) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), gUnknown_Debug_083C43B4);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), 0, 28);
+ gDebug_0300070F = 2;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DCA8(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43FC) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), gUnknown_Debug_083C43FC);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), 0, 28);
+ gDebug_0300070F = 3;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DD00(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4444) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), gUnknown_Debug_083C4444);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), 0, 28);
+ gDebug_0300070F = 4;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DD58(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C448C) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), gUnknown_Debug_083C448C);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), 0, 28);
+ gDebug_0300070F = 5;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DDB0(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1);
+ Menu_PrintItems(2, 1, 6, gUnknown_Debug_83C44C4); // overflows into the next menu
+ InitMenu(0, 1, 1, 6, 0, 28);
+ gDebug_0300070F = 6;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DE08(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C44EC) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), gUnknown_Debug_83C44EC);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), 0, 28);
+ gDebug_0300070F = 7;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DE60(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4534) + 1);
+ Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), gUnknown_Debug_083C4534);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), 0, 28);
+ gDebug_0300070F = 8;
+ gMenuCallback = debug_sub_808DEB8;
+ return FALSE;
+}
+
+bool8 debug_sub_808DEB8(void)
+{
+ s8 input = Menu_ProcessInput();
+ s8 cursorPos = Menu_GetCursorPos();
+
+ debug_sub_808DF64(gDebug_0300070F, cursorPos);
+ debug_sub_808DF04(gDebug_0300070F);
+ if (input == -2)
+ return FALSE;
+ if (input == -1)
+ {
+ CloseMenu();
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void debug_sub_808DF04(u8 whichMenu)
+{
+ u8 i;
+
+ for (i = 0; i < gUnknown_Debug_083C457C[whichMenu]; i++)
+ {
+ debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C4586[whichMenu][i]));
+ }
+}
+
+void debug_sub_808DF64(u8 whichMenu, u8 cursorPos)
+{
+ u16 delta;
+
+ if (gMain.newKeys & R_BUTTON)
+ delta = +1;
+ else if (gMain.newKeys & L_BUTTON)
+ delta = -1;
+ else
+ return;
+ VarSet(gUnknown_Debug_083C4586[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C4586[whichMenu][cursorPos]) + delta);
+}
+
#endif