Merge pull request #17 from Faschz/unknown_001050

Decompile func_80000968, func_80000B34, and func_80001B0C
This commit is contained in:
David Benepe
2020-07-03 21:41:37 -05:00
committed by GitHub
4 changed files with 61 additions and 186 deletions
@@ -1,115 +0,0 @@
glabel func_80000968
/* 001568 80000968 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 00156C 8000096C 24010001 */ li $at, 1
/* 001570 80000970 AFBF0014 */ sw $ra, 0x14($sp)
/* 001574 80000974 10810009 */ beq $a0, $at, .L8000099C
/* 001578 80000978 AFA40018 */ sw $a0, 0x18($sp)
/* 00157C 8000097C 24010002 */ li $at, 2
/* 001580 80000980 10810024 */ beq $a0, $at, .L80000A14
/* 001584 80000984 00002825 */ move $a1, $zero
/* 001588 80000988 24010003 */ li $at, 3
/* 00158C 8000098C 1081002E */ beq $a0, $at, .L80000A48
/* 001590 80000990 00002825 */ move $a1, $zero
/* 001594 80000994 10000039 */ b .L80000A7C
/* 001598 80000998 00002025 */ move $a0, $zero
.L8000099C:
/* 00159C 8000099C 00002025 */ move $a0, $zero
/* 0015A0 800009A0 0C001298 */ jal func_80004A60
/* 0015A4 800009A4 00002825 */ move $a1, $zero
/* 0015A8 800009A8 24040001 */ li $a0, 1
/* 0015AC 800009AC 0C001298 */ jal func_80004A60
/* 0015B0 800009B0 24057FFF */ li $a1, 32767
/* 0015B4 800009B4 24040002 */ li $a0, 2
/* 0015B8 800009B8 0C001298 */ jal func_80004A60
/* 0015BC 800009BC 00002825 */ move $a1, $zero
/* 0015C0 800009C0 24040004 */ li $a0, 4
/* 0015C4 800009C4 0C001298 */ jal func_80004A60
/* 0015C8 800009C8 00002825 */ move $a1, $zero
/* 0015CC 800009CC 3C0F800E */ lui $t7, %hi(D_800DC638) # $t7, 0x800e
/* 0015D0 800009D0 3C18800E */ lui $t8, %hi(D_800DC654) # $t8, 0x800e
/* 0015D4 800009D4 8F18C654 */ lw $t8, %lo(D_800DC654)($t8)
/* 0015D8 800009D8 91EFC638 */ lbu $t7, %lo(D_800DC638)($t7)
/* 0015DC 800009DC 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e
/* 0015E0 800009E0 01F80019 */ multu $t7, $t8
/* 0015E4 800009E4 8C84C630 */ lw $a0, %lo(D_800DC630)($a0)
/* 0015E8 800009E8 00002812 */ mflo $a1
/* 0015EC 800009EC 0005C883 */ sra $t9, $a1, 2
/* 0015F0 800009F0 00194400 */ sll $t0, $t9, 0x10
/* 0015F4 800009F4 0C031E14 */ jal func_800C7850
/* 0015F8 800009F8 00082C03 */ sra $a1, $t0, 0x10
/* 0015FC 800009FC 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e
/* 001600 80000A00 8C84C634 */ lw $a0, %lo(D_800DC634)($a0)
/* 001604 80000A04 0C031E14 */ jal func_800C7850
/* 001608 80000A08 00002825 */ move $a1, $zero
/* 00160C 80000A0C 1000003D */ b .L80000B04
/* 001610 80000A10 8FB90018 */ lw $t9, 0x18($sp)
.L80000A14:
/* 001614 80000A14 0C001298 */ jal func_80004A60
/* 001618 80000A18 00002025 */ move $a0, $zero
/* 00161C 80000A1C 24040001 */ li $a0, 1
/* 001620 80000A20 0C001298 */ jal func_80004A60
/* 001624 80000A24 24057FFF */ li $a1, 32767
/* 001628 80000A28 24040002 */ li $a0, 2
/* 00162C 80000A2C 0C001298 */ jal func_80004A60
/* 001630 80000A30 24057FFF */ li $a1, 32767
/* 001634 80000A34 24040004 */ li $a0, 4
/* 001638 80000A38 0C001298 */ jal func_80004A60
/* 00163C 80000A3C 24057FFF */ li $a1, 32767
/* 001640 80000A40 10000030 */ b .L80000B04
/* 001644 80000A44 8FB90018 */ lw $t9, 0x18($sp)
.L80000A48:
/* 001648 80000A48 0C001298 */ jal func_80004A60
/* 00164C 80000A4C 00002025 */ move $a0, $zero
/* 001650 80000A50 24040001 */ li $a0, 1
/* 001654 80000A54 0C001298 */ jal func_80004A60
/* 001658 80000A58 24057FFF */ li $a1, 32767
/* 00165C 80000A5C 24040002 */ li $a0, 2
/* 001660 80000A60 0C001298 */ jal func_80004A60
/* 001664 80000A64 00002825 */ move $a1, $zero
/* 001668 80000A68 24040004 */ li $a0, 4
/* 00166C 80000A6C 0C001298 */ jal func_80004A60
/* 001670 80000A70 00002825 */ move $a1, $zero
/* 001674 80000A74 10000023 */ b .L80000B04
/* 001678 80000A78 8FB90018 */ lw $t9, 0x18($sp)
.L80000A7C:
/* 00167C 80000A7C 0C001298 */ jal func_80004A60
/* 001680 80000A80 24057FFF */ li $a1, 32767
/* 001684 80000A84 24040001 */ li $a0, 1
/* 001688 80000A88 0C001298 */ jal func_80004A60
/* 00168C 80000A8C 24057FFF */ li $a1, 32767
/* 001690 80000A90 24040002 */ li $a0, 2
/* 001694 80000A94 0C001298 */ jal func_80004A60
/* 001698 80000A98 24057FFF */ li $a1, 32767
/* 00169C 80000A9C 24040004 */ li $a0, 4
/* 0016A0 80000AA0 0C001298 */ jal func_80004A60
/* 0016A4 80000AA4 24057FFF */ li $a1, 32767
/* 0016A8 80000AA8 3C0A800E */ lui $t2, %hi(D_800DC638) # $t2, 0x800e
/* 0016AC 80000AAC 3C0B800E */ lui $t3, %hi(D_800DC654) # $t3, 0x800e
/* 0016B0 80000AB0 8D6BC654 */ lw $t3, %lo(D_800DC654)($t3)
/* 0016B4 80000AB4 914AC638 */ lbu $t2, %lo(D_800DC638)($t2)
/* 0016B8 80000AB8 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e
/* 0016BC 80000ABC 014B0019 */ multu $t2, $t3
/* 0016C0 80000AC0 8C84C630 */ lw $a0, %lo(D_800DC630)($a0)
/* 0016C4 80000AC4 00002812 */ mflo $a1
/* 0016C8 80000AC8 00056400 */ sll $t4, $a1, 0x10
/* 0016CC 80000ACC 0C031E14 */ jal func_800C7850
/* 0016D0 80000AD0 000C2C03 */ sra $a1, $t4, 0x10
/* 0016D4 80000AD4 0C000C5F */ jal sfxVolumeSliderPercentage
/* 0016D8 80000AD8 00000000 */ nop
/* 0016DC 80000ADC 3C0E800E */ lui $t6, %hi(D_800DC63C) # $t6, 0x800e
/* 0016E0 80000AE0 91CEC63C */ lbu $t6, %lo(D_800DC63C)($t6)
/* 0016E4 80000AE4 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e
/* 0016E8 80000AE8 004E0019 */ multu $v0, $t6
/* 0016EC 80000AEC 8C84C634 */ lw $a0, %lo(D_800DC634)($a0)
/* 0016F0 80000AF0 00002812 */ mflo $a1
/* 0016F4 80000AF4 00057C00 */ sll $t7, $a1, 0x10
/* 0016F8 80000AF8 0C031E14 */ jal func_800C7850
/* 0016FC 80000AFC 000F2C03 */ sra $a1, $t7, 0x10
/* 001700 80000B00 8FB90018 */ lw $t9, 0x18($sp)
.L80000B04:
/* 001704 80000B04 8FBF0014 */ lw $ra, 0x14($sp)
/* 001708 80000B08 3C018011 */ lui $at, 0x8011
/* 00170C 80000B0C 27BD0018 */ addiu $sp, $sp, 0x18
/* 001710 80000B10 03E00008 */ jr $ra
/* 001714 80000B14 A0395F79 */ sb $t9, 0x5f79($at)
@@ -1,47 +0,0 @@
glabel func_80000B34
/* 001734 80000B34 3C0F800E */ lui $t7, %hi(D_800DC648) # $t7, 0x800e
/* 001738 80000B38 8DEFC648 */ lw $t7, %lo(D_800DC648)($t7)
/* 00173C 80000B3C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 001740 80000B40 AFBF0014 */ sw $ra, 0x14($sp)
/* 001744 80000B44 AFA40018 */ sw $a0, 0x18($sp)
/* 001748 80000B48 15E00021 */ bnez $t7, .L80000BD0
/* 00174C 80000B4C 308E00FF */ andi $t6, $a0, 0xff
/* 001750 80000B50 3C18800E */ lui $t8, %hi(D_800DC654) # $t8, 0x800e
/* 001754 80000B54 8F18C654 */ lw $t8, %lo(D_800DC654)($t8)
/* 001758 80000B58 3C028011 */ lui $v0, %hi(D_80115D04) # $v0, 0x8011
/* 00175C 80000B5C 1300001C */ beqz $t8, .L80000BD0
/* 001760 80000B60 24425D04 */ addiu $v0, %lo(D_80115D04) # addiu $v0, $v0, 0x5d04
/* 001764 80000B64 A04E0000 */ sb $t6, ($v0)
/* 001768 80000B68 3C08800E */ lui $t0, %hi(D_800DC640) # $t0, 0x800e
/* 00176C 80000B6C 9108C640 */ lbu $t0, %lo(D_800DC640)($t0)
/* 001770 80000B70 2419007F */ li $t9, 127
/* 001774 80000B74 3C01800E */ lui $at, %hi(D_800DC638) # $at, 0x800e
/* 001778 80000B78 11000006 */ beqz $t0, .L80000B94
/* 00177C 80000B7C A039C638 */ sb $t9, %lo(D_800DC638)($at)
/* 001780 80000B80 3C05800E */ lui $a1, %hi(D_800DC630) # $a1, 0x800e
/* 001784 80000B84 8CA5C630 */ lw $a1, %lo(D_800DC630)($a1)
/* 001788 80000B88 90440000 */ lbu $a0, ($v0)
/* 00178C 80000B8C 0C0008AF */ jal func_800022BC
/* 001790 80000B90 00000000 */ nop
.L80000B94:
/* 001794 80000B94 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e
/* 001798 80000B98 8C84C630 */ lw $a0, %lo(D_800DC630)($a0)
/* 00179C 80000B9C 0C031E24 */ jal func_800C7890
/* 0017A0 80000BA0 00000000 */ nop
/* 0017A4 80000BA4 3C018011 */ lui $at, %hi(D_80115D08) # $at, 0x8011
/* 0017A8 80000BA8 0C031E34 */ jal func_800C78D0
/* 0017AC 80000BAC AC225D08 */ sw $v0, %lo(D_80115D08)($at)
/* 0017B0 80000BB0 3C01800E */ lui $at, %hi(D_800DC64C) # $at, 0x800e
/* 0017B4 80000BB4 AC22C64C */ sw $v0, %lo(D_800DC64C)($at)
/* 0017B8 80000BB8 3C018011 */ lui $at, %hi(D_80115D40) # $at, 0x8011
/* 0017BC 80000BBC 24090001 */ li $t1, 1
/* 0017C0 80000BC0 A0295D40 */ sb $t1, %lo(D_80115D40)($at)
/* 0017C4 80000BC4 3C018011 */ lui $at, %hi(D_80115F7C) # $at, 0x8011
/* 0017C8 80000BC8 240AFFFF */ li $t2, -1
/* 0017CC 80000BCC AC2A5F7C */ sw $t2, %lo(D_80115F7C)($at)
.L80000BD0:
/* 0017D0 80000BD0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0017D4 80000BD4 27BD0018 */ addiu $sp, $sp, 0x18
/* 0017D8 80000BD8 03E00008 */ jr $ra
/* 0017DC 80000BDC 00000000 */ nop
@@ -1,21 +0,0 @@
glabel func_80001B0C
/* 00270C 80001B0C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 002710 80001B10 AFBF0014 */ sw $ra, 0x14($sp)
/* 002714 80001B14 3C01800E */ lui $at, %hi(D_800DC63C) # $at, 0x800e
/* 002718 80001B18 AFA40018 */ sw $a0, 0x18($sp)
/* 00271C 80001B1C 0C000C5F */ jal sfxVolumeSliderPercentage
/* 002720 80001B20 A024C63C */ sb $a0, %lo(D_800DC63C)($at)
/* 002724 80001B24 3C0F800E */ lui $t7, %hi(D_800DC63C) # $t7, 0x800e
/* 002728 80001B28 91EFC63C */ lbu $t7, %lo(D_800DC63C)($t7)
/* 00272C 80001B2C 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e
/* 002730 80001B30 004F0019 */ multu $v0, $t7
/* 002734 80001B34 8C84C634 */ lw $a0, %lo(D_800DC634)($a0)
/* 002738 80001B38 00002812 */ mflo $a1
/* 00273C 80001B3C 0005C400 */ sll $t8, $a1, 0x10
/* 002740 80001B40 0C031E14 */ jal func_800C7850
/* 002744 80001B44 00182C03 */ sra $a1, $t8, 0x10
/* 002748 80001B48 8FBF0014 */ lw $ra, 0x14($sp)
/* 00274C 80001B4C 27BD0018 */ addiu $sp, $sp, 0x18
/* 002750 80001B50 03E00008 */ jr $ra
/* 002754 80001B54 00000000 */ nop
+61 -3
View File
@@ -5,15 +5,23 @@
#include "macros.h"
extern u8 D_800DC638;
extern u8 D_800DC63C;
extern u8 D_800DC640;
extern s8 D_800DC670;
extern u8 D_80115D04;
extern u8 D_80115D05;
extern u8 D_80115D40;
extern u8 D_80115D41;
extern s8 D_80115F79;
extern s16 D_80115D30;
extern s32 D_800DC648;
extern s32 D_800DC64C;
extern s32 D_800DC654;
extern s32 D_800DC658;
extern s32 D_80115D08;
extern s32 D_80115D18;
extern s32 D_80115D1C;
extern s32 D_80115D20;
@@ -22,6 +30,7 @@ extern s32 D_80115D28;
extern s32 D_80115D2C;
extern s32 D_80115D38;
extern s32 D_80115D3C;
extern s32 D_80115F7C;
extern s32* D_800DC630;
extern s32* D_800DC634;
@@ -30,7 +39,40 @@ extern f32 D_800DC650;
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000450.s")
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000890.s")
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000968.s")
void func_80000968(s32 arg0) {
switch(arg0) {
case 1:
func_80004A60(0, 0);
func_80004A60(1, 0x7FFF);
func_80004A60(2, 0);
func_80004A60(4, 0);
func_800C7850(D_800DC630, (s16) (D_800DC638 * D_800DC654 >> 2));
func_800C7850(D_800DC634, 0);
break;
case 2:
func_80004A60(0, 0);
func_80004A60(1, 0x7FFF);
func_80004A60(2, 0x7FFF);
func_80004A60(4, 0x7FFF);
break;
case 3:
func_80004A60(0, 0);
func_80004A60(1, 0x7FFF);
func_80004A60(2, 0);
func_80004A60(4, 0);
break;
default:
func_80004A60(0, 0x7FFF);
func_80004A60(1, 0x7FFF);
func_80004A60(2, 0x7FFF);
func_80004A60(4, 0x7FFF);
func_800C7850(D_800DC630, (s16) (D_800DC638 * D_800DC654));
func_800C7850(D_800DC634, (s16) (sfxVolumeSliderPercentage() * D_800DC63C));
break;
}
D_80115F79 = arg0;
}
void func_80000B18(void) {
D_800DC648 = 1;
@@ -40,7 +82,19 @@ void func_80000B28(void) {
D_800DC648 = 0;
}
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000B34.s")
void func_80000B34(u8 arg0) {
if (D_800DC648 == 0 && D_800DC654 != 0) {
D_80115D04 = arg0;
D_800DC638 = 0x7F;
if (D_800DC640 != 0) {
func_800022BC(D_80115D04, D_800DC630);
}
D_80115D08 = func_800C7890(D_800DC630);
D_800DC64C = func_800C78D0();
D_80115D40 = 1;
D_80115F7C = -1;
}
}
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000BE0.s")
void func_80000C1C(void) {
@@ -138,7 +192,11 @@ s32 musicVolumeSliderPercentage(void) {
return D_800DC654;
}
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001B0C.s")
void func_80001B0C(u8 arg0) {
D_800DC63C = arg0;
func_800C7850(D_800DC634, (s16) (sfxVolumeSliderPercentage() * D_800DC63C));
}
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001B58.s")
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001BC0.s")
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001C08.s")