summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-18 22:45:55 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-18 22:45:55 -0400
commit3920dd26d0c228460cd9558d226d1f44ed9d7b67 (patch)
treeb27d87465ec65031e6eaa1bc35d16fbad3eb87d0
parent508e2a78acea7c2d04e8818d1a55bbc5a2b28fac (diff)
through debug_80C689C
-rw-r--r--asm/watanabe_debug_menu.s822
-rw-r--r--data/debug_menu_watanabe.s175
-rw-r--r--src/debug/watanabe_debug_menu.c189
3 files changed, 289 insertions, 897 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s
index 5b80700b8..17a7b01f1 100644
--- a/asm/watanabe_debug_menu.s
+++ b/asm/watanabe_debug_menu.s
@@ -5,828 +5,6 @@
.text
- thumb_func_start debug_80C627C
-debug_80C627C:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffff8
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r6, r4, #0
- ldr r1, ._584 @ gUnknown_Debug_083F7FD4
- mov r0, sp
- mov r2, #0x2
- bl memcpy
- add r5, sp, #0x4
- ldr r1, ._584 + 4 @ gUnknown_Debug_083F8764
- add r0, r5, #0
- mov r2, #0x2
- bl memcpy
- cmp r4, #0x1
- beq ._580 @cond_branch
- cmp r4, #0x1
- bgt ._581 @cond_branch
- cmp r4, #0
- beq ._582 @cond_branch
- b ._595
-._585:
- .align 2, 0
-._584:
- .word gUnknown_Debug_083F7FD4
- .word gUnknown_Debug_083F8764
-._581:
- cmp r6, #0x2
- beq ._586 @cond_branch
- b ._595
-._582:
- ldr r0, ._589 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- ldr r1, ._589 + 4 @ 0x169
- add r0, r0, r1
- b ._588
-._590:
- .align 2, 0
-._589:
- .word gUnknown_Debug_2038A1C
- .word 0x169
-._580:
- ldr r4, ._593 @ gUnknown_Debug_2038A1C
- ldr r3, [r4]
- ldr r1, ._593 + 4 @ 0x169
- add r0, r3, r1
- ldrb r2, [r0]
- ldr r1, ._593 + 8 @ gUnknown_Debug_083F8698
- mov r6, #0xb4
- lsl r6, r6, #0x1
- add r0, r3, r6
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldrb r0, [r0, #0x4]
- sub r0, r0, #0x1
- cmp r2, r0
- bge ._595 @cond_branch
- lsl r2, r2, #0x19
- mov r0, #0xa0
- lsl r0, r0, #0x13
- add r2, r2, r0
- lsr r2, r2, #0x18
- add r0, r5, #0
- mov r1, #0x1
- bl Menu_PrintText
- ldr r0, [r4]
- ldr r2, ._593 + 4 @ 0x169
- add r1, r0, r2
- ldrb r0, [r1]
- add r0, r0, #0x1
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r0, r2
-._588:
- ldrb r2, [r0]
- lsl r2, r2, #0x19
- mov r6, #0xa0
- lsl r6, r6, #0x13
- add r2, r2, r6
- lsr r2, r2, #0x18
- mov r0, sp
- mov r1, #0x1
- bl Menu_PrintText
- b ._595
-._594:
- .align 2, 0
-._593:
- .word gUnknown_Debug_2038A1C
- .word 0x169
- .word gUnknown_Debug_083F8698
-._586:
- ldr r4, ._596 @ gUnknown_Debug_2038A1C
- ldr r0, [r4]
- ldr r2, ._596 + 4 @ 0x169
- add r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0
- beq ._595 @cond_branch
- add r2, r0, #0
- lsl r2, r2, #0x19
- mov r6, #0xa0
- lsl r6, r6, #0x13
- add r2, r2, r6
- lsr r2, r2, #0x18
- add r0, r5, #0
- mov r1, #0x1
- bl Menu_PrintText
- ldr r0, [r4]
- ldr r2, ._596 + 4 @ 0x169
- add r1, r0, r2
- ldrb r0, [r1]
- sub r0, r0, #0x1
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r0, r2
- ldrb r2, [r0]
- lsl r2, r2, #0x19
- add r2, r2, r6
- lsr r2, r2, #0x18
- mov r0, sp
- mov r1, #0x1
- bl Menu_PrintText
-._595:
- add sp, sp, #0x8
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._597:
- .align 2, 0
-._596:
- .word gUnknown_Debug_2038A1C
- .word 0x169
-
- thumb_func_end debug_80C627C
-
- thumb_func_start debug_80C6384
-debug_80C6384:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- mov r0, #0x0
- mov r1, #0x4
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r5, #0x0
- ldr r3, ._600 @ gUnknown_Debug_083F8698
- ldr r1, ._600 + 4 @ gUnknown_Debug_2038A1C
- ldr r0, [r1]
- mov r2, #0xb4
- lsl r2, r2, #0x1
- add r0, r0, r2
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r3
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._598 @cond_branch
- add r4, r1, #0
- ldr r0, ._600 + 8 @ 0x16b
- mov r9, r0
- mov r8, r3
- add r7, r2, #0
- mov r6, #0x1
-._599:
- ldr r0, [r4]
- add r0, r0, r9
- mov r1, #0xfc
- strb r1, [r0]
- ldr r0, [r4]
- add r1, r1, #0x70
- add r0, r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- ldr r2, ._600 + 12 @ 0x16d
- add r0, r0, r2
- strb r6, [r0]
- ldr r1, [r4]
- add r2, r2, #0x1
- add r0, r1, r2
- add r1, r1, r7
- ldrb r1, [r1]
- lsl r1, r1, #0x3
- add r1, r1, r8
- ldr r1, [r1]
- add r1, r1, r5
- ldrb r1, [r1]
- mov r2, #0x1
- bl debug_80C5738
- ldr r0, [r4]
- add r0, r0, r9
- lsl r2, r5, #0x19
- mov r1, #0xa0
- lsl r1, r1, #0x13
- add r2, r2, r1
- lsr r2, r2, #0x18
- mov r1, #0x2
- bl Menu_PrintText
- add r0, r5, #1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- ldr r0, [r4]
- add r0, r0, r7
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r8
- ldr r0, [r0]
- add r0, r0, r5
- ldrb r0, [r0]
- cmp r0, #0xff
- bne ._599 @cond_branch
-._598:
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._601:
- .align 2, 0
-._600:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x16b
- .word 0x16d
-
- thumb_func_end debug_80C6384
-
- thumb_func_start debug_80C643C
-debug_80C643C:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- mov r0, #0x2
- mov r1, #0x5
- mov r2, #0x1c
- mov r3, #0x12
- bl Menu_BlankWindowRect
- mov r5, #0x0
- ldr r6, ._605 @ gUnknown_Debug_083F8698
- ldr r1, ._605 + 4 @ gUnknown_Debug_2038A1C
- ldr r0, [r1]
- mov r3, #0xb4
- lsl r3, r3, #0x1
- add r0, r0, r3
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r6
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._602 @cond_branch
- add r4, r1, #0
- mov r0, #0x1
- mov r8, r0
-._607:
- ldr r0, [r4]
- ldr r7, ._605 + 8 @ 0x16b
- add r2, r0, r7
- mov r0, #0xfc
- strb r0, [r2]
- ldr r0, [r4]
- mov r2, #0xb6
- lsl r2, r2, #0x1
- add r0, r0, r2
- mov r7, r8
- strb r7, [r0]
- ldr r2, [r4]
- ldr r7, ._605 + 12 @ 0x169
- add r0, r2, r7
- ldrb r0, [r0]
- cmp r5, r0
- bne ._603 @cond_branch
- ldr r0, ._605 + 16 @ 0x16d
- add r2, r2, r0
- mov r0, #0x2
- strb r0, [r2]
- ldr r1, [r1]
- mov r2, #0xb7
- lsl r2, r2, #0x1
- add r0, r1, r2
- add r1, r1, r3
- ldrb r1, [r1]
- lsl r1, r1, #0x3
- add r1, r1, r6
- ldr r1, [r1]
- add r1, r1, r5
- ldrb r1, [r1]
- mov r2, #0x2
- bl debug_80C5738
- b ._604
-._606:
- .align 2, 0
-._605:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x16b
- .word 0x169
- .word 0x16d
-._603:
- ldr r3, ._608 @ 0x16d
- add r0, r2, r3
- mov r7, r8
- strb r7, [r0]
- ldr r1, [r1]
- mov r2, #0xb7
- lsl r2, r2, #0x1
- add r0, r1, r2
- ldr r2, ._608 + 4 @ gUnknown_Debug_083F8698
- sub r3, r3, #0x5
- add r1, r1, r3
- ldrb r1, [r1]
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r1, [r1]
- add r1, r1, r5
- ldrb r1, [r1]
- mov r2, #0x1
- bl debug_80C5738
-._604:
- ldr r0, [r4]
- ldr r7, ._608 + 8 @ 0x16b
- add r0, r0, r7
- lsl r2, r5, #0x19
- mov r1, #0xa0
- lsl r1, r1, #0x13
- add r2, r2, r1
- lsr r2, r2, #0x18
- mov r1, #0x2
- bl Menu_PrintText
- add r0, r5, #1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- ldr r6, ._608 + 4 @ gUnknown_Debug_083F8698
- add r1, r4, #0
- ldr r0, [r4]
- mov r3, #0xb4
- lsl r3, r3, #0x1
- add r0, r0, r3
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r6
- ldr r0, [r0]
- add r0, r0, r5
- ldrb r0, [r0]
- cmp r0, #0xff
- bne ._607 @cond_branch
-._602:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._609:
- .align 2, 0
-._608:
- .word 0x16d
- .word gUnknown_Debug_083F8698
- .word 0x16b
-
- thumb_func_end debug_80C643C
-
- thumb_func_start debug_80C6544
-debug_80C6544:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r9, r0
- ldr r0, ._614 @ gUnknown_Debug_083F8698
- mov r8, r0
- ldr r6, ._614 + 4 @ gUnknown_Debug_2038A1C
- ldr r1, [r6]
- mov r5, #0xb4
- lsl r5, r5, #0x1
- add r0, r1, r5
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r8
- ldr r4, ._614 + 8 @ 0x169
- add r1, r1, r4
- ldrb r1, [r1]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r0, [r0]
- bl debug_80C5B60
- add r7, r0, #0
- ldr r2, ._614 + 12 @ gUnknown_Debug_083F8554
- ldr r3, [r6]
- add r5, r3, r5
- ldrb r0, [r5]
- lsl r0, r0, #0x3
- add r0, r0, r8
- add r4, r3, r4
- ldrb r1, [r4]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r2, r2, #0x4
- add r0, r0, r2
- ldr r1, [r0]
- ldr r5, [r1]
- ldr r4, [r1, #0x4]
- ldr r2, ._614 + 16 @ gUnknown_Debug_083F8768
- mov r6, #0xb5
- lsl r6, r6, #0x1
- add r0, r3, r6
- ldrb r0, [r0]
- lsl r0, r0, #0x2
- add r0, r0, r2
- ldr r3, [r0]
- ldrb r0, [r1, #0x8]
- cmp r0, #0
- bne ._623 @cond_branch
- mov r0, r9
- cmp r0, #0x1
- beq ._611 @cond_branch
- cmp r0, #0x2
- beq ._612 @cond_branch
- b ._623
-._615:
- .align 2, 0
-._614:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x169
- .word gUnknown_Debug_083F8554
- .word gUnknown_Debug_083F8768
-._611:
- sub r0, r4, r3
- cmp r7, r0
- bcs ._616 @cond_branch
- add r7, r7, r3
- b ._623
-._616:
- cmp r7, r4
- bcc ._622 @cond_branch
- b ._619
-._612:
- add r0, r5, r3
- cmp r7, r0
- bls ._620 @cond_branch
- sub r7, r7, r3
- b ._623
-._620:
- cmp r7, r5
- bls ._622 @cond_branch
-._619:
- add r7, r5, #0
- b ._623
-._622:
- add r7, r4, #0
-._623:
- ldr r1, ._624 @ gUnknown_Debug_083F8698
- ldr r0, ._624 + 4 @ gUnknown_Debug_2038A1C
- ldr r2, [r0]
- mov r3, #0xb4
- lsl r3, r3, #0x1
- add r0, r2, r3
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r6, ._624 + 8 @ 0x169
- add r1, r2, r6
- ldrb r1, [r1]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r1, [r0]
- add r0, r7, #0
- bl debug_80C5B74
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._625:
- .align 2, 0
-._624:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x169
-
- thumb_func_end debug_80C6544
-
- thumb_func_start debug_80C6630
-debug_80C6630:
- push {r4, r5, lr}
- add r4, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- mov r0, #0xfc
- strb r0, [r4]
- add r4, r4, #0x1
- mov r0, #0x1
- strb r0, [r4]
- add r4, r4, #0x1
- cmp r2, #0x2
- bne ._626 @cond_branch
- ldr r0, ._629 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- mov r5, #0xb5
- lsl r5, r5, #0x1
- add r0, r0, r5
- ldrb r0, [r0]
- cmp r3, r0
- beq ._627 @cond_branch
- strb r2, [r4]
- b ._628
-._630:
- .align 2, 0
-._629:
- .word gUnknown_Debug_2038A1C
-._627:
- mov r0, #0x4
-._626:
- strb r0, [r4]
-._628:
- add r0, r1, #0
- add r0, r0, #0xa1
- strb r0, [r4, #0x1]
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C6630
-
- thumb_func_start debug_80C6678
-debug_80C6678:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- mov r9, r0
- add r6, r1, #0
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- mov r8, r3
- mov r7, #0x0
- sub r0, r2, #1
- cmp r0, #0x9
- bhi ._644 @cond_branch
- lsl r0, r0, #0x2
- ldr r1, ._633 @
- add r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
-._634:
- .align 2, 0
-._633:
- .word ._632
-._632:
- .word ._635
- .word ._636
- .word ._637
- .word ._638
- .word ._639
- .word ._640
- .word ._641
- .word ._642
- .word ._643
- .word ._644
-._644:
- mov r0, r9
- add r4, r0, r7
- ldr r5, ._645 @ 0x3b9aca00
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x9
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._643:
- mov r1, r9
- add r4, r1, r7
- ldr r5, ._645 + 4 @ 0x5f5e100
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x8
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._642:
- mov r0, r9
- add r4, r0, r7
- ldr r5, ._645 + 8 @ 0x989680
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x7
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._641:
- mov r1, r9
- add r4, r1, r7
- ldr r5, ._645 + 12 @ 0xf4240
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x6
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._640:
- mov r0, r9
- add r4, r0, r7
- ldr r5, ._645 + 16 @ 0x186a0
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x5
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._639:
- mov r1, r9
- add r4, r1, r7
- ldr r5, ._645 + 20 @ 0x2710
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x4
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._638:
- mov r0, r9
- add r4, r0, r7
- mov r5, #0xfa
- lsl r5, r5, #0x2
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x3
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._637:
- mov r1, r9
- add r4, r1, r7
- add r0, r6, #0
- mov r1, #0x64
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x2
- bl debug_80C6630
- add r0, r6, #0
- mov r1, #0x64
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._636:
- mov r0, r9
- add r4, r0, r7
- add r0, r6, #0
- mov r1, #0xa
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x1
- bl debug_80C6630
- add r0, r6, #0
- mov r1, #0xa
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._635:
- mov r1, r9
- add r0, r1, r7
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- mov r2, r8
- mov r3, #0x0
- bl debug_80C6630
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._646:
- .align 2, 0
-._645:
- .word 0x3b9aca00
- .word 0x5f5e100
- .word 0x989680
- .word 0xf4240
- .word 0x186a0
- .word 0x2710
-
- thumb_func_end debug_80C6678
-
- thumb_func_start debug_80C689C
-debug_80C689C:
- push {r4, r5, lr}
- add r5, r0, #0
- add r4, r1, #0
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r3, #0x0
- ldrb r0, [r4]
- b ._647
-._649:
- add r1, r5, r3
- add r0, r4, r3
- ldrb r0, [r0]
- strb r0, [r1]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- add r0, r4, r3
- ldrb r0, [r0]
-._647:
- cmp r0, #0xff
- beq ._648 @cond_branch
- cmp r3, r2
- bcc ._649 @cond_branch
-._648:
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C689C
-
thumb_func_start debug_80C68CC
debug_80C68CC:
push {r4, r5, r6, r7, lr}
diff --git a/data/debug_menu_watanabe.s b/data/debug_menu_watanabe.s
index a8bd429a4..e214bb450 100644
--- a/data/debug_menu_watanabe.s
+++ b/data/debug_menu_watanabe.s
@@ -199,168 +199,189 @@ Str_83F8237:
.align 2
_83F823C:
- .4byte 1
- .byte 0x82, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 1, 0x00000182
+ .byte 0x00, 0x03
+ .align 2
Str_83F8248:
.string "Level$"
.align 2
_83F8250:
- .4byte 1
- .byte 0x64, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 1, 0x00000064
+ .byte 0x00, 0x03
+ .align 2
Str_83F825C:
.string "EXP Points$"
.align 2
_83F8268:
- .4byte 1
- .byte 0x80, 0x84, 0x1E, 0x00, 0x00, 0x07, 0x00, 0x00
+ .4byte 1, 0x001E8480
+ .byte 0x00, 0x07
+ .align 2
Str_83F8274:
.string "ID$"
.align 2
_83F8278:
- .4byte 0
- .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0A, 0x00, 0x00
+ .4byte 0, 0xFFFFFFFF
+ .byte 0x00, 0x0A
+ .align 2
Str_83F8284:
.string "Rnd Numbers$"
.align 2
_83F8290:
- .4byte 0
- .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0A, 0x00, 0x00
+ .4byte 0, 0xFFFFFFFF
+ .byte 0x00, 0x0A
+ .align 2
Str_83F829C:
.string "Sex$"
.align 2
_83F82A0:
- .4byte 0
- .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
+ .4byte 0, 0x00000002
+ .byte 0x00, 0xFF
+ .align 2
Str_83F82AC:
.string "Character$"
.align 2
_83F82B8:
- .4byte 0
- .byte 0x18, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
+ .4byte 0, 0x00000018
+ .byte 0x00, 0xFF
+ .align 2
Str_83F82C4:
.string "Move1$"
.align 2
_83F82CC:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x00000162
+ .byte 0x00, 0x03
+ .align 2
Str_83F82D8:
.string "Move2$"
.align 2
_83F82E0:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x00000162
+ .byte 0x00, 0x03
+ .align 2
Str_83F82EC:
.string "Move3$"
.align 2
_83F82F4:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x00000162
+ .byte 0x00, 0x03
+ .align 2
Str_83F8300:
.string "Move4$"
.align 2
_83F8308:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x00000162
+ .byte 0x00, 0x03
+ .align 2
Str_83F8314:
.string "Hold$"
.align 2
_83F831C:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8328:
.string "SP. Ability$"
.align 2
_83F8334:
- .4byte 0
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
+ .4byte 0, 0x00000001
+ .byte 0x00, 0xFF
+ .align 2
Str_83F8340:
.string "HPrnd$"
.align 2
_83F8348:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
+ .4byte 0, 0x0000001F
+ .byte 0x00, 0x02
+ .align 2
Str_83F8354:
.string "HPexp$"
.align 2
_83F835C:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8368:
.string "ATKrnd$"
.align 2
_83F8370:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
+ .4byte 0, 0x0000001F
+ .byte 0x00, 0x02
+ .align 2
Str_83F837C:
.string "ATKexp$"
.align 2
_83F8384:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8390:
.string "DEFrnd$"
.align 2
_83F8398:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
+ .4byte 0, 0x0000001F
+ .byte 0x00, 0x02
+ .align 2
Str_83F83A4:
.string "DEFexp$"
.align 2
_83F83AC:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F83B8:
.string "SPDrnd$"
.align 2
_83F83C0:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
+ .4byte 0, 0x0000001F
+ .byte 0x00, 0x02
+ .align 2
Str_83F83CC:
.string "SPDexp$"
.align 2
_83F83D4:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F83E0:
.string "SP. ATK$"
@@ -368,8 +389,9 @@ Str_83F83E0:
.align 2
_83F83EC:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
+ .4byte 0, 0x0000001F
+ .byte 0x00, 0x02
+ .align 2
Str_83F83F8:
.string "SP. ATK$"
@@ -377,8 +399,9 @@ Str_83F83F8:
.align 2
_83F8404:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8410:
.string "SP. DEF$"
@@ -386,8 +409,9 @@ Str_83F8410:
.align 2
_83F841C:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
+ .4byte 0, 0x0000001F
+ .byte 0x00, 0x02
+ .align 2
Str_83F8428:
.string "SP. DEF$"
@@ -395,72 +419,81 @@ Str_83F8428:
.align 2
_83F8434:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8440:
.string "Cool$"
.align 2
_83F8448:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8454:
.string "Beauty$"
.align 2
_83F845C:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8468:
.string "Cute$"
.align 2
_83F8470:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F847C:
.string "Smart$"
.align 2
_83F8484:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F8490:
.string "Tough$"
.align 2
_83F8498:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F84A4:
.string "Sheen$"
.align 2
_83F84AC:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F84B8:
.string "Tameness$"
.align 2
_83F84C4:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F84D0:
.string "{PK}RUS$"
.align 2
_83F84D8:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
+ .4byte 0, 0x000000FF
+ .byte 0x00, 0x03
+ .align 2
Str_83F84E4:
.string "EGG$"
@@ -468,16 +501,18 @@ Str_83F84E4:
.align 2
_83F84EC:
- .4byte 0
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
+ .4byte 0, 0x00000001
+ .byte 0x00, 0xFF
+ .align 2
Str_83F84F8:
.string "Status$"
.align 2
_83F8500:
- .4byte 0
- .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
+ .4byte 0, 0x00000006
+ .byte 0x00, 0xFF
+ .align 2
gUnknown_Debug_083F850A:: @ 0x83F850A
diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c
index 16fe342e9..17bb4c480 100644
--- a/src/debug/watanabe_debug_menu.c
+++ b/src/debug/watanabe_debug_menu.c
@@ -31,7 +31,8 @@
struct WatanabeDebugMenuItemSubstruct {
u32 unk0;
- u8 fill4[5];
+ u32 unk4;
+ u8 unk8;
u8 unk9;
};
@@ -52,10 +53,7 @@ struct WatanabeEwram18000 {
u8 unk168;
u8 unk169;
u8 unk16a;
- u8 unk16b;
- u8 unk16c;
- u8 unk16d;
- u8 unk16e[256];
+ u8 unk16b[259];
};
#define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000))
@@ -165,6 +163,9 @@ extern const u8 gUnknown_Debug_083F854A[3]; // = _("ON");
extern const u8 gUnknown_Debug_083F854D[4]; // = _("OFF");
extern const u8 gUnknown_Debug_083F8758[4]; // = _("たまご");
extern const u8 gUnknown_Debug_083F875C[8]; // = _("DebugーG");
+extern const u8 gUnknown_Debug_083F8764[2]; // = _(" ");
+
+extern const u32 gUnknown_Debug_083F8768[10];
#define SPRITETAG_WATANABE 0x1000
@@ -2086,6 +2087,184 @@ void debug_80C5FFC(void)
CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon);
}
+void debug_80C627C(u8 a0)
+{
+ // u8 sp00[] = _("▶");
+ // u8 sp04[] = _(" ");
+
+ u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F7FD4)];
+ u8 sp04[ARRAY_COUNT(gUnknown_Debug_083F8764)];
+
+ memcpy(sp00, gUnknown_Debug_083F7FD4, sizeof(gUnknown_Debug_083F7FD4));
+ memcpy(sp04, gUnknown_Debug_083F8764, sizeof(gUnknown_Debug_083F8764));
+
+ switch (a0)
+ {
+ case 0:
+ Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ break;
+ case 1:
+ if (gUnknown_Debug_2038A1C->unk169 < gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].data.type3 - 1)
+ {
+ Menu_PrintText(sp04, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ gUnknown_Debug_2038A1C->unk169++;
+ Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ }
+ break;
+ case 2:
+ if (gUnknown_Debug_2038A1C->unk169 > 0)
+ {
+ Menu_PrintText(sp04, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ gUnknown_Debug_2038A1C->unk169--;
+ Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ }
+ break;
+ }
+}
+
+void debug_80C6384(void)
+{
+ u16 i;
+
+ Menu_DrawStdWindowFrame(0, 4, 29, 19);
+ for (i = 0; gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i] != EOS; i++)
+ {
+ gUnknown_Debug_2038A1C->unk16b[0] = EXT_CTRL_CODE_BEGIN;
+ gUnknown_Debug_2038A1C->unk16b[1] = 0x01;
+ gUnknown_Debug_2038A1C->unk16b[2] = 0x01;
+ debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 1);
+ Menu_PrintText(gUnknown_Debug_2038A1C->unk16b, 2, 2 * i + 5);
+ }
+}
+
+void debug_80C643C(void)
+{
+ u16 i;
+
+ Menu_BlankWindowRect(2, 5, 28, 18);
+ for (i = 0; gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i] != EOS; i++)
+ {
+ gUnknown_Debug_2038A1C->unk16b[0] = EXT_CTRL_CODE_BEGIN;
+ gUnknown_Debug_2038A1C->unk16b[1] = 0x01;
+ if (i == gUnknown_Debug_2038A1C->unk169)
+ {
+ gUnknown_Debug_2038A1C->unk16b[2] = 0x02;
+ debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 2);
+ }
+ else
+ {
+ gUnknown_Debug_2038A1C->unk16b[2] = 0x01;
+ debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 1);
+ }
+ Menu_PrintText(gUnknown_Debug_2038A1C->unk16b, 2, 2 * i + 5);
+ }
+}
+
+void debug_80C6544(u8 a0)
+{
+ u32 r7 = debug_80C5B60(gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]);
+ u32 r5 = gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk0;
+ u32 r4 = gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk4;
+ u32 r3 = gUnknown_Debug_083F8768[gUnknown_Debug_2038A1C->unk16a];
+
+ if (gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk8 == 0)
+ {
+ switch (a0)
+ {
+ case 1:
+ if (r7 < r4 - r3)
+ r7 += r3;
+ else if (r7 < r4)
+ r7 = r4;
+ else
+ r7 = r5;
+ break;
+ case 2:
+ if (r7 > r5 + r3)
+ r7 -= r3;
+ else if (r7 > r5)
+ r7 = r5;
+ else
+ r7 = r4;
+ break;
+ }
+ }
+ debug_80C5B74(r7, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]);
+}
+
+void debug_80C6630(u8 * a0, u8 a1, u8 a2, u8 a3)
+{
+ *a0++ = EXT_CTRL_CODE_BEGIN;
+ *a0++ = 0x01;
+ if (a2 == 2)
+ {
+ if (a3 != gUnknown_Debug_2038A1C->unk16a)
+ *a0 = 0x02;
+ else
+ *a0 = 0x04;
+ }
+ else
+ *a0 = 0x01;
+ a0[1] = a1 + CHAR_0;
+}
+
+void debug_80C6678(u8 * a0, u32 a1, u8 a2, u8 a3)
+{
+ u8 r7 = 0;
+
+ switch (a2)
+ {
+ default:
+ case 10:
+ debug_80C6630(a0 + r7, a1 / 1000000000, a3, 9);
+ a1 %= 1000000000;
+ r7 += 4;
+ case 9:
+ debug_80C6630(a0 + r7, a1 / 100000000, a3, 8);
+ a1 %= 100000000;
+ r7 += 4;
+ case 8:
+ debug_80C6630(a0 + r7, a1 / 10000000, a3, 7);
+ a1 %= 10000000;
+ r7 += 4;
+ case 7:
+ debug_80C6630(a0 + r7, a1 / 1000000, a3, 6);
+ a1 %= 1000000;
+ r7 += 4;
+ case 6:
+ debug_80C6630(a0 + r7, a1 / 100000, a3, 5);
+ a1 %= 100000;
+ r7 += 4;
+ case 5:
+ debug_80C6630(a0 + r7, a1 / 10000, a3, 4);
+ a1 %= 10000;
+ r7 += 4;
+ case 4:
+ debug_80C6630(a0 + r7, a1 / 1000, a3, 3);
+ a1 %= 1000;
+ r7 += 4;
+ case 3:
+ debug_80C6630(a0 + r7, a1 / 100, a3, 2);
+ a1 %= 100;
+ r7 += 4;
+ case 2:
+ debug_80C6630(a0 + r7, a1 / 10, a3, 1);
+ a1 %= 10;
+ r7 += 4;
+ case 1:
+ debug_80C6630(a0 + r7, a1, a3, 0);
+ break;
+ }
+}
+
+void debug_80C689C(u8 * a0, const u8 * a1, u8 a2)
+{
+ u8 i;
+
+ for (i = 0; a1[i] != EOS && i < a2; i++)
+ a0[i] = a1[i];
+}
+
u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal");
u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp");