#include "dolphin/types.h" #include "game/hsfman.h" #include "game/object.h" extern s32 rand8(void); ////// TYPES ////// typedef void (*m440Func5)(ModelData*, struct _unkStruct5*, Mtx); typedef void (*m440Func6)(struct _unkStruct6*); typedef void (*m440Func14)(struct _unkStruct14*); typedef struct _unkStruct { f32 zoom; Vec center; Vec rot; } unkStruct; typedef struct _unkStruct2 { s32 unk0; s16 unk4; s16 unk6; s16 unk8; s16 unkA; s32 unkC; char unk10[0xC]; s16 unk1C; char unk20[0x4]; f32 unk24; char unk28[0x4]; s16 unk2C; s16 unk2E; f32 unk30; } unkStruct2; typedef struct _unkStruct3 { char unk0[0x34]; f32 unk34; char unk38[0x8]; f32 unk40; } unkStruct3; typedef struct _unkStruct4 { Vec unk0; char unkC[0xC]; f32 unk18; f32 unk1C; char unk20[0x4]; f32 unk24; f32 unk28; f32 unk2C; f32 unk30; s16 unk34; s16 unk36; char unk38[0x4]; s32 unk3C; s16 unk40; s16 unk42; f32 unk44; Vec unk48; Vec unk54; s16 unk60; s8 unk62; } unkStruct4; // sizeof 0x64 typedef struct _unkStruct5 { s16 unk0; s16 unk2; u32 unk4; u8 unk8; m440Func5 unkC; AnimData* unk10; s16 unk14; unkStruct4* unk18; Vec* unk1C; HsfVector2f* unk20; GXColor* unk24; void* unk28; Vec unk2C; Vec unk38; Vec unk44; Vec unk50; HsfVector2f* unk5C; f32 unk60; f32 unk64; } unkStruct5; typedef struct _unkStruct6 { s16 unk0; u16 unk2; s16 unk4; s16 unk6; u32 unk8; Vec* unkC; Vec* unk10; Vec* unk14; Vec* unk18; HsfVector2f* unk1C; s32 unk20; struct _unkStruct8* unk24; HsfMaterial* unk28; HsfAttribute* unk2C; void* unk30; u32 unk34; m440Func6 unk38; s16 unk3C; s16 unk3E; } unkStruct6; // sizeof 0x40 typedef struct _unkStruct7 { GXColor unk0; Vec unk4; } unkStruct7; // sizeof 0x10 typedef struct _unkStruct11 { s16 unk0; s16 unk2; s16 unk4; s16 unk6; } unkStruct11; typedef struct _unkStruct8 { unkStruct11 unk0[3]; s16 unk18[3]; s16 unk1E; unkStruct11 unk20[3]; char unk38[0x30]; f32 unk68[5]; Vec unk7C; Vec unk88; Vec unk94; Vec unkA0; Vec unkAC; Vec unkB8; Vec unkC4; } unkStruct8; // sizeof 0xD0 typedef struct _unkStruct10 { s16 unk0; s16 unk2; unkStruct11 unk4[3]; u32 unk1C; unkStruct11* unk20; char unk24[0xC]; } unkStruct10; // sizeof 0x30 typedef struct _unkStruct12 { char unk0[0xA]; u8 unkA; u8 unkB[3]; u8 unkE[3]; char unk12[0x2]; f32 unk14; char unk18[0x4]; f32 unk1C; char unk20[0x10]; u32 unk30; u32 unk34; s32* unk38; } unkStruct12; typedef struct _unkStruct13 { char unk0[0xA]; u8 unkA; char unkB[0x15]; f32 unk20; char unk24[0x40]; u32 unk64; u32 unk68; char unk6C[0x14]; struct _unkStruct15* unk80; } unkStruct13; // sizeof 0x84 typedef struct _unkStruct14 { s16 unk0; s16 unk2; char unk4[0x8]; void* unkC; char unk10[0x4]; void* unk14; unkStruct4* unk18; void* unk1C; char unk20[0x4]; GXColor* unk24; unkStruct12* unk28; unkStruct13* unk2C; void* unk30; u32 unk34; m440Func14 unk38; s16 unk3C; } unkStruct14; typedef struct _unkStruct15 { char unk0[0x8]; u8 unk8; u8 unk9; s16 unkA; s16 unkC; s16 unkE; char unk10[0x4]; void* unk14; char unk18[0x4]; void* unk1C; } unkStruct15; ////// BSS ////// // object.c extern omObjData* lbl_1_bss_C0[4]; // main.c extern omObjData* lbl_1_bss_6C; extern omObjData* lbl_1_bss_68; extern unkStruct6* lbl_1_bss_64; extern s16 lbl_1_bss_60; extern Mtx lbl_1_bss_30; extern s16 lbl_1_bss_2C; extern void* lbl_1_bss_28; extern u32 lbl_1_bss_24; extern s16 lbl_1_bss_10[10]; extern s16 lbl_1_bss_E; extern u8 lbl_1_bss_C; extern u8 lbl_1_bss_B; extern u8 lbl_1_bss_A; extern s16 lbl_1_bss_8; extern s16 lbl_1_bss_6; extern s16 lbl_1_bss_4; extern s8 lbl_1_bss_2; extern s8 lbl_1_bss_1; extern s8 lbl_1_bss_0; ////// DATA ////// // main.c extern f32 lbl_1_data_0[5]; extern s16 lbl_1_data_14[6]; extern Vec lbl_1_data_20; extern Vec lbl_1_data_2C; extern Vec lbl_1_data_38; extern unkStruct7 lbl_1_data_44; extern Vec lbl_1_data_54; extern Vec lbl_1_data_60; extern Vec lbl_1_data_6C; extern unkStruct lbl_1_data_78[3]; extern s16 lbl_1_data_E4[2]; extern s16 lbl_1_data_E8[2]; extern s16 lbl_1_data_EC[2]; extern s16 lbl_1_data_F0[2]; extern s32 lbl_1_data_F4[4]; extern s16 lbl_1_data_104[2]; extern s16 lbl_1_data_108[2]; // object.c extern s16 lbl_1_data_1D8; ////// FUNCTIONS ////// // main.c extern void ModuleProlog(void); extern void fn_1_3C4(omObjData* object); extern void fn_1_434(omObjData* object); extern s32 fn_1_4A4(void); extern s32 fn_1_6C8(void); extern void fn_1_8F0(omObjData* object); extern void fn_1_AE0(omObjData* object); extern u8 fn_1_E14(omObjData* object); extern u8 fn_1_1138(omObjData* object); extern void fn_1_16D8(void); extern void fn_1_1708(void); extern void fn_1_1768(void); extern s16 fn_1_17CC(void); extern s16 fn_1_17F4(void); extern void fn_1_181C(void); extern u8 fn_1_1890(void); extern void fn_1_18E0(void); extern s32 fn_1_1954(void); extern void fn_1_19B0(void); extern void fn_1_1CAC(void); extern void fn_1_2240(ModelData* data, unkStruct5*, Mtx); extern u16 fn_1_23E4(u16); extern void fn_1_2428(u16, u16); extern void fn_1_2470(omObjData* object); extern void fn_1_2A74(omObjData* object); extern void fn_1_2AB4(omObjData* object); extern void fn_1_2B04(omObjData* object); extern void fn_1_2CA8(omObjData* object); extern void fn_1_2D28(omObjData* object); extern void fn_1_33D4(omObjData* object); extern void fn_1_3DD8(omObjData* object); extern void fn_1_4558(omObjData* object); extern void fn_1_45BC(omObjData* object); extern void fn_1_4660(omObjData* object); extern void fn_1_46E0(omObjData* object); extern void fn_1_4A20(omObjData* object); extern void fn_1_4B44(omObjData* object); extern void fn_1_4E00(s16, f32); extern s16 fn_1_4E2C(void); extern s16 fn_1_4E54(s16); extern u16 fn_1_4EA8(u16); extern void fn_1_4EEC(u16, u16); extern void fn_1_4F34(unkStruct6*); extern void fn_1_5010(unkStruct6*, Vec*, f32); extern void fn_1_57B4(unkStruct6*); extern void fn_1_5C2C(s16, HsfObject*, unkStruct6*, u16); extern void fn_1_6554(unkStruct6*, HsfObject*); extern void fn_1_6B58(unkStruct6*, HsfObject*); extern void fn_1_71FC(unkStruct6*, Vec*, s16, Vec); extern void fn_1_7934(unkStruct6*, unkStruct8*, Vec*); extern void fn_1_7D60(unkStruct15*, unkStruct13*, s16); extern void fn_1_806C(ModelData*, Mtx); extern void fn_1_8470(unkStruct12*, unkStruct13*); extern void fn_1_8AC4(Mtx); extern void fn_1_8D1C(void); extern void fn_1_91A4(Vec*, Vec*, Vec*, f32[5]); extern f32 fn_1_927C(f32, f32, f32); extern void fn_1_9344(Mtx, Mtx); extern f32 fn_1_93C0(f32, f32, f32); extern f32 fn_1_93D0(f32, f32, f32, f32); extern unkStruct4* fn_1_942C(s16, Vec*, Vec*, f32, GXColor*); extern s16 fn_1_956C(AnimData*, s16, f32, s16, s16); extern void fn_1_9AB0(s16); extern unkStruct5* fn_1_9B10(s16); extern unkStruct4* fn_1_9B3C(s16, s16); extern void fn_1_9B94(s16, m440Func5); extern void fn_1_9BCC(s16, u8); extern void fn_1_9C04(ModelData*, Mtx); extern void fn_1_A1B8(HsfVector2f*, s16, s16, f32, f32); extern void fn_1_A284(HsfVector2f*, HsfVector2f*, s16, f32, f32); extern void fn_1_A328(Vec*, Vec*, Vec*, s16); void fn_1_A390(ModelData*, Mtx); extern void fn_1_AA94(void); // object.c extern void fn_1_AE08(Process*); extern void fn_1_EE78(void); extern void fn_1_EF50(void); extern s16 fn_1_F0FC(void); extern void fn_1_F168(void); extern void fn_1_F228(void); extern s32 fn_1_F4FC(s32);