diff --git a/asm/non_matchings/unknown_078050/func_80077B34.s b/asm/non_matchings/unknown_078050/func_80077B34.s deleted file mode 100644 index 133d2aac..00000000 --- a/asm/non_matchings/unknown_078050/func_80077B34.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel func_80077B34 -/* 078734 80077B34 3C01800E */ lui $at, %hi(D_800DE4B0) # $at, 0x800e -/* 078738 80077B38 A024E4B0 */ sb $a0, %lo(D_800DE4B0)($at) -/* 07873C 80077B3C 3C01800E */ lui $at, %hi(D_800DE4B4) # $at, 0x800e -/* 078740 80077B40 A025E4B4 */ sb $a1, %lo(D_800DE4B4)($at) -/* 078744 80077B44 3C01800E */ lui $at, 0x800e -/* 078748 80077B48 AFA40000 */ sw $a0, ($sp) -/* 07874C 80077B4C AFA50004 */ sw $a1, 4($sp) -/* 078750 80077B50 AFA60008 */ sw $a2, 8($sp) -/* 078754 80077B54 03E00008 */ jr $ra -/* 078758 80077B58 A026E4B8 */ sb $a2, -0x1b48($at) - diff --git a/src/unknown_078050.c b/src/unknown_078050.c index e899cf5b..9f97ae9f 100644 --- a/src/unknown_078050.c +++ b/src/unknown_078050.c @@ -5,6 +5,9 @@ #include "macros.h" #include "libultra_internal.h" +extern u8 D_800DE4B0; +extern u8 D_800DE4B4; +extern u8 D_800DE4B8; extern u32 D_800DE4C0; extern u32 D_800DE4C4; @@ -12,6 +15,8 @@ extern u32 D_800DE4C8; extern u32 D_800DE4D0; +extern u32 D_800DE4E0; + extern OSMesgQueue D_80125EA0; extern OSMesg D_80125EB8; extern OSMesgQueue D_80125EC0; @@ -23,11 +28,38 @@ extern u32 D_80126100; GLOBAL_ASM("asm/non_matchings/unknown_078050/setupOSTasks.s") GLOBAL_ASM("asm/non_matchings/unknown_078050/func_80077A54.s") -GLOBAL_ASM("asm/non_matchings/unknown_078050/func_80077B34.s") + +void func_80077B34(u8 arg0, u8 arg1, u8 arg2){ + D_800DE4B0 = arg0; + D_800DE4B4 = arg1; + D_800DE4B8 = arg2; +} + GLOBAL_ASM("asm/non_matchings/unknown_078050/func_80077B5C.s") GLOBAL_ASM("asm/non_matchings/unknown_078050/func_80077B9C.s") GLOBAL_ASM("asm/non_matchings/unknown_078050/func_80078054.s") + + + +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_078050/func_800780DC.s") +#else +typedef struct{ + u32 unk00; + u32* unk04; +} struct_800780DC_a0; + +void func_800780DC(struct_800780DC_a0** arg0){ + u32* tmp2= &D_800DE4E0; + struct_800780DC_a0* tmp = *arg0; + + + *arg0 = *arg0 + 1; + tmp->unk00 = 0x6000000; + tmp->unk04 = tmp2; +} +#endif + void func_80078100(void){ D_80126100 = func_8007957C();