Decompile func0f105864

This commit is contained in:
Ryan Dwyer 2020-01-01 16:06:30 +10:00
parent dfbd919444
commit 5675abcc86
11 changed files with 30 additions and 51 deletions

View File

@ -12380,7 +12380,7 @@ glabel func0f0a1d14
/* f0a1d58: 24110002 */ addiu $s1,$zero,0x2
/* f0a1d5c: 02602025 */ or $a0,$s3,$zero
.L0f0a1d60:
/* f0a1d60: 0fc2c401 */ jal func0f0b1004
/* f0a1d60: 0fc2c401 */ jal weaponGetFunctionById
/* f0a1d64: 02002825 */ or $a1,$s0,$zero
/* f0a1d68: 5040000f */ beqzl $v0,.L0f0a1da8
/* f0a1d6c: 26100001 */ addiu $s0,$s0,0x1
@ -12465,7 +12465,7 @@ glabel func0f0a1df4
/* f0a1e84: 02002025 */ or $a0,$s0,$zero
/* f0a1e88: 00409025 */ or $s2,$v0,$zero
/* f0a1e8c: 02002025 */ or $a0,$s0,$zero
/* f0a1e90: 0fc2c401 */ jal func0f0b1004
/* f0a1e90: 0fc2c401 */ jal weaponGetFunctionById
/* f0a1e94: 00002825 */ or $a1,$zero,$zero
/* f0a1e98: 00408825 */ or $s1,$v0,$zero
/* f0a1e9c: 00402025 */ or $a0,$v0,$zero
@ -12486,7 +12486,7 @@ glabel func0f0a1df4
/* f0a1ed4: 1000000e */ beqz $zero,.L0f0a1f10
/* f0a1ed8: 26b50001 */ addiu $s5,$s5,0x1
.L0f0a1edc:
/* f0a1edc: 0fc2c401 */ jal func0f0b1004
/* f0a1edc: 0fc2c401 */ jal weaponGetFunctionById
/* f0a1ee0: 24050001 */ addiu $a1,$zero,0x1
/* f0a1ee4: 00408825 */ or $s1,$v0,$zero
/* f0a1ee8: 00402025 */ or $a0,$v0,$zero
@ -22504,7 +22504,7 @@ glabel func0f0aa86c
/* f0aad28: 8fb8005c */ lw $t8,0x5c($sp)
/* f0aad2c: 8fa500f0 */ lw $a1,0xf0($sp)
/* f0aad30: 93040000 */ lbu $a0,0x0($t8)
/* f0aad34: 0fc2c401 */ jal func0f0b1004
/* f0aad34: 0fc2c401 */ jal weaponGetFunctionById
/* f0aad38: afaa0058 */ sw $t2,0x58($sp)
/* f0aad3c: 0fc44bd4 */ jal func0f112f50
/* f0aad40: afa200bc */ sw $v0,0xbc($sp)

View File

@ -954,7 +954,7 @@ struct weapon *weaponFindById(s32 itemid)
}
GLOBAL_ASM(
glabel func0f0b1004
glabel weaponGetFunctionById
/* f0b1004: 27bdffe8 */ addiu $sp,$sp,-24
/* f0b1008: afbf0014 */ sw $ra,0x14($sp)
/* f0b100c: 0fc2c3f4 */ jal weaponFindById
@ -1122,7 +1122,7 @@ glabel func0f0b11ec
/* f0b11fc: afa50024 */ sw $a1,0x24($sp)
/* f0b1200: 8fa40020 */ lw $a0,0x20($sp)
/* f0b1204: 8fa50024 */ lw $a1,0x24($sp)
/* f0b1208: 0fc2c401 */ jal func0f0b1004
/* f0b1208: 0fc2c401 */ jal weaponGetFunctionById
/* f0b120c: afa2001c */ sw $v0,0x1c($sp)
/* f0b1210: 1040000b */ beqz $v0,.L0f0b1240
/* f0b1214: 8fa3001c */ lw $v1,0x1c($sp)
@ -2140,7 +2140,7 @@ glabel func0f0b1f58
/* f0b1f60: 27bdffe8 */ addiu $sp,$sp,-24
/* f0b1f64: afbf0014 */ sw $ra,0x14($sp)
/* f0b1f68: 9045063b */ lbu $a1,0x63b($v0)
/* f0b1f6c: 0fc2c401 */ jal func0f0b1004
/* f0b1f6c: 0fc2c401 */ jal weaponGetFunctionById
/* f0b1f70: 90440638 */ lbu $a0,0x638($v0)
/* f0b1f74: 10400008 */ beqz $v0,.L0f0b1f98
/* f0b1f78: 00000000 */ sll $zero,$zero,0x0

View File

@ -3331,7 +3331,7 @@ glabel func0f0d7390
/* f0d73b4: 8e060284 */ lw $a2,0x284($s0)
/* f0d73b8: afa2005c */ sw $v0,0x5c($sp)
/* f0d73bc: 90c5063b */ lbu $a1,0x63b($a2)
/* f0d73c0: 0fc2c401 */ jal func0f0b1004
/* f0d73c0: 0fc2c401 */ jal weaponGetFunctionById
/* f0d73c4: 90c40638 */ lbu $a0,0x638($a2)
/* f0d73c8: 8e060284 */ lw $a2,0x284($s0)
/* f0d73cc: 8e0f0034 */ lw $t7,0x34($s0)

View File

@ -3570,38 +3570,17 @@ s32 menuhandlerChangeAgent(s32 operation, struct menu_item *item, s32 *value)
return 0;
}
GLOBAL_ASM(
glabel func0f105864
/* f105864: 27bdffe0 */ addiu $sp,$sp,-32
/* f105868: afa40020 */ sw $a0,0x20($sp)
/* f10586c: afbf0014 */ sw $ra,0x14($sp)
/* f105870: 3c04800a */ lui $a0,0x800a
/* f105874: 908421c0 */ lbu $a0,0x21c0($a0)
/* f105878: 0fc2c401 */ jal func0f0b1004
/* f10587c: 00002825 */ or $a1,$zero,$zero
/* f105880: 3c04800a */ lui $a0,0x800a
/* f105884: 908421c0 */ lbu $a0,0x21c0($a0)
/* f105888: 24050001 */ addiu $a1,$zero,0x1
/* f10588c: 0fc2c401 */ jal func0f0b1004
/* f105890: afa2001c */ sw $v0,0x1c($sp)
/* f105894: 8fa3001c */ lw $v1,0x1c($sp)
/* f105898: 10600007 */ beqz $v1,.L0f1058b8
/* f10589c: 00000000 */ sll $zero,$zero,0x0
/* f1058a0: 10400005 */ beqz $v0,.L0f1058b8
/* f1058a4: 00000000 */ sll $zero,$zero,0x0
/* f1058a8: 0fc5b9f1 */ jal textGet
/* f1058ac: 94640004 */ lhu $a0,0x4($v1)
/* f1058b0: 10000004 */ beqz $zero,.L0f1058c4
/* f1058b4: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1058b8:
/* f1058b8: 0fc5b9f1 */ jal textGet
/* f1058bc: 24045603 */ addiu $a0,$zero,0x5603
/* f1058c0: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1058c4:
/* f1058c4: 27bd0020 */ addiu $sp,$sp,0x20
/* f1058c8: 03e00008 */ jr $ra
/* f1058cc: 00000000 */ sll $zero,$zero,0x0
);
char *func0f105864(s32 arg0)
{
struct inventory_function *primaryfunc = weaponGetFunctionById(var800a21c0, 0);
struct inventory_function *secondaryfunc = weaponGetFunctionById(var800a21c0, 1);
if (primaryfunc && secondaryfunc) {
return textGet(primaryfunc->name);
}
return textGet(0x5603); // "\n"
}
GLOBAL_ASM(
glabel func0f1058d0
@ -3610,12 +3589,12 @@ glabel func0f1058d0
/* f1058d8: afbf0014 */ sw $ra,0x14($sp)
/* f1058dc: 3c04800a */ lui $a0,0x800a
/* f1058e0: 908421c0 */ lbu $a0,0x21c0($a0)
/* f1058e4: 0fc2c401 */ jal func0f0b1004
/* f1058e4: 0fc2c401 */ jal weaponGetFunctionById
/* f1058e8: 00002825 */ or $a1,$zero,$zero
/* f1058ec: 3c04800a */ lui $a0,0x800a
/* f1058f0: 908421c0 */ lbu $a0,0x21c0($a0)
/* f1058f4: 24050001 */ addiu $a1,$zero,0x1
/* f1058f8: 0fc2c401 */ jal func0f0b1004
/* f1058f8: 0fc2c401 */ jal weaponGetFunctionById
/* f1058fc: afa2001c */ sw $v0,0x1c($sp)
/* f105900: 10400005 */ beqz $v0,.L0f105918
/* f105904: 8fa3001c */ lw $v1,0x1c($sp)

View File

@ -18185,7 +18185,7 @@ glabel func0f194b40
/* f197118: 8e45004c */ lw $a1,0x4c($s2)
/* f19711c: 8e440020 */ lw $a0,0x20($s2)
/* f197120: 00055880 */ sll $t3,$a1,0x2
/* f197124: 0fc2c401 */ jal func0f0b1004
/* f197124: 0fc2c401 */ jal weaponGetFunctionById
/* f197128: 000b2fc2 */ srl $a1,$t3,0x1f
/* f19712c: 5040000d */ beqzl $v0,.L0f197164
/* f197130: 8e8902d4 */ lw $t1,0x2d4($s4)
@ -18381,7 +18381,7 @@ glabel func0f194b40
/* f1973f4: 8e45004c */ lw $a1,0x4c($s2)
/* f1973f8: 8e440020 */ lw $a0,0x20($s2)
/* f1973fc: 0005c880 */ sll $t9,$a1,0x2
/* f197400: 0fc2c401 */ jal func0f0b1004
/* f197400: 0fc2c401 */ jal weaponGetFunctionById
/* f197404: 00192fc2 */ srl $a1,$t9,0x1f
/* f197408: 10400030 */ beqz $v0,.L0f1974cc
/* f19740c: 00000000 */ sll $zero,$zero,0x0

View File

@ -2461,7 +2461,7 @@ glabel func0f1994b0
.L0f1996f8:
/* f1996f8: 8fa40064 */ lw $a0,0x64($sp)
.L0f1996fc:
/* f1996fc: 0fc2c401 */ jal func0f0b1004
/* f1996fc: 0fc2c401 */ jal weaponGetFunctionById
/* f199700: 8fa50068 */ lw $a1,0x68($sp)
/* f199704: 0002202b */ sltu $a0,$zero,$v0
/* f199708: 10800004 */ beqz $a0,.L0f19971c

View File

@ -824,7 +824,7 @@ glabel menuhandlerFrDifficulty
/* f1a3d00: 0fc6749a */ jal func0f19d268
/* f1a3d04: 00402025 */ or $a0,$v0,$zero
/* f1a3d08: 00402025 */ or $a0,$v0,$zero
/* f1a3d0c: 0fc2c401 */ jal func0f0b1004
/* f1a3d0c: 0fc2c401 */ jal weaponGetFunctionById
/* f1a3d10: 00002825 */ or $a1,$zero,$zero
/* f1a3d14: 10400005 */ beqz $v0,.L0f1a3d2c
/* f1a3d18: 00000000 */ sll $zero,$zero,0x0
@ -847,7 +847,7 @@ glabel menuhandlerFrDifficulty
/* f1a3d54: 0fc6749a */ jal func0f19d268
/* f1a3d58: 00402025 */ or $a0,$v0,$zero
/* f1a3d5c: 00402025 */ or $a0,$v0,$zero
/* f1a3d60: 0fc2c401 */ jal func0f0b1004
/* f1a3d60: 0fc2c401 */ jal weaponGetFunctionById
/* f1a3d64: 24050001 */ addiu $a1,$zero,0x1
/* f1a3d68: 10400005 */ beqz $v0,.L0f1a3d80
/* f1a3d6c: 00000000 */ sll $zero,$zero,0x0

View File

@ -20306,7 +20306,7 @@ u32 var800a21b0 = 0;
u32 var800a21b4 = 0;
u32 var800a21b8 = 0;
u32 var800a21bc = 0;
u32 var800a21c0 = 0;
u8 var800a21c0 = 0; // weapon ID - perhaps for inventory menu
u32 var800a21c4 = 0;
u32 var800a21c8 = 0;
u32 var800a21cc = 0;

View File

@ -18,7 +18,7 @@ u32 func0f0b0764(void);
u32 func0f0b0818(void);
s32 func0f0b09f4(s32 arg0, s32 arg1);
struct weapon *weaponFindById(s32 itemid);
u32 func0f0b1004(void);
struct inventory_function *weaponGetFunctionById(s32 weapon_id, s32 which);
u32 func0f0b103c(void);
u32 func0f0b107c(void);
u32 func0f0b10b8(void);

View File

@ -15,7 +15,7 @@ u32 func0f104664(void);
u32 func0f104720(void);
u32 func0f105664(void);
u32 func0f1056a0(void);
u32 func0f105864(void);
char *func0f105864(s32 arg0);
u32 func0f1058d0(void);
u32 func0f105948(void);
u32 func0f105d9c(void);

View File

@ -673,7 +673,7 @@ extern u32 var800a20d0;
extern u32 var800a21b0;
extern u32 var800a21b4;
extern u32 var800a21b8;
extern u32 var800a21c0;
extern u8 var800a21c0;
extern u32 g_CheatsActiveBank0;
extern u32 g_CheatsActiveBank1;
extern u32 g_CheatsEnabledBank0;