diff options
author | red031000 <rubenru09@aol.com> | 2021-03-15 19:06:29 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-15 19:06:29 +0000 |
commit | 6138b2ea49421579ec2857d7a8a491de6b1701b6 (patch) | |
tree | fc3e3fb92a60ea58e5a0f8dceea7415ab0408dfd /arm9/src | |
parent | 6b3cfc030575c4151ce57063567f5c8efdd54cf9 (diff) | |
parent | 119f9d3310a64d04a874aa3bb04b8c13b05dab5b (diff) |
Merge pull request #331 from ethanpepro/unk-0204AEA8
Decompile unk_0204AEA8.s
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/unk_0204AEA8.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/arm9/src/unk_0204AEA8.c b/arm9/src/unk_0204AEA8.c new file mode 100644 index 00000000..9c572a8e --- /dev/null +++ b/arm9/src/unk_0204AEA8.c @@ -0,0 +1,43 @@ +#include "global.h" +#include "heap.h" +#include "unk_0204639C.h" +#include "unk_0204AEA8.h" + +extern void MOD05_021E3444(u32, struct UnkStruct_0204639C *, u32); +extern void FUN_0200433C(u32, u16, u32); + +THUMB_FUNC 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, (u16)v1[3], 1); + v1[0]++; + break; + case 1: + if (v1[1] == 1) + { + FreeToHeap(v1); + return TRUE; + } + break; + } + + return FALSE; +} + +THUMB_FUNC 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); +} |