From e1784bfa1b3ebf2d58848d8ae408d8eaf0b47c55 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 19 Oct 2019 15:11:18 +1000 Subject: [PATCH] Decompile aiSetAccuracy --- src/game/chr/chraicommands.c | 25 +++++++++---------------- src/include/game/chr/chraicommands.h | 2 +- src/include/types.h | 2 +- src/setup/setup_000000.c | 2 +- 4 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index f05a69adc..9207d88e8 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -5563,22 +5563,15 @@ bool aiSetRecoverySpeed(void) /** * @cmd 009a */ -GLOBAL_ASM( -glabel ai009a -/* f053c3c: 3c04800a */ lui $a0,0x800a -/* f053c40: 24849fc0 */ addiu $a0,$a0,-24640 -/* f053c44: 8c8e0434 */ lw $t6,0x434($a0) -/* f053c48: 8c8f0438 */ lw $t7,0x438($a0) -/* f053c4c: 8c990424 */ lw $t9,0x424($a0) -/* f053c50: 00001025 */ or $v0,$zero,$zero -/* f053c54: 01cf1821 */ addu $v1,$t6,$t7 -/* f053c58: 80780002 */ lb $t8,0x2($v1) -/* f053c5c: a3380002 */ sb $t8,0x2($t9) -/* f053c60: 8c880438 */ lw $t0,0x438($a0) -/* f053c64: 25090003 */ addiu $t1,$t0,0x3 -/* f053c68: 03e00008 */ jr $ra -/* f053c6c: ac890438 */ sw $t1,0x438($a0) -); +bool aiSetAccuracy(void) +{ + s8 *cmd = g_Vars.ailist + g_Vars.aioffset; + + g_Vars.chrdata->accuracyrating = cmd[2]; + g_Vars.aioffset += 3; + + return false; +} /** * @cmd 01c6 diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index d68fb67c7..5c4a74b72 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -156,7 +156,7 @@ /*0x0097*/ bool ai0097(void); /*0x0098*/ bool aiSetReactionSpeed(void); /*0x0099*/ bool aiSetRecoverySpeed(void); -/*0x009a*/ bool ai009a(void); +/*0x009a*/ bool aiSetAccuracy(void); /*0x009b*/ bool ai009b(void); /*0x009c*/ bool ai009c(void); /*0x009d*/ bool ai009d(void); diff --git a/src/include/types.h b/src/include/types.h index 18377235d..736b430c5 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -33,7 +33,7 @@ struct bitfielddata { struct chrdata { /*0x000*/ s16 chrnum; - /*0x002*/ u8 accuracyrating; + /*0x002*/ s8 accuracyrating; /*0x003*/ s8 speedrating; /*0x004*/ u16 firecount; /*0x006*/ u8 headnum; diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index 223600b94..97f9cb477 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -14107,7 +14107,7 @@ bool (*command_pointers[])(void) = { /*0x0097*/ ai0097, /*0x0098*/ aiSetReactionSpeed, /*0x0099*/ aiSetRecoverySpeed, - /*0x009a*/ ai009a, + /*0x009a*/ aiSetAccuracy, /*0x009b*/ ai009b, /*0x009c*/ ai009c, /*0x009d*/ ai009d,