Decomp 2 functions in unknown_003260

func_8000318C and func_80004638
This commit is contained in:
Faschz
2020-07-26 15:48:26 -05:00
parent 148893510a
commit 2f4c8f53a5
3 changed files with 21 additions and 33 deletions
@@ -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
@@ -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
+21 -2
View File
@@ -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")