Decompile frGetWeaponBySlot
This commit is contained in:
parent
97a9b3cb15
commit
fc388c4db9
|
|
@ -5254,7 +5254,7 @@ glabel func0f09bd58
|
|||
/* f09bd78: afa3001c */ sw $v1,0x1c($sp)
|
||||
/* f09bd7c: 0fc67494 */ jal func0f19d250
|
||||
/* f09bd80: afa40020 */ sw $a0,0x20($sp)
|
||||
/* f09bd84: 0fc6749a */ jal func0f19d268
|
||||
/* f09bd84: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f09bd88: 00402025 */ or $a0,$v0,$zero
|
||||
/* f09bd8c: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
/* f09bd90: 8fa50020 */ lw $a1,0x20($sp)
|
||||
|
|
|
|||
|
|
@ -624,7 +624,7 @@ void activemenuApply(s32 slot)
|
|||
pass = true;
|
||||
|
||||
if (var80088804 != 0) {
|
||||
uVar6 = func0f19d268(func0f19d250());
|
||||
uVar6 = frGetWeaponBySlot(func0f19d250());
|
||||
|
||||
if (uVar6 == g_Vars.currentplayer->unk0638[0].unk0638) {
|
||||
pass = false;
|
||||
|
|
|
|||
|
|
@ -3806,7 +3806,7 @@ glabel var7f1b2e44
|
|||
/* f106080: acc20000 */ sw $v0,0x0($a2)
|
||||
/* f106084: 8cc40000 */ lw $a0,0x0($a2)
|
||||
/* f106088: 3c018007 */ lui $at,%hi(var80073544)
|
||||
/* f10608c: 0fc6749a */ jal func0f19d268
|
||||
/* f10608c: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f106090: a0243544 */ sb $a0,%lo(var80073544)($at)
|
||||
/* f106094: 0fc28857 */ jal weaponGetName
|
||||
/* f106098: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
@ -3822,7 +3822,7 @@ glabel var7f1b2e44
|
|||
/* f1060c0: 10000028 */ beqz $zero,.L0f106164
|
||||
/* f1060c4: acd80000 */ sw $t8,0x0($a2)
|
||||
/* f1060c8: 8cc40000 */ lw $a0,0x0($a2)
|
||||
/* f1060cc: 0fc6749a */ jal func0f19d268
|
||||
/* f1060cc: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1060d0: afa60020 */ sw $a2,0x20($sp)
|
||||
/* f1060d4: 3c03800a */ lui $v1,%hi(g_InventoryWeapon)
|
||||
/* f1060d8: 246321c0 */ addiu $v1,$v1,%lo(g_InventoryWeapon)
|
||||
|
|
|
|||
|
|
@ -645,43 +645,23 @@ glabel func0f19d25c
|
|||
/* f19d264: a424d176 */ sh $a0,%lo(g_FiringRangeData+0x456)($at)
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f19d268
|
||||
/* f19d268: 27bdffd8 */ addiu $sp,$sp,-40
|
||||
/* f19d26c: afb30020 */ sw $s3,0x20($sp)
|
||||
/* f19d270: afb2001c */ sw $s2,0x1c($sp)
|
||||
/* f19d274: afb10018 */ sw $s1,0x18($sp)
|
||||
/* f19d278: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f19d27c: 00809825 */ or $s3,$a0,$zero
|
||||
/* f19d280: afbf0024 */ sw $ra,0x24($sp)
|
||||
/* f19d284: 2411ffff */ addiu $s1,$zero,-1
|
||||
/* f19d288: 00008025 */ or $s0,$zero,$zero
|
||||
/* f19d28c: 24120033 */ addiu $s2,$zero,0x33
|
||||
.L0f19d290:
|
||||
/* f19d290: 0fc67314 */ jal func0f19cc50
|
||||
/* f19d294: 02002025 */ or $a0,$s0,$zero
|
||||
/* f19d298: 10400002 */ beqz $v0,.L0f19d2a4
|
||||
/* f19d29c: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f19d2a0: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f19d2a4:
|
||||
/* f19d2a4: 56710004 */ bnel $s3,$s1,.L0f19d2b8
|
||||
/* f19d2a8: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f19d2ac: 10000005 */ beqz $zero,.L0f19d2c4
|
||||
/* f19d2b0: 02001025 */ or $v0,$s0,$zero
|
||||
/* f19d2b4: 26100001 */ addiu $s0,$s0,0x1
|
||||
.L0f19d2b8:
|
||||
/* f19d2b8: 1612fff5 */ bne $s0,$s2,.L0f19d290
|
||||
/* f19d2bc: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f19d2c0: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f19d2c4:
|
||||
/* f19d2c4: 8fbf0024 */ lw $ra,0x24($sp)
|
||||
/* f19d2c8: 8fb00014 */ lw $s0,0x14($sp)
|
||||
/* f19d2cc: 8fb10018 */ lw $s1,0x18($sp)
|
||||
/* f19d2d0: 8fb2001c */ lw $s2,0x1c($sp)
|
||||
/* f19d2d4: 8fb30020 */ lw $s3,0x20($sp)
|
||||
/* f19d2d8: 03e00008 */ jr $ra
|
||||
/* f19d2dc: 27bd0028 */ addiu $sp,$sp,0x28
|
||||
);
|
||||
u32 frGetWeaponBySlot(s32 slot)
|
||||
{
|
||||
s32 index = -1;
|
||||
s32 weapon;
|
||||
|
||||
for (weapon = WEAPON_NONE; weapon <= WEAPON_HORIZONSCANNER; weapon++) {
|
||||
if (func0f19cc50(weapon)) {
|
||||
index++;
|
||||
}
|
||||
|
||||
if (slot == index) {
|
||||
return weapon;
|
||||
}
|
||||
}
|
||||
|
||||
return WEAPON_UNARMED;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f19d2e0
|
||||
|
|
@ -1391,7 +1371,7 @@ glabel var7f1b93ec
|
|||
.L0f19dbb0:
|
||||
/* f19dbb0: 1000008c */ beqz $zero,.L0f19dde4
|
||||
/* f19dbb4: 92220000 */ lbu $v0,0x0($s1)
|
||||
/* f19dbb8: 0fc6749a */ jal func0f19d268
|
||||
/* f19dbb8: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f19dbbc: 96040456 */ lhu $a0,0x456($s0)
|
||||
/* f19dbc0: 00402025 */ or $a0,$v0,$zero
|
||||
/* f19dbc4: 0fc2a685 */ jal weaponGetAmmoType
|
||||
|
|
@ -2446,7 +2426,7 @@ glabel func0f19e9c0
|
|||
|
||||
char *frGetWeaponDescription(void)
|
||||
{
|
||||
u32 weapon = func0f19d268(g_FiringRangeData.unk456);
|
||||
u32 weapon = frGetWeaponBySlot(g_FiringRangeData.slot);
|
||||
|
||||
switch (weapon) {
|
||||
case WEAPON_FALCON2: return langGet(L_MISC(377));
|
||||
|
|
@ -2790,7 +2770,7 @@ glabel func0f19f18c
|
|||
/* f19f1d0: a2190465 */ sb $t9,0x465($s0)
|
||||
.L0f19f1d4:
|
||||
/* f19f1d4: 2610cd20 */ addiu $s0,$s0,-13024
|
||||
/* f19f1d8: 0fc6749a */ jal func0f19d268
|
||||
/* f19f1d8: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f19f1dc: 96040456 */ lhu $a0,0x456($s0)
|
||||
/* f19f1e0: 0fc67330 */ jal func0f19ccc0
|
||||
/* f19f1e4: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
@ -3058,7 +3038,7 @@ glabel func0f19f524
|
|||
/* f19f524: 27bdfd40 */ addiu $sp,$sp,-704
|
||||
/* f19f528: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f19f52c: 3c04800b */ lui $a0,%hi(g_FiringRangeData+0x456)
|
||||
/* f19f530: 0fc6749a */ jal func0f19d268
|
||||
/* f19f530: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f19f534: 9484d176 */ lhu $a0,%lo(g_FiringRangeData+0x456)($a0)
|
||||
/* f19f538: afa202bc */ sw $v0,0x2bc($sp)
|
||||
/* f19f53c: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
@ -3418,13 +3398,13 @@ glabel var7f1b94e4
|
|||
/* f19f9e8: 00184f00 */ sll $t1,$t8,0x1c
|
||||
/* f19f9ec: 0520000b */ bltz $t1,.L0f19fa1c
|
||||
/* f19f9f0: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f19f9f4: 0fc6749a */ jal func0f19d268
|
||||
/* f19f9f4: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f19f9f8: 96a40456 */ lhu $a0,0x456($s5)
|
||||
/* f19f9fc: 0fc44727 */ jal currentPlayerCanHaveWeapon
|
||||
/* f19fa00: 00402025 */ or $a0,$v0,$zero
|
||||
/* f19fa04: 10400005 */ beqz $v0,.L0f19fa1c
|
||||
/* f19fa08: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f19fa0c: 0fc6749a */ jal func0f19d268
|
||||
/* f19fa0c: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f19fa10: 96a40456 */ lhu $a0,0x456($s5)
|
||||
/* f19fa14: 0fc2865b */ jal currentPlayerEquipWeaponInCutscene
|
||||
/* f19fa18: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
@ -3647,7 +3627,7 @@ glabel var7f1b94e4
|
|||
/* f19fd30: 92ad045a */ lbu $t5,0x45a($s5)
|
||||
/* f19fd34: 51a0004b */ beqzl $t5,.L0f19fe64
|
||||
/* f19fd38: 8eab044c */ lw $t3,0x44c($s5)
|
||||
/* f19fd3c: 0fc6749a */ jal func0f19d268
|
||||
/* f19fd3c: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f19fd40: 96a40456 */ lhu $a0,0x456($s5)
|
||||
/* f19fd44: 00409025 */ or $s2,$v0,$zero
|
||||
/* f19fd48: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
@ -3808,7 +3788,7 @@ glabel var7f1b94e4
|
|||
/* f19ff74: 052100d1 */ bgez $t1,.L0f1a02bc
|
||||
/* f19ff78: 00009025 */ or $s2,$zero,$zero
|
||||
/* f19ff7c: a3a00123 */ sb $zero,0x123($sp)
|
||||
/* f19ff80: 0fc6749a */ jal func0f19d268
|
||||
/* f19ff80: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f19ff84: 96a40456 */ lhu $a0,0x456($s5)
|
||||
/* f19ff88: 8e110014 */ lw $s1,0x14($s0)
|
||||
/* f19ff8c: 304300ff */ andi $v1,$v0,0xff
|
||||
|
|
@ -3901,7 +3881,7 @@ glabel var7f1b94e4
|
|||
/* f1a00cc: 004b082a */ slt $at,$v0,$t3
|
||||
/* f1a00d0: 50200007 */ beqzl $at,.L0f1a00f0
|
||||
/* f1a00d4: 96ac045c */ lhu $t4,0x45c($s5)
|
||||
/* f1a00d8: 0fc6749a */ jal func0f19d268
|
||||
/* f1a00d8: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a00dc: 96a40456 */ lhu $a0,0x456($s5)
|
||||
/* f1a00e0: 24010007 */ addiu $at,$zero,0x7
|
||||
/* f1a00e4: 5441000e */ bnel $v0,$at,.L0f1a0120
|
||||
|
|
@ -4783,7 +4763,7 @@ glabel var7f1b94e8
|
|||
/* f1a0dd0: 10000044 */ beqz $zero,.L0f1a0ee4
|
||||
/* f1a0dd4: a2290030 */ sb $t1,0x30($s1)
|
||||
.L0f1a0dd8:
|
||||
/* f1a0dd8: 0fc6749a */ jal func0f19d268
|
||||
/* f1a0dd8: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a0ddc: 96040456 */ lhu $a0,0x456($s0)
|
||||
/* f1a0de0: 24010006 */ addiu $at,$zero,0x6
|
||||
/* f1a0de4: 54410035 */ bnel $v0,$at,.L0f1a0ebc
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ glabel menuhandler001a3340
|
|||
/* f1a3378: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f1a337c: 0fc67494 */ jal func0f19d250
|
||||
/* f1a3380: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f1a3384: 0fc6749a */ jal func0f19d268
|
||||
/* f1a3384: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a3388: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a338c: 3c048009 */ lui $a0,%hi(var8008889c)
|
||||
/* f1a3390: 8c84889c */ lw $a0,%lo(var8008889c)($a0)
|
||||
|
|
@ -197,7 +197,7 @@ glabel var7f1b9940
|
|||
/* f1a34f4: 10000128 */ beqz $zero,.L0f1a3998
|
||||
/* f1a34f8: 00001025 */ or $v0,$zero,$zero
|
||||
/* f1a34fc: 8cc40000 */ lw $a0,0x0($a2)
|
||||
/* f1a3500: 0fc6749a */ jal func0f19d268
|
||||
/* f1a3500: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a3504: afa600b0 */ sw $a2,0xb0($sp)
|
||||
/* f1a3508: afa200a4 */ sw $v0,0xa4($sp)
|
||||
/* f1a350c: 0fc67330 */ jal func0f19ccc0
|
||||
|
|
@ -240,7 +240,7 @@ glabel var7f1b9940
|
|||
/* f1a359c: afb9009c */ sw $t9,0x9c($sp)
|
||||
/* f1a35a0: 8cc80008 */ lw $t0,0x8($a2)
|
||||
/* f1a35a4: 8cc40004 */ lw $a0,0x4($a2)
|
||||
/* f1a35a8: 0fc6749a */ jal func0f19d268
|
||||
/* f1a35a8: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a35ac: afa80098 */ sw $t0,0x98($sp)
|
||||
/* f1a35b0: afa20090 */ sw $v0,0x90($sp)
|
||||
/* f1a35b4: 0fc67330 */ jal func0f19ccc0
|
||||
|
|
@ -530,7 +530,7 @@ glabel var7f1b9944
|
|||
.L0f1a39d8:
|
||||
/* f1a39d8: 0fc67494 */ jal func0f19d250
|
||||
/* f1a39dc: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f1a39e0: 0fc6749a */ jal func0f19d268
|
||||
/* f1a39e0: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a39e4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a39e8: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum)
|
||||
/* f1a39ec: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6)
|
||||
|
|
@ -706,7 +706,7 @@ glabel menuhandlerFrDifficulty
|
|||
/* f1a3c40: 00001025 */ or $v0,$zero,$zero
|
||||
/* f1a3c44: 0fc67494 */ jal func0f19d250
|
||||
/* f1a3c48: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f1a3c4c: 0fc6749a */ jal func0f19d268
|
||||
/* f1a3c4c: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a3c50: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a3c54: 0fc67330 */ jal func0f19ccc0
|
||||
/* f1a3c58: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
@ -731,7 +731,7 @@ glabel menuhandlerFrDifficulty
|
|||
.L0f1a3ca0:
|
||||
/* f1a3ca0: 0fc67494 */ jal func0f19d250
|
||||
/* f1a3ca4: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f1a3ca8: 0fc6749a */ jal func0f19d268
|
||||
/* f1a3ca8: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a3cac: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a3cb0: 0fc67330 */ jal func0f19ccc0
|
||||
/* f1a3cb4: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
@ -754,7 +754,7 @@ glabel menuhandlerFrDifficulty
|
|||
/* f1a3cf4: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f1a3cf8: 0fc67494 */ jal func0f19d250
|
||||
/* f1a3cfc: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f1a3d00: 0fc6749a */ jal func0f19d268
|
||||
/* f1a3d00: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a3d04: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a3d08: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a3d0c: 0fc2c401 */ jal weaponGetFunctionById
|
||||
|
|
@ -777,7 +777,7 @@ glabel menuhandlerFrDifficulty
|
|||
/* f1a3d48: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f1a3d4c: 0fc67494 */ jal func0f19d250
|
||||
/* f1a3d50: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f1a3d54: 0fc6749a */ jal func0f19d268
|
||||
/* f1a3d54: 0fc6749a */ jal frGetWeaponBySlot
|
||||
/* f1a3d58: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a3d5c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1a3d60: 0fc2c401 */ jal weaponGetFunctionById
|
||||
|
|
@ -858,7 +858,7 @@ char *frMenuTextGoalScoreValueUnconditional(struct menu_item *item)
|
|||
|
||||
char *frMenuTextWeaponName(struct menu_item *item)
|
||||
{
|
||||
return weaponGetName(func0f19d268(func0f19d250()));
|
||||
return weaponGetName(frGetWeaponBySlot(func0f19d250()));
|
||||
}
|
||||
|
||||
char *frMenuTextTargetsDestroyedValue(struct menu_item *item)
|
||||
|
|
@ -999,7 +999,7 @@ char *frMenuTextAmmoLimitValue(struct menu_item *item)
|
|||
s32 weaponnum;
|
||||
|
||||
if (frdata->ammolimit != 255) {
|
||||
weaponnum = func0f19d268(frdata->unk456);
|
||||
weaponnum = frGetWeaponBySlot(frdata->slot);
|
||||
|
||||
if (weaponnum == WEAPON_SUPERDRAGON && frdata->sdgrenadelimit != 255) {
|
||||
sprintf(suffix, "/%d", frdata->sdgrenadelimit);
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@ u32 func0f19cad4(void);
|
|||
void func0f19cb38(s32 weaponnum);
|
||||
bool stageIsComplete(s32 solostageindex);
|
||||
u32 func0f19cbcc(void);
|
||||
u32 func0f19cc50(void);
|
||||
bool func0f19cc50(u32 arg0);
|
||||
u32 func0f19ccc0(u32 weaponnum);
|
||||
u32 func0f19cdf0(u32 weaponnum);
|
||||
u32 func0f19cf20(s32 stage_index); // firing range related
|
||||
u32 func0f19d250(void);
|
||||
u32 func0f19d25c(void);
|
||||
u32 func0f19d268(s32 arg0);
|
||||
u32 frGetWeaponBySlot(s32 slot);
|
||||
u32 func0f19d2e0(void);
|
||||
u32 func0f19d338(void);
|
||||
u32 func0f19d414(void);
|
||||
|
|
|
|||
|
|
@ -4830,7 +4830,7 @@ struct frdata {
|
|||
/*0x450*/ u32 score;
|
||||
/*0x454*/ u8 unk454;
|
||||
/*0x455*/ u8 targetsdestroyed;
|
||||
/*0x456*/ u16 unk456;
|
||||
/*0x456*/ u16 slot;
|
||||
/*0x458*/ u16 numshots;
|
||||
/*0x45a*/ u8 unk45a;
|
||||
/*0x45b*/ u8 failreason;
|
||||
|
|
|
|||
Loading…
Reference in New Issue