summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/src/unk_02008DEC.c34
-rw-r--r--include/unk_02008DEC.h20
2 files changed, 32 insertions, 22 deletions
diff --git a/arm9/src/unk_02008DEC.c b/arm9/src/unk_02008DEC.c
index 3050110b..2238b920 100644
--- a/arm9/src/unk_02008DEC.c
+++ b/arm9/src/unk_02008DEC.c
@@ -74,7 +74,7 @@ THUMB_FUNC struct UnkStruct_02008DEC_sub *FUN_02008E6C(
if (param1->unk0C == 0)
{
- struct UnkStruct_02008DEC_3 *r6 = &((struct UnkStruct_02008DEC_3 *)param1->unk00)[param2];
+ struct UnkStruct_02008DEC_3 *r6 = &param1->unk00_3[param2];
GF_ASSERT(FUN_0200945C(param0, r6->unk00) == 1);
FUN_0200994C(
@@ -82,7 +82,7 @@ THUMB_FUNC struct UnkStruct_02008DEC_sub *FUN_02008E6C(
}
else
{
- struct UnkStruct_02008DEC_4 *r6 = &((struct UnkStruct_02008DEC_4 *)param1->unk00)[param2];
+ struct UnkStruct_02008DEC_4 *r6 = &param1->unk00_4[param2];
GF_ASSERT(FUN_0200945C(param0, r6->unk0C) == 1);
FUN_02009978(param0,
@@ -561,26 +561,26 @@ THUMB_FUNC void FUN_02009668(u32 *param0, struct UnkStruct_02008DEC_2 *param1, u
if (param1->unk04 > 0)
{
- param1->unk00 = AllocFromHeap(param2, param1->unk04 * sizeof(struct UnkStruct_02008DEC_4));
+ param1->unk00_4 = AllocFromHeap(param2, param1->unk04 * sizeof(struct UnkStruct_02008DEC_4));
}
else
{
- param1->unk00 = NULL;
+ param1->unk00_4 = NULL;
}
- if (param1->unk00 != NULL)
+ if (param1->unk00_4 != NULL)
{
- memcpy(param1->unk00, param0 + 1, param1->unk04 * sizeof(struct UnkStruct_02008DEC_4));
+ memcpy(param1->unk00_4, param0 + 1, param1->unk04 * sizeof(struct UnkStruct_02008DEC_4));
}
}
THUMB_FUNC void FUN_020096B4(struct UnkStruct_02008DEC_2 *param0)
{
- if (param0->unk00)
+ if (param0->unk00_4)
{
- FreeToHeap(param0->unk00);
+ FreeToHeap(param0->unk00_4);
}
- param0->unk00 = NULL;
+ param0->unk00_4 = NULL;
param0->unk04 = 0;
}
@@ -598,10 +598,10 @@ THUMB_FUNC s32 FUN_020096DC(struct UnkStruct_02008DEC_2 *param0, s32 param1)
if (param0->unk0C == 0)
{
- return ((struct UnkStruct_02008DEC_3 *)param0->unk00)[param1].unk00;
+ return param0->unk00_3[param1].unk00;
}
- return ((struct UnkStruct_02008DEC_4 *)param0->unk00)[param1].unk0C;
+ return param0->unk00_4[param1].unk0C;
}
THUMB_FUNC s32 FUN_02009710(struct UnkStruct_02008DEC_2 *param0, s32 param1)
@@ -612,7 +612,7 @@ THUMB_FUNC s32 FUN_02009710(struct UnkStruct_02008DEC_2 *param0, s32 param1)
s32 r6;
if (param0->unk0C == 1)
{
- r6 = ((struct UnkStruct_02008DEC_4 *)param0->unk00)[param1].unk04;
+ r6 = param0->unk00_4[param1].unk04;
}
// oops, UB here
@@ -627,7 +627,7 @@ THUMB_FUNC BOOL FUN_0200973C(struct UnkStruct_02008DEC_2 *param0, s32 param1)
BOOL r6;
if (param0->unk0C == 1)
{
- r6 = ((struct UnkStruct_02008DEC_4 *)param0->unk00)[param1].unk08;
+ r6 = param0->unk00_4[param1].unk08;
}
// oops, UB here
@@ -641,10 +641,10 @@ THUMB_FUNC u32 FUN_02009768(struct UnkStruct_02008DEC_2 *param0, s32 param1)
if (param0->unk0C == 0)
{
- return ((struct UnkStruct_02008DEC_3 *)param0->unk00)[param1].unk44;
+ return param0->unk00_3[param1].unk44;
}
- return ((struct UnkStruct_02008DEC_4 *)param0->unk00)[param1].unk10;
+ return param0->unk00_4[param1].unk10;
}
THUMB_FUNC u32 FUN_0200979C(struct UnkStruct_02008DEC_2 *param0, s32 param1)
@@ -654,10 +654,10 @@ THUMB_FUNC u32 FUN_0200979C(struct UnkStruct_02008DEC_2 *param0, s32 param1)
if (param0->unk0C == 0)
{
- return ((struct UnkStruct_02008DEC_3 *)param0->unk00)[param1].unk48;
+ return param0->unk00_3[param1].unk48;
}
- return ((struct UnkStruct_02008DEC_4 *)param0->unk00)[param1].unk14;
+ return param0->unk00_4[param1].unk14;
}
THUMB_FUNC struct UnkStruct_02008DEC_sub *FUN_020097D0(struct UnkStruct_02008DEC_1 *param0)
diff --git a/include/unk_02008DEC.h b/include/unk_02008DEC.h
index 31bae117..6504b524 100644
--- a/include/unk_02008DEC.h
+++ b/include/unk_02008DEC.h
@@ -24,7 +24,11 @@ struct UnkStruct_02008DEC_1
struct UnkStruct_02008DEC_2
{
- void *unk00;
+ union
+ {
+ struct UnkStruct_02008DEC_3 *unk00_3;
+ struct UnkStruct_02008DEC_4 *unk00_4;
+ };
s32 unk04;
u32 unk08;
u8 unk0C;
@@ -80,8 +84,10 @@ struct AnimBank_02008DEC
struct UnkStruct_02008DEC_1 *FUN_02008DEC(u32 param0, s32 param1, u32 param2);
void FUN_02008E2C(struct UnkStruct_02008DEC_1 *param0);
-struct UnkStruct_02008DEC_sub *FUN_02008E6C(
- struct UnkStruct_02008DEC_1 *param0, struct UnkStruct_02008DEC_2 *param1, s32 param2, u32 param3);
+struct UnkStruct_02008DEC_sub *FUN_02008E6C(struct UnkStruct_02008DEC_1 *param0,
+ struct UnkStruct_02008DEC_2 *param1,
+ s32 param2,
+ u32 param3);
struct UnkStruct_02008DEC_sub *FUN_02008F34(struct UnkStruct_02008DEC_1 *param0,
NarcId param1,
s32 param2,
@@ -172,7 +178,10 @@ struct UnkStruct_02008DEC_sub *FUN_02009358(struct UnkStruct_02008DEC_1 *param0,
s32 param4,
u32 param5,
u32 param6);
-s32 FUN_020093A8(struct UnkStruct_02008DEC_1 *param0, struct UnkStruct_02008DEC_2 *param1, struct UnkStruct_02008DEC_5 *param2, u32 param3);
+s32 FUN_020093A8(struct UnkStruct_02008DEC_1 *param0,
+ struct UnkStruct_02008DEC_2 *param1,
+ struct UnkStruct_02008DEC_5 *param2,
+ u32 param3);
void FUN_020093DC(struct UnkStruct_02008DEC_1 *param0,
struct UnkStruct_02008DEC_2 *param1,
s32 param2,
@@ -208,7 +217,8 @@ BOOL FUN_0200973C(struct UnkStruct_02008DEC_2 *param0, s32 param1);
u32 FUN_02009768(struct UnkStruct_02008DEC_2 *param0, s32 param1);
u32 FUN_0200979C(struct UnkStruct_02008DEC_2 *param0, s32 param1);
struct UnkStruct_02008DEC_sub *FUN_020097D0(struct UnkStruct_02008DEC_1 *param0);
-void FUN_020097FC(struct UnkStruct_02008DEC_sub *param0, u32 param1, u32 param2, u32 param3, u32 param4);
+void FUN_020097FC(
+ struct UnkStruct_02008DEC_sub *param0, u32 param1, u32 param2, u32 param3, u32 param4);
struct CharacterData_02008DEC *FUN_0200986C(void *param0, u32 param1, u32 param2);
struct PaletteData_02008DEC *FUN_0200988C(void *param0, u32 param1, u32 param2, u32 param3);
struct CellDataBank_02008DEC *FUN_020098B0(void *param0, u32 param1);