diff options
-rw-r--r-- | arm9/src/unk_02008DEC.c | 34 | ||||
-rw-r--r-- | include/unk_02008DEC.h | 20 |
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 = ¶m1->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 = ¶m1->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); |