diff --git a/asm/non_matchings/unknown_001050/func_80001EA8.s b/asm/non_matchings/unknown_001050/func_80001EA8.s deleted file mode 100644 index dad4aee7..00000000 --- a/asm/non_matchings/unknown_001050/func_80001EA8.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel func_80001EA8 -/* 002AA8 80001EA8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 002AAC 80001EAC AFA5001C */ sw $a1, 0x1c($sp) -/* 002AB0 80001EB0 8FA50028 */ lw $a1, 0x28($sp) -/* 002AB4 80001EB4 AFA40018 */ sw $a0, 0x18($sp) -/* 002AB8 80001EB8 308EFFFF */ andi $t6, $a0, 0xffff -/* 002ABC 80001EBC 01C02025 */ move $a0, $t6 -/* 002AC0 80001EC0 AFBF0014 */ sw $ra, 0x14($sp) -/* 002AC4 80001EC4 AFA60020 */ sw $a2, 0x20($sp) -/* 002AC8 80001EC8 14A00003 */ bnez $a1, .L80001ED8 -/* 002ACC 80001ECC AFA70024 */ sw $a3, 0x24($sp) -/* 002AD0 80001ED0 3C058011 */ lui $a1, %hi(D_80115F84) # $a1, 0x8011 -/* 002AD4 80001ED4 24A55F84 */ addiu $a1, %lo(D_80115F84) # addiu $a1, $a1, 0x5f84 -.L80001ED8: -/* 002AD8 80001ED8 0C000741 */ jal func_80001D04 -/* 002ADC 80001EDC AFA50028 */ sw $a1, 0x28($sp) -/* 002AE0 80001EE0 8FA50028 */ lw $a1, 0x28($sp) -/* 002AE4 80001EE4 8FA60020 */ lw $a2, 0x20($sp) -/* 002AE8 80001EE8 8CA40000 */ lw $a0, ($a1) -/* 002AEC 80001EEC 8FA5001C */ lw $a1, 0x1c($sp) -/* 002AF0 80001EF0 10800005 */ beqz $a0, .L80001F08 -/* 002AF4 80001EF4 8FBF0014 */ lw $ra, 0x14($sp) -/* 002AF8 80001EF8 8FA70024 */ lw $a3, 0x24($sp) -/* 002AFC 80001EFC 0C0026DF */ jal func_80009B7C -/* 002B00 80001F00 00000000 */ nop -/* 002B04 80001F04 8FBF0014 */ lw $ra, 0x14($sp) -.L80001F08: -/* 002B08 80001F08 27BD0018 */ addiu $sp, $sp, 0x18 -/* 002B0C 80001F0C 03E00008 */ jr $ra -/* 002B10 80001F10 00000000 */ nop - diff --git a/asm/non_matchings/unknown_001050/func_8000232C.s b/asm/non_matchings/unknown_001050/func_8000232C.s index ba8a49af..793f9de7 100644 --- a/asm/non_matchings/unknown_001050/func_8000232C.s +++ b/asm/non_matchings/unknown_001050/func_8000232C.s @@ -68,7 +68,7 @@ glabel func_8000232C /* 003034 80002434 00000000 */ nop /* 003038 80002438 10800007 */ beqz $a0, .L80002458 /* 00303C 8000243C 00000000 */ nop -/* 003040 80002440 0C00054D */ jal func_80001534 +/* 003040 80002440 0C00054D */ jal musicSetTempo /* 003044 80002444 00000000 */ nop /* 003048 80002448 3C028011 */ lui $v0, %hi(D_80115D1C) # $v0, 0x8011 /* 00304C 8000244C 8C425D1C */ lw $v0, %lo(D_80115D1C)($v0) @@ -136,7 +136,7 @@ glabel func_8000232C /* 00312C 8000252C 00000000 */ nop /* 003130 80002530 10800005 */ beqz $a0, .L80002548 /* 003134 80002534 00000000 */ nop -/* 003138 80002538 0C0005F5 */ jal func_800017D4 +/* 003138 80002538 0C0005F5 */ jal sfxSetTempo /* 00313C 8000253C 00000000 */ nop /* 003140 80002540 92630000 */ lbu $v1, ($s3) /* 003144 80002544 00000000 */ nop diff --git a/asm/non_matchings/unknown_001050/func_80001534.s b/asm/non_matchings/unknown_001050/musicSetTempo.s similarity index 98% rename from asm/non_matchings/unknown_001050/func_80001534.s rename to asm/non_matchings/unknown_001050/musicSetTempo.s index c714f529..f1c15839 100644 --- a/asm/non_matchings/unknown_001050/func_80001534.s +++ b/asm/non_matchings/unknown_001050/musicSetTempo.s @@ -1,4 +1,4 @@ -glabel func_80001534 +glabel musicSetTempo /* 002134 80001534 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 002138 80001538 AFBF0014 */ sw $ra, 0x14($sp) /* 00213C 8000153C 1080001A */ beqz $a0, .L800015A8 diff --git a/asm/non_matchings/unknown_001050/func_800017D4.s b/asm/non_matchings/unknown_001050/sfxSetTempo.s similarity index 98% rename from asm/non_matchings/unknown_001050/func_800017D4.s rename to asm/non_matchings/unknown_001050/sfxSetTempo.s index 67f50590..1dc142b4 100644 --- a/asm/non_matchings/unknown_001050/func_800017D4.s +++ b/asm/non_matchings/unknown_001050/sfxSetTempo.s @@ -1,4 +1,4 @@ -glabel func_800017D4 +glabel sfxSetTempo /* 0023D4 800017D4 00803025 */ move $a2, $a0 /* 0023D8 800017D8 44863000 */ mtc1 $a2, $f6 /* 0023DC 800017DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 diff --git a/src/unknown_001050.c b/src/unknown_001050.c index d74f6ea3..2d6b83d8 100644 --- a/src/unknown_001050.c +++ b/src/unknown_001050.c @@ -86,6 +86,7 @@ extern unk80115D48 D_80115D48[8]; extern s8 D_80115F78; extern s8 D_80115F79; extern s32 D_80115F7C; +extern u32 D_80115F84; extern u32 D_80115F88; #if 1 @@ -356,10 +357,10 @@ void func_80001440(u8 *arg0){ s16 func_800015B8(void); void func_800014BC(f32 arg0) { - func_80001534((s32)((f32)(u32)(func_800015B8() & 0xFF) * arg0)); + musicSetTempo((s32)((f32)(u32)(func_800015B8() & 0xFF) * arg0)); } -GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001534.s") +GLOBAL_ASM("asm/non_matchings/unknown_001050/musicSetTempo.s") s16 func_800015B8(void) { return D_80115D30; @@ -380,7 +381,7 @@ void func_80001784(u8 a0){ } } -GLOBAL_ASM("asm/non_matchings/unknown_001050/func_800017D4.s") +GLOBAL_ASM("asm/non_matchings/unknown_001050/sfxSetTempo.s") void func_80002570(ALCSPlayer* arg0); @@ -486,9 +487,25 @@ u16 func_80001CB8(u16 arg0) { } return D_80115D18[arg0].unk6; } - +void func_80001D04(u16, void*); GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001D04.s") -GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001EA8.s") + + +typedef struct unknown_struct_80001EA8_s{ + u32 unk00; + u32 unk04; + u32 unk08; +}unknown_struct_80001EA8; + +void func_80001EA8(u16 arg0, unknown_struct_80001EA8 arg1, u32* arg2){ + if(arg2 == NULL){ + arg2 = &D_80115F84; + } + func_80001D04(arg0, arg2); + if(*arg2){ + func_80009B7C(*arg2, arg1.unk00, arg1.unk04, arg1.unk08); + } +} u16 func_800020E8(void);