diff options
-rw-r--r-- | asm/unk_debug_menu_3.s | 88 | ||||
-rw-r--r-- | data/debug_menu_3.s | 4 | ||||
-rw-r--r-- | src/debug/unk_debug_menu_3.c | 38 |
3 files changed, 39 insertions, 91 deletions
diff --git a/asm/unk_debug_menu_3.s b/asm/unk_debug_menu_3.s index fcb7d4f07..4463c680b 100644 --- a/asm/unk_debug_menu_3.s +++ b/asm/unk_debug_menu_3.s @@ -5,94 +5,6 @@ .text - thumb_func_start debug_sub_813C52C -debug_sub_813C52C: - push {r4, r5, r6, lr} - mov r6, r9 - mov r5, r8 - push {r5, r6} - mov r8, r0 - lsl r5, r1, #0x10 - lsr r0, r5, #0x10 - mov r9, r0 - ldr r6, ._15 @ gUnknown_Debug_845E7BB - ldr r4, ._15 + 4 @ gUnknown_Debug_845E797 - sub r6, r6, r4 - mov r0, r8 - add r1, r4, #0 - add r2, r6, #0 - bl memcpy - ldr r0, ._15 + 8 @ gUnknown_Debug_845E7B5 - sub r0, r0, r4 - add r0, r0, r8 - add r0, r0, #0x3 - mov r1, r9 - strb r1, [r0] - lsr r5, r5, #0x18 - strb r5, [r0, #0x1] - mov r0, r8 - add r1, r4, #0 - bl unref_sub_812620C - add r0, r6, #0 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6} - pop {r1} - bx r1 -._16: - .align 2, 0 -._15: - .word gUnknown_Debug_845E7BB - .word gUnknown_Debug_845E797 - .word gUnknown_Debug_845E7B5 - - thumb_func_end debug_sub_813C52C - - thumb_func_start debug_sub_813C580 -debug_sub_813C580: - push {lr} - mov r1, #0xd - bl debug_sub_813C52C - pop {r1} - bx r1 - - thumb_func_end debug_sub_813C580 - - thumb_func_start debug_sub_813C58C -debug_sub_813C58C: - push {lr} - mov r1, #0x4 - bl debug_sub_813C52C - pop {r1} - bx r1 - - thumb_func_end debug_sub_813C58C - - thumb_func_start debug_sub_813C598 -debug_sub_813C598: - push {lr} - mov r1, #0x85 - bl debug_sub_813C52C - pop {r1} - bx r1 - - thumb_func_end debug_sub_813C598 - - thumb_func_start debug_sub_813C5A4 -debug_sub_813C5A4: - push {lr} - ldr r1, ._17 @ 0x121 - bl debug_sub_813C52C - pop {r1} - bx r1 -._18: - .align 2, 0 -._17: - .word 0x121 - - thumb_func_end debug_sub_813C5A4 - thumb_func_start debug_sub_813C5B4 debug_sub_813C5B4: push {r4, r5, r6, r7, lr} diff --git a/data/debug_menu_3.s b/data/debug_menu_3.s index 993aba148..e2021c97d 100644 --- a/data/debug_menu_3.s +++ b/data/debug_menu_3.s @@ -303,8 +303,6 @@ gUnknown_Debug_845E7B5:: me_end gUnknown_Debug_845E7B5End: .size gUnknown_Debug_845E7B5, gUnknown_Debug_845E7B5End - gUnknown_Debug_845E7B5 - -gUnknown_Debug_845E7BB:: - .byte 0x00 +gUnknown_Debug_845E797End:: .endif diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index e42506971..4b40927b9 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -2,6 +2,7 @@ #include "global.h" #include "debug.h" +#include "constants/items.h" #include "mystery_event_script.h" extern const u8 gUnknown_Debug_845DAE1[]; @@ -80,4 +81,41 @@ size_t debug_sub_813C500(void * dest) return size; } +extern const u8 gUnknown_Debug_845E797[]; +extern const u8 gUnknown_Debug_845E797End[]; +extern const u8 gUnknown_Debug_845E7B5[]; + +size_t debug_sub_813C52C(void * dest, u16 itemId) +{ + u8 * ptr; + size_t size = gUnknown_Debug_845E797End - gUnknown_Debug_845E797; + memcpy(dest, gUnknown_Debug_845E797, size); + ptr = gUnknown_Debug_845E7B5 - gUnknown_Debug_845E797 + dest; + ptr += 3; + ptr[0] = itemId; + ptr[1] = itemId >> 8; + unref_sub_812620C(dest, gUnknown_Debug_845E797); + return size; +} + +size_t debug_sub_813C580(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_POTION); +} + +size_t debug_sub_813C58C(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_POKE_BALL); +} + +size_t debug_sub_813C598(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_CHERI_BERRY); +} + +size_t debug_sub_813C5A4(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_TM01_FOCUS_PUNCH); +} + #endif // DEBUG |