update m446 to have a header

This commit is contained in:
CreateSource 2024-05-19 10:55:12 -04:00
parent dbdad49abe
commit 7e0dbcc144
3 changed files with 164 additions and 75 deletions

76
include/REL/m446Dll.h Normal file
View file

@ -0,0 +1,76 @@
#include "dolphin/types.h"
#include "game/process.h"
#include "game/object.h"
typedef struct _unkSubStruct {
s32 unk0;
char unk4[0x20];
s32 unk24;
char unk28[0x3C];
u8 unk64;
u8 unk65;
u8 unk66;
s32 unk68;
char unk6C[0x4];
} unkSubStruct;
typedef struct _unkSubStruct2 {
s32 unk0;
s32 unk4;
char unk8[0x68];
s32 unk70;
s32 unk74;
s32 unk78;
} unkSubStruct2;
typedef struct _unkStruct {
s32 unk0;
s16 unk4;
s16 unk6;
char unk8[0x4];
s32 unkC;
s32 unk10;
s32 unk14;
s32 unk18;
s32 unk1C;
unkSubStruct *unk20;
s32 unk24;
s32 unk28;
unkSubStruct *unk2C[2];
unkSubStruct2 *unk34;
s32 unk38[23];
s32 unk94;
Process *unk98;
} unkStruct;
typedef struct _unkStruct2 {
s32 *unk0;
s32 unk4;
s32 unk8;
} unkStruct2;
typedef struct _unkStruct3 {
s32 unk0;
s32 unk4;
s32 unk8;
} unkStruct3;
typedef void (*m446Func)(unkStruct *);
// prototypes
extern void ModuleProlog(void);
extern void fn_1_13C(omObjData*);
extern unkStruct* m446FlowCreate(void);
extern void fn_1_3FC(unkStruct*);
extern void fn_1_4B4(unkStruct*);
extern void fn_1_53C(unkStruct*);
extern void fn_1_958(unkStruct*);
extern void fn_1_B78(unkStruct*);
extern void fn_1_C0C(unkStruct*);
extern void fn_1_CA0(unkStruct*);
extern s32 fn_1_17FC(unkStruct*);
extern void fn_1_183C(unkStruct*);
extern void fn_1_1874(unkStruct*);
extern void fn_1_18B0(unkStruct*);
extern void fn_1_19D4(void);

View file

@ -0,0 +1,79 @@
#include "REL/m446Dll.h"
#include "game/hsfman.h"
unkStruct2* fn_1_1C64(s32 arg0) {
unkStruct2* temp_r3;
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, 0x10000000U);
if (!temp_r3) {
return NULL;
}
temp_r3->unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 4, 0x10000000U);
if (!temp_r3->unk0) {
HuMemDirectFree(temp_r3);
return NULL;
}
temp_r3->unk4 = arg0;
temp_r3->unk8 = 0;
return temp_r3;
}
void fn_1_1CF8(unkStruct2* arg0) {
HuMemDirectFree(arg0->unk0);
HuMemDirectFree(arg0);
}
s32 fn_1_1D30(unkStruct2* arg0, s32 arg1) {
if (arg0->unk4 <= arg0->unk8) {
return 0;
} else {
arg0->unk0[arg0->unk8] = arg1;
arg0->unk8++;
return 1;
}
}
s32 fn_1_1D6C(unkStruct2* arg0, s32* arg1) {
if (arg0->unk8 <= 0) {
return 0;
} else {
arg0->unk8--;
arg1[0] = arg0->unk0[arg0->unk8];
return 1;
}
}
s32 fn_1_1DA8(unkStruct2* arg0, s32* arg1) {
if (arg0->unk8 <= 0) {
return 0;
} else {
arg1[0] = *(&arg0->unk0[arg0->unk8] - 1);
return 1;
}
}
BOOL fn_1_1DDC(unkStruct2* arg0) {
return arg0->unk8 == 0;
}
s32 fn_1_1DEC(unkStruct2* arg0) {
return arg0->unk8;
}
unkStruct3* fn_1_1DF4(s32 arg0) {
unkStruct3* temp_r3;
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, 0x10000000);
if (!temp_r3) {
return NULL;
}
temp_r3->unk4 = 0;
temp_r3->unk8 = 0;
temp_r3->unk0 = arg0;
return temp_r3;
}
void fn_1_1E5C(unkStruct3* arg0) {
HuMemDirectFree(arg0);
}

View file

@ -1,86 +1,37 @@
#include "dolphin/types.h"
#include "REL/m446Dll.h"
#include "rel_sqrt_consts.h"
#include "game/gamework_data.h"
#include "game/hsfman.h"
#include "game/audio.h"
#include "game/jmp.h"
#include "game/process.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/frand.h"
#include "game/object.h"
#include "game/minigame_seq.h"
typedef struct _unkSubStruct {
s32 unk0;
char unk4[0x20];
s32 unk24;
char unk28[0x3C];
u8 unk64;
u8 unk65;
u8 unk66;
s32 unk68;
char unk6C[0x4];
} unkSubStruct;
typedef struct _unkSubStruct2 {
char unk0;
} unkSubStruct2;
typedef struct _unkSubStruct3 {
s32 unk0;
s32 unk4;
char unk8[0x68];
s32 unk70;
s32 unk74;
s32 unk78;
} unkSubStruct3;
typedef struct _unkStruct {
s32 unk0;
s16 unk4;
s16 unk6;
char unk8[0x4];
s32 unkC;
s32 unk10;
s32 unk14;
s32 unk18;
s32 unk1C;
unkSubStruct *unk20;
s32 unk24;
s32 unk28;
unkSubStruct *unk2C[2];
unkSubStruct3 *unk34;
s32 unk38[23];
s32 unk94;
Process *unk98;
} unkStruct;
typedef void (*m446Func)(unkStruct *);
// card.c
extern s32 fn_1_2064(void);
extern void fn_1_207C(void);
extern void fn_1_20D4(void);
extern void fn_1_2EC0(unkSubStruct3*, s32);
extern void fn_1_2EC0(unkSubStruct2*, s32);
// deck.c
extern void fn_1_3180(s32);
extern void fn_1_31D8(s32, s32*, s32*, s32);
extern s32 fn_1_38E0(void);
extern s32 fn_1_3064(void);
extern void fn_1_34A0(s32, s32*, s32, s32);
extern void fn_1_3700(s32, unkSubStruct3*, s32);
extern void fn_1_3700(s32, unkSubStruct2*, s32);
// table.c
extern s32 fn_1_3924(void);
extern void fn_1_393C(void);
extern void fn_1_3994(void);
extern unkSubStruct *fn_1_39D0(void);
extern void fn_1_3B4C(unkSubStruct*);
extern s32 fn_1_3BF0(unkSubStruct*, unkSubStruct3*, s32);
extern s32 fn_1_3EB4(unkSubStruct*, unkSubStruct3*, s32);
extern s32 fn_1_3BF0(unkSubStruct*, unkSubStruct2*, s32);
extern s32 fn_1_3EB4(unkSubStruct*, unkSubStruct2*, s32);
extern void fn_1_4000(unkSubStruct*, s32);
extern s32 fn_1_4088(unkSubStruct*, u8, u8, s32, unkSubStruct3**, s32);
extern s32 fn_1_4088(unkSubStruct*, u8, u8, s32, unkSubStruct2**, s32);
extern void fn_1_46D0(unkSubStruct*);
// player.c
extern s32 fn_1_480C(void);
@ -88,9 +39,9 @@ extern void fn_1_4824(void);
extern void fn_1_487C(void);
extern unkSubStruct *fn_1_4B00(s32, unkSubStruct*);
extern void fn_1_509C(unkSubStruct*);
extern s32 fn_1_5504(unkSubStruct*, unkSubStruct3*, s32);
extern unkSubStruct *fn_1_5648(unkSubStruct*, s32, unkSubStruct3**);
extern s32 fn_1_5678(unkSubStruct*, unkSubStruct3**, s32);
extern s32 fn_1_5504(unkSubStruct*, unkSubStruct2*, s32);
extern unkSubStruct *fn_1_5648(unkSubStruct*, s32, unkSubStruct2**);
extern s32 fn_1_5678(unkSubStruct*, unkSubStruct2**, s32);
extern void fn_1_5B34(unkSubStruct*);
extern void fn_1_5C10(unkSubStruct*);
extern void fn_1_5CEC(unkSubStruct*);
@ -115,23 +66,6 @@ extern s32 fn_1_80C0(void);
extern void fn_1_83F0(s32);
extern void fn_1_84AC(s32);
// prototypes
void ModuleProlog(void);
void fn_1_13C(omObjData*);
unkStruct* m446FlowCreate(void);
void fn_1_3FC(unkStruct*);
void fn_1_4B4(unkStruct*);
void fn_1_53C(unkStruct*);
void fn_1_958(unkStruct*);
void fn_1_B78(unkStruct*);
void fn_1_C0C(unkStruct*);
void fn_1_CA0(unkStruct*);
s32 fn_1_17FC(unkStruct*);
void fn_1_183C(unkStruct*);
void fn_1_1874(unkStruct*);
void fn_1_18B0(unkStruct*);
void fn_1_19D4(void);
// bss
s32 lbl_1_bss_14;
s32 lbl_1_bss_10;