summaryrefslogtreecommitdiff
path: root/arm9/src/unk_020286F8.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-08-22 11:23:07 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-08-22 11:23:07 -0400
commitc95859dace4cddd46bb36f3e3589f7d14b67c49f (patch)
treefdbeb576cccabbbc673f7402bc14784c67d31e55 /arm9/src/unk_020286F8.c
parentf78d404d3212f2148af5ca9974e4db6daec66e89 (diff)
script_buffers.c; unk_020286F8.c
Diffstat (limited to 'arm9/src/unk_020286F8.c')
-rw-r--r--arm9/src/unk_020286F8.c150
1 files changed, 150 insertions, 0 deletions
diff --git a/arm9/src/unk_020286F8.c b/arm9/src/unk_020286F8.c
new file mode 100644
index 00000000..f54d1e2e
--- /dev/null
+++ b/arm9/src/unk_020286F8.c
@@ -0,0 +1,150 @@
+#include "global.h"
+#include "save_block_2.h"
+#include "MI_memory.h"
+#include "string_util.h"
+#include "math_util.h"
+#include "string16.h"
+#include "unk_020286F8.h"
+
+#pragma thumb on
+
+struct UnkSaveStruct_020286F8 * UNK_021C59D0;
+
+u32 FUN_020286F8(void)
+{
+ return 6 * sizeof(struct UnkSaveStruct_020286F8);
+}
+
+void FUN_02028700(struct UnkSaveStruct_020286F8 * ptr, int a, int b)
+{
+ ptr[b] = ptr[a];
+}
+
+void FUN_02028724(struct UnkSaveStruct_020286F8 * ptr)
+{
+ MI_CpuClearFast(ptr, 6 * sizeof(struct UnkSaveStruct_020286F8));
+ for (int i = 0; i < 6; i++)
+ {
+ ptr[i].unk_0[0] = EOS;
+ ptr[i].unk_10[0] = EOS;
+ }
+ UNK_021C59D0 = ptr;
+}
+
+void FUN_02028754(struct UnkSaveStruct_020286F8 * ptr, u32 n)
+{
+ u32 i, j;
+ for (i = 0; i < 6; i++)
+ {
+ for (j = 0; j < n; j++)
+ {
+ ptr[i].unk_28 = PRandom(ptr[i].unk_28);
+ }
+ }
+}
+
+u32 FUN_0202877C(struct UnkSaveStruct_020286F8 * ptr, u32 i)
+{
+ return ptr[i].unk_24;
+}
+
+void FUN_02028788(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j)
+{
+ ptr[i].unk_24 = j;
+ ptr[i].unk_28 = PRandom(j);
+}
+
+u32 FUN_020287A4(struct UnkSaveStruct_020286F8 * ptr)
+{
+ return ptr[1].unk_28;
+}
+
+u16 * FUN_020287A8(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j)
+{
+ if (j == 0)
+ return ptr[i].unk_0;
+ else
+ return ptr[i].unk_10;
+}
+
+void FUN_020287C0(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j, struct String * k)
+{
+ if (j == 0)
+ CopyStringToU16Array(k, ptr[i].unk_0, 8);
+ else
+ CopyStringToU16Array(k, ptr[i].unk_10, 8);
+}
+
+void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j)
+{
+ ptr[i].unk_20 = j;
+}
+
+u8 FUN_020287F8(struct UnkSaveStruct_020286F8 * ptr, u32 i)
+{
+ return ptr[i].unk_20;
+}
+
+u8 FUN_02028804(struct UnkSaveStruct_020286F8 * ptr, u32 i)
+{
+ return ptr[i].unk_21;
+}
+
+
+void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j)
+{
+ ptr[i].unk_21 = j;
+}
+
+struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveBlock2 * sav2)
+{
+ return (struct UnkSaveStruct_020286F8 *)SavArray_get(sav2, 17);
+}
+
+BOOL FUN_0202888C(struct UnkSaveStruct_020286F8 * ptr);
+
+BOOL FUN_02028828(struct UnkSaveStruct_020286F8 * ptr, u32 i)
+{
+ return !FUN_0202888C(&ptr[i]);
+}
+
+BOOL FUN_020288AC(struct UnkSaveStruct_020286F8 * ptr, struct UnkSaveStruct_020286F8 * ptr2);
+
+BOOL FUN_02028840(struct UnkSaveStruct_020286F8 * ptr, int i)
+{
+ return FUN_020288AC(&ptr[1], &ptr[i]);
+}
+
+BOOL FUN_02028854(struct UnkSaveStruct_020286F8 * ptr, const u16 * str)
+{
+ if (str[0] == EOS)
+ return FALSE;
+ for (int i = 0; i < 6; i++)
+ {
+ if (!StringNotEqualN(str, ptr[i].unk_0, 8))
+ return TRUE;
+ }
+ return FALSE;
+}
+
+BOOL FUN_0202888C(struct UnkSaveStruct_020286F8 * ptr)
+{
+ if (ptr->unk_0[0] == EOS)
+ return TRUE;
+ if (ptr->unk_10[0] == EOS)
+ return TRUE;
+ return FALSE;
+}
+
+BOOL FUN_020288AC(struct UnkSaveStruct_020286F8 * ptr, struct UnkSaveStruct_020286F8 * ptr2)
+{
+ if (StringNotEqualN(ptr->unk_10, ptr2->unk_10, 8))
+ return FALSE;
+ if (StringNotEqualN(ptr->unk_0, ptr2->unk_0, 8))
+ return FALSE;
+ if (ptr->unk_20 != ptr2->unk_20)
+ return FALSE;
+ if (ptr->unk_21 != ptr2->unk_21)
+ return FALSE;
+ return ptr->unk_24 == ptr2->unk_24;
+}