couple of bootDll funcs

This commit is contained in:
Rainchus 2023-11-21 08:06:07 -06:00
parent e6481709b4
commit a790e79022
5 changed files with 157 additions and 7 deletions

View file

@ -747,7 +747,7 @@ fn_800436DC = .text:0x800436DC; // type:function size:0xF4
fn_800437D0 = .text:0x800437D0; // type:function size:0x106C
fn_8004483C = .text:0x8004483C; // type:function size:0x54
fn_80044890 = .text:0x80044890; // type:function size:0x90
fn_80044920 = .text:0x80044920; // type:function size:0xA4
HuWinKill = .text:0x80044920; // type:function size:0xA4
fn_800449C4 = .text:0x800449C4; // type:function size:0x88
fn_80044A4C = .text:0x80044A4C; // type:function size:0x10C
fn_80044B58 = .text:0x80044B58; // type:function size:0x1A4
@ -771,7 +771,7 @@ fn_80045DD4 = .text:0x80045DD4; // type:function size:0x50
fn_80045E24 = .text:0x80045E24; // type:function size:0x60
fn_80045E84 = .text:0x80045E84; // type:function size:0x2C
fn_80045EB0 = .text:0x80045EB0; // type:function size:0xC4
fn_80045F74 = .text:0x80045F74; // type:function size:0x398
HuWinMesSet = .text:0x80045F74; // type:function size:0x398
fn_8004630C = .text:0x8004630C; // type:function size:0xD8
fn_800463E4 = .text:0x800463E4; // type:function size:0x27C
fn_80046660 = .text:0x80046660; // type:function size:0x2C
@ -945,7 +945,7 @@ fn_8005786C = .text:0x8005786C; // type:function size:0xC
fn_80057878 = .text:0x80057878; // type:function size:0xC
fn_80057884 = .text:0x80057884; // type:function size:0xC
fn_80057890 = .text:0x80057890; // type:function size:0x54
fn_800578E4 = .text:0x800578E4; // type:function size:0x8
HuTHPFrameGet = .text:0x800578E4; // type:function size:0x8
fn_800578EC = .text:0x800578EC; // type:function size:0x20
fn_8005790C = .text:0x8005790C; // type:function size:0x30
fn_8005793C = .text:0x8005793C; // type:function size:0x27C
@ -4831,7 +4831,7 @@ lbl_8011F77C = .data:0x8011F77C; // type:object size:0x13 data:string
lbl_8011F78F = .data:0x8011F78F; // type:object size:0x13 data:string
lbl_8011F7A2 = .data:0x8011F7A2; // type:object size:0x12 data:string
lbl_8011F7B4 = .data:0x8011F7B4; // type:object size:0x10
lbl_8011F7C4 = .data:0x8011F7C4; // type:object size:0x468 data:4byte
DataDirStat = .data:0x8011F7C4; // type:object size:0x468 data:4byte
lbl_8011FC2C = .data:0x8011FC2C; // type:object size:0x1D data:string
lbl_8011FC49 = .data:0x8011FC49; // type:object size:0x1F data:string
lbl_8011FC68 = .data:0x8011FC68; // type:object size:0x3C

View file

@ -9,4 +9,10 @@ typedef struct UnkOvl {
s32 unk8;
} UnkOvl;
typedef struct Vec3f {
f32 x;
f32 y;
f32 z;
} Vec3f;
#endif

View file

@ -5,13 +5,17 @@
#include "common_structs.h"
void OSReport(const char * format, ...);
void *HuPrcCreate(void (*), s32, s32, s32);
void* HuPrcCreate(void (*), s32, s32, s32);
void Hu3DBGColorSet(u8, u8, u8);
void Hu3DCameraCreate(s16);
void Hu3DCameraPerspectiveSet(s16, f32, f32, f32, f32);
void Hu3DCameraViewportSet(s16, f32, f32, f32, f32, f32, f32);
void omOvlHisChg(s32, s32, s32, s32);
UnkOvl* omOvlHisGet(s32);
void * omInitObjMan(s32, s32);
void* omInitObjMan(s32, s32);
void fn_80044920(s16);
void fn_80045F74(s16, s32);
s32 fn_800578E4(void);
void fn_1_26C(void);
#endif

View file

@ -1,5 +1,5 @@
#include "REL/executor.h"
#include "common.h"
#include "REL/executor.h"
void ModuleProlog(void) {
OSReport("minigame dll setup\n");

140
src/REL/bootDll/bootDll.c Normal file
View file

@ -0,0 +1,140 @@
#include "common.h"
#include "REL/executor.h"
extern s16 lbl_1_bss_E;
extern s16 lbl_1_data_38[];
//TODO: fill these in correctly
Vec3f lbl_1_rodata_10 = {0.0f, 0.0f, 0.0f};
Vec3f lbl_1_rodata_1C = {0.0f, 0.0f, 0.0f};
extern f32 lbl_1_bss_1C;
extern Vec3f lbl_1_bss_24;
extern Vec3f lbl_1_bss_3C;
f32 lbl_1_rodata_28;
s32 lbl_1_bss_54;
void fn_1_A0(void) {
UnkOvl* temp_r3;
OSReport("******* Boot ObjectSetup *********\n");
lbl_1_bss_54 = omInitObjMan(0x32, 0x2000);
lbl_1_bss_3C.x = 0.0f;
lbl_1_bss_3C.y = 0.0f;
lbl_1_bss_3C.z = 0.0f;
lbl_1_bss_24.x = 0.0f;
lbl_1_bss_24.y = 0.0f;
lbl_1_bss_24.z = 0.0f;
lbl_1_bss_1C = 0.0f;
Hu3DCameraCreate(1);
Hu3DCameraPerspectiveSet(1, 0.0f, 0.0f, 0.0f, 0.0f);
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
HuPrcCreate(fn_1_26C, 0x64, 0x3000, 0);
Hu3DBGColorSet(0, 0, 0);
temp_r3 = omOvlHisGet(0);
omOvlHisChg(0, temp_r3->unk0, 1, temp_r3->unk8);
}
//void fn_1_26C(void)
void fn_1_9F8(void) {
s32 temp_r30;
s32 i;
temp_r30 = fn_800578E4();
for (i = 0; lbl_1_data_38[i*2] != -1; i++) {
if (temp_r30 == lbl_1_data_38[i*2]) {
fn_80045F74(lbl_1_bss_E, i + 0x360000);
}
if (temp_r30 == lbl_1_data_38[i*2+1]) {
fn_80044920(lbl_1_bss_E);
}
}
}
//fn_1_AC0
//fn_1_1178
//fn_1_152C
typedef struct temp2 {
s16 unk0;
s16 unk2;
s16 unk4;
} temp2;
void fn_80008364(s32, s32, s32);
s32 fn_8000DD24(void);
s32 fn_8000DE48(s32, s32, s32);
s16 fn_8000E0F8(s32);
void fn_8000E520(s16, s32, s32);
void fn_8000E808(s16, s32, s32);
s32 fn_8000E960(s16, s32, f32, f32);
void fn_8000F038(s16, s32, s32);
s16 fn_800204D0(void);
void fn_80021228(s16, s32);
void fn_80022420(s16, s32);
void fn_80023828(s16, s32);
extern s16 lbl_1_bss_6;
extern temp2 lbl_1_bss_8;
extern f32 lbl_1_rodata_48;
extern f32 lbl_1_rodata_4C;
extern f32 lbl_1_rodata_98;
extern f32 lbl_1_rodata_9C;
extern f32 lbl_1_rodata_A0;
void fn_1_2100(void) {
s32 temp_r3_2;
s32 temp_r3;
s16 temp_r3_3;
fn_80008364(0x74000B, 0x10000000, 2);
temp_r3_3 = fn_800204D0();
lbl_1_bss_8.unk0 = temp_r3_3;
fn_80021228(temp_r3_3, 1);
fn_80021228(temp_r3_3, 0x40000001);
fn_80008364(0x74000C, 0x10000000, 2);
temp_r3_3 = fn_800204D0();
lbl_1_bss_8.unk2 = temp_r3_3;
fn_80021228(temp_r3_3, 1);
fn_80021228(temp_r3_3, 0x40000001);
fn_80008364(0x74000D, 0x10000000, 2);
temp_r3_3 = fn_800204D0();
lbl_1_bss_8.unk4 = temp_r3_3;
fn_80021228(temp_r3_3, 1);
fn_80021228(temp_r3_3, 0x40000001);
fn_80022420(temp_r3_3, 1);
fn_80023828(temp_r3_3, 1);
lbl_1_bss_6 = fn_8000E0F8(4);
fn_80008364(0x740008, 0x10000000, 2);
temp_r3 = fn_8000DD24();
temp_r3_2 = fn_8000DE48(temp_r3, 0, 0);
fn_8000E520(lbl_1_bss_6, 0, temp_r3_2);
fn_8000E808(lbl_1_bss_6, 0, 4);
fn_8000F038(lbl_1_bss_6, 0, 0x7F);
fn_8000E960(lbl_1_bss_6, 0, lbl_1_rodata_48, lbl_1_rodata_4C);
fn_80008364(0x74000A, 0x10000000, 2);
temp_r3 = fn_8000DD24();
temp_r3_2 = fn_8000DE48(temp_r3, 1, 0);
fn_8000E520(lbl_1_bss_6, 1, temp_r3_2);
fn_8000E808(lbl_1_bss_6, 1, 4);
fn_8000E960(lbl_1_bss_6, 1, lbl_1_rodata_48, lbl_1_rodata_98);
fn_80008364(0x740002, 0x10000000, 2);
temp_r3 = fn_8000DD24();
temp_r3_2 = fn_8000DE48(temp_r3, 2, 0);
fn_8000E520(lbl_1_bss_6, 2, temp_r3_2);
fn_8000E808(lbl_1_bss_6, 2, 0xC);
fn_8000E960(lbl_1_bss_6, 2, lbl_1_rodata_48, lbl_1_rodata_9C);
fn_80008364(0x740009, 0x10000000, 2);
temp_r3 = fn_8000DD24();
temp_r3_2 = fn_8000DE48(temp_r3, 0, 0);
fn_8000E520(lbl_1_bss_6, 3, temp_r3_2);
fn_8000E808(lbl_1_bss_6, 3, 0xC);
fn_8000E960(lbl_1_bss_6, 3, lbl_1_rodata_48, lbl_1_rodata_A0);
}
//fn_1_2474
//fn_1_2944