#include "dolphin.h" #include "game/hsfman.h" #include "game/object.h" SHARED_SYM extern u8 texMtxTbl[]; #define FABS(x) ((x < 0.0f) ? -(x) : (x)) // types typedef struct _unkType2 { char unk[0x10]; } unkType2; typedef struct _unkType { unkType2 unk[0x10]; } unkType; typedef struct _unkType3 { Vec unk[4]; } unkType3; typedef struct _unkStruct { s16 unk0[3]; s16 unk6; s16 unk8; } unkStruct; // sizeof 0xC typedef struct _unkStruct2 { char unk[0xE]; s8 unkE; } unkStruct2; typedef struct _unkStruct3 { u8 unk0; u8 unk1; u8 unk2; u8 unk3; u8 unk4; u8 unk5; u8 unk6; u8 unk7; char unk8[0x2]; u8 unkA; u8 unkB; u8 unkC; u8 unkD; u8 unkE; u8 unkF; s16 unk10; s16 unk12; s16 unk14; s16 unk16; s16 unk18; s16 unk1A; float unk1C; float unk20; float unk24; float unk28; Vec unk2C; Vec unk38; Vec unk44; Vec unk50; u8 unk5C; u8 unk5D; union { s32 *unk60; struct { s16 unk60s; s16 unk62s; }; }; s16 unk64; s16 unk66; s16 unk68; Vec unk6C; } unkStruct3; typedef struct _unkStruct4 { u8 unk0; Vec unk4; Vec unk10; Vec unk1C; Vec unk28; Vec unk34; Vec unk40; Vec unk4C; Vec unk58; Vec unk64[3]; Vec unk88[3]; Vec unkAC[3]; Vec unkD0[3]; float unkF4[3]; float unk100[3]; float unk10C[3]; float unk118[3]; float unk124[3]; float unk130; float unk134; float unk138; float unk13C; float unk140; float unk144; float unk148; } unkStruct4; typedef struct _unkSubStruct4 { s8 unk0; s8 unk1; char unk2[0x2]; HsfVector2f unk4[4]; u8 unk24; char unk25[0x3]; float unk28; float unk2C; } unkSubStruct4; // taken from m438 typedef struct _unkSubStruct { Vec unk0; Vec unkC; Vec unk18; char unk24[0xC]; u8 unk30; u8 unk31; u8 unk32; u8 unk33; u32 unk34; s16 unk38; void *unk3C; Vec *unk40; GXColor *unk44; Vec *unk48; GXColor unk4C; GXColor unk50; unkSubStruct4 *unk54; u8 unk58; char unk59[0x3]; Vec unk5C; Vec unk68; s16 unk74[2]; s16 *unk78; s16 *unk7C; char unk80[0x14]; } unkSubStruct; /* size = 0x94 */ typedef void (*unkSubStruct2Func)(struct _unkSubStruct2 *); typedef struct _unkSubStruct2 { s16 unk0; s16 unk2; u8 unk4; u32 unk8; Vec unkC; Vec unk18; Vec unk24; void (*unk30)(struct _unkSubStruct2 *); s16 *unk34; s16 unk38; char unk3A[2]; unkSubStruct *unk3C; char unk40[0x8]; s16 unk48; char *unk4C; Vec *unk50; GXColor *unk54; Vec *unk58; unkSubStruct4 *unk5C; u8 unk60; char unk61[0x3]; Vec unk64; Vec unk70; union { s16 unk7C[0x20]; struct { s16 unk7Cs; s16 unk7Es; float unk80; float unk84; float unk88; float unk8C; float unk90; char unk94[0x28]; }; }; } unkSubStruct2; /* size = 0xBC */ typedef struct _unkSubStruct3 { AnimData *unk0; s16 unk4; s16 unk6; u32 unk8; Vec unkC; Mtx unk18; GXColor unk48; u8 unk4C; u8 unk4D; s16 unk4E; s16 unk50; char unk52[0x2]; float unk54; float unk58; float unk5C; float unk60; } unkSubStruct3; /* size = 0x64 */ typedef struct _unkStruct5 { Mtx unk0; s16 unk30; s16 unk32; s16 unk34; s16 unk36; s16 unk38; s16 unk3A; unkSubStruct3 *unk3C; unkSubStruct2 *unk40; } unkStruct5; /* size = */ typedef struct _unkStruct6 { Vec unk0; Vec unkC; Vec unk18; Vec unk24; } unkStruct6; // bss extern unkStruct5 lbl_1_bss_36C; // prototypes // main.c void fn_1_43C(omObjData *object); void fn_1_4B0(omObjData *object); void fn_1_7D8(omObjData *object); void fn_1_14C0(omObjData *object); void fn_1_15D0(omObjData *object); void fn_1_1960(omObjData *object); void fn_1_2B18(omObjData *object); void fn_1_2C14(omObjData *object); void fn_1_2E88(float, Vec *, Vec *, float); void fn_1_3208(omObjData *object); void fn_1_3640(omObjData *object); void fn_1_3764(omObjData *object); void fn_1_3B44(omObjData *object); void fn_1_4660(omObjData *object); void fn_1_5B20(unkSubStruct2 *); void fn_1_6304(omObjData *object); void fn_1_6368(void); void *fn_1_63A8(s32); void fn_1_64DC(void); AnimBmpData *fn_1_668C(s16); s16 fn_1_66AC(void); s32 fn_1_679C(void); float fn_1_67F0(float, float, float); void fn_1_6A78(Mtx, Vec *); void fn_1_7268(float *, float *, float *, s32); float fn_1_7520(float, float *, float *, float *, s32); void fn_1_7674(float *, Vec *, Vec *, s32); void fn_1_7A54(float, Vec *, float *, Vec *, Vec *, s32); // map.c void fn_1_8780(s16 arg0, s16 arg1); void fn_1_95C0(ModelData *, Mtx); AnimData **fn_1_9734(s16); void fn_1_9DC8(unkSubStruct2 *); s16 fn_1_A2D0(u8, u8); void fn_1_A800(s16); s16 fn_1_A94C(u32, s16, s16); void fn_1_ACF4(s16, s16, s16, s16, s16, s16); void fn_1_AF48(s16); u8 fn_1_AFC8(s16, u8, s32, s16, s16); u8 fn_1_B038(s16 arg0, u8 arg1, s32 arg2); s32 fn_1_B0B8(s16, u8, s16); void fn_1_B634(void); void fn_1_B864(s16, float, float, float); void fn_1_B8D0(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA); void fn_1_BB4C(s16, float, float, float); void fn_1_BC9C(s16, float, float, float); void fn_1_BD08(s16, s16, float, float, float); void fn_1_BE30(s16 arg0, s16 arg1, s32 arg2); void fn_1_C110(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5); void fn_1_C264(s16, u8); void fn_1_C2D0(s16, s16, u8); void fn_1_C410(s16, s16, u8, u8); void fn_1_C58C(s16, s16, u8, float); void fn_1_C81C(s16, u8);