diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-18 22:45:55 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-18 22:45:55 -0400 |
commit | 3920dd26d0c228460cd9558d226d1f44ed9d7b67 (patch) | |
tree | b27d87465ec65031e6eaa1bc35d16fbad3eb87d0 | |
parent | 508e2a78acea7c2d04e8818d1a55bbc5a2b28fac (diff) |
through debug_80C689C
-rw-r--r-- | asm/watanabe_debug_menu.s | 822 | ||||
-rw-r--r-- | data/debug_menu_watanabe.s | 175 | ||||
-rw-r--r-- | src/debug/watanabe_debug_menu.c | 189 |
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"); |