summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortgsm <doodrabbit@hotmail.com>2021-05-25 18:37:22 -0400
committertgsm <doodrabbit@hotmail.com>2021-05-25 18:37:22 -0400
commit73e48106d014792276f46e185b1a7ccd30bf4f00 (patch)
tree5bbff37f05c8bc5fc2aab2fd174b9a9b5a1f08a2
parent1f92eced46da4bdd0c31cb27d1b110aa8a9d75dd (diff)
Decompile unk_0208A300
-rw-r--r--arm9/asm/unk_0208A300.s49
-rw-r--r--arm9/src/unk_0208A300.c38
-rw-r--r--include/unk_0208A300.h17
3 files changed, 55 insertions, 49 deletions
diff --git a/arm9/asm/unk_0208A300.s b/arm9/asm/unk_0208A300.s
deleted file mode 100644
index fe273a33..00000000
--- a/arm9/asm/unk_0208A300.s
+++ /dev/null
@@ -1,49 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_0208A300
-FUN_0208A300: ; 0x0208A300
- push {r3, lr}
- mov r1, #0x8
- bl AllocFromHeap
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- strb r1, [r0, #0x3]
- strb r1, [r0, #0x4]
- strb r1, [r0, #0x5]
- strb r1, [r0, #0x6]
- strb r1, [r0, #0x7]
- mov r1, #0x2
- str r1, [r0, #0x4]
- pop {r3, pc}
-
- thumb_func_start FUN_0208A320
-FUN_0208A320: ; 0x0208A320
- ldr r3, _0208A324 ; =FreeToHeap
- bx r3
- .balign 4
-_0208A324: .word FreeToHeap
-
- thumb_func_start FUN_0208A328
-FUN_0208A328: ; 0x0208A328
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0208A32C
-FUN_0208A32C: ; 0x0208A32C
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0208A330
-FUN_0208A330: ; 0x0208A330
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0208A334
-FUN_0208A334: ; 0x0208A334
- str r1, [r0, #0x4]
- bx lr
diff --git a/arm9/src/unk_0208A300.c b/arm9/src/unk_0208A300.c
new file mode 100644
index 00000000..3c4a496b
--- /dev/null
+++ b/arm9/src/unk_0208A300.c
@@ -0,0 +1,38 @@
+#include "global.h"
+#include "heap.h"
+#include "unk_0208A300.h"
+
+THUMB_FUNC struct UnkStruct_0208A300* FUN_0208A300(u32 heap_id)
+{
+ struct UnkStruct_0208A300* ret = AllocFromHeap(heap_id, sizeof(struct UnkStruct_0208A300));
+
+ __builtin__clear(ret, sizeof(struct UnkStruct_0208A300));
+ ret->unk4 = 2;
+
+ return ret;
+}
+
+THUMB_FUNC void FUN_0208A320(struct UnkStruct_0208A300* unk)
+{
+ FreeToHeap(unk);
+}
+
+THUMB_FUNC u32 FUN_0208A328(struct UnkStruct_0208A300* unk)
+{
+ return unk->unk0;
+}
+
+THUMB_FUNC void FUN_0208A32C(struct UnkStruct_0208A300* unk, u32 a1)
+{
+ unk->unk0 = a1;
+}
+
+THUMB_FUNC u32 FUN_0208A330(struct UnkStruct_0208A300* unk)
+{
+ return unk->unk4;
+}
+
+THUMB_FUNC void FUN_0208A334(struct UnkStruct_0208A300* unk, u32 a1)
+{
+ unk->unk4 = a1;
+}
diff --git a/include/unk_0208A300.h b/include/unk_0208A300.h
new file mode 100644
index 00000000..9c2ae898
--- /dev/null
+++ b/include/unk_0208A300.h
@@ -0,0 +1,17 @@
+#ifndef POKEDIAMOND_UNK_0208A300_H
+#define POKEDIAMOND_UNK_0208A300_H
+
+struct UnkStruct_0208A300
+{
+ u32 unk0;
+ u32 unk4;
+};
+
+struct UnkStruct_0208A300* FUN_0208A300(u32 heap_id);
+void FUN_0208A320(struct UnkStruct_0208A300* unk);
+u32 FUN_0208A328(struct UnkStruct_0208A300* unk);
+void FUN_0208A32C(struct UnkStruct_0208A300* unk, u32 a1);
+u32 FUN_0208A330(struct UnkStruct_0208A300* unk);
+void FUN_0208A334(struct UnkStruct_0208A300* unk, u32 a1);
+
+#endif