Decompiled `func_800764E0` and fixed `func_80077494` a bit

This commit is contained in:
gijs 2023-10-18 17:05:12 +02:00
parent 9875a517ee
commit 4f499b1f0f
1 changed files with 82 additions and 36 deletions

View File

@ -8,6 +8,56 @@ typedef struct {
extern SomethingMalloc D_800E8300[]; extern SomethingMalloc D_800E8300[];
extern s32* D_800C4804;
extern s32 D_800C480A;
extern s32 D_800C49D2;
extern s32* D_800C4AD4;
extern s32* D_800C4B24;
extern s32 D_800C4B28;
extern s32* D_800C4BAC;
extern s32 D_800C4BB0;
extern s32 D_800C4BD0;
extern s32* D_800C4BDC;
extern s32* D_800C4BE0;
extern s32* D_800C4BE8;
extern s32* D_800C4C0C;
extern s32* D_800C4C4C;
extern s32 D_800E797C;
extern s32 D_800E79BC;
extern s32* D_800E7A08;
extern s32 D_800E7A24;
extern s32* D_800E7D6C;
extern s32 D_800E8100;
extern s32* D_800E8108;
extern s32* D_800E9BC0;
extern s32 __CONTROLLER_0_BUTTON;
extern s32 __MAIN_START_BUT_CHECK;
extern u8 __SOMETHING_WITH_GFX;
extern u16 D_800C4C10[6];
extern struct {
s16 field_0x0;
s8 field_0x2;
s8 field_0x3;
s8 field_0x4;
} D_800AF0A0;
extern s32 D_800AF0B0;
extern s16 D_800C49D0;
extern s32 D_800C4C20;
extern s32 D_800E79A0;
extern u8 D_800E82C8[0x3F0];
extern s16 D_800AF0A6[4];
extern void* D_800AF090[4];
extern void* D_800C47F0[4];
extern void func_8007819C();
extern void func_8009C7C0(s32 time); // this function doesnt take an s64
extern s32 func_80173B60(s32);
INCLUDE_ASM(const s32, "_ob_rabid_jar", __calls_loads_overlay_array); INCLUDE_ASM(const s32, "_ob_rabid_jar", __calls_loads_overlay_array);
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80076150); INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80076150);
@ -52,7 +102,35 @@ INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80076324);
INCLUDE_ASM(const s32, "_ob_rabid_jar", __get_overlay_index); INCLUDE_ASM(const s32, "_ob_rabid_jar", __get_overlay_index);
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_800764E0); // INCLUDE_ASM(const s32, "_ob_rabid_jar", func_800764E0);
/* 68E0 800764E0 */
void func_800764E0(void) {
u16 i;
osGetTime();
bzero(D_800E82C8, 0x3F0);
bzero(D_800C4C10, sizeof(D_800C4C10));
D_800C4C20 = 1;
D_800E79A0 = 8;
D_800C49D0 = 0;
D_800AF0B0 = 0;
D_800AF0A0.field_0x0 = 0;
D_800AF0A0.field_0x3 = 0;
D_800AF0A0.field_0x2 = 0;
D_800AF0A0.field_0x4 = 0;
for(i = 0; i < 4; i++) {
D_800AF0A6[i] = 0;
D_800AF090[i] = &D_800AF0A0;
}
func_8009C7C0(osGetTime());
D_800AF0B0 = func_80173B60(D_800AF0B0);
func_8007819C();
}
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_800765D8); INCLUDE_ASM(const s32, "_ob_rabid_jar", func_800765D8);
@ -115,42 +193,10 @@ INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007740C);
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007745C); INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007745C);
// INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80077494);
extern s32 D_800AF090;
extern s32 D_800AF0A6;
extern s32 D_800C47F0;
extern s32* D_800C4804;
extern s32 D_800C480A;
extern s32 D_800C49D2;
extern s32* D_800C4AD4;
extern s32* D_800C4B24;
extern s32 D_800C4B28;
extern s32* D_800C4BAC;
extern s32 D_800C4BB0;
extern s32 D_800C4BD0;
extern s32* D_800C4BDC;
extern s32* D_800C4BE0;
extern s32* D_800C4BE8;
extern s32* D_800C4C0C;
extern u16 D_800C4C10;
extern s32* D_800C4C4C;
extern s32 D_800E797C;
extern s32 D_800E79BC;
extern s32* D_800E7A08;
extern s32 D_800E7A24;
extern s32* D_800E7D6C;
extern s32 D_800E8100;
extern s32* D_800E8108;
extern s32* D_800E9BC0;
extern s32 __CONTROLLER_0_BUTTON;
extern s32 __MAIN_START_BUT_CHECK;
extern u8 __SOMETHING_WITH_GFX;
/* 7894 80077494 */ /* 7894 80077494 */
void func_80077494(s32 arg0) { void func_80077494(s32 arg0) {
if (arg0 == D_800C4C10) { if (arg0 == D_800C4C10[0]) {
D_800C4BE0 = &D_800C47F0; D_800C4BE0 = D_800C47F0;
D_800E8108 = &__MAIN_START_BUT_CHECK; D_800E8108 = &__MAIN_START_BUT_CHECK;
D_800C4BDC = &D_800E8100; D_800C4BDC = &D_800E8100;
D_800C4804 = &D_800C4BD0; D_800C4804 = &D_800C4BD0;
@ -164,7 +210,7 @@ void func_80077494(s32 arg0) {
D_800E7D6C = &D_800C4BB0; D_800E7D6C = &D_800C4BB0;
D_800C4C4C = &__CONTROLLER_0_BUTTON; D_800C4C4C = &__CONTROLLER_0_BUTTON;
} else { } else {
D_800C4BE0 = &D_800AF090; D_800C4BE0 = D_800AF090;
D_800E8108 = &D_800AF0A6; D_800E8108 = &D_800AF0A6;
D_800C4BDC = &D_800AF0A6; D_800C4BDC = &D_800AF0A6;
D_800C4804 = &D_800AF0A6; D_800C4804 = &D_800AF0A6;