Decompile aiChrUnsetChrflag

This commit is contained in:
Ryan Dwyer
2019-10-22 18:42:42 +10:00
parent 9456ca7b5d
commit e53d088835
3 changed files with 16 additions and 42 deletions
+14 -40
View File
@@ -6124,46 +6124,20 @@ bool aiChrSetChrflag(void)
/**
* @cmd 00a8
*/
GLOBAL_ASM(
glabel ai00a8
/* f0543dc: 3c03800a */ lui $v1,0x800a
/* f0543e0: 24639fc0 */ addiu $v1,$v1,-24640
/* f0543e4: 8c6e0434 */ lw $t6,0x434($v1)
/* f0543e8: 8c6f0438 */ lw $t7,0x438($v1)
/* f0543ec: 27bdffe0 */ addiu $sp,$sp,-32
/* f0543f0: afbf0014 */ sw $ra,0x14($sp)
/* f0543f4: 01cf1021 */ addu $v0,$t6,$t7
/* f0543f8: 90580003 */ lbu $t8,0x3($v0)
/* f0543fc: 90480004 */ lbu $t0,0x4($v0)
/* f054400: 904b0005 */ lbu $t3,0x5($v0)
/* f054404: 904e0006 */ lbu $t6,0x6($v0)
/* f054408: 0018ce00 */ sll $t9,$t8,0x18
/* f05440c: 00084c00 */ sll $t1,$t0,0x10
/* f054410: 03295025 */ or $t2,$t9,$t1
/* f054414: 000b6200 */ sll $t4,$t3,0x8
/* f054418: 014c6825 */ or $t5,$t2,$t4
/* f05441c: 01ae7825 */ or $t7,$t5,$t6
/* f054420: afaf0018 */ sw $t7,0x18($sp)
/* f054424: 90450002 */ lbu $a1,0x2($v0)
/* f054428: 0fc126d1 */ jal chrFindById
/* f05442c: 8c640424 */ lw $a0,0x424($v1)
/* f054430: 3c03800a */ lui $v1,0x800a
/* f054434: 10400006 */ beqz $v0,.L0f054450
/* f054438: 24639fc0 */ addiu $v1,$v1,-24640
/* f05443c: 8fa80018 */ lw $t0,0x18($sp)
/* f054440: 8c580018 */ lw $t8,0x18($v0)
/* f054444: 0100c827 */ nor $t9,$t0,$zero
/* f054448: 03194824 */ and $t1,$t8,$t9
/* f05444c: ac490018 */ sw $t1,0x18($v0)
.L0f054450:
/* f054450: 8c6b0438 */ lw $t3,0x438($v1)
/* f054454: 8fbf0014 */ lw $ra,0x14($sp)
/* f054458: 27bd0020 */ addiu $sp,$sp,0x20
/* f05445c: 256a0007 */ addiu $t2,$t3,0x7
/* f054460: ac6a0438 */ sw $t2,0x438($v1)
/* f054464: 03e00008 */ jr $ra
/* f054468: 00001025 */ or $v0,$zero,$zero
);
bool aiChrUnsetChrflag(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
u32 flags = (cmd[4] << 16) | (cmd[5] << 8) | cmd[6] | (cmd[3] << 24);
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
if (chr) {
chr->chrflags &= ~flags;
}
g_Vars.aioffset += 7;
return false;
}
/**
* @cmd 00a9
+1 -1
View File
@@ -170,7 +170,7 @@
/*0x00a5*/ bool ai00a5(void);
/*0x00a6*/ bool ai00a6(void);
/*0x00a7*/ bool aiChrSetChrflag(void);
/*0x00a8*/ bool ai00a8(void);
/*0x00a8*/ bool aiChrUnsetChrflag(void);
/*0x00a9*/ bool ai00a9(void);
/*0x00aa*/ bool ai00aa(void);
/*0x00ab*/ bool ai00ab(void);
+1 -1
View File
@@ -14121,7 +14121,7 @@ bool (*command_pointers[])(void) = {
/*0x00a5*/ ai00a5,
/*0x00a6*/ ai00a6,
/*0x00a7*/ aiChrSetChrflag,
/*0x00a8*/ ai00a8,
/*0x00a8*/ aiChrUnsetChrflag,
/*0x00a9*/ ai00a9,
/*0x00aa*/ ai00aa,
/*0x00ab*/ ai00ab,