diff --git a/asm/non_matchings/unknown_003260/func_8000318C.s b/asm/non_matchings/unknown_003260/func_8000318C.s deleted file mode 100644 index 2f2b7e53..00000000 --- a/asm/non_matchings/unknown_003260/func_8000318C.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel func_8000318C -/* 003D8C 8000318C 3C02800E */ lui $v0, %hi(D_800DC6BC) # $v0, 0x800e -/* 003D90 80003190 8C42C6BC */ lw $v0, %lo(D_800DC6BC)($v0) -/* 003D94 80003194 00000000 */ nop -/* 003D98 80003198 8C430044 */ lw $v1, 0x44($v0) -/* 003D9C 8000319C 00000000 */ nop -/* 003DA0 800031A0 0064082A */ slt $at, $v1, $a0 -/* 003DA4 800031A4 14200003 */ bnez $at, .L800031B4 -/* 003DA8 800031A8 00000000 */ nop -/* 003DAC 800031AC 03E00008 */ jr $ra -/* 003DB0 800031B0 AC440048 */ sw $a0, 0x48($v0) - -.L800031B4: -/* 003DB4 800031B4 AC430048 */ sw $v1, 0x48($v0) -/* 003DB8 800031B8 03E00008 */ jr $ra -/* 003DBC 800031BC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_003260/func_80004638.s b/asm/non_matchings/unknown_003260/func_80004638.s deleted file mode 100644 index 02e93276..00000000 --- a/asm/non_matchings/unknown_003260/func_80004638.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_80004638 -/* 005238 80004638 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00523C 8000463C AFBF0014 */ sw $ra, 0x14($sp) -/* 005240 80004640 AFA5001C */ sw $a1, 0x1c($sp) -/* 005244 80004644 00057400 */ sll $t6, $a1, 0x10 -/* 005248 80004648 00C03825 */ move $a3, $a2 -/* 00524C 8000464C 000E2C03 */ sra $a1, $t6, 0x10 -/* 005250 80004650 0C00119A */ jal func_80004668 -/* 005254 80004654 00003025 */ move $a2, $zero -/* 005258 80004658 8FBF0014 */ lw $ra, 0x14($sp) -/* 00525C 8000465C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 005260 80004660 03E00008 */ jr $ra -/* 005264 80004664 00000000 */ nop - diff --git a/src/mips1/unknown_003260.c b/src/mips1/unknown_003260.c index d97b2969..e7e80f01 100644 --- a/src/mips1/unknown_003260.c +++ b/src/mips1/unknown_003260.c @@ -4,6 +4,14 @@ #include "types.h" #include "macros.h" +/* Unknown Size */ +typedef struct unk800DC6BC { + u8 pad00[0x44]; + s32 unk44; + s32 unk48; +} unk800DC6BC; + +extern unk800DC6BC* D_800DC6BC; extern s32 D_800DC6C0; extern s32* D_80115FB0; @@ -37,7 +45,14 @@ s32 sfxVolumeSliderPercentage(void) { return D_800DC6C0; } -GLOBAL_ASM("asm/non_matchings/unknown_003260/func_8000318C.s") +void func_8000318C(s32 arg0) { + if (D_800DC6BC->unk44 >= arg0) { + D_800DC6BC->unk48 = arg0; + } else { + D_800DC6BC->unk48 = D_800DC6BC->unk44; + } +} + GLOBAL_ASM("asm/non_matchings/unknown_003260/func_800031C0.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/D_800033C8.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80003470.s") @@ -48,7 +63,11 @@ GLOBAL_ASM("asm/non_matchings/unknown_003260/func_800042CC.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004384.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004520.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004604.s") -GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004638.s") + +void func_80004638(s32 arg0, s16 arg1, s32 arg2) { + func_80004668(arg0, arg1, 0, arg2); +} + GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004668.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/func_8000488C.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/func_800048D8.s")