summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/save_arrays.c5
-rw-r--r--arm9/src/unk_0202A1E0.c459
-rw-r--r--arm9/src/unk_0205FA2C.c97
3 files changed, 274 insertions, 287 deletions
diff --git a/arm9/src/save_arrays.c b/arm9/src/save_arrays.c
index f4b18b86..1969e3f1 100644
--- a/arm9/src/save_arrays.c
+++ b/arm9/src/save_arrays.c
@@ -16,6 +16,7 @@
#include "unk_020139D8.h"
#include "unk_02024E64.h"
#include "sav_chatot.h"
+#include "unk_0202A1E0.h"
extern u32 FUN_0202AC20(void);
extern u32 FUN_02034D7C(void);
@@ -28,7 +29,6 @@ extern u32 FUN_02028980(void);
extern u32 FUN_02029A84(void);
extern u32 FUN_02029FB0(void);
extern u32 Sav2_Chatot_sizeof(void);
-extern u32 FUN_0202A89C(void);
extern u32 FUN_0202A8F4(void);
extern u32 FUN_0202A924(void);
extern u32 FUN_0202ABC8(void);
@@ -48,7 +48,6 @@ extern void FUN_0202805C(void *);
extern void FUN_02028994(void *);
extern void FUN_02029A8C(void *);
extern void FUN_02029FB8(void *);
-extern void FUN_0202A8A4(void *);
extern void FUN_0202A8F8(void *);
extern void FUN_0202A92C(void *);
extern void FUN_0202ABCC(void *);
@@ -88,7 +87,7 @@ const struct SaveChunkHeader UNK_020EE700[] = {
{ 20, 0, (SAVSIZEFN)FUN_02029FB0, (SAVINITFN)FUN_02029FB8 },
{ 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init },
{ 22, 0, (SAVSIZEFN)Sav2_Chatot_sizeof, (SAVINITFN)Sav2_Chatot_init },
- { 23, 0, (SAVSIZEFN)FUN_0202A89C, (SAVINITFN)FUN_0202A8A4 },
+ { 23, 0, (SAVSIZEFN)SaveStruct23_sizeof, (SAVINITFN)SaveStruct23_Init },
{ 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 },
{ 25, 0, (SAVSIZEFN)FUN_0202A924, (SAVINITFN)FUN_0202A92C },
{ 26, 0, (SAVSIZEFN)FUN_0202ABC8, (SAVINITFN)FUN_0202ABCC },
diff --git a/arm9/src/unk_0202A1E0.c b/arm9/src/unk_0202A1E0.c
index 607ea8c3..4f32d430 100644
--- a/arm9/src/unk_0202A1E0.c
+++ b/arm9/src/unk_0202A1E0.c
@@ -4,252 +4,249 @@
#include "heap.h"
#include "unk_0202A1E0.h"
-THUMB_FUNC s32 FUN_0202A1E0()
+THUMB_FUNC s32 SaveStruct23_Substruct4_Substruct1_sizeof()
{
- return 228;
+ return sizeof(struct SaveStruct23_Substruct4_Substruct1); // 228
}
-THUMB_FUNC void FUN_0202A1E4(void *dest)
+THUMB_FUNC void SaveStruct23_Substruct1_Init(struct SaveStruct23_Substruct1 *substruct1)
{
- MI_CpuFill8(dest, 0, 60);
+ MI_CpuFill8(substruct1, 0, sizeof(struct SaveStruct23_Substruct1));
}
-THUMB_FUNC void FUN_0202A1F0(struct Unk0202A1F0 *arg0)
+THUMB_FUNC void SaveStruct23_Substruct2_Init(struct SaveStruct23_Substruct2 *substruct2)
{
- MI_CpuFill8(arg0, 0, 360);
- arg0->u_3 = 1;
+ MI_CpuFill8(substruct2, 0, sizeof(struct SaveStruct23_Substruct2));
+ substruct2->u_3 = 1;
}
-THUMB_FUNC void FUN_0202A204(struct UnkMailStruct *arg0)
+THUMB_FUNC void SaveStruct23_Messages_Init(struct SaveStruct23_Messages *messages)
{
- MailMsg_init_fromTemplate(&arg0->messages[0], 0);
- MailMsg_init_fromTemplate(&arg0->messages[1], 1);
- MailMsg_init_fromTemplate(&arg0->messages[2], 2);
- MailMsg_init_fromTemplate(&arg0->messages[3], 3);
+ MailMsg_init_fromTemplate(&messages->messages[0], 0);
+ MailMsg_init_fromTemplate(&messages->messages[1], 1);
+ MailMsg_init_fromTemplate(&messages->messages[2], 2);
+ MailMsg_init_fromTemplate(&messages->messages[3], 3);
}
-THUMB_FUNC void FUN_0202A230(void *dst)
+THUMB_FUNC void SaveStruct23_Substruct4_Init(struct SaveStruct23_Substruct4 *substruct4)
{
- MI_CpuFill8(dst, 0, 2876);
+ MI_CpuFill8(substruct4, 0, sizeof(struct SaveStruct23_Substruct4));
}
-THUMB_FUNC u32 FUN_0202A240(struct Unk0202A240 *unk, u32 mode, void *dst)
+THUMB_FUNC u32 SaveStruct23_Substruct1_GetField(struct SaveStruct23_Substruct1 *substruct1, SaveStruct23_Substruct1_Field field, void *dst)
{
- switch (mode)
+ switch (field)
{
- case 0:
- return unk->u_0_2;
- case 1:
- return unk->u_2;
- case 2:
- return unk->u_3;
- case 3:
- return unk->u_4;
- case 4:
- return unk->u_6;
- case 5:
- MI_CpuCopy8(&unk->u_8, dst, 4);
+ case FIELD_0x0_2:
+ return substruct1->u_0_2;
+ case FIELD_0x2:
+ return substruct1->u_2;
+ case FIELD_0x3:
+ return substruct1->u_3;
+ case FIELD_0x4:
+ return substruct1->u_4;
+ case FIELD_0x6:
+ return substruct1->u_6;
+ case FIELD_0x8:
+ MI_CpuCopy8(&substruct1->u_8, dst, 4);
return 0;
- case 6:
- MI_CpuCopy8(&unk->u_2C, dst, 16);
+ case FIELD_0x2C:
+ MI_CpuCopy8(&substruct1->u_2C, dst, 16);
return 0;
- case 7:
- return unk->u_0_0;
- case 8:
- MI_CpuCopy8(&unk->u_C, dst, 28);
+ case FIELD_flag0:
+ return substruct1->flag0;
+ case FIELD_0xC:
+ MI_CpuCopy8(&substruct1->u_C, dst, 28);
return 0;
- case 9:
- return unk->u_0_5;
- case 10:
- return unk->u_28;
+ case FIELD_0x0_5:
+ return substruct1->u_0_5;
+ case FIELD_0x28:
+ return substruct1->u_28;
default:
return 0;
};
}
-THUMB_FUNC void FUN_0202A2C4(struct Unk0202A240 *dst, u32 mode, void *src)
+THUMB_FUNC void SaveStruct23_Substruct1_SetField(struct SaveStruct23_Substruct1 *substruct1, SaveStruct23_Substruct1_Field field, void *value)
{
- switch (mode)
+ switch (field)
{
- case 0:
- dst->u_0_2 = *(u8 *)src;
+ case FIELD_0x0_2:
+ substruct1->u_0_2 = *(u8 *)value;
break;
- case 1:
- dst->u_2 = *(u8 *)src;
+ case FIELD_0x2:
+ substruct1->u_2 = *(u8 *)value;
break;
- case 2:
- dst->u_3 = *(u8 *)src;
+ case FIELD_0x3:
+ substruct1->u_3 = *(u8 *)value;
break;
- case 3:
- dst->u_4 = *(u16 *)src;
+ case FIELD_0x4:
+ substruct1->u_4 = *(u16 *)value;
break;
- case 4:
- dst->u_6 = *(u16 *)src;
+ case FIELD_0x6:
+ substruct1->u_6 = *(u16 *)value;
break;
- case 5:
- MI_CpuCopy8(src, &dst->u_8, 4);
+ case FIELD_0x8:
+ MI_CpuCopy8(value, &substruct1->u_8, 4);
break;
- case 6:
- MI_CpuCopy8(src, &dst->u_2C, 16);
+ case FIELD_0x2C:
+ MI_CpuCopy8(value, &substruct1->u_2C, 16);
break;
- case 7:
- dst->u_0_0 = *(u8 *)src;
+ case FIELD_flag0:
+ substruct1->flag0 = *(u8 *)value;
break;
- case 8:
- MI_CpuCopy8(src, &dst->u_C, 28);
+ case FIELD_0xC:
+ MI_CpuCopy8(value, &substruct1->u_C, 28);
break;
- case 10:
- dst->u_28 = *(u32 *)src;
+ case FIELD_0x28:
+ substruct1->u_28 = *(u32 *)value;
break;
- case 9:
- dst->u_0_5 = *(u8 *)src;
+ case FIELD_0x0_5:
+ substruct1->u_0_5 = *(u8 *)value;
break;
}
}
-THUMB_FUNC void FUN_0202A36C(struct Unk0202A240 *unk, s32 arg1, s32 arg2, s32 arg3)
+THUMB_FUNC void FUN_0202A36C(struct SaveStruct23_Substruct1 *substruct1, s32 arg1, s32 arg2, s32 arg3)
{
- if (unk->u_3 + arg1 < 0xff)
+ if (substruct1->u_3 + arg1 < 0xff)
{
- unk->u_3 += arg1;
+ substruct1->u_3 += arg1;
}
- if (unk->u_4 + arg2 < 0xffff)
+ if (substruct1->u_4 + arg2 < 0xffff)
{
- unk->u_4 += arg2;
+ substruct1->u_4 += arg2;
}
- if (unk->u_6 + arg3 < 0xffff)
+ if (substruct1->u_6 + arg3 < 0xffff)
{
- unk->u_6 += arg3;
+ substruct1->u_6 += arg3;
}
}
-THUMB_FUNC u8 FUN_0202A398(struct Unk0202A240 *unk)
+THUMB_FUNC BOOL SaveStruct23_Substruct1_GetFlag1(struct SaveStruct23_Substruct1 *substruct1)
{
- return unk->u_0_1;
+ return substruct1->flag1;
}
-THUMB_FUNC void FUN_0202A3A0(struct Unk0202A240 *unk, u16 arg1)
+THUMB_FUNC void SaveStruct23_Substruct1_SetFlag1(struct SaveStruct23_Substruct1 *substruct1, BOOL flag)
{
- unk->u_0_1 = arg1;
+ substruct1->flag1 = flag;
}
-THUMB_FUNC u16 FUN_0202A3B4(struct Unk0202A3B4 *unk, u16 arg1, s32 controlVariable)
+THUMB_FUNC u16 SaveStruct23_Substruct2_SetField_0x0(struct SaveStruct23_Substruct2 *substruct2, u16 value, DataSetMode mode)
{
- switch (controlVariable)
+ switch (mode)
{
- case 0:
- break;
- case 1:
- if (arg1 > 0x270F)
+ case DATA_SET:
+ if (value > 9999)
{
- unk->u_0 = 0x270F;
+ substruct2->u_0 = 9999;
}
else
{
- unk->u_0 = arg1;
+ substruct2->u_0 = value;
}
break;
- case 2:
- case 3:
- case 4:
- break;
- case 5:
- if (unk->u_0 + arg1 > 0x270F)
+ case DATA_ADD:
+ if (substruct2->u_0 + value > 9999)
{
- unk->u_0 = 0x270F;
+ substruct2->u_0 = 9999;
}
else
{
- unk->u_0 += arg1;
+ substruct2->u_0 += value;
}
break;
- case 6:
- if (unk->u_0 < arg1)
+ case DATA_SUBSTRACT:
+ if (substruct2->u_0 < value)
{
- unk->u_0 = 0;
+ substruct2->u_0 = 0;
}
else
{
- unk->u_0 -= arg1;
+ substruct2->u_0 -= value;
}
break;
+ case DATA_GET:
+ default:
+ break;
}
- return unk->u_0;
+ return substruct2->u_0;
}
-THUMB_FUNC u8 FUN_0202A40C(struct Unk0202A40C *unk, s32 controlVariable)
+THUMB_FUNC u8 SaveStruct23_Substruct2_SetField_0x2(struct SaveStruct23_Substruct2 *substruct2, DataSetMode mode)
{
- switch (controlVariable)
+ switch (mode)
{
- case 2:
- unk->u_2 = 0;
- unk->u_8_4 = 0;
+ case DATA_RESET:
+ substruct2->u_2 = 0;
+ substruct2->flag4 = 0;
break;
- case 3:
- if (unk->u_8_4 != 0)
+ case DATA_INCREMENT:
+ if (substruct2->flag4)
{
- unk->u_2 += 1;
+ substruct2->u_2++;
}
else
{
- unk->u_2 = 1;
- unk->u_8_4 = 1;
+ substruct2->u_2 = 1;
+ substruct2->flag4 = 1;
}
break;
}
- return unk->u_2;
+ return substruct2->u_2;
}
-THUMB_FUNC u8 FUN_0202A444(struct Unk0202A444 *unk, s32 controlVariable)
+THUMB_FUNC u8 SaveStruct23_Substruct2_SetField_0x3(struct SaveStruct23_Substruct2 *substruct2, DataSetMode mode)
{
- switch (controlVariable)
+ switch (mode)
{
- case 2:
- unk->u_3 = 1;
+ case DATA_RESET:
+ substruct2->u_3 = 1;
break;
- case 3:
- if (unk->u_3 < 0xa)
+ case DATA_INCREMENT:
+ if (substruct2->u_3 < 10)
{
- unk->u_3++;
+ substruct2->u_3++;
}
break;
- case 4:
- if (unk->u_3 > 1)
+ case DATA_DECREMENT:
+ if (substruct2->u_3 > 1)
{
- unk->u_3--;
+ substruct2->u_3--;
}
break;
}
- return unk->u_3;
+ return substruct2->u_3;
}
-THUMB_FUNC void FUN_0202A474(void *dst, s32 arg1, const void *src)
+THUMB_FUNC void SaveStruct23_Substruct2_SetArray(struct SaveStruct23_Substruct2 *substruct2, s32 mode, void *src)
{
- if (arg1 == 0)
+ if (mode == 0)
{
- MI_CpuCopy8(src, dst + 0xc0, 0xa8);
+ MI_CpuCopy8(src, substruct2->u_C0, 168);
}
else
{
- MI_CpuCopy8(src, dst + 0x18, 0xa8);
+ MI_CpuCopy8(src, substruct2->u_18, 168);
}
}
-THUMB_FUNC void FUN_0202A498(const void *src, s32 arg1, void *dst)
+THUMB_FUNC void SaveStruct23_Substruct2_GetArray(struct SaveStruct23_Substruct2 *substruct2, s32 mode, void *dst)
{
- if (arg1 == 0)
+ if (mode == 0)
{
- MI_CpuCopy8(src + 0xc0, dst, 0xa8);
+ MI_CpuCopy8(substruct2->u_C0, dst, 168);
}
else
{
- MI_CpuCopy8(src + 0x18, dst, 0xa8);
+ MI_CpuCopy8(substruct2->u_18, dst, 168);
}
}
-THUMB_FUNC u16 FUN_0202A4B8(struct Unk0202A4B8 *arg0, struct Unk0202A4B8 *arg1)
+THUMB_FUNC u16 SaveStruct23_Substruct2_SetField_0x16(struct SaveStruct23_Substruct2 *substruct2, struct Unk0202A4B8 *arg1)
{
u16 var1, var2, var3, var4, var5, total;
@@ -276,93 +273,93 @@ THUMB_FUNC u16 FUN_0202A4B8(struct Unk0202A4B8 *arg0, struct Unk0202A4B8 *arg1)
}
total = (u16) (var1 + var4 + var5);
- arg0->u_16 = total;
+ substruct2->u_16 = total;
return total;
}
-THUMB_FUNC u16 FUN_0202A520(struct Unk0202A4B8 *unk)
+THUMB_FUNC u16 SaveStruct23_Substruct2_GetField_0x16(struct SaveStruct23_Substruct2 *substruct2)
{
- return unk->u_16;
+ return substruct2->u_16;
}
-THUMB_FUNC u8 FUN_0202A524(struct Unk0202A4B8 *unk)
+THUMB_FUNC u8 FUN_0202A524(struct SaveStruct23_Substruct2 *substruct2)
{
- return (u8)(unk->u_16 / (0xfa << 2));
+ return (u8)(substruct2->u_16 / 1000);
}
-THUMB_FUNC u16 FUN_0202A538(struct Unk0202A4B8 *unk, s32 arg1, s32 arg2)
+THUMB_FUNC u16 SaveStruct23_Substruct2_SetField_0xC(struct SaveStruct23_Substruct2 *substruct2, u16 arg1, DataSetMode mode)
{
if (arg1 == 5)
{
return 0;
}
- switch(arg2) {
- case 2:
- unk->u_array_C[arg1] = 0;
+ switch(mode) {
+ case DATA_RESET:
+ substruct2->u_C[arg1] = 0;
break;
- case 3:
- if (unk->u_array_C[arg1] < 0xfffe) {
- unk->u_array_C[arg1]++;
+ case DATA_INCREMENT:
+ if (substruct2->u_C[arg1] < 0xfffe) {
+ substruct2->u_C[arg1]++;
}
break;
}
- return unk->u_array_C[arg1];
+ return substruct2->u_C[arg1];
}
-THUMB_FUNC BOOL FUN_0202A578(struct Unk0202A578 *arg0, u16 arg1, u32 arg2)
+THUMB_FUNC BOOL SaveStruct23_Substruct2_SetFlag(struct SaveStruct23_Substruct2 *substruct2, u16 flagNumber, DataSetMode mode)
{
u16 i;
u16 flag = 1;
- for (i = 0; i < arg1 ; i++)
+ for (i = 0; i < flagNumber ; i++)
{
flag <<= 1;
}
- switch (arg2)
+ switch (mode)
{
- case 2:
+ case DATA_RESET:
flag = (u16) (flag ^ 0xffff);
- arg0->u_8 &= flag;
+ substruct2->flags &= flag;
break;
- case 1:
- arg0->u_8 |= flag;
+ case DATA_SET:
+ substruct2->flags |= flag;
break;
- case 0:
- return (BOOL) ((arg0->u_8 >> arg1) & 1);
+ case DATA_GET:
+ return (BOOL) ((substruct2->flags >> flagNumber) & 1);
}
- return 0;
+ return FALSE;
}
-THUMB_FUNC void FUN_0202A5CC(struct Unk0202A5CC *unk, u32 arg1)
+THUMB_FUNC void SaveStruct23_Substruct2_SetField_0x4(struct SaveStruct23_Substruct2 *substruct2, u32 value)
{
- unk->u_4 = arg1;
+ substruct2->u_4 = value;
}
-THUMB_FUNC u32 FUN_0202A5D0(struct Unk0202A5CC *unk)
+THUMB_FUNC u32 SaveStruct23_Substruct2_GetField_0x4(struct SaveStruct23_Substruct2 *substruct2)
{
- return unk->u_4;
+ return substruct2->u_4;
}
-THUMB_FUNC void FUN_0202A5D4(struct SaveBlock2 *sav2, u32 arg1, struct MailMessage *arg2)
+THUMB_FUNC void SaveStruct23_SetMessage(struct SaveBlock2 *sav2, u32 index, struct MailMessage *message)
{
- struct UnkSaveStruct_0202A5D4 *data = SavArray_get(sav2, 23);
- MailMsg_copy(&data->messages.messages[arg1], arg2);
+ struct SaveStruct23 *data = SavArray_get(sav2, 23);
+ MailMsg_copy(&data->messages.messages[index], message);
}
-THUMB_FUNC struct MailMessage *FUN_0202A5F4(struct SaveBlock2 *sav2, u32 arg1)
+THUMB_FUNC struct MailMessage *SaveStruct23_GetMessage(struct SaveBlock2 *sav2, u32 index)
{
- struct UnkSaveStruct_0202A5D4 *data = SavArray_get(sav2, 23);
- return &data->messages.messages[arg1];
+ struct SaveStruct23 *data = SavArray_get(sav2, 23);
+ return &data->messages.messages[index];
}
-THUMB_FUNC void FUN_0202A60C(struct Unk0202A670 *arg0, u8 arg1, u8 arg2, struct Unk0202A68C *arg3) {
+THUMB_FUNC void SaveStruct23_Substruct4_SetArrayFlag(struct SaveStruct23_Substruct4 *substruct4, u8 arg1, u8 arg2, struct Unk0202A68C *arg3) {
- u8 bitmask = 1;
+ u8 flag = 1;
if (arg2 == 0 || arg2 > 200)
{
@@ -374,44 +371,44 @@ THUMB_FUNC void FUN_0202A60C(struct Unk0202A670 *arg0, u8 arg1, u8 arg2, struct
return;
}
- u16 var2 = (u16) ((arg1 - 1) * 200 + (arg2 - 1));
- u8 index = (u8) (var2 / 8);
- u8 remainder = (u8) (var2 % 8);
- bitmask <<= remainder;
+ u16 var1 = (u16) ((arg1 - 1) * 200 + (arg2 - 1));
+ u8 index = (u8) (var1 / 8);
+ u8 remainder = (u8) (var1 % 8);
+ flag <<= remainder;
- arg0->u_4[index] |= bitmask;
- arg0->u_0 = (arg3->u_0 << 24) | ((arg3->u_4 & 0xff) << 16) | ((arg3->u_8 & 0xff) << 8) | arg3->u_C;
+ substruct4->flags[index] |= flag;
+ substruct4->u_0 = (arg3->u_0 << 24) | ((arg3->u_4 & 0xff) << 16) | ((arg3->u_8 & 0xff) << 8) | arg3->u_C;
}
-THUMB_FUNC void FUN_0202A670(struct Unk0202A670 *arg0)
+THUMB_FUNC void SaveStruct23_Substruct4_ClearArrayFlags(struct SaveStruct23_Substruct4 *substruct4)
{
- MI_CpuFill8(&(arg0->u_4), 0, 250);
- MI_CpuFill8(arg0, 0, 4);
+ MI_CpuFill8(substruct4->flags, 0, 250);
+ MI_CpuFill8(&substruct4->u_0, 0, 4);
}
-THUMB_FUNC BOOL FUN_0202A68C(struct Unk0202A68C *arg0, struct Unk0202A68C *arg1)
+THUMB_FUNC BOOL StructUnk0202A68C_Compare(struct Unk0202A68C *struct1, struct Unk0202A68C *struct2)
{
- if (arg0->u_0 > arg1->u_0) {
+ if (struct1->u_0 > struct2->u_0) {
return TRUE;
- } else if (arg0->u_4 > arg1->u_4) {
+ } else if (struct1->u_4 > struct2->u_4) {
return TRUE;
- } else if (arg0->u_8 > arg1->u_8) {
+ } else if (struct1->u_8 > struct2->u_8) {
return TRUE;
}
return FALSE;
}
-THUMB_FUNC BOOL FUN_0202A6B4(struct Unk0202A670 *arg0, u8 arg1, u8 arg2, struct Unk0202A68C *arg3)
+THUMB_FUNC BOOL SaveStruct23_Substruct4_GetArrayFlag(struct SaveStruct23_Substruct4 *substruct4, u8 arg1, u8 arg2, struct Unk0202A68C *arg3)
{
- u8 bitmask = 1;
+ u8 flag = 1;
if (arg2 > 200 || arg1 > 10)
{
return FALSE;
}
- u32 var0 = arg0->u_0;
+ u32 var0 = substruct4->u_0;
Unk0202A68C var1;
var1.u_0 = var0 >> 24 & 0xff;
@@ -419,123 +416,121 @@ THUMB_FUNC BOOL FUN_0202A6B4(struct Unk0202A670 *arg0, u8 arg1, u8 arg2, struct
var1.u_8 = var0 >> 8 & 0xff;
var1.u_C = var0 & 0xff;
- if (FUN_0202A68C(arg3, &var1))
+ if (StructUnk0202A68C_Compare(arg3, &var1))
{
- FUN_0202A670(arg0);
+ SaveStruct23_Substruct4_ClearArrayFlags(substruct4);
return FALSE;
}
u16 var2 = (u16) ((arg1 - 1) * 200 + (arg2 - 1));
u8 index = (u8) (var2 / 8);
u8 remainder = (u8) (var2 % 8);
- bitmask <<= remainder;
+ flag <<= remainder;
- if (arg0->u_4[index] & bitmask)
+ if (substruct4->flags[index] & flag)
{
- return 1;
+ return TRUE;
}
return FALSE;
}
-THUMB_FUNC u8 FUN_0202A744(struct Unk0202A744 *unk)
+THUMB_FUNC u8 SaveStruct23_Substruct4_GetField_0xFE(struct SaveStruct23_Substruct4 *substruct4)
{
- return unk->u_FE;
+ return substruct4->u_FE;
}
-THUMB_FUNC u8 FUN_0202A74C(struct Unk0202A744 *unk)
+THUMB_FUNC u8 SaveStruct23_Substruct4_GetField_0xFF(struct SaveStruct23_Substruct4 *substruct4)
{
- return unk->u_FF;
+ return substruct4->u_FF;
}
-THUMB_FUNC void FUN_0202A754(struct Unk0202A744 *dest, void *src, u8 arg2, u8 arg3)
+THUMB_FUNC void SaveStruct23_Substruct4_SetSubstruct1(struct SaveStruct23_Substruct4 *substruct4, struct SaveStruct23_Substruct4_Substruct1 *substruct1, u8 arg2, u8 arg3)
{
- MI_CpuCopy8(src, &dest->u_104, sizeof(struct Unk0202A744_substruct1));
- dest->u_101 = arg2;
- dest->u_100 = arg3;
- dest->u_FE = 1;
+ MI_CpuCopy8(substruct1, &substruct4->substruct1, sizeof(struct SaveStruct23_Substruct4_Substruct1)*7);
+ substruct4->u_101 = arg2;
+ substruct4->u_100 = arg3;
+ substruct4->u_FE = 1;
}
-THUMB_FUNC void FUN_0202A784(struct Unk0202A744 *src, struct Unk0202A784 *dest)
+THUMB_FUNC void FUN_0202A784(struct SaveStruct23_Substruct4 *substruct4, struct Unk0202A784 *dst)
{
- dest->u_0 = src->u_101;
- dest->u_1 = src->u_100;
+ dst->u_0 = substruct4->u_101;
+ dst->u_1 = substruct4->u_100;
}
-THUMB_FUNC void FUN_0202A798(struct Unk0202A798_1 *arg0, struct Unk0202A798_2 *arg1, u32 arg2)
+THUMB_FUNC void FUN_0202A798(struct SaveStruct23_Substruct4 *substruct4, struct Unk0202A798 *arg1, u32 arg2)
{
- struct Unk0202A798_substruct2 *var0 = &arg1->u_0;
+ struct Unk0202A798_substruct *unk_substruct = &arg1->u_0;
u8 *var1 = arg1->u_30;
- struct Unk0202A798_substruct1 *src = &arg0->u_104[arg2];
+ struct SaveStruct23_Substruct4_Substruct1 *substruct4_substruct1 = &substruct4->substruct1[arg2];
struct MsgData *message;
- var0->u_0 = 10000;
- var0->u_4 = src->u_C9;
+ unk_substruct->u_0 = 10000;
+ unk_substruct->u_4 = substruct4_substruct1->u_C9;
- if(src->u_C8_0)
+ if(substruct4_substruct1->u_C8_0)
{
message = NewMsgDataFromNarc(0, NARC_MSGDATA_MSG, 17, 11);
- ReadMsgDataIntoU16Array(message, (u32) (22 + src->u_C8_1), var0->u_8);
+ ReadMsgDataIntoU16Array(message, (u32) (22 + substruct4_substruct1->u_C8_1), unk_substruct->u_8);
DestroyMsgData(message);
}
else
{
- MI_CpuCopy8(src->u_A8, var0->u_8, 16);
+ MI_CpuCopy8(substruct4_substruct1->u_A8, unk_substruct->u_8, 16);
}
- MI_CpuCopy8(src->u_CA, var0->u_18, 8);
- MI_CpuCopy8(src->u_D2, var0->u_20, 8);
- MI_CpuCopy8(src->u_DA, var0->u_28, 8);
- MI_CpuCopy8(src->u_0, var1, 168);
+ MI_CpuCopy8(substruct4_substruct1->u_CA, unk_substruct->u_18, 8);
+ MI_CpuCopy8(substruct4_substruct1->u_D2, unk_substruct->u_20, 8);
+ MI_CpuCopy8(substruct4_substruct1->u_DA, unk_substruct->u_28, 8);
+ MI_CpuCopy8(substruct4_substruct1->u_0, var1, 168);
}
-THUMB_FUNC void FUN_0202A838(struct Unk0202A744 *dest, void *src, u8 arg2, u8 arg3)
+THUMB_FUNC void FUN_0202A838(struct SaveStruct23_Substruct4 *substruct4, struct SaveStruct23_Substruct4_Substruct2 *substruct4_substruct2, u8 arg2, u8 arg3)
{
- MI_CpuCopy8(src, &dest->u_740, sizeof(dest->u_740));
- dest->u_103 = arg2;
- dest->u_102 = arg3;
- dest->u_FF = 1;
+ MI_CpuCopy8(substruct4_substruct2, &substruct4->substruct2, sizeof(struct SaveStruct23_Substruct4_Substruct2));
+ substruct4->u_103 = arg2;
+ substruct4->u_102 = arg3;
+ substruct4->u_FF = 1;
}
-THUMB_FUNC void FUN_0202A864(struct Unk0202A744 *src, struct Unk0202A784 *dest)
+THUMB_FUNC void FUN_0202A864(struct SaveStruct23_Substruct4 *substruct4, struct Unk0202A784 *dst)
{
- dest->u_0 = src->u_103;
- dest->u_1 = src->u_102;
+ dst->u_0 = substruct4->u_103;
+ dst->u_1 = substruct4->u_102;
}
-THUMB_FUNC struct Unk0202A744_substruct2 *FUN_0202A878(struct Unk0202A744 *src, u32 heap_id)
+THUMB_FUNC struct SaveStruct23_Substruct4_Substruct2 *FUN_0202A878(struct SaveStruct23_Substruct4 *substruct4, u32 heap_id)
{
- struct Unk0202A744_substruct2 *dstp = AllocFromHeap(heap_id, sizeof(struct Unk0202A744_substruct2) /* 1020 */);
- MI_CpuCopy8(&src->u_740, dstp, sizeof(struct Unk0202A744_substruct2));
- return dstp;
+ struct SaveStruct23_Substruct4_Substruct2 *substruct4_substruct2 = AllocFromHeap(heap_id, sizeof(struct SaveStruct23_Substruct4_Substruct2) /* 1020 */);
+ MI_CpuCopy8(&substruct4->substruct2, substruct4_substruct2, sizeof(struct SaveStruct23_Substruct4_Substruct2));
+ return substruct4_substruct2;
}
-THUMB_FUNC s32 FUN_0202A89C()
+THUMB_FUNC s32 SaveStruct23_sizeof()
{
- return 0xD00; // 3328
+ return sizeof(struct SaveStruct23); // 0xD00 (3328)
}
-THUMB_FUNC void FUN_0202A8A4(struct UnkSaveStruct_0202A5D4 *savStruct)
+THUMB_FUNC void SaveStruct23_Init(struct SaveStruct23 *saveStruct23)
{
- FUN_0202A1E4(savStruct);
- FUN_0202A1F0(&savStruct->u_3C);
- FUN_0202A204(&savStruct->messages);
- FUN_0202A230(&savStruct->u_1C4);
+ SaveStruct23_Substruct1_Init(&saveStruct23->substruct1);
+ SaveStruct23_Substruct2_Init(&saveStruct23->substruct2);
+ SaveStruct23_Messages_Init(&saveStruct23->messages);
+ SaveStruct23_Substruct4_Init(&saveStruct23->substruct4);
}
-THUMB_FUNC struct UnkSaveStruct_0202A5D4 *FUN_0202A8CC(struct SaveBlock2* sav2)
+THUMB_FUNC struct SaveStruct23_Substruct1 *SaveStruct23_GetSubstruct1(struct SaveBlock2* sav2)
{
- return SavArray_get(sav2, 23);
+ return &((struct SaveStruct23 *)SavArray_get(sav2, 23))->substruct1;
}
-THUMB_FUNC struct Unk0202A1F0 *FUN_0202A8D8(struct SaveBlock2* sav2)
+THUMB_FUNC struct SaveStruct23_Substruct2 *SaveStruct23_GetSubstruct2(struct SaveBlock2* sav2)
{
- struct UnkSaveStruct_0202A5D4 *data = SavArray_get(sav2, 23);
- return &data->u_3C;
+ return &((struct SaveStruct23 *)SavArray_get(sav2, 23))->substruct2;
}
-THUMB_FUNC void *FUN_0202A8E4(struct SaveBlock2* sav2)
+THUMB_FUNC struct SaveStruct23_Substruct4 *SaveStruct23_GetSubstruct4(struct SaveBlock2* sav2)
{
- struct UnkSaveStruct_0202A5D4 *data = SavArray_get(sav2, 23);
- return &data->u_1C4;
+ return &((struct SaveStruct23 *)SavArray_get(sav2, 23))->substruct4;
} \ No newline at end of file
diff --git a/arm9/src/unk_0205FA2C.c b/arm9/src/unk_0205FA2C.c
index cabd756e..a023ad83 100644
--- a/arm9/src/unk_0205FA2C.c
+++ b/arm9/src/unk_0205FA2C.c
@@ -1,5 +1,6 @@
#include "unk_0205FA2C.h"
#include "unk_020337E8.h"
+#include "unk_0202A1E0.h"
extern void *UNK_020F96DC;
extern void *UNK_020FA6E8;
@@ -11,17 +12,9 @@ extern u16 *GetVarPointer(struct UnkSavStruct80 *arg, u16);
extern u16 MOD06_02244660(struct UnkSavStruct80 *param0, u8 *param1);
extern u16 MOD06_022446BC(struct UnkSavStruct80 *param0, u8 *param1);
extern u16 MOD06_022446E0(struct UnkSavStruct80 *param0, u8 *param1);
-extern void FUN_0202A5CC(u32 param0, u32 param1);
-extern u32 FUN_0202A5D0(u32 param0);
extern u32 FUN_0202A150(struct UnkStruct_02029FB0 *param0, u32 param1);
-extern u32 FUN_0202A8D8(struct SaveBlock2 *sav2);
-extern u32 FUN_0202A578(u32 param0, u32 param1, u32 param2);
extern u32 FUN_02026CC4(struct SaveBlock2 *sav2);
extern u32 FUN_02025D94(u32 param0, u32 param1);
-extern u32 FUN_0202A8CC(struct SaveBlock2 *sav2);
-extern void FUN_0202A2C4(u32 param0, u32 param1, u32 *param2);
-extern u32 FUN_0202A240(u32 param0, u32 param1, u32 param2);
-extern int FUN_0202A538(u32 param0, u16 param1, u32 param2);
const u8 UNK_020F7454[] = {
0x00,
@@ -327,33 +320,33 @@ THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2)
return 0;
}
- u32 res2 = FUN_0202A8D8(sav2);
+ struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
- u8 res3 = (u8)FUN_0202A578(res2, 0xd, 0);
- u8 res4 = (u8)FUN_0202A578(res2, 0, 0);
- u8 res5 = (u8)FUN_0202A578(res2, 1, 0);
+ BOOL flagD = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_GET);
+ BOOL flag0 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_GET);
+ BOOL flag1 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 1, DATA_GET);
- u8 res6 = (u8)FUN_0202A578(res2, 0xe, 0);
- u8 res7 = (u8)FUN_0202A578(res2, 2, 0);
- u8 res8 = (u8)FUN_0202A578(res2, 3, 0);
+ BOOL flagE = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xe, DATA_GET);
+ BOOL flag2 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 2, DATA_GET);
+ BOOL flag3 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 3, DATA_GET);
- if (res3 != 0 && res4 != 0 && res5 != 0)
+ if (flagD && flag0 && flag1)
{
return 0;
}
u32 res9 = FUN_02026CC4(sav2);
- if (res3 == 0)
+ if (!flagD)
{
if (FUN_02025D94(res9, 0x55) != 0)
{
- FUN_0202A578(res2, 0xd, 1);
+ SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_SET);
return 1;
}
- if (res6 == 0)
+ if (!flagE)
{
- FUN_0202A578(res2, 0xe, 1);
+ SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xe, DATA_SET);
}
return 4;
@@ -364,36 +357,36 @@ THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2)
return 0;
}
- if (res4 == 0)
+ if (!flag0)
{
if (FUN_02025D94(res9, 0x56) != 0)
{
- FUN_0202A578(res2, 0, 1);
+ SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_SET);
return 2;
}
- if (res7 == 0)
+ if (!flag2)
{
- FUN_0202A578(res2, 2, 1);
+ SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 2, DATA_SET);
}
return 4;
}
- if (res < 100 || res5 != 0)
+ if (res < 100 || flag1)
{
return 0;
}
if (FUN_02025D94(res9, 0x57) != 0)
{
- FUN_0202A578(res2, 1, 1);
+ SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 1, DATA_SET);
return 3;
}
- if (res8 == 0)
+ if (!flag3)
{
- FUN_0202A578(res2, 3, 1);
+ SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 3, DATA_SET);
}
return 4;
@@ -407,24 +400,24 @@ THUMB_FUNC u32 FUN_0205FF5C(struct SaveBlock2 *sav2)
return 0;
}
- u32 res2 = FUN_0202A8D8(sav2);
+ struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
- u8 res3 = (u8)FUN_0202A578(res2, 0xd, 0);
- u8 res4 = (u8)FUN_0202A578(res2, 0, 0);
- u8 res5 = (u8)FUN_0202A578(res2, 1, 0);
+ BOOL flagD = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_GET);
+ BOOL flag0 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_GET);
+ BOOL flag1 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 1, DATA_GET);
- u8 res6 = (u8)FUN_0202A578(res2, 0xe, 0);
- u8 res7 = (u8)FUN_0202A578(res2, 2, 0);
- u8 res8 = (u8)FUN_0202A578(res2, 3, 0);
+ BOOL flagE = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xe, DATA_GET);
+ BOOL flag2 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 2, DATA_GET);
+ BOOL flag3 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 3, DATA_GET);
- if (res3 != 0 && res4 != 0 && res5 != 0)
+ if (flagD && flag0 && flag1)
{
return 0;
}
- if (res3 == 0)
+ if (!flagD)
{
- if (res6 != 0)
+ if (flagE)
{
return 4;
}
@@ -437,9 +430,9 @@ THUMB_FUNC u32 FUN_0205FF5C(struct SaveBlock2 *sav2)
return 0;
}
- if (res4 == 0)
+ if (!flag0)
{
- if (res7 != 0)
+ if (flag2)
{
return 5;
}
@@ -452,12 +445,12 @@ THUMB_FUNC u32 FUN_0205FF5C(struct SaveBlock2 *sav2)
return 0;
}
- if (res5 != 0)
+ if (flag1)
{
return 0;
}
- if (res8 != 0)
+ if (flag3)
{
return 6;
}
@@ -488,42 +481,42 @@ THUMB_FUNC u32 FUN_0206007C(struct SaveBlock2 *sav2)
{
u32 res = FUN_02060070(FUN_020287A4(FUN_0202881C(sav2)));
- FUN_0202A5CC(FUN_0202A8D8(sav2), res);
+ SaveStruct23_Substruct2_SetField_0x4(SaveStruct23_GetSubstruct2(sav2), res);
return res;
}
THUMB_FUNC u32 FUN_020600A0(struct SaveBlock2 *sav2)
{
- u32 res = FUN_0202A8D8(sav2);
+ struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
- u32 res2 = FUN_02060070(FUN_0202A5D0(res));
+ u32 res2 = FUN_02060070(SaveStruct23_Substruct2_GetField_0x4(saveStruct23_substruct2));
- FUN_0202A5CC(res, res2);
+ SaveStruct23_Substruct2_SetField_0x4(saveStruct23_substruct2, res2);
u32 res3 = FUN_02060064(res2);
- FUN_0202A2C4(FUN_0202A8CC(sav2), 0xa, &res3);
+ SaveStruct23_Substruct1_SetField(SaveStruct23_GetSubstruct1(sav2), FIELD_0x28, &res3);
return res3;
}
THUMB_FUNC u32 FUN_020600DC(struct SaveBlock2 *sav2)
{
- u32 res = FUN_0202A8D8(sav2);
+ struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
- u32 res2 = FUN_0202A8CC(sav2);
+ struct SaveStruct23_Substruct1 *saveStruct23_substruct1 = SaveStruct23_GetSubstruct1(sav2);
- u32 res3 = FUN_02060064(FUN_0202A5D0(res));
+ u32 res3 = FUN_02060064(SaveStruct23_Substruct2_GetField_0x4(saveStruct23_substruct2));
int i = 0;
- int res4 = FUN_0202A538(res, (u16)FUN_0202A240(res2, 0, 0), 0) * 0x18;
+ int res4 = SaveStruct23_Substruct2_SetField_0xC(saveStruct23_substruct2, (u16)SaveStruct23_Substruct1_GetField(saveStruct23_substruct1, FIELD_0x0_2, 0), DATA_GET) * 0x18;
for (i = 0; i < res4; i++)
{
res3 = FUN_02060064(res3);
}
- FUN_0202A2C4(FUN_0202A8CC(sav2), 0xa, &res3);
+ SaveStruct23_Substruct1_SetField(SaveStruct23_GetSubstruct1(sav2), FIELD_0x28, &res3);
return res3;
}