marioparty4/include/REL/m440Dll.h
dbalatoni13 887cb00c5b
Cleanup and get rid of many warnings when compiling with stricter warnings (#578)
* Mini improvements

* Fix some splits

* Remove last comma from enums

* Fix symbols

* Fix some headers and missing prototypes

* Replace most of f32 with float

* Replace most of Point3d with Vec

* Add missing esprite include with guard

* Add HuSetVecF to ext_math behind a guard

* More includes
2025-04-01 00:11:31 -05:00

361 lines
7.6 KiB
C

#ifndef M440DLL_H
#define M440DLL_H
#include "dolphin/types.h"
#include "game/hsfman.h"
#include "version.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 {
float 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];
float unk24;
char unk28[0x4];
s16 unk2C;
s16 unk2E;
float unk30;
} unkStruct2;
typedef struct _unkStruct3 {
char unk0[0x34];
float unk34;
char unk38[0x8];
float unk40;
} unkStruct3;
typedef struct _unkStruct4 {
Vec unk0;
char unkC[0xC];
float unk18;
float unk1C;
char unk20[0x4];
float unk24;
float unk28;
float unk2C;
float unk30;
s16 unk34;
s16 unk36;
char unk38[0x4];
s32 unk3C;
s16 unk40;
s16 unk42;
float 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;
float unk60;
float 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];
float 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];
float unk14;
char unk18[0x4];
float unk1C;
char unk20[0x10];
u32 unk30;
u32 unk34;
s32 *unk38;
} unkStruct12;
typedef struct _unkStruct13 {
char unk0[0xA];
u8 unkA;
char unkB[0x15];
float 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;
// object.c
typedef struct _unkObjStruct {
s32 unk0;
s16 unk4;
s16 unk6;
s16 unk8;
s16 unkA;
s16 unkC;
s16 unkE;
s16 unk10;
s16 unk12;
s16 unk14;
s16 unk16;
Vec unk18;
Vec unk24;
Vec unk30;
Vec unk3C;
u8 unk48;
s16 unk4A;
float unk4C;
s16 unk50;
s16 unk52;
s16 unk54;
s16 unk56;
s16 unk58;
s16 unk5A;
float unk5C;
s16 unk60;
s16 unk62;
char unk64[0x4];
float unk68;
float unk6C;
float unk70;
} unkObjStruct;
#if VERSION_NTSC
#define REFRESH_RATE_F 60.0f
#else
#define REFRESH_RATE_F 49.998f
#endif
////// BSS //////
extern omObjData *lbl_1_bss_C0[4];
////// DATA //////
// main.c
extern float lbl_1_data_0[5];
extern s16 lbl_1_data_14[6];
// object.c
extern s16 lbl_1_data_1D8;
////// FUNCTIONS //////
// main.c
void ObjectSetup(void);
void fn_1_3C4(omObjData *object);
void fn_1_434(omObjData *object);
s32 fn_1_4A4(void);
s32 fn_1_6C8(void);
void fn_1_8F0(omObjData *object);
void fn_1_AE0(omObjData *object);
u8 fn_1_E14(omObjData *object);
u8 fn_1_1138(omObjData *object);
void fn_1_16D8(void);
void fn_1_1708(void);
void fn_1_1768(void);
s16 fn_1_17CC(void);
s16 fn_1_17F4(void);
void fn_1_181C(void);
u8 fn_1_1890(void);
void fn_1_18E0(void);
u8 fn_1_1954(void);
void fn_1_19B0(void);
void fn_1_1CAC(void);
void fn_1_2240(ModelData *data, unkStruct5 *, Mtx);
u16 fn_1_23E4(u16);
void fn_1_2428(u16, u16);
void fn_1_2470(omObjData *object);
void fn_1_2A74(omObjData *object);
void fn_1_2AB4(omObjData *object);
void fn_1_2B04(omObjData *object);
void fn_1_2CA8(omObjData *object);
void fn_1_2D28(omObjData *object);
void fn_1_33D4(omObjData *object);
void fn_1_3DD8(omObjData *object);
void fn_1_4558(omObjData *object);
void fn_1_45BC(omObjData *object);
void fn_1_4660(omObjData *object);
void fn_1_46E0(omObjData *object);
void fn_1_4A20(omObjData *object);
void fn_1_4B44(omObjData *object);
void fn_1_4E00(s16, float);
s16 fn_1_4E2C(void);
s16 fn_1_4E54(s16);
u16 fn_1_4EA8(u16);
void fn_1_4EEC(u16, u16);
void fn_1_4F34(unkStruct6 *);
void fn_1_5010(unkStruct6 *, Vec *, float);
void fn_1_57B4(unkStruct6 *);
void fn_1_5C2C(s16, HsfObject *, unkStruct6 *, u16);
void fn_1_6554(unkStruct6 *, HsfObject *);
void fn_1_6B58(unkStruct6 *, HsfObject *);
void fn_1_71FC(unkStruct6 *, Vec *, s16, Vec);
void fn_1_7934(unkStruct6 *, unkStruct8 *, Vec *);
void fn_1_7D60(unkStruct15 *, unkStruct13 *, s16);
void fn_1_806C(ModelData *, Mtx);
void fn_1_8470(unkStruct12 *, unkStruct13 *);
void fn_1_8AC4(Mtx);
void fn_1_8D1C(void);
void fn_1_91A4(Vec *, Vec *, Vec *, float[5]);
float fn_1_927C(float, float, float);
void fn_1_9344(Mtx, Mtx);
float fn_1_93C0(float, float, float);
float fn_1_93D0(float, float, float, float);
unkStruct4 *fn_1_942C(s16, Vec *, Vec *, float, GXColor *);
s16 fn_1_956C(AnimData *, s16, float, s16, s16);
void fn_1_9AB0(s16);
unkStruct5 *fn_1_9B10(s16);
unkStruct4 *fn_1_9B3C(s16, s16);
void fn_1_9B94(s16, m440Func5);
void fn_1_9BCC(s16, u8);
void fn_1_9C04(ModelData *, Mtx);
void fn_1_A1B8(HsfVector2f *, s16, s16, float, float);
void fn_1_A284(HsfVector2f *, HsfVector2f *, s16, float, float);
void fn_1_A328(Vec *, Vec *, Vec *, s16);
void fn_1_A390(ModelData *, Mtx);
void fn_1_AA94(void);
// object.c
void fn_1_AE08(Process *);
void fn_1_AEE4(omObjData *);
void fn_1_B17C(omObjData *);
void fn_1_B180(omObjData *);
void fn_1_B3A4(omObjData *);
void fn_1_B884(omObjData *, unkObjStruct *);
void fn_1_C1D4(omObjData *, unkObjStruct *);
void fn_1_C944(omObjData *, unkObjStruct *);
s16 fn_1_CFAC(unkObjStruct *, u8);
void fn_1_D24C(unkObjStruct *, float, float);
void fn_1_D34C(omObjData *, unkObjStruct *);
void fn_1_D7F8(omObjData *, unkObjStruct *);
void fn_1_E034(omObjData *, unkObjStruct *);
u8 fn_1_E8AC(omObjData *, unkObjStruct *);
s32 fn_1_ED88(omObjData *, s16, u32);
void fn_1_EE78(void);
void fn_1_EF50(void);
s16 fn_1_F0FC(void);
void fn_1_F168(void);
void fn_1_F228(void);
u16 fn_1_F4C0(unkObjStruct *, u16);
void fn_1_F4D4(unkObjStruct *, u16, u16);
s32 fn_1_F4FC(s32);
#endif