diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index c0190c82d..2f244fc2f 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -766,37 +766,17 @@ bool aiHopSideways(void) /** * @cmd 0011 */ -GLOBAL_ASM( -glabel ai0011 -/* f04e874: 27bdffe8 */ addiu $sp,$sp,-24 -/* f04e878: 3c03800a */ lui $v1,0x800a -/* f04e87c: 24639fc0 */ addiu $v1,$v1,-24640 -/* f04e880: afbf0014 */ sw $ra,0x14($sp) -/* f04e884: 0fc0e78a */ jal func0f039e28 -/* f04e888: 8c640424 */ lw $a0,0x424($v1) -/* f04e88c: 3c03800a */ lui $v1,0x800a -/* f04e890: 1040000a */ beqz $v0,.L0f04e8bc -/* f04e894: 24639fc0 */ addiu $v1,$v1,-24640 -/* f04e898: 8c640434 */ lw $a0,0x434($v1) -/* f04e89c: 8c650438 */ lw $a1,0x438($v1) -/* f04e8a0: 00851021 */ addu $v0,$a0,$a1 -/* f04e8a4: 0fc13583 */ jal chraiGoToLabel -/* f04e8a8: 90460002 */ lbu $a2,0x2($v0) -/* f04e8ac: 3c03800a */ lui $v1,0x800a -/* f04e8b0: 24639fc0 */ addiu $v1,$v1,-24640 -/* f04e8b4: 10000004 */ beqz $zero,.L0f04e8c8 -/* f04e8b8: ac620438 */ sw $v0,0x438($v1) -.L0f04e8bc: -/* f04e8bc: 8c6e0438 */ lw $t6,0x438($v1) -/* f04e8c0: 25cf0003 */ addiu $t7,$t6,0x3 -/* f04e8c4: ac6f0438 */ sw $t7,0x438($v1) -.L0f04e8c8: -/* f04e8c8: 8fbf0014 */ lw $ra,0x14($sp) -/* f04e8cc: 27bd0018 */ addiu $sp,$sp,0x18 -/* f04e8d0: 00001025 */ or $v0,$zero,$zero -/* f04e8d4: 03e00008 */ jr $ra -/* f04e8d8: 00000000 */ sll $zero,$zero,0x0 -); +bool aiRunSideways(void) +{ + if (func0f039e28(g_Vars.chrdata)) { + u8 *cmd = g_Vars.ailist + g_Vars.aioffset; + g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]); + } else { + g_Vars.aioffset += 3; + } + + return false; +} /** * @cmd 0012 diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index 670577e80..a7013092d 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -20,7 +20,7 @@ /*0x000e*/ bool ai000e(void); /*0x000f*/ bool aiStepSideways(void); /*0x0010*/ bool aiHopSideways(void); -/*0x0011*/ bool ai0011(void); +/*0x0011*/ bool aiRunSideways(void); /*0x0012*/ bool ai0012(void); /*0x0013*/ bool ai0013(void); /*0x0014*/ bool ai0014(void); diff --git a/src/setup/setup.c b/src/setup/setup.c index 91ab744e9..bd3279ac0 100644 --- a/src/setup/setup.c +++ b/src/setup/setup.c @@ -13966,7 +13966,7 @@ bool (*command_pointers[])(void) = { /*0x000e*/ ai000e, /*0x000f*/ aiStepSideways, /*0x0010*/ aiHopSideways, - /*0x0011*/ ai0011, + /*0x0011*/ aiRunSideways, /*0x0012*/ ai0012, /*0x0013*/ ai0013, /*0x0014*/ ai0014,