mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-09-08 03:06:40 -04:00
Decompile ai0122
This commit is contained in:
@@ -10509,63 +10509,20 @@ bool ai0121(void)
|
||||
/**
|
||||
* @cmd 0122
|
||||
*/
|
||||
GLOBAL_ASM(
|
||||
glabel ai0122
|
||||
/* f0595c4: 3c07800a */ lui $a3,0x800a
|
||||
/* f0595c8: 24e79fc0 */ addiu $a3,$a3,-24640
|
||||
/* f0595cc: 8cee0434 */ lw $t6,0x434($a3)
|
||||
/* f0595d0: 8cef0438 */ lw $t7,0x438($a3)
|
||||
/* f0595d4: 27bdffe0 */ addiu $sp,$sp,-32
|
||||
/* f0595d8: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0595dc: 01cf1821 */ addu $v1,$t6,$t7
|
||||
/* f0595e0: 90780002 */ lbu $t8,0x2($v1)
|
||||
/* f0595e4: 90680003 */ lbu $t0,0x3($v1)
|
||||
/* f0595e8: 906a0004 */ lbu $t2,0x4($v1)
|
||||
/* f0595ec: 906c0005 */ lbu $t4,0x5($v1)
|
||||
/* f0595f0: 906f0006 */ lbu $t7,0x6($v1)
|
||||
/* f0595f4: 0018ca00 */ sll $t9,$t8,0x8
|
||||
/* f0595f8: 03282825 */ or $a1,$t9,$t0
|
||||
/* f0595fc: 8ce40424 */ lw $a0,0x424($a3)
|
||||
/* f059600: 000a5e00 */ sll $t3,$t2,0x18
|
||||
/* f059604: 000c6c00 */ sll $t5,$t4,0x10
|
||||
/* f059608: 90680007 */ lbu $t0,0x7($v1)
|
||||
/* f05960c: 016d7025 */ or $t6,$t3,$t5
|
||||
/* f059610: 000fc200 */ sll $t8,$t7,0x8
|
||||
/* f059614: 30a9ffff */ andi $t1,$a1,0xffff
|
||||
/* f059618: 01d8c825 */ or $t9,$t6,$t8
|
||||
/* f05961c: 01202825 */ or $a1,$t1,$zero
|
||||
/* f059620: 10800013 */ beqz $a0,.L0f059670
|
||||
/* f059624: 03283025 */ or $a2,$t9,$t0
|
||||
/* f059628: 8c89001c */ lw $t1,0x1c($a0)
|
||||
/* f05962c: 51200011 */ beqzl $t1,.L0f059674
|
||||
/* f059630: 8cea0438 */ lw $t2,0x438($a3)
|
||||
/* f059634: 0fc12e8d */ jal func0f04ba34
|
||||
/* f059638: afa3001c */ sw $v1,0x1c($sp)
|
||||
/* f05963c: 3c07800a */ lui $a3,0x800a
|
||||
/* f059640: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f059644: 24e79fc0 */ addiu $a3,$a3,-24640
|
||||
/* f059648: 10410009 */ beq $v0,$at,.L0f059670
|
||||
/* f05964c: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
/* f059650: 8ce40434 */ lw $a0,0x434($a3)
|
||||
/* f059654: 8ce50438 */ lw $a1,0x438($a3)
|
||||
/* f059658: 0fc13583 */ jal chraiGoToLabel
|
||||
/* f05965c: 90660008 */ lbu $a2,0x8($v1)
|
||||
/* f059660: 3c07800a */ lui $a3,0x800a
|
||||
/* f059664: 24e79fc0 */ addiu $a3,$a3,-24640
|
||||
/* f059668: 10000004 */ beqz $zero,.L0f05967c
|
||||
/* f05966c: ace20438 */ sw $v0,0x438($a3)
|
||||
.L0f059670:
|
||||
/* f059670: 8cea0438 */ lw $t2,0x438($a3)
|
||||
.L0f059674:
|
||||
/* f059674: 254c0009 */ addiu $t4,$t2,0x9
|
||||
/* f059678: acec0438 */ sw $t4,0x438($a3)
|
||||
.L0f05967c:
|
||||
/* f05967c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f059680: 27bd0020 */ addiu $sp,$sp,0x20
|
||||
/* f059684: 00001025 */ or $v0,$zero,$zero
|
||||
/* f059688: 03e00008 */ jr $ra
|
||||
/* f05968c: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
bool ai0122(void)
|
||||
{
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
u16 thing = cmd[3] | (cmd[2] << 8);
|
||||
u32 flags = (cmd[5] << 16) | (cmd[6] << 8) | cmd[7] | (cmd[4] << 24);
|
||||
|
||||
if (g_Vars.chrdata && g_Vars.chrdata->pos && func0f04ba34(g_Vars.chrdata, thing, flags) != -1) {
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[8]);
|
||||
} else {
|
||||
g_Vars.aioffset += 9;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @cmd 0123
|
||||
|
||||
Reference in New Issue
Block a user