From c7b7deadd5f5b1abddbba900a02bde0ea36c5ee8 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 20 Oct 2019 20:33:27 +1000 Subject: [PATCH] Decompile aiSetAction --- src/game/chr/chraicommands.c | 35 +++++++++++----------------- src/include/game/chr/chraicommands.h | 2 +- src/setup/setup_000000.c | 2 +- 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 383f48447..3a5e81ff0 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -12907,28 +12907,19 @@ glabel ai0131 /** * @cmd 0132 */ -GLOBAL_ASM( -glabel ai0132 -/* f05adf4: 3c03800a */ lui $v1,0x800a -/* f05adf8: 24639fc0 */ addiu $v1,$v1,-24640 -/* f05adfc: 8c6e0434 */ lw $t6,0x434($v1) -/* f05ae00: 8c6f0438 */ lw $t7,0x438($v1) -/* f05ae04: 8c790424 */ lw $t9,0x424($v1) -/* f05ae08: 01cf1021 */ addu $v0,$t6,$t7 -/* f05ae0c: 90580002 */ lbu $t8,0x2($v0) -/* f05ae10: a33802a0 */ sb $t8,0x2a0($t9) -/* f05ae14: 90480003 */ lbu $t0,0x3($v0) -/* f05ae18: 55000004 */ bnezl $t0,.L0f05ae2c -/* f05ae1c: 8c6a0438 */ lw $t2,0x438($v1) -/* f05ae20: 8c690424 */ lw $t1,0x424($v1) -/* f05ae24: a12002a1 */ sb $zero,0x2a1($t1) -/* f05ae28: 8c6a0438 */ lw $t2,0x438($v1) -.L0f05ae2c: -/* f05ae2c: 00001025 */ or $v0,$zero,$zero -/* f05ae30: 254b0004 */ addiu $t3,$t2,0x4 -/* f05ae34: 03e00008 */ jr $ra -/* f05ae38: ac6b0438 */ sw $t3,0x438($v1) -); +bool aiSetAction(void) +{ + u8 *cmd = g_Vars.ailist + g_Vars.aioffset; + g_Vars.chrdata->myaction = cmd[2]; + + if (cmd[3] == 0) { + g_Vars.chrdata->orders = 0; + } + + g_Vars.aioffset += 4; + + return false; +} /** * @cmd 0133 diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index 7ebf1c047..153437124 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -304,7 +304,7 @@ /*0x012f*/ bool ai012f(void); /*0x0130*/ bool ai0130(void); /*0x0131*/ bool ai0131(void); -/*0x0132*/ bool ai0132(void); +/*0x0132*/ bool aiSetAction(void); /*0x0133*/ bool ai0133(void); /*0x0134*/ bool ai0134(void); /*0x0135*/ bool ai0135(void); diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index 5e97623d7..6a4539036 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -14259,7 +14259,7 @@ bool (*command_pointers[])(void) = { /*0x012f*/ ai012f, /*0x0130*/ ai0130, /*0x0131*/ ai0131, - /*0x0132*/ ai0132, + /*0x0132*/ aiSetAction, /*0x0133*/ ai0133, /*0x0134*/ ai0134, /*0x0135*/ ai0135,