Skip to content

Commit

Permalink
Merge pull request #423 from abnormalhare/main
Browse files Browse the repository at this point in the history
Match m415Dll
  • Loading branch information
gamemasterplc authored Sep 29, 2024
2 parents b476deb + b8c6af2 commit 5240be5
Show file tree
Hide file tree
Showing 4 changed files with 1,571 additions and 57 deletions.
180 changes: 129 additions & 51 deletions include/REL/m415Dll.h
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
#include "dolphin.h"

#include "game/hsfformat.h"
#include "game/hsfman.h"
#include "game/object.h"

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;
Expand Down Expand Up @@ -90,111 +104,175 @@ typedef struct _unkStruct4 {
f32 unk148;
} unkStruct4;

typedef struct _unkSubStruct4 {
s8 unk0;
s8 unk1;
char unk2[0x2];
HsfVector2f unk4[4];
u8 unk24;
char unk25[0x3];
f32 unk28;
f32 unk2C;
} unkSubStruct4;

// taken from m438
typedef struct _unkSubStruct {
Vec unk0;
char unkC[0xC];
Vec unkC;
Vec unk18;
char unk24[0x2C];
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;
char unk54[0x8];
s8 unk5C;
char unk5D[0xB];
unkSubStruct4* unk54;
u8 unk58;
char unk59[0x3];
Vec unk5C;
Vec unk68;
char unk74[0x20];
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;
char unk4[0x2C];
void *unk30; // TODO type
char unk34[8];
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[0x20];
char unk40[0x8];
s16 unk48;
char* unk4C;
Vec* unk50;
GXColor* unk54;
Vec* unk58;
unkSubStruct4* unk5C;
u8 unk60;
char unk61[0x1A];
s16 unk7C;
s16 unk7E;
float unk80;
float unk84;
float unk88;
float unk8C;
float unk90;
char unk94[0x28];
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];
f32 unk54;
f32 unk58;
f32 unk5C;
f32 unk60;
} unkSubStruct3; /* size = 0x64 */

typedef struct _unkStruct5 {
/* 0x00 */ char unk00[0x36];
Mtx unk0;
s16 unk30;
s16 unk32;
s16 unk34;
s16 unk36;
s16 unk38;
s16 unk3A;
char unk3C[4];
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
void ObjectSetup(void);
// 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_1524(s16, char*, f32, Mtx);
void fn_1_15D0(omObjData* object);
void fn_1_1960(omObjData* object);
void fn_1_1A60(unkStruct3*);
void fn_1_2B18(omObjData* object);
void fn_1_2C14(omObjData* object);
void fn_1_2E88(f32, Vec*, Vec*, f32);
void fn_1_2F28(f32, Vec*, Vec*, f32, Vec*, Vec*, f32);
void fn_1_31E0(f32);
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_5FB0(omObjData* object);
void fn_1_6304(omObjData* object);
void fn_1_6368(void);
void* fn_1_63A8(s32);
void fn_1_6448(void*);
void fn_1_64DC(void);
void fn_1_6584(s16, char*, u8, u8, u8);
AnimBmpData* fn_1_668C(s16);
s16 fn_1_66AC(void);
s32 fn_1_679C(void);
f32 fn_1_67F0(f32, f32, f32);
void fn_1_6958(Mtx, f32, f32, f32);
void fn_1_6A78(Mtx, Vec*);
f32 fn_1_6D84(f32, f32, f32, f32);
void fn_1_6DFC(f32*, f32*, f32*, f32*, f32);
f32 fn_1_6F18(f32, f32, f32, f32);
void fn_1_6F90(f32*, f32*, f32*, f32*, f32);
void fn_1_7268(f32*, f32*, f32*, s32);
f32 fn_1_7520(f32, f32*, f32*, f32*, s32);
void fn_1_7674(f32*, Vec*, Vec*, s32);
// ...
void fn_1_7A54(f32, Vec*, f32*, Vec*, Vec*, s32);
void fn_1_8780(s32, s32);
AnimData** fn_1_9734(s16); // *
s16 fn_1_A2D0(s32, s32);
// map.c
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(s32, s16, s16);
s16 fn_1_A94C(u32, s16, s16);
void fn_1_ACF4(s16, s16, s16, s16, s16, s16);
void fn_1_AFC8(s16, s32, s32, s32, s32);
void fn_1_B038(s16, s32, s32);
void fn_1_B0B8(s16, s32, s16);
void fn_1_B634(void);
void fn_1_AF48(s16);
u8 fn_1_AFC8(s16, u8, s32, s16, s16);
s32 fn_1_B0B8(s16, u8, s16);
void fn_1_B864(s16, f32, f32, f32);
void fn_1_B8D0(s16, s16, f32, f32, f32);
void fn_1_BB4C(s16, f32, f32, f32);
void fn_1_BC9C(s16, f32, f32, f32);
void fn_1_BD08(s16, s16, f32, f32, f32);
void fn_1_BE30(s16, s16, s32);
void fn_1_C110(s16, s16, u8, u8, u8, u8);
void fn_1_C264(s16, s32);
void fn_1_C2D0(s16, s32, s32);
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 , f32);
void fn_1_C81C(s16, s32);
void fn_1_C58C(s16, s16, u8, f32);
void fn_1_C81C(s16, u8);
2 changes: 1 addition & 1 deletion src/REL/m409Dll/cursor.c
Original file line number Diff line number Diff line change
Expand Up @@ -1109,7 +1109,7 @@ void fn_1_F1F4(s16 arg0, u8 arg1) {

if (arg0 != 0) {
temp_r29 = &lbl_1_bss_F0.unk10[arg0];
var_r31 = (unkStruct8Sub *)(&temp_r29->unk3C);
var_r31 = (unkStruct8Sub *)(&temp_r29->unk3C); //! BAD WHY
(void)temp_r29;

for (var_r28 = 0; var_r28 < temp_r29->unk2; var_r28++, var_r31++) {
Expand Down
10 changes: 5 additions & 5 deletions src/REL/m415Dll/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1333,12 +1333,12 @@ void fn_1_5B20(unkSubStruct2* arg0) {
var_r31->unk0.y = 6.0f;
var_r31->unk0.z = 65.0f * var_r31->unk68.z;
}
arg0->unk7C = 30;
arg0->unk7Cs = 30;
arg0->unk60++;
case 1:
arg0->unk7C--;
temp_f31 = (30.0f - arg0->unk7C) / 30.0f;
temp_f29 = arg0->unk7C / 30.0f;
arg0->unk7Cs--;
temp_f31 = (30.0f - arg0->unk7Cs) / 30.0f;
temp_f29 = arg0->unk7Cs / 30.0f;
var_r31 = arg0->unk3C;
for (var_r29 = 0; var_r29 < arg0->unk2; var_r29++, var_r31++) {
var_r31->unk0.x += 5.0f * temp_f29 * var_r31->unk68.x;
Expand All @@ -1352,7 +1352,7 @@ void fn_1_5B20(unkSubStruct2* arg0) {
var_r31->unk50.b = 0xFF;
var_r31->unk50.a = 96.0f * (1.0f - (temp_f31 * temp_f31));
}
if (arg0->unk7C == 0) {
if (arg0->unk7Cs == 0) {
arg0->unk60++;
}
break;
Expand Down
Loading

0 comments on commit 5240be5

Please sign in to comment.