Decompile ai0109

This commit is contained in:
Ryan Dwyer 2019-11-30 16:44:58 +10:00
parent fdd2812178
commit 8cb2380e7e
2 changed files with 18 additions and 61 deletions

View File

@ -8667,68 +8667,19 @@ bool aiIfChrTarget(void)
/**
* @cmd 0109
*/
GLOBAL_ASM(
glabel ai0109
/* f058f38: 3c03800a */ lui $v1,%hi(g_Vars)
/* f058f3c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f058f40: 8c6e0434 */ lw $t6,0x434($v1)
/* f058f44: 8c6f0438 */ lw $t7,0x438($v1)
/* f058f48: 27bdffe0 */ addiu $sp,$sp,-32
/* f058f4c: afbf0014 */ sw $ra,0x14($sp)
/* f058f50: 01cf3821 */ addu $a3,$t6,$t7
/* f058f54: 90f80003 */ lbu $t8,0x3($a3)
/* f058f58: 90e80004 */ lbu $t0,0x4($a3)
/* f058f5c: 3c014120 */ lui $at,0x4120
/* f058f60: 0018ca00 */ sll $t9,$t8,0x8
/* f058f64: 03284825 */ or $t1,$t9,$t0
/* f058f68: 44892000 */ mtc1 $t1,$f4
/* f058f6c: 44814000 */ mtc1 $at,$f8
/* f058f70: 90e40002 */ lbu $a0,0x2($a3)
/* f058f74: 468021a0 */ cvt.s.w $f6,$f4
/* f058f78: afa7001c */ sw $a3,0x1c($sp)
/* f058f7c: 8c650424 */ lw $a1,0x424($v1)
/* f058f80: 46083002 */ mul.s $f0,$f6,$f8
/* f058f84: 44060000 */ mfc1 $a2,$f0
/* f058f88: 0fc129e7 */ jal func0f04a79c
/* f058f8c: 00000000 */ sll $zero,$zero,0x0
/* f058f90: 3c03800a */ lui $v1,%hi(g_Vars)
/* f058f94: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f058f98: 10400009 */ beqz $v0,.L0f058fc0
/* f058f9c: 8fa7001c */ lw $a3,0x1c($sp)
/* f058fa0: 8c640434 */ lw $a0,0x434($v1)
/* f058fa4: 8c650438 */ lw $a1,0x438($v1)
/* f058fa8: 0fc13583 */ jal chraiGoToLabel
/* f058fac: 90e60005 */ lbu $a2,0x5($a3)
/* f058fb0: 3c03800a */ lui $v1,%hi(g_Vars)
/* f058fb4: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f058fb8: 10000004 */ beqz $zero,.L0f058fcc
/* f058fbc: ac620438 */ sw $v0,0x438($v1)
.L0f058fc0:
/* f058fc0: 8c6a0438 */ lw $t2,0x438($v1)
/* f058fc4: 254b0006 */ addiu $t3,$t2,0x6
/* f058fc8: ac6b0438 */ sw $t3,0x438($v1)
.L0f058fcc:
/* f058fcc: 8fbf0014 */ lw $ra,0x14($sp)
/* f058fd0: 27bd0020 */ addiu $sp,$sp,0x20
/* f058fd4: 00001025 */ or $v0,$zero,$zero
/* f058fd8: 03e00008 */ jr $ra
/* f058fdc: 00000000 */ sll $zero,$zero,0x0
);
bool ai0109(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
float distance = (cmd[4] | (cmd[3] << 8)) * 10.0f;
// Mismatch because it uses different float registers.
//bool ai0109(void)
//{
// u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
// float distance = cmd[4] | (cmd[3] << 8);
//
// if (func0f04a79c(cmd[2], g_Vars.chrdata, distance * 10)) {
// g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[5]);
// } else {
// g_Vars.aioffset += 6;
// }
//
// return false;
//}
if (func0f04a79c(cmd[2], g_Vars.chrdata, distance)) {
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[5]);
} else {
g_Vars.aioffset += 6;
}
return false;
}
/**
* @cmd 010a

View File

@ -1094,6 +1094,12 @@
anytarget, \
label,
#define cmd0109(u1, distance, label) \
mkshort(0x0109), \
u1, \
mkshort(distance), \
label, \
#define set_chr_team(chr, team) \
mkshort(0x010b), \
chr, \