Decompile aiIfHuman

This commit is contained in:
Ryan Dwyer 2020-02-15 20:04:49 +10:00
parent 9914cc73af
commit 0fdbb8a4b1
3 changed files with 15 additions and 49 deletions

View File

@ -7704,53 +7704,19 @@ bool aiIfCompareChrPresetsTeam(void)
/**
* @cmd 011e
*/
GLOBAL_ASM(
glabel ai011e
/* f0591c0: 3c03800a */ lui $v1,%hi(g_Vars)
/* f0591c4: 24639fc0 */ addiu $v1,$v1,-24640 # v1 = g_Vars
/* f0591c8: 8c6e0434 */ lw $t6,0x434($v1)
/* f0591cc: 8c6f0438 */ lw $t7,0x438($v1)
/* f0591d0: 27bdffe0 */ addiu $sp,$sp,-32
/* f0591d4: afbf0014 */ sw $ra,0x14($sp)
/* f0591d8: 01cf3821 */ addu $a3,$t6,$t7 # a3 = g_Vars.ailist + g_Vars.aioffset
/* f0591dc: 90e50002 */ lbu $a1,0x2($a3) # a1 = cmd[2]
/* f0591e0: afa7001c */ sw $a3,0x1c($sp)
/* f0591e4: 0fc126d1 */ jal chrFindById
/* f0591e8: 8c640424 */ lw $a0,0x424($v1) # a0 = g_Vars.chrdata
/* f0591ec: 3c03800a */ lui $v1,%hi(g_Vars)
/* f0591f0: 24639fc0 */ addiu $v1,$v1,-24640 # v1 = g_Vars
/* f0591f4: 10400012 */ beqz $v0,.L0f059240 # if (chr == 0) goto 40
/* f0591f8: 8fa7001c */ lw $a3,0x1c($sp)
/* f0591fc: 8c58001c */ lw $t8,0x1c($v0) # t8 = chr->prop
/* f059200: 53000010 */ beqzl $t8,.L0f059244 # if (chr->prop == 0) goto 44
/* f059204: 8c790438 */ lw $t9,0x438($v1) # t9 = g_Vars.aioffset
/* f059208: 10400003 */ beqz $v0,.L0f059218 # if (v0 == 0) goto 18
/* f05920c: 00002025 */ or $a0,$zero,$zero # a0 = 0
/* f059210: 10000001 */ beqz $zero,.L0f059218 # if (true)
/* f059214: 904402fe */ lbu $a0,0x2fe($v0) # a0 = chr->race
.L0f059218:
/* f059218: 5480000a */ bnezl $a0,.L0f059244 # if (a0 != 0) goto 44
/* f05921c: 8c790438 */ lw $t9,0x438($v1) # t9 = g_Vars.aioffset
/* f059220: 8c640434 */ lw $a0,0x434($v1) # a0 = g_Vars.ailist
/* f059224: 8c650438 */ lw $a1,0x438($v1) # a1 = g_Vars.aioffset
/* f059228: 0fc13583 */ jal chraiGoToLabel
/* f05922c: 90e60003 */ lbu $a2,0x3($a3) # a2 = cmd[3]
/* f059230: 3c03800a */ lui $v1,%hi(g_Vars)
/* f059234: 24639fc0 */ addiu $v1,$v1,-24640 # v1 = g_Vars
/* f059238: 10000004 */ beqz $zero,.L0f05924c
/* f05923c: ac620438 */ sw $v0,0x438($v1) # v0 = g_Vars.aioffset
.L0f059240:
/* f059240: 8c790438 */ lw $t9,0x438($v1) # t9 = g_Vars.aioffset
.L0f059244:
/* f059244: 27280004 */ addiu $t0,$t9,0x4 # t9 += 4
/* f059248: ac680438 */ sw $t0,0x438($v1) # g_Vars.aioffset += 4
.L0f05924c:
/* f05924c: 8fbf0014 */ lw $ra,0x14($sp)
/* f059250: 27bd0020 */ addiu $sp,$sp,0x20
/* f059254: 00001025 */ or $v0,$zero,$zero
/* f059258: 03e00008 */ jr $ra
/* f05925c: 00000000 */ sll $zero,$zero,0x0
);
bool aiIfHuman(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
if (chr && chr->prop && CHRRACE(chr) == RACE_HUMAN) {
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]);
} else {
g_Vars.aioffset += 4;
}
return false;
}
/**
* @cmd 011f

View File

@ -6505,7 +6505,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x011b*/ aiChrSetHiddenFlag,
/*0x011c*/ aiChrUnsetHiddenFlag,
/*0x011d*/ aiIfChrHasHiddenFlag,
/*0x011e*/ ai011e,
/*0x011e*/ aiIfHuman,
/*0x011f*/ aiIfSkedar,
/*0x0120*/ ai0120,
/*0x0121*/ ai0121,

View File

@ -286,7 +286,7 @@
/*0x011b*/ bool aiChrSetHiddenFlag(void);
/*0x011c*/ bool aiChrUnsetHiddenFlag(void);
/*0x011d*/ bool aiIfChrHasHiddenFlag(void);
/*0x011e*/ bool ai011e(void);
/*0x011e*/ bool aiIfHuman(void);
/*0x011f*/ bool aiIfSkedar(void);
/*0x0120*/ bool ai0120(void);
/*0x0121*/ bool ai0121(void);