From 10943af728c099e906f08510578704c436daebaf Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 27 Jan 2020 17:34:12 +1000 Subject: [PATCH] Identify chrGoToPos, chrGoToProp, chrGoToCover and rename cmd0124 to go_to_cover --- src/game/chr/chr.c | 34 ++++++++++++++-------------- src/game/chr/chraicommands.c | 12 +++++----- src/game/game_066310.c | 2 +- src/game/game_187770.c | 12 +++++----- src/game/game_197600.c | 4 ++-- src/include/commands.h | 24 +++++++++++++------- src/include/game/chr/chr.h | 6 ++--- src/include/game/chr/chraicommands.h | 4 ++-- src/setup/ailists.c | 12 ++++------ src/setup/setup_000000.c | 4 ++-- 10 files changed, 60 insertions(+), 54 deletions(-) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index e54f078de..7cd220de8 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -28671,7 +28671,7 @@ glabel func0f037224 /* f0372bc: 10000007 */ beqz $zero,.L0f0372dc /* f0372c0: 8fbf0014 */ lw $ra,0x14($sp) .L0f0372c4: -/* f0372c4: 0fc0e10f */ jal func0f03843c +/* f0372c4: 0fc0e10f */ jal chrGoToPos /* f0372c8: 90870065 */ lbu $a3,0x65($a0) /* f0372cc: 10000003 */ beqz $zero,.L0f0372dc /* f0372d0: 8fbf0014 */ lw $ra,0x14($sp) @@ -29935,7 +29935,7 @@ glabel func0f037b70 ); GLOBAL_ASM( -glabel func0f03843c +glabel chrGoToPos /* f03843c: 27bdff70 */ addiu $sp,$sp,-144 /* f038440: afbf001c */ sw $ra,0x1c($sp) /* f038444: afb00018 */ sw $s0,0x18($sp) @@ -30678,7 +30678,7 @@ glabel func0f038b9c /* f038ef8: 02602025 */ or $a0,$s3,$zero /* f038efc: 27a500a8 */ addiu $a1,$sp,0xa8 /* f038f00: 27a60060 */ addiu $a2,$sp,0x60 -/* f038f04: 0fc0e10f */ jal func0f03843c +/* f038f04: 0fc0e10f */ jal chrGoToPos /* f038f08: 24070008 */ addiu $a3,$zero,0x8 .L0f038f0c: /* f038f0c: 8fbf0044 */ lw $ra,0x44($sp) @@ -32448,7 +32448,7 @@ glabel func0f03a894 /* f03a920: 27a50020 */ addiu $a1,$sp,0x20 /* f03a924: 27a60074 */ addiu $a2,$sp,0x74 /* f03a928: 8fa70080 */ lw $a3,0x80($sp) -/* f03a92c: 0fc0e10f */ jal func0f03843c +/* f03a92c: 0fc0e10f */ jal chrGoToPos /* f03a930: a7a90074 */ sh $t1,0x74($sp) /* f03a934: 50400004 */ beqzl $v0,.L0f03a948 /* f03a938: 00001025 */ or $v0,$zero,$zero @@ -32510,7 +32510,7 @@ bool chrGoToTarget(struct chrdata *chr, u32 speed) (chr->flags & CHRFLAG0_CAN_RUN_FOR_ALARM)) { struct prop *prop = chrGetTargetProp(chr); - if (func0f03843c(chr, &prop->pos, &prop->rooms[0], speed)) { + if (chrGoToPos(chr, &prop->pos, &prop->rooms[0], speed)) { return true; } } @@ -32527,7 +32527,7 @@ bool chrGoToChr(struct chrdata *chr, u32 dst_chrnum, u32 speed) (chr->flags & CHRFLAG0_CAN_RUN_FOR_ALARM)) { struct chrdata *dstchr = chrFindById(chr, dst_chrnum); - if (dstchr && dstchr->prop && func0f03843c(chr, &dstchr->prop->pos, &dstchr->prop->rooms[0], speed)) { + if (dstchr && dstchr->prop && chrGoToPos(chr, &dstchr->prop->pos, &dstchr->prop->rooms[0], speed)) { return true; } } @@ -32536,10 +32536,10 @@ bool chrGoToChr(struct chrdata *chr, u32 dst_chrnum, u32 speed) return false; } -bool func0f03ab74(struct chrdata *chr, struct prop *prop, s32 arg2) +bool chrGoToProp(struct chrdata *chr, struct prop *prop, s32 speed) { if (func0f039a18(chr) && prop) { - if (func0f03843c(chr, &prop->pos, &prop->rooms[0], arg2)) { + if (chrGoToPos(chr, &prop->pos, &prop->rooms[0], speed)) { return true; } } @@ -32593,7 +32593,7 @@ glabel func0f03abd0 /* f03ac64: 12000008 */ beqz $s0,.L0f03ac88 /* f03ac68: 8fa5008c */ lw $a1,0x8c($sp) /* f03ac6c: 02003025 */ or $a2,$s0,$zero -/* f03ac70: 0fc0e10f */ jal func0f03843c +/* f03ac70: 0fc0e10f */ jal chrGoToPos /* f03ac74: 8fa70090 */ lw $a3,0x90($sp) /* f03ac78: 50400004 */ beqzl $v0,.L0f03ac8c /* f03ac7c: 00001025 */ or $v0,$zero,$zero @@ -32636,7 +32636,7 @@ glabel func0f03aca0 /* f03acf4: 0fc12e8d */ jal func0f04ba34 /* f03acf8: 8c84a3e4 */ lw $a0,-0x5c1c($a0) /* f03acfc: 02002025 */ or $a0,$s0,$zero -/* f03ad00: 0fc1309a */ jal func0f04c268 +/* f03ad00: 0fc1309a */ jal chrGoToCover /* f03ad04: 24050002 */ addiu $a1,$zero,0x2 /* f03ad08: 1000001c */ beqz $zero,.L0f03ad7c /* f03ad0c: 8fbf001c */ lw $ra,0x1c($sp) @@ -32667,7 +32667,7 @@ glabel func0f03aca0 /* f03ad68: 00003025 */ or $a2,$zero,$zero .L0f03ad6c: /* f03ad6c: 02002025 */ or $a0,$s0,$zero -/* f03ad70: 0fc1309a */ jal func0f04c268 +/* f03ad70: 0fc1309a */ jal chrGoToCover /* f03ad74: 24050002 */ addiu $a1,$zero,0x2 /* f03ad78: 8fbf001c */ lw $ra,0x1c($sp) .L0f03ad7c: @@ -32891,7 +32891,7 @@ glabel func0f03afac /* f03b1ac: 8fa40088 */ lw $a0,0x88($sp) /* f03b1b0: 27a50068 */ addiu $a1,$sp,0x68 /* f03b1b4: 27a60058 */ addiu $a2,$sp,0x58 -/* f03b1b8: 0fc0e10f */ jal func0f03843c +/* f03b1b8: 0fc0e10f */ jal chrGoToPos /* f03b1bc: 02003825 */ or $a3,$s0,$zero /* f03b1c0: 10000002 */ beqz $zero,.L0f03b1cc /* f03b1c4: 24020001 */ addiu $v0,$zero,0x1 @@ -33141,7 +33141,7 @@ glabel func0f03b1e0 /* f03b54c: 8fa402b8 */ lw $a0,0x2b8($sp) /* f03b550: 27a50068 */ addiu $a1,$sp,0x68 /* f03b554: 02403025 */ or $a2,$s2,$zero -/* f03b558: 0fc0e10f */ jal func0f03843c +/* f03b558: 0fc0e10f */ jal chrGoToPos /* f03b55c: 02203825 */ or $a3,$s1,$zero /* f03b560: 3c0e800a */ lui $t6,0x800a /* f03b564: 8dcea2f8 */ lw $t6,-0x5d08($t6) @@ -45547,7 +45547,7 @@ glabel func0f046a8c /* f046b70: 10000211 */ beqz $zero,.L0f0473b8 /* f046b74: ae0b00d8 */ sw $t3,0xd8($s0) .L0f046b78: -/* f046b78: 0fc0e10f */ jal func0f03843c +/* f046b78: 0fc0e10f */ jal chrGoToPos /* f046b7c: 92070065 */ lbu $a3,0x65($s0) .L0f046b80: /* f046b80: 0fc0dc89 */ jal func0f037224 @@ -51411,7 +51411,7 @@ glabel func0f04bffc /* f04c264: 27bd00a8 */ addiu $sp,$sp,0xa8 ); -s16 func0f04c268(struct chrdata *chr, u8 speed) +s16 chrGoToCover(struct chrdata *chr, u8 speed) { struct cover cover; @@ -51420,7 +51420,7 @@ s16 func0f04c268(struct chrdata *chr, u8 speed) } if (func0f039a18(chr) && chr->cover != -1 && coverLoad(chr->cover, &cover)) { - func0f03843c(chr, cover.pos, &cover.room, speed); + chrGoToPos(chr, cover.pos, &cover.room, speed); return chr->cover; } @@ -51509,7 +51509,7 @@ glabel func0f04c2e8 /* f04c410: 02002025 */ or $a0,$s0,$zero /* f04c414: 27a50040 */ addiu $a1,$sp,0x40 /* f04c418: 27a60030 */ addiu $a2,$sp,0x30 -/* f04c41c: 0fc0e10f */ jal func0f03843c +/* f04c41c: 0fc0e10f */ jal chrGoToPos /* f04c420: 8fa70054 */ lw $a3,0x54($sp) /* f04c424: 10000003 */ beqz $zero,.L0f04c434 /* f04c428: 8fbf0024 */ lw $ra,0x24($sp) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index b62e38b5e..f518d52fa 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -8726,10 +8726,10 @@ bool ai0123(void) /** * @cmd 0124 */ -bool ai0124(void) +bool aiGoToCover(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - func0f04c268(g_Vars.chrdata, cmd[2]); + chrGoToCover(g_Vars.chrdata, cmd[2]); g_Vars.aioffset += 3; return false; @@ -10537,7 +10537,7 @@ glabel ai0136 /* f05b3ac: afa30024 */ sw $v1,0x24($sp) /* f05b3b0: 8fa30024 */ lw $v1,0x24($sp) /* f05b3b4: 8e040424 */ lw $a0,0x424($s0) -/* f05b3b8: 0fc1309a */ jal func0f04c268 +/* f05b3b8: 0fc1309a */ jal chrGoToCover /* f05b3bc: 90650002 */ lbu $a1,0x2($v1) /* f05b3c0: 8e190438 */ lw $t9,0x438($s0) .L0f05b3c4: @@ -10810,7 +10810,7 @@ bool aiIfDangerousObjectNearby(void) bool ai013e(void) { if (func0f03aca0(g_Vars.chrdata, 0x43c80000, 1) == 0 && func0f04bffc(g_Vars.chrdata, 1000, 12000) != -1) { - func0f04c268(g_Vars.chrdata, 2); + chrGoToCover(g_Vars.chrdata, SPEED_RUN); } g_Vars.aioffset += 2; @@ -11787,14 +11787,14 @@ bool aiIfChrHasGun(void) /** * @cmd 0170 */ -bool ai0170(void) +bool aiDoGunCommand(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; struct weaponobj *weapon = g_Vars.chrdata->gunprop->weapon; if (cmd[2] == 0 || ((weapon->hidden & OBJHFLAG_00000080) == 0 && cmd[2] == 1)) { if (cmd[2] == 0) { - func0f03ab74(g_Vars.chrdata, g_Vars.chrdata->gunprop, 1); + chrGoToProp(g_Vars.chrdata, g_Vars.chrdata->gunprop, SPEED_JOG); } g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]); diff --git a/src/game/game_066310.c b/src/game/game_066310.c index f8cb30519..562d6d4f2 100644 --- a/src/game/game_066310.c +++ b/src/game/game_066310.c @@ -47332,7 +47332,7 @@ glabel func0f08f11c /* f08f2d0: 02202025 */ or $a0,$s1,$zero /* f08f2d4: 24450008 */ addiu $a1,$v0,0x8 /* f08f2d8: 24460028 */ addiu $a2,$v0,0x28 -/* f08f2dc: 0fc0e10f */ jal func0f03843c +/* f08f2dc: 0fc0e10f */ jal chrGoToPos /* f08f2e0: 00003825 */ or $a3,$zero,$zero /* f08f2e4: 10400013 */ beqz $v0,.L0f08f334 /* f08f2e8: 24090258 */ addiu $t1,$zero,0x258 diff --git a/src/game/game_187770.c b/src/game/game_187770.c index 6557a0d3a..77b3969ac 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -16741,7 +16741,7 @@ glabel func0f194b40 /* f1963d8: 02802025 */ or $a0,$s4,$zero /* f1963dc: 50a00079 */ beqzl $a1,.L0f1965c4 /* f1963e0: 928202a0 */ lbu $v0,0x2a0($s4) -/* f1963e4: 0fc0eadd */ jal func0f03ab74 +/* f1963e4: 0fc0eadd */ jal chrGoToProp /* f1963e8: 24060002 */ addiu $a2,$zero,0x2 /* f1963ec: 10000074 */ beqz $zero,.L0f1965c0 /* f1963f0: a29502a0 */ sb $s5,0x2a0($s4) @@ -16786,7 +16786,7 @@ glabel func0f194b40 .L0f196480: /* f196480: 2645008c */ addiu $a1,$s2,0x8c /* f196484: 2646007a */ addiu $a2,$s2,0x7a -/* f196488: 0fc0e10f */ jal func0f03843c +/* f196488: 0fc0e10f */ jal chrGoToPos /* f19648c: 24070002 */ addiu $a3,$zero,0x2 /* f196490: 1000004c */ beqz $zero,.L0f1965c4 /* f196494: 928202a0 */ lbu $v0,0x2a0($s4) @@ -16843,7 +16843,7 @@ glabel func0f194b40 /* f196550: 05800005 */ bltz $t4,.L0f196568 /* f196554: 00000000 */ sll $zero,$zero,0x0 .L0f196558: -/* f196558: 0fc0e10f */ jal func0f03843c +/* f196558: 0fc0e10f */ jal chrGoToPos /* f19655c: a29502a0 */ sb $s5,0x2a0($s4) /* f196560: 10000018 */ beqz $zero,.L0f1965c4 /* f196564: 928202a0 */ lbu $v0,0x2a0($s4) @@ -16862,7 +16862,7 @@ glabel func0f194b40 /* f196590: 5300000c */ beqzl $t8,.L0f1965c4 /* f196594: 928202a0 */ lbu $v0,0x2a0($s4) /* f196598: a29502a0 */ sb $s5,0x2a0($s4) -/* f19659c: 0fc0eadd */ jal func0f03ab74 +/* f19659c: 0fc0eadd */ jal chrGoToProp /* f1965a0: 8e450010 */ lw $a1,0x10($s2) /* f1965a4: 10000007 */ beqz $zero,.L0f1965c4 /* f1965a8: 928202a0 */ lbu $v0,0x2a0($s4) @@ -17115,7 +17115,7 @@ glabel func0f194b40 /* f19692c: 2645008c */ addiu $a1,$s2,0x8c /* f196930: 1d60001e */ bgtz $t3,.L0f1969ac /* f196934: 2646007a */ addiu $a2,$s2,0x7a -/* f196938: 0fc0e10f */ jal func0f03843c +/* f196938: 0fc0e10f */ jal chrGoToPos /* f19693c: 24070002 */ addiu $a3,$zero,0x2 /* f196940: 1000001b */ beqz $zero,.L0f1969b0 /* f196944: 8e4900dc */ lw $t1,0xdc($s2) @@ -17974,6 +17974,6 @@ void func0f197544(struct chrdata *chr) } if (!pass) { - func0f03843c(chr, &chr->act_aibotgetitem.pos, &chr->act_aibotgetitem.rooms[0], chr->speed); + chrGoToPos(chr, &chr->act_aibotgetitem.pos, &chr->act_aibotgetitem.rooms[0], chr->speed); } } diff --git a/src/game/game_197600.c b/src/game/game_197600.c index b9f4cf097..8bcff5e0a 100644 --- a/src/game/game_197600.c +++ b/src/game/game_197600.c @@ -402,14 +402,14 @@ glabel func0f197600 .L0f197ab0: /* f197ab0: 00e02825 */ or $a1,$a3,$zero /* f197ab4: 24060002 */ addiu $a2,$zero,0x2 -/* f197ab8: 0fc0eadd */ jal func0f03ab74 +/* f197ab8: 0fc0eadd */ jal chrGoToProp /* f197abc: afa80054 */ sw $t0,0x54($sp) /* f197ac0: 10000006 */ beqz $zero,.L0f197adc /* f197ac4: 8fa80054 */ lw $t0,0x54($sp) .L0f197ac8: /* f197ac8: 00e02825 */ or $a1,$a3,$zero /* f197acc: 24060002 */ addiu $a2,$zero,0x2 -/* f197ad0: 0fc0eadd */ jal func0f03ab74 +/* f197ad0: 0fc0eadd */ jal chrGoToProp /* f197ad4: afa80054 */ sw $t0,0x54($sp) /* f197ad8: 8fa80054 */ lw $t0,0x54($sp) .L0f197adc: diff --git a/src/include/commands.h b/src/include/commands.h index 1109bf42d..896032cf6 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -2463,9 +2463,9 @@ mkword(flags), \ label, -#define cmd0124_run_for_cover_maybe(action) \ +#define go_to_cover(speed) \ mkshort(0x0124), \ - action, + speed, // Related to command 012f // globals.c only @@ -2945,13 +2945,19 @@ 0x00, \ label, -// If bool is false, run some function on the chr and their gun ground -// prop, then follow the label. -// If bool is true, don't call the function, and only follow the label if the -// gun prop has OBJHFLAG_00000080. -#define if_gun_landed(bool, label) \ +/** + * If operation is 1, checks if the chr's dropped gun can be run to and follow + * the label if so. + * + * If operation is 0, makes the chr run to the dropped gun. No check is done, + * and the label is followed. + * + * Don't use this directly. Use convenience macros if_gun_landed and go_to_gun + * instead. + */ +#define do_gun_command(operation, label) \ mkshort(0x0170), \ - bool, \ + operation, \ label, /** @@ -3800,3 +3806,5 @@ #define if_stage_is_not(stage, label) if_stage_lt(stage, label) if_stage_gt(stage, label) +#define go_to_gun(label) do_gun_command(0, label) +#define if_gun_landed(label) do_gun_command(1, label) diff --git a/src/include/game/chr/chr.h b/src/include/game/chr/chr.h index 27c538fd9..6300581cb 100644 --- a/src/include/game/chr/chr.h +++ b/src/include/game/chr/chr.h @@ -218,7 +218,7 @@ u32 func0f0375b0(void); u32 func0f0375e8(void); u32 func0f0379b0(void); u32 func0f037b70(void); -u32 func0f03843c(struct chrdata *chr, struct coord *pos, s16 *room_id, u32 speed); +u32 chrGoToPos(struct chrdata *chr, struct coord *pos, s16 *room_id, u32 speed); struct path *pathFindById(u32 path_id); u32 func0f038868(void); void func0f038b9c(struct chrdata *chr, struct path *path); @@ -254,7 +254,7 @@ u32 chrTrySurrender(struct chrdata *chr); bool chrFadeOut(struct chrdata *chr); bool chrGoToTarget(struct chrdata *chr, u32 speed); bool chrGoToChr(struct chrdata *chr, u32 dst_chrnum, u32 speed); -bool func0f03ab74(struct chrdata *chr, struct prop *prop, s32 arg2); +bool chrGoToProp(struct chrdata *chr, struct prop *prop, s32 speed); u32 func0f03abd0(void); u32 func0f03aca0(struct chrdata *chr, u32 arg1, u32 arg2); bool chrTryStop(struct chrdata *chr); @@ -393,7 +393,7 @@ u32 func0f04b748(void); u32 func0f04b950(struct chrdata *chr, u32 cover, u32 arg2); u32 func0f04ba34(struct chrdata *chr, u16 arg1, u32 arg2); u32 func0f04bffc(struct chrdata *chr, u32 arg1, u32 arg2); -s16 func0f04c268(struct chrdata *chr, u8 speed); +s16 chrGoToCover(struct chrdata *chr, u8 speed); u32 func0f04c2e8(void); void chrAddTargetToBdlist(struct chrdata *chr); s32 chrGetDistanceLostToTargetInLastSecond(struct chrdata *chr); diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index 34f7cd6ae..dfd888d50 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -292,7 +292,7 @@ /*0x0121*/ bool ai0121(void); /*0x0122*/ bool ai0122(void); /*0x0123*/ bool ai0123(void); -/*0x0124*/ bool ai0124(void); +/*0x0124*/ bool aiGoToCover(void); /*0x0125*/ bool ai0125(void); /*0x0126*/ bool aiIfPlayerUsingCmpOrAr34(void); /*0x0127*/ bool ai0127(void); @@ -345,7 +345,7 @@ /*0x016d*/ bool aiChrAdjustMotionBlur(void); /*0x016e*/ bool ai016e(void); /*0x016f*/ bool aiIfChrHasGun(void); -/*0x0170*/ bool ai0170(void); +/*0x0170*/ bool aiDoGunCommand(void); /*0x0171*/ bool aiIfDistanceToGunLessThan(void); /*0x0172*/ bool ai0172(void); /*0x0173*/ bool aiChrCopyProperties(void); diff --git a/src/setup/ailists.c b/src/setup/ailists.c index f904384a4..ae8ca87ad 100644 --- a/src/setup/ailists.c +++ b/src/setup/ailists.c @@ -964,15 +964,13 @@ u8 func0007_alerted[] = { goto_next(LABEL_GETGUN_FAILED) label(0x13) - if_gun_landed(TRUE, /*goto*/ 0xb1) + if_gun_landed(/*goto*/ 0xb1) if_timer_gt(300, /*goto*/ LABEL_GETGUN_FAILED) goto_first(0xb0) - // Note: When if_gun_landed param is FALSE, it's not actually an if - // statement, but does some task. label(0xb1) restart_timer - if_gun_landed(FALSE, /*goto*/ 0xad) + go_to_gun(/*goto*/ 0xad) beginloop(0xad) dprint 'G','O',' ','F','O','R',' ','G','U','N','\n',0, @@ -1252,7 +1250,7 @@ u8 func0007_alerted[] = { unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) label(0x16) - cmd0124_run_for_cover_maybe(2) + go_to_cover(SPEED_RUN) beginloop(0xa6) if_chr_stopped(/*goto*/ 0xa7) @@ -1493,7 +1491,7 @@ u8 func0007_alerted[] = { label(0x16) say_quip(CHR_BOND, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) restart_timer - cmd0124_run_for_cover_maybe(MA_COVERWAIT) + go_to_cover(SPEED_RUN) beginloop(0x55) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) @@ -3292,7 +3290,7 @@ u8 func000c_combat_with_target_chr[] = { label(0x53) dprint 'G','O',' ','T','O',' ','C','O','V','E','R','\n',0, say_quip(CHR_BOND, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) - cmd0124_run_for_cover_maybe(MA_COVERWAIT) + go_to_cover(SPEED_RUN) restart_timer beginloop(0xc7) diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index f6a595d25..b4d6a66af 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -14426,7 +14426,7 @@ bool (*g_CommandPointers[])(void) = { /*0x0121*/ ai0121, /*0x0122*/ ai0122, /*0x0123*/ ai0123, - /*0x0124*/ ai0124, + /*0x0124*/ aiGoToCover, /*0x0125*/ ai0125, /*0x0126*/ aiIfPlayerUsingCmpOrAr34, /*0x0127*/ ai0127, @@ -14502,7 +14502,7 @@ bool (*g_CommandPointers[])(void) = { /*0x016d*/ aiChrAdjustMotionBlur, /*0x016e*/ ai016e, /*0x016f*/ aiIfChrHasGun, - /*0x0170*/ ai0170, + /*0x0170*/ aiDoGunCommand, /*0x0171*/ aiIfDistanceToGunLessThan, /*0x0172*/ ai0172, /*0x0173*/ aiChrCopyProperties,