Decompile gsetPopulateFromCurrentPlayer
This commit is contained in:
parent
3ccb0ae1ee
commit
6aed910749
|
|
@ -395,108 +395,21 @@ u16 weaponGetModelNum2(s32 weaponnum)
|
|||
return weaponGetModelNum(weaponnum);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel gsetPopulateFromCurrentPlayer
|
||||
/* f0b1af0: 3c06800a */ lui $a2,%hi(g_Vars)
|
||||
/* f0b1af4: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
|
||||
/* f0b1af8: 8cce0284 */ lw $t6,0x284($a2)
|
||||
/* f0b1afc: 00041100 */ sll $v0,$a0,0x4
|
||||
/* f0b1b00: 00441023 */ subu $v0,$v0,$a0
|
||||
/* f0b1b04: 81cf1580 */ lb $t7,0x1580($t6)
|
||||
/* f0b1b08: 00021080 */ sll $v0,$v0,0x2
|
||||
/* f0b1b0c: 00441021 */ addu $v0,$v0,$a0
|
||||
/* f0b1b10: a0af0000 */ sb $t7,0x0($a1)
|
||||
/* f0b1b14: 8cd80284 */ lw $t8,0x284($a2)
|
||||
/* f0b1b18: 000210c0 */ sll $v0,$v0,0x3
|
||||
/* f0b1b1c: 00441021 */ addu $v0,$v0,$a0
|
||||
/* f0b1b20: 00021080 */ sll $v0,$v0,0x2
|
||||
/* f0b1b24: 0302c821 */ addu $t9,$t8,$v0
|
||||
/* f0b1b28: 9328063b */ lbu $t0,0x63b($t9)
|
||||
/* f0b1b2c: 24010006 */ addiu $at,$zero,0x6
|
||||
/* f0b1b30: 31e300ff */ andi $v1,$t7,0xff
|
||||
/* f0b1b34: a0a80003 */ sb $t0,0x3($a1)
|
||||
/* f0b1b38: 8cc90284 */ lw $t1,0x284($a2)
|
||||
/* f0b1b3c: 01225021 */ addu $t2,$t1,$v0
|
||||
/* f0b1b40: 914b063a */ lbu $t3,0x63a($t2)
|
||||
/* f0b1b44: a0ab0002 */ sb $t3,0x2($a1)
|
||||
/* f0b1b48: 8ccc0284 */ lw $t4,0x284($a2)
|
||||
/* f0b1b4c: 01826821 */ addu $t5,$t4,$v0
|
||||
/* f0b1b50: 91ae0639 */ lbu $t6,0x639($t5)
|
||||
/* f0b1b54: 1461002a */ bne $v1,$at,.L0f0b1c00
|
||||
/* f0b1b58: a0ae0001 */ sb $t6,0x1($a1)
|
||||
/* f0b1b5c: 8ccf0284 */ lw $t7,0x284($a2)
|
||||
/* f0b1b60: 3c014120 */ lui $at,0x4120
|
||||
/* f0b1b64: 44813000 */ mtc1 $at,$f6
|
||||
/* f0b1b68: 01e2c021 */ addu $t8,$t7,$v0
|
||||
/* f0b1b6c: c7040874 */ lwc1 $f4,0x874($t8)
|
||||
/* f0b1b70: 24080001 */ addiu $t0,$zero,0x1
|
||||
/* f0b1b74: 3c014f00 */ lui $at,0x4f00
|
||||
/* f0b1b78: 46062202 */ mul.s $f8,$f4,$f6
|
||||
/* f0b1b7c: 4459f800 */ cfc1 $t9,$31
|
||||
/* f0b1b80: 44c8f800 */ ctc1 $t0,$31
|
||||
/* f0b1b84: 00000000 */ nop
|
||||
/* f0b1b88: 460042a4 */ cvt.w.s $f10,$f8
|
||||
/* f0b1b8c: 4448f800 */ cfc1 $t0,$31
|
||||
/* f0b1b90: 00000000 */ nop
|
||||
/* f0b1b94: 31080078 */ andi $t0,$t0,0x78
|
||||
/* f0b1b98: 51000013 */ beqzl $t0,.L0f0b1be8
|
||||
/* f0b1b9c: 44085000 */ mfc1 $t0,$f10
|
||||
/* f0b1ba0: 44815000 */ mtc1 $at,$f10
|
||||
/* f0b1ba4: 24080001 */ addiu $t0,$zero,0x1
|
||||
/* f0b1ba8: 460a4281 */ sub.s $f10,$f8,$f10
|
||||
/* f0b1bac: 44c8f800 */ ctc1 $t0,$31
|
||||
/* f0b1bb0: 00000000 */ nop
|
||||
/* f0b1bb4: 460052a4 */ cvt.w.s $f10,$f10
|
||||
/* f0b1bb8: 4448f800 */ cfc1 $t0,$31
|
||||
/* f0b1bbc: 00000000 */ nop
|
||||
/* f0b1bc0: 31080078 */ andi $t0,$t0,0x78
|
||||
/* f0b1bc4: 15000005 */ bnez $t0,.L0f0b1bdc
|
||||
/* f0b1bc8: 00000000 */ nop
|
||||
/* f0b1bcc: 44085000 */ mfc1 $t0,$f10
|
||||
/* f0b1bd0: 3c018000 */ lui $at,0x8000
|
||||
/* f0b1bd4: 10000007 */ b .L0f0b1bf4
|
||||
/* f0b1bd8: 01014025 */ or $t0,$t0,$at
|
||||
.L0f0b1bdc:
|
||||
/* f0b1bdc: 10000005 */ b .L0f0b1bf4
|
||||
/* f0b1be0: 2408ffff */ addiu $t0,$zero,-1
|
||||
/* f0b1be4: 44085000 */ mfc1 $t0,$f10
|
||||
.L0f0b1be8:
|
||||
/* f0b1be8: 00000000 */ nop
|
||||
/* f0b1bec: 0500fffb */ bltz $t0,.L0f0b1bdc
|
||||
/* f0b1bf0: 00000000 */ nop
|
||||
.L0f0b1bf4:
|
||||
/* f0b1bf4: 44d9f800 */ ctc1 $t9,$31
|
||||
/* f0b1bf8: a0a80002 */ sb $t0,0x2($a1)
|
||||
/* f0b1bfc: 90a30000 */ lbu $v1,0x0($a1)
|
||||
.L0f0b1c00:
|
||||
/* f0b1c00: 2401001d */ addiu $at,$zero,0x1d
|
||||
/* f0b1c04: 14610005 */ bne $v1,$at,.L0f0b1c1c
|
||||
/* f0b1c08: 00000000 */ nop
|
||||
/* f0b1c0c: 8cc90284 */ lw $t1,0x284($a2)
|
||||
/* f0b1c10: 01225021 */ addu $t2,$t1,$v0
|
||||
/* f0b1c14: 8d4c0b90 */ lw $t4,0xb90($t2)
|
||||
/* f0b1c18: a0ac0002 */ sb $t4,0x2($a1)
|
||||
.L0f0b1c1c:
|
||||
/* f0b1c1c: 03e00008 */ jr $ra
|
||||
/* f0b1c20: 00000000 */ nop
|
||||
);
|
||||
void gsetPopulateFromCurrentPlayer(s32 handnum, struct gset *gset)
|
||||
{
|
||||
gset->weaponnum = g_Vars.currentplayer->gunctrl.weaponnum;
|
||||
gset->weaponfunc = g_Vars.currentplayer->hands[handnum].gset.weaponfunc;
|
||||
gset->unk063a = g_Vars.currentplayer->hands[handnum].gset.unk063a;
|
||||
gset->unk0639 = g_Vars.currentplayer->hands[handnum].gset.unk0639;
|
||||
|
||||
// Mismatch: regalloc
|
||||
//void gsetPopulateFromCurrentPlayer(s32 handnum, struct gset *gset)
|
||||
//{
|
||||
// gset->weaponnum = g_Vars.currentplayer->weaponnum;
|
||||
// gset->weaponfunc = g_Vars.currentplayer->hands[handnum].weaponfunc;
|
||||
// gset->unk063a = g_Vars.currentplayer->hands[handnum].unk063a;
|
||||
// gset->unk0639 = g_Vars.currentplayer->hands[handnum].unk0639;
|
||||
//
|
||||
// if (gset->weaponnum == WEAPON_MAULER) {
|
||||
// gset->unk063a = g_Vars.currentplayer->hands[handnum].matmot1 * 10.0f;
|
||||
// }
|
||||
//
|
||||
// if (gset->weaponnum == WEAPON_LASER) {
|
||||
// gset->unk063a = g_Vars.currentplayer->hands[handnum].burstbullets;
|
||||
// }
|
||||
//}
|
||||
if (gset->weaponnum == WEAPON_MAULER) {
|
||||
gset->unk063a = g_Vars.currentplayer->hands[handnum].matmot1 * 10.0f;
|
||||
}
|
||||
|
||||
if (gset->weaponnum == WEAPON_LASER) {
|
||||
gset->unk063a = g_Vars.currentplayer->hands[handnum].burstbullets & 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
struct inventory_ammo *gsetGetAmmoDefinition(struct gset *gset)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue