summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2021-03-06 00:05:48 +0000
committerGitHub <noreply@github.com>2021-03-06 00:05:48 +0000
commitcb1c7acb520481b63c12f9ff32b503916128f5eb (patch)
tree0a25f0a86809380358f61bf3c24ec49b05b52683
parentd20df80576fa38292c5157db06c86e15e8542be8 (diff)
parentce9322808ecb333f851ccbdb8c8349be6fbc69aa (diff)
Merge pull request #325 from tgsm/unk_02064E4C
decompile unk_02064E4C
-rw-r--r--arm9/asm/unk_02064E4C.s38
-rw-r--r--arm9/src/unk_02064E4C.c24
-rw-r--r--include/unk_02064E4C.h10
3 files changed, 34 insertions, 38 deletions
diff --git a/arm9/asm/unk_02064E4C.s b/arm9/asm/unk_02064E4C.s
deleted file mode 100644
index dfe117fb..00000000
--- a/arm9/asm/unk_02064E4C.s
+++ /dev/null
@@ -1,38 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02064E4C
-FUN_02064E4C: ; 0x02064E4C
- push {r4, lr}
- add r4, r2, #0x0
- bl ReadMsgDataIntoString
- mov r0, #0x0
- add r1, r4, #0x0
- add r2, r0, #0x0
- bl FUN_02002E14
- pop {r4, pc}
-
- thumb_func_start FUN_02064E60
-FUN_02064E60: ; 0x02064E60
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r3, r1, #0x0
- ldr r2, _02064E8C ; =0x0000017E
- mov r0, #0x1
- mov r1, #0x1a
- bl NewMsgDataFromNarc
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02034824
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02064E4C
- add r0, r4, #0x0
- bl DestroyMsgData
- pop {r4-r6, pc}
- .balign 4
-_02064E8C: .word 0x0000017E
diff --git a/arm9/src/unk_02064E4C.c b/arm9/src/unk_02064E4C.c
new file mode 100644
index 00000000..1e9f8515
--- /dev/null
+++ b/arm9/src/unk_02064E4C.c
@@ -0,0 +1,24 @@
+#include "global.h"
+#include "map_header.h"
+#include "unk_02064E4C.h"
+
+#pragma thumb on
+
+// TODO: types of a0 and a2 aren't known yet
+extern void FUN_02002E14(void * a0, struct String * str, void * a2);
+
+void FUN_02064E4C(struct MsgData * msgData, u16 map_sec, struct String * dest)
+{
+ ReadMsgDataIntoString(msgData, map_sec, dest);
+ FUN_02002E14(0, dest, 0);
+}
+
+void FUN_02064E60(u32 map_no, u32 heap_id, struct String * dest)
+{
+ struct MsgData * msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 382, heap_id);
+ u16 map_sec = FUN_02034824(map_no);
+
+ FUN_02064E4C(msgData, map_sec, dest);
+
+ DestroyMsgData(msgData);
+}
diff --git a/include/unk_02064E4C.h b/include/unk_02064E4C.h
new file mode 100644
index 00000000..4c29d420
--- /dev/null
+++ b/include/unk_02064E4C.h
@@ -0,0 +1,10 @@
+#ifndef POKEDIAMOND_UNK_02064E4C_H
+#define POKEDIAMOND_UNK_02064E4C_H
+
+#include "msgdata.h"
+#include "string16.h"
+
+void FUN_02064E4C(struct MsgData * msgData, u16 map_sec, struct String * dest);
+void FUN_02064E60(u32 map_no, u32 heap_id, struct String * dest);
+
+#endif