summaryrefslogtreecommitdiff
path: root/arm9/modules/21/src/mod21_02254A6C_src.c
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/modules/21/src/mod21_02254A6C_src.c')
-rw-r--r--arm9/modules/21/src/mod21_02254A6C_src.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/arm9/modules/21/src/mod21_02254A6C_src.c b/arm9/modules/21/src/mod21_02254A6C_src.c
index ee664f13..4bd810d4 100644
--- a/arm9/modules/21/src/mod21_02254A6C_src.c
+++ b/arm9/modules/21/src/mod21_02254A6C_src.c
@@ -1,11 +1,11 @@
#include "global.h"
#include "heap.h"
#include "mod21_02254A6C.h"
+#include "MI_memory.h"
extern void MOD20_022536F4(u32 *param0, u32 param1);
extern u32 MOD20_02252D34(void);
extern void *FUN_02006BDC(u32 param0, u32 param1, u32 param2, void *param3, u32 param4);
-extern void MOD21_02254AD4(u32 param0, u32 *param1);
THUMB_FUNC BOOL MOD21_02254A6C(UnkStruct02254A6C *param0, void *param1)
{
@@ -22,10 +22,23 @@ THUMB_FUNC BOOL MOD21_02254A6C(UnkStruct02254A6C *param0, void *param1)
FreeToHeap(strct);
return FALSE;
}
- MOD21_02254AD4(sp4 + 0xc, strct->Unk30);
+ MOD21_02254AD4((void *)(sp4 + 0xc), strct->Unk30);
FreeToHeap(res);
param0->Unk00 = strct;
return TRUE;
}
return FALSE;
-} \ No newline at end of file
+}
+
+THUMB_FUNC void MOD21_02254AD4(void *param0, void *param1)
+{
+ s32 i = 0;
+ for (u32 r6 = 9 << 6; i < 9; r6 -= 0x30)
+ {
+ MI_CpuCopy16(param0, param1, 0x40);
+ MI_CpuCopy16((void *)((u32)param0 + r6), (void *)((u32)param1 + 0x40), 0x10);
+ i++;
+ param0 = (void *)((u32)param0 + 0x40);
+ param1 = (void *)((u32)param1 + 0x50);
+ }
+}