summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
authorJames Luke <5251299+ethanpepro@users.noreply.github.com>2021-03-15 13:37:17 -0400
committerJames Luke <5251299+ethanpepro@users.noreply.github.com>2021-03-15 13:37:17 -0400
commitff109c169cb508e0811bd1f0097f97ee594bfd54 (patch)
tree89fcbd5b4d64064c96df3703246a0252ddd007dc /arm9/src
parent6b3cfc030575c4151ce57063567f5c8efdd54cf9 (diff)
Decompile unk_0204AEA8.s
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/unk_0204AEA8.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/arm9/src/unk_0204AEA8.c b/arm9/src/unk_0204AEA8.c
new file mode 100644
index 00000000..23dd6960
--- /dev/null
+++ b/arm9/src/unk_0204AEA8.c
@@ -0,0 +1,45 @@
+#include "global.h"
+#include "heap.h"
+#include "unk_0204639C.h"
+#include "unk_0204AEA8.h"
+
+#pragma thumb on
+
+extern void MOD05_021E3444(u32, struct UnkStruct_0204639C *, u32);
+extern void FUN_0200433C(u32, u32, u32);
+
+BOOL FUN_0204AEA8(struct UnkStruct_0204639C *a0)
+{
+ struct UnkStruct_0204639C *v0 = FUN_02046528(a0);
+ u32 *v1 = FUN_0204652C(a0);
+
+ switch (v1[0])
+ {
+ case 0:
+ MOD05_021E3444(v1[2], v0, (u32)v1 + 4);
+ FUN_0200433C(5, ((v1[3] << 16) >> 16), 1);
+ v1[0]++;
+ break;
+ case 1:
+ if (v1[1] == 1)
+ {
+ FreeToHeap(v1);
+ return TRUE;
+ }
+ break;
+ }
+
+ return FALSE;
+}
+
+void FUN_0204AEF8(struct UnkStruct_0204639C *a0, u32 a1, u32 a2)
+{
+ u32 *v0 = AllocFromHeapAtEnd(11, 4 * sizeof(u32));
+
+ v0[0] = 0;
+ v0[1] = 0;
+ v0[2] = a1;
+ v0[3] = a2;
+
+ FUN_0204640C(a0, FUN_0204AEA8, v0);
+}