From 40c73e3d9a6e8015d702b8058186f4c0ed642ab6 Mon Sep 17 00:00:00 2001 From: CreateSource Date: Wed, 22 May 2024 12:36:31 -0400 Subject: [PATCH] fix up m446 header, start table.c --- include/REL/m446Dll.h | 28 ++++++++++++++++++++++++---- src/REL/m446Dll/deck.c | 5 ----- src/REL/m446Dll/table.c | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 9 deletions(-) create mode 100644 src/REL/m446Dll/table.c diff --git a/include/REL/m446Dll.h b/include/REL/m446Dll.h index 0b500985..01f291d3 100644 --- a/include/REL/m446Dll.h +++ b/include/REL/m446Dll.h @@ -96,8 +96,14 @@ typedef struct _unkStruct5 { typedef void (*m446Func1)(unkStruct *); typedef void (*m446Func4)(unkStruct4 *); -// bss +////// BSS ////// +// table.c +extern unkStruct3* lbl_1_bss_28; +// deck.c +extern u32 lbl_1_bss_20[2]; +// card.c extern unkStruct3* lbl_1_bss_18; +// main.c extern s32 lbl_1_bss_14; extern s32 lbl_1_bss_10; extern Process* lbl_1_bss_C; @@ -105,7 +111,8 @@ extern omObjData *lbl_1_bss_8; extern s32 lbl_1_bss_4; extern unkStruct* lbl_1_bss_0; -// data +////// DATA ////// +// main.c extern Vec lbl_1_data_0; extern Vec lbl_1_data_C; extern f32 lbl_1_data_18; @@ -116,9 +123,11 @@ extern Vec lbl_1_data_38[2]; extern Vec lbl_1_data_50[2]; extern f32 lbl_1_data_68[2]; extern m446Func1 lbl_1_data_A0[5]; +// card.c extern m446Func4 lbl_1_data_150[3]; -// prototypes +////// PROTOTYPES ////// +// main.c extern void ModuleProlog(void); extern void fn_1_13C(omObjData*); extern unkStruct* m446FlowCreate(void); @@ -134,6 +143,7 @@ extern void fn_1_183C(unkStruct*); extern void fn_1_1874(unkStruct*); extern void fn_1_18B0(unkStruct*); extern void fn_1_19D4(void); +// card.c extern unkStruct2* fn_1_1C64(s32); extern void fn_1_1CF8(unkStruct2*); extern s32 fn_1_1D30(unkStruct2*, unkStruct4*); @@ -168,4 +178,14 @@ extern void fn_1_2AA8(unkStruct4*); extern void fn_1_2D94(unkStruct4*); extern void fn_1_2DA8(unkStruct4*); extern void fn_1_2EC0(unkStruct4*, s32); -extern void fn_1_2F64(unkStruct4*); \ No newline at end of file +extern void fn_1_2F64(unkStruct4*); +// deck.c +extern unkStruct5* fn_1_3064(void); +extern void fn_1_3180(unkStruct2**); +extern void fn_1_31D8(unkStruct2**, unkStruct4**, s32*, s32); +extern void fn_1_34A0(unkStruct5*, unkStruct4**, s32, s32); +extern s32 m446DeckPushCard(unkStruct5*, unkStruct4*, s32); +extern s32 m446DeckPopCard(unkStruct2**, unkStruct4**); +extern void fn_1_38B0(unkStruct2**); +extern void fn_1_38E0(u32); +extern s32 fn_1_38F0(void); \ No newline at end of file diff --git a/src/REL/m446Dll/deck.c b/src/REL/m446Dll/deck.c index 75ae1bce..dd509a60 100644 --- a/src/REL/m446Dll/deck.c +++ b/src/REL/m446Dll/deck.c @@ -10,11 +10,6 @@ static const s32 lbl_1_rodata_D0[5][2] = { {1, 5}, {0, 5}, {2, 5}, {3, 5}, {4, 3} }; -unkStruct5* fn_1_3064(void); -// ... -s32 m446DeckPushCard(unkStruct5*, unkStruct4*, s32); -s32 fn_1_38F0(void); - unkStruct5* fn_1_3064(void) { unkStruct4* var_r27; s32 var_r28; diff --git a/src/REL/m446Dll/table.c b/src/REL/m446Dll/table.c new file mode 100644 index 00000000..26217a12 --- /dev/null +++ b/src/REL/m446Dll/table.c @@ -0,0 +1,40 @@ +#include "REL/m446Dll.h" + +unkStruct3* lbl_1_bss_28; + +s32 fn_1_3924(void); +void fn_1_393C(void); +// ... +void fn_1_3B4C(unkStruct4*); + +s32 fn_1_3924(void) { + lbl_1_bss_28 = NULL; + return 1; +} + +void fn_1_393C(void) { + unkStruct3* var_r31; + unkStruct4* var_r30; + + var_r31 = lbl_1_bss_28; + if (var_r31) { + do { + var_r30 = var_r31->unk0; + fn_1_3B4C(var_r30); + var_r31 = var_r31->unk8; + } while (var_r31); + } +} + +void fn_1_3994(void) { + unkStruct4* sp8; + unkStruct3* var_r31; + + var_r31 = lbl_1_bss_28; + if (var_r31) { + do { + sp8 = var_r31->unk0; + var_r31 = var_r31->unk8; + } while (var_r31); + } +} \ No newline at end of file