Decompile func0f087d10

This commit is contained in:
Ryan Dwyer 2020-03-29 11:32:20 +10:00
parent 9235f27286
commit 0107caa9c5
9 changed files with 48 additions and 104 deletions

View File

@ -5483,7 +5483,7 @@ glabel func0f064ce8
/* f064d6c: 00000000 */ sll $zero,$zero,0x0
/* f064d70: 24100001 */ addiu $s0,$zero,0x1
.L0f064d74:
/* f064d74: 0fc6830c */ jal func0f1a0c30
/* f064d74: 0fc6830c */ jal frIsInTraining
/* f064d78: 24140003 */ addiu $s4,$zero,0x3
/* f064d7c: 10400009 */ beqz $v0,.L0f064da4
/* f064d80: 00000000 */ sll $zero,$zero,0x0

View File

@ -4604,7 +4604,7 @@ bool soloChoosePauseDialog(void)
dtPushEndscreen();
handled = true;
} else if (room == CIROOM_FIRINGRANGE) {
if (func0f1a0c30()) {
if (frIsInTraining()) {
menuPushRootDialog(&g_FrTrainingInfoMenuDialog, MENUROOT_TRAINING);
} else {
menuPushRootDialog(&g_FrWeaponListMenuDialog, MENUROOT_TRAINING);

View File

@ -2382,7 +2382,7 @@ glabel var7f1b7868
/* f169f94: 3c054000 */ lui $a1,0x4000
/* f169f98: 5040002c */ beqzl $v0,.L0f16a04c
/* f169f9c: 8e700284 */ lw $s0,0x284($s3)
/* f169fa0: 0fc6830c */ jal func0f1a0c30
/* f169fa0: 0fc6830c */ jal frIsInTraining
/* f169fa4: 00000000 */ sll $zero,$zero,0x0
/* f169fa8: 5040000f */ beqzl $v0,.L0f169fe8
/* f169fac: 8e640284 */ lw $a0,0x284($s3)

View File

@ -4935,7 +4935,7 @@ glabel func0f1a0a70
/* f1a0c2c: 27bd0060 */ addiu $sp,$sp,0x60
);
s32 func0f1a0c30(void)
s32 frIsInTraining(void)
{
if (g_FiringRangeData.unk464 > 0 &&
(g_FiringRangeData.unk465 == 2 || g_FiringRangeData.unk465 == 3)) {

View File

@ -49,7 +49,7 @@ glabel menuhandler001a3340
/* f1a3364: 10000034 */ beqz $zero,.L0f1a3438
/* f1a3368: 24020001 */ addiu $v0,$zero,0x1
.L0f1a336c:
/* f1a336c: 0fc6830c */ jal func0f1a0c30
/* f1a336c: 0fc6830c */ jal frIsInTraining
/* f1a3370: 00000000 */ sll $zero,$zero,0x0
/* f1a3374: 1440002d */ bnez $v0,.L0f1a342c
/* f1a3378: 00000000 */ sll $zero,$zero,0x0
@ -115,7 +115,7 @@ glabel menuhandler001a3340
s32 menuhandler001a3448(u32 operation, struct menu_item *item, s32 *value)
{
if (operation == MENUOP_SET) {
if (func0f1a0c30()) {
if (frIsInTraining()) {
func0f19ecdc(1);
}
}
@ -546,7 +546,7 @@ glabel var7f1b9944
/* f1a3a18: ac22ee28 */ sw $v0,%lo(g_MenuStack+0xe28)($at)
/* f1a3a1c: 0fc41652 */ jal func0f105948
/* f1a3a20: 00402025 */ or $a0,$v0,$zero
/* f1a3a24: 0fc6830c */ jal func0f1a0c30
/* f1a3a24: 0fc6830c */ jal frIsInTraining
/* f1a3a28: 00000000 */ sll $zero,$zero,0x0
/* f1a3a2c: 5440002d */ bnezl $v0,.L0f1a3ae4
/* f1a3a30: 8fbf0014 */ lw $ra,0x14($sp)
@ -589,7 +589,7 @@ glabel var7f1b9944
/* f1a3ac0: 10000007 */ beqz $zero,.L0f1a3ae0
/* f1a3ac4: e4400d64 */ swc1 $f0,0xd64($v0)
.L0f1a3ac8:
/* f1a3ac8: 0fc6830c */ jal func0f1a0c30
/* f1a3ac8: 0fc6830c */ jal frIsInTraining
/* f1a3acc: 00000000 */ sll $zero,$zero,0x0
/* f1a3ad0: 54400004 */ bnezl $v0,.L0f1a3ae4
/* f1a3ad4: 8fbf0014 */ lw $ra,0x14($sp)
@ -612,7 +612,7 @@ glabel menudialog001a3af4
/* f1a3b00: afa5001c */ sw $a1,0x1c($sp)
/* f1a3b04: 14810007 */ bne $a0,$at,.L0f1a3b24
/* f1a3b08: afa60020 */ sw $a2,0x20($sp)
/* f1a3b0c: 0fc6830c */ jal func0f1a0c30
/* f1a3b0c: 0fc6830c */ jal frIsInTraining
/* f1a3b10: 00000000 */ sll $zero,$zero,0x0
/* f1a3b14: 54400004 */ bnezl $v0,.L0f1a3b28
/* f1a3b18: 8fbf0014 */ lw $ra,0x14($sp)

View File

@ -21795,7 +21795,7 @@ glabel var7f1aa580
/* f079024: afa2006c */ sw $v0,0x6c($sp)
/* f079028: afa3006c */ sw $v1,0x6c($sp)
.L0f07902c:
/* f07902c: 0fc6830c */ jal func0f1a0c30
/* f07902c: 0fc6830c */ jal frIsInTraining
/* f079030: afa800ac */ sw $t0,0xac($sp)
/* f079034: 1040000a */ beqz $v0,.L0f079060
/* f079038: 8fa800ac */ lw $t0,0xac($sp)
@ -21967,7 +21967,7 @@ glabel var7f1aa580
/* f079294: 10410009 */ beq $v0,$at,.L0f0792bc
/* f079298: afa3006c */ sw $v1,0x6c($sp)
/* f07929c: afa3006c */ sw $v1,0x6c($sp)
/* f0792a0: 0fc6830c */ jal func0f1a0c30
/* f0792a0: 0fc6830c */ jal frIsInTraining
/* f0792a4: afa800ac */ sw $t0,0xac($sp)
/* f0792a8: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0792ac: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
@ -37956,7 +37956,7 @@ bool propobjInteract(struct prop *prop)
} else if (tag_id == 0x7f) {
handled = true;
if (func0f1a0c30()) {
if (frIsInTraining()) {
func0f0f85e0(&g_FrTrainingInfoMenuDialog, MENUROOT_TRAINING);
} else {
func0f0f85e0(&g_FrWeaponListMenuDialog, MENUROOT_TRAINING);
@ -38692,95 +38692,39 @@ u32 propPlayPickupSound(struct prop *prop, s32 weapon)
-1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1);
}
GLOBAL_ASM(
glabel func0f087d10
/* f087d10: 27bdffd8 */ addiu $sp,$sp,-40
/* f087d14: 2402001a */ addiu $v0,$zero,0x1a
/* f087d18: 10820003 */ beq $a0,$v0,.L0f087d28
/* f087d1c: afbf0024 */ sw $ra,0x24($sp)
/* f087d20: 14820003 */ bne $a0,$v0,.L0f087d30
/* f087d24: 24010022 */ addiu $at,$zero,0x22
.L0f087d28:
/* f087d28: 10000030 */ beqz $zero,.L0f087dec
/* f087d2c: 240200e9 */ addiu $v0,$zero,0xe9
.L0f087d30:
/* f087d30: 1081000d */ beq $a0,$at,.L0f087d68
/* f087d34: 24010021 */ addiu $at,$zero,0x21
/* f087d38: 1081000b */ beq $a0,$at,.L0f087d68
/* f087d3c: 24010020 */ addiu $at,$zero,0x20
/* f087d40: 10810009 */ beq $a0,$at,.L0f087d68
/* f087d44: 2401003e */ addiu $at,$zero,0x3e
/* f087d48: 10810007 */ beq $a0,$at,.L0f087d68
/* f087d4c: 2401003f */ addiu $at,$zero,0x3f
/* f087d50: 10810005 */ beq $a0,$at,.L0f087d68
/* f087d54: 2401003d */ addiu $at,$zero,0x3d
/* f087d58: 10810003 */ beq $a0,$at,.L0f087d68
/* f087d5c: 24010035 */ addiu $at,$zero,0x35
/* f087d60: 54810004 */ bnel $a0,$at,.L0f087d74
/* f087d64: 2401001e */ addiu $at,$zero,0x1e
.L0f087d68:
/* f087d68: 10000020 */ beqz $zero,.L0f087dec
/* f087d6c: 240200eb */ addiu $v0,$zero,0xeb
/* f087d70: 2401001e */ addiu $at,$zero,0x1e
.L0f087d74:
/* f087d74: 10810007 */ beq $a0,$at,.L0f087d94
/* f087d78: 24010055 */ addiu $at,$zero,0x55
/* f087d7c: 10810005 */ beq $a0,$at,.L0f087d94
/* f087d80: 24010053 */ addiu $at,$zero,0x53
/* f087d84: 10810003 */ beq $a0,$at,.L0f087d94
/* f087d88: 24010054 */ addiu $at,$zero,0x54
/* f087d8c: 54810004 */ bnel $a0,$at,.L0f087da0
/* f087d90: 2401001d */ addiu $at,$zero,0x1d
.L0f087d94:
/* f087d94: 10000015 */ beqz $zero,.L0f087dec
/* f087d98: 240200ea */ addiu $v0,$zero,0xea
/* f087d9c: 2401001d */ addiu $at,$zero,0x1d
.L0f087da0:
/* f087da0: 54810004 */ bnel $a0,$at,.L0f087db4
/* f087da4: 24010056 */ addiu $at,$zero,0x56
/* f087da8: 10000010 */ beqz $zero,.L0f087dec
/* f087dac: 240200f2 */ addiu $v0,$zero,0xf2
/* f087db0: 24010056 */ addiu $at,$zero,0x56
.L0f087db4:
/* f087db4: 54810004 */ bnel $a0,$at,.L0f087dc8
/* f087db8: 2401002e */ addiu $at,$zero,0x2e
/* f087dbc: 1000000b */ beqz $zero,.L0f087dec
/* f087dc0: 240200e8 */ addiu $v0,$zero,0xe8
/* f087dc4: 2401002e */ addiu $at,$zero,0x2e
.L0f087dc8:
/* f087dc8: 54810004 */ bnel $a0,$at,.L0f087ddc
/* f087dcc: 2881002d */ slti $at,$a0,0x2d
/* f087dd0: 10000006 */ beqz $zero,.L0f087dec
/* f087dd4: 240200e5 */ addiu $v0,$zero,0xe5
/* f087dd8: 2881002d */ slti $at,$a0,0x2d
.L0f087ddc:
/* f087ddc: 14200003 */ bnez $at,.L0f087dec
/* f087de0: 240200e8 */ addiu $v0,$zero,0xe8
/* f087de4: 10000001 */ beqz $zero,.L0f087dec
/* f087de8: 240200e5 */ addiu $v0,$zero,0xe5
.L0f087dec:
/* f087dec: 3c01bf80 */ lui $at,0xbf80
/* f087df0: 44812000 */ mtc1 $at,$f4
/* f087df4: 00022c00 */ sll $a1,$v0,0x10
/* f087df8: 00057403 */ sra $t6,$a1,0x10
/* f087dfc: 3c048009 */ lui $a0,%hi(var80095200)
/* f087e00: 240fffff */ addiu $t7,$zero,-1
/* f087e04: 2418ffff */ addiu $t8,$zero,-1
/* f087e08: 2419ffff */ addiu $t9,$zero,-1
/* f087e0c: afb9001c */ sw $t9,0x1c($sp)
/* f087e10: afb80018 */ sw $t8,0x18($sp)
/* f087e14: afaf0010 */ sw $t7,0x10($sp)
/* f087e18: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f087e1c: 01c02825 */ or $a1,$t6,$zero
/* f087e20: 00003025 */ or $a2,$zero,$zero
/* f087e24: 2407ffff */ addiu $a3,$zero,-1
/* f087e28: 0c004241 */ jal func00010904
/* f087e2c: e7a40014 */ swc1 $f4,0x14($sp)
/* f087e30: 8fbf0024 */ lw $ra,0x24($sp)
/* f087e34: 27bd0028 */ addiu $sp,$sp,0x28
/* f087e38: 03e00008 */ jr $ra
/* f087e3c: 00000000 */ sll $zero,$zero,0x0
);
void func0f087d10(s32 weaponnum)
{
s32 sound;
if (weaponnum == WEAPON_COMBATKNIFE || weaponnum == WEAPON_COMBATKNIFE) {
sound = 0xe9;
} else if (weaponnum == WEAPON_REMOTEMINE
|| weaponnum == WEAPON_PROXIMITYMINE
|| weaponnum == WEAPON_TIMEDMINE
|| weaponnum == WEAPON_TRACERBUG
|| weaponnum == WEAPON_TARGETAMPLIFIER
|| weaponnum == WEAPON_COMMSRIDER
|| weaponnum == WEAPON_ECMMINE) {
sound = 0xeb;
} else if (weaponnum == WEAPON_GRENADE
|| weaponnum == WEAPON_GRENADEROUND
|| weaponnum == WEAPON_ROCKET
|| weaponnum == WEAPON_HOMINGROCKET) {
sound = 0xea;
} else if (weaponnum == WEAPON_LASER) {
sound = 0xf2;
} else if (weaponnum == WEAPON_BOLT) {
sound = 0xe8;
} else if (weaponnum == WEAPON_CAMSPY) {
sound = 0xe5;
} else if (weaponnum > WEAPON_PSYCHOSISGUN) {
sound = 0xe5;
} else {
sound = 0xe8;
}
func00010904(var80095200, sound, 0, -1, -1, -1, -1, -1);
}
GLOBAL_ASM(
glabel func0f087e40

View File

@ -54,7 +54,7 @@ u32 func0f19f524(void);
void func0f19f994(void);
u32 func0f1a0924(void);
u32 func0f1a0a70(void);
s32 func0f1a0c30(void);
s32 frIsInTraining(void);
u32 func0f1a0cc0(void);
u32 func0f1a0fc8(void);
bool ciIsChrBioUnlocked(u32 bodynum);

View File

@ -238,7 +238,7 @@ u32 func0f087668(void);
u32 func0f08791c(void);
void func0f087b0c(u32 arg0);
u32 propPlayPickupSound(struct prop *prop, s32 weapon);
void func0f087d10(u32 weaponnum);
void func0f087d10(s32 weaponnum);
u32 func0f087e40(void);
u32 func0f087fb0(void);
u32 func0f088028(void);

View File

@ -33,7 +33,7 @@ u32 func00010360(void);
u32 func0001036c(void);
u32 func000104a0(void);
void func00010718(s32 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32 arg5, s32 arg6, s32 arg7, s32 arg8);
s32 func00010904(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32 arg5, s32 arg6, s32 arg7);
s32 func00010904(s32 arg0, s16 arg1, s32 arg2, s32 arg3, s32 arg4, f32 arg5, s32 arg6, s32 arg7);
u32 func00010ae4(void);
void func00010db0(s32 room_id);
void func00010de0(s32 room_id);