summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/unk_debug_menu_3.s88
-rw-r--r--data/debug_menu_3.s4
-rw-r--r--src/debug/unk_debug_menu_3.c38
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