diff --git a/asm/non_matchings/unknown_001050/func_80001358.s b/asm/non_matchings/unknown_001050/func_80001358.s index cb1fd762..abc91200 100644 --- a/asm/non_matchings/unknown_001050/func_80001358.s +++ b/asm/non_matchings/unknown_001050/func_80001358.s @@ -63,37 +63,3 @@ glabel func_80001358 /* 002034 80001434 27BD0020 */ addiu $sp, $sp, 0x20 /* 002038 80001438 03E00008 */ jr $ra /* 00203C 8000143C 00000000 */ nop - -/* 002040 80001440 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 002044 80001444 AFB30020 */ sw $s3, 0x20($sp) -/* 002048 80001448 3C13800E */ lui $s3, %hi(gMusicPlayer) # $s3, 0x800e -/* 00204C 8000144C 2673C630 */ addiu $s3, %lo(gMusicPlayer) # addiu $s3, $s3, -0x39d0 -/* 002050 80001450 AFB10018 */ sw $s1, 0x18($sp) -/* 002054 80001454 8E710000 */ lw $s1, ($s3) -/* 002058 80001458 AFBF0024 */ sw $ra, 0x24($sp) -/* 00205C 8000145C AFB2001C */ sw $s2, 0x1c($sp) -/* 002060 80001460 AFB00014 */ sw $s0, 0x14($sp) -/* 002064 80001464 922E0034 */ lbu $t6, 0x34($s1) -/* 002068 80001468 00008025 */ move $s0, $zero -/* 00206C 8000146C 19C0000C */ blez $t6, .L800014A0 -/* 002070 80001470 00809025 */ move $s2, $a0 -/* 002074 80001474 02202025 */ move $a0, $s1 -.L80001478: -/* 002078 80001478 0C031E70 */ jal func_800C79C0 -/* 00207C 8000147C 320500FF */ andi $a1, $s0, 0xff -/* 002080 80001480 A2420000 */ sb $v0, ($s2) -/* 002084 80001484 8E710000 */ lw $s1, ($s3) -/* 002088 80001488 26100001 */ addiu $s0, $s0, 1 -/* 00208C 8000148C 922F0034 */ lbu $t7, 0x34($s1) -/* 002090 80001490 26520001 */ addiu $s2, $s2, 1 -/* 002094 80001494 020F082A */ slt $at, $s0, $t7 -/* 002098 80001498 1420FFF7 */ bnez $at, .L80001478 -/* 00209C 8000149C 02202025 */ move $a0, $s1 -.L800014A0: -/* 0020A0 800014A0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0020A4 800014A4 8FB00014 */ lw $s0, 0x14($sp) -/* 0020A8 800014A8 8FB10018 */ lw $s1, 0x18($sp) -/* 0020AC 800014AC 8FB2001C */ lw $s2, 0x1c($sp) -/* 0020B0 800014B0 8FB30020 */ lw $s3, 0x20($sp) -/* 0020B4 800014B4 03E00008 */ jr $ra -/* 0020B8 800014B8 27BD0028 */ addiu $sp, $sp, 0x28 \ No newline at end of file diff --git a/src/unknown_001050.c b/src/unknown_001050.c index 3c331fd8..293cc69e 100644 --- a/src/unknown_001050.c +++ b/src/unknown_001050.c @@ -318,7 +318,42 @@ void func_800012E8(void){ return; } +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001358.s") +#else +void func_80001358(u8 arg0, u8 arg1, u32 arg2){ + s8 updatedVol; + if(arg0 != 100){ + + updatedVol = arg2 + alCSPGetChlVol(gMusicPlayer,arg0); + if(updatedVol < 0){ + updatedVol = 127; + } + alCSPSetChlVol(gMusicPlayer,arg0, updatedVol); + } + if(arg1 != 100){ + updatedVol = alCSPGetChlVol(gMusicPlayer,arg1) - arg2; + if(updatedVol < 0){ + updatedVol = 0; + } + alCSPSetChlVol(gMusicPlayer,arg1, updatedVol); + } + return; +} +#endif + +u8 func_800C79C0(ALCSPlayer*, u8); +//GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001440.s") +void func_80001440(u8 *arg0){ + s32 s0 = 0; + if(gMusicPlayer->maxChannels > 0){ + do{ + arg0[s0] = func_800C79C0(gMusicPlayer, s0); + s0++; + }while(s0 < gMusicPlayer->maxChannels); + } + return; +} s16 func_800015B8(void);