mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-09-07 02:49:49 -04:00
Decompile aiKneelAndFire
This commit is contained in:
@@ -844,49 +844,20 @@ bool aiAimAndFire1(void)
|
||||
/**
|
||||
* @cmd 0016
|
||||
*/
|
||||
GLOBAL_ASM(
|
||||
glabel ai0016
|
||||
/* f04eaac: 3c03800a */ lui $v1,0x800a
|
||||
/* f04eab0: 24639fc0 */ addiu $v1,$v1,-24640
|
||||
/* f04eab4: 8c6e0434 */ lw $t6,0x434($v1)
|
||||
/* f04eab8: 8c6f0438 */ lw $t7,0x438($v1)
|
||||
/* f04eabc: 27bdffe0 */ addiu $sp,$sp,-32
|
||||
/* f04eac0: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f04eac4: 01cf3821 */ addu $a3,$t6,$t7
|
||||
/* f04eac8: 90f80004 */ lbu $t8,0x4($a3)
|
||||
/* f04eacc: 90e90002 */ lbu $t1,0x2($a3)
|
||||
/* f04ead0: 90e80005 */ lbu $t0,0x5($a3)
|
||||
/* f04ead4: 90eb0003 */ lbu $t3,0x3($a3)
|
||||
/* f04ead8: 0018ca00 */ sll $t9,$t8,0x8
|
||||
/* f04eadc: 00095200 */ sll $t2,$t1,0x8
|
||||
/* f04eae0: afa7001c */ sw $a3,0x1c($sp)
|
||||
/* f04eae4: 8c640424 */ lw $a0,0x424($v1)
|
||||
/* f04eae8: 03283025 */ or $a2,$t9,$t0
|
||||
/* f04eaec: 0fc0e991 */ jal func0f03a644
|
||||
/* f04eaf0: 014b2825 */ or $a1,$t2,$t3
|
||||
/* f04eaf4: 3c03800a */ lui $v1,0x800a
|
||||
/* f04eaf8: 24639fc0 */ addiu $v1,$v1,-24640
|
||||
/* f04eafc: 10400009 */ beqz $v0,.L0f04eb24
|
||||
/* f04eb00: 8fa7001c */ lw $a3,0x1c($sp)
|
||||
/* f04eb04: 8c640434 */ lw $a0,0x434($v1)
|
||||
/* f04eb08: 8c650438 */ lw $a1,0x438($v1)
|
||||
/* f04eb0c: 0fc13583 */ jal chraiGoToLabel
|
||||
/* f04eb10: 90e60006 */ lbu $a2,0x6($a3)
|
||||
/* f04eb14: 3c03800a */ lui $v1,0x800a
|
||||
/* f04eb18: 24639fc0 */ addiu $v1,$v1,-24640
|
||||
/* f04eb1c: 10000004 */ beqz $zero,.L0f04eb30
|
||||
/* f04eb20: ac620438 */ sw $v0,0x438($v1)
|
||||
.L0f04eb24:
|
||||
/* f04eb24: 8c6c0438 */ lw $t4,0x438($v1)
|
||||
/* f04eb28: 258d0007 */ addiu $t5,$t4,0x7
|
||||
/* f04eb2c: ac6d0438 */ sw $t5,0x438($v1)
|
||||
.L0f04eb30:
|
||||
/* f04eb30: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f04eb34: 27bd0020 */ addiu $sp,$sp,0x20
|
||||
/* f04eb38: 00001025 */ or $v0,$zero,$zero
|
||||
/* f04eb3c: 03e00008 */ jr $ra
|
||||
/* f04eb40: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
bool aiKneelAndFire(void)
|
||||
{
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
u32 thingid = cmd[5] | (cmd[4] << 8);
|
||||
u32 thingtype = cmd[3] | (cmd[2] << 8);
|
||||
|
||||
if (func0f03a644(g_Vars.chrdata, thingtype, thingid)) {
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[6]);
|
||||
} else {
|
||||
g_Vars.aioffset += 7;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @cmd 01ba
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
/*0x0013*/ bool aiRunAndFire(void);
|
||||
/*0x0014*/ bool aiRollAndFire(void);
|
||||
/*0x0015*/ bool aiAimAndFire1(void);
|
||||
/*0x0016*/ bool ai0016(void);
|
||||
/*0x0016*/ bool aiKneelAndFire(void);
|
||||
/*0x0017*/ bool ai0017(void);
|
||||
/*0x0018*/ bool ai0018(void);
|
||||
/*0x0019*/ bool ai0019(void);
|
||||
|
||||
@@ -13971,7 +13971,7 @@ bool (*command_pointers[])(void) = {
|
||||
/*0x0013*/ aiRunAndFire,
|
||||
/*0x0014*/ aiRollAndFire,
|
||||
/*0x0015*/ aiAimAndFire1,
|
||||
/*0x0016*/ ai0016,
|
||||
/*0x0016*/ aiKneelAndFire,
|
||||
/*0x0017*/ ai0017,
|
||||
/*0x0018*/ ai0018,
|
||||
/*0x0019*/ ai0019,
|
||||
|
||||
Reference in New Issue
Block a user