From 1972abf0bfa8e6d3eaf12749fd85ea133c23da33 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 22 Dec 2019 09:58:58 +1000 Subject: [PATCH] Decompile chrSetPadPresetByChrnum --- src/game/chr/chr.c | 28 ++++++++-------------------- src/game/chr/chraicommands.c | 2 +- src/include/game/chr/chr.h | 2 +- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 485f23e10..be4d439a0 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -51033,26 +51033,14 @@ void chrSetPadPreset(struct chrdata *chr, s32 pad_id) chr->padpreset1 = padResolve(chr, pad_id); } -GLOBAL_ASM( -glabel func0f04acc8 -/* f04acc8: 27bdffe0 */ addiu $sp,$sp,-32 -/* f04accc: afbf0014 */ sw $ra,0x14($sp) -/* f04acd0: afa40020 */ sw $a0,0x20($sp) -/* f04acd4: 0fc126d1 */ jal chrFindById -/* f04acd8: afa60028 */ sw $a2,0x28($sp) -/* f04acdc: 10400006 */ beqz $v0,.L0f04acf8 -/* f04ace0: 8fa40020 */ lw $a0,0x20($sp) -/* f04ace4: 8fa50028 */ lw $a1,0x28($sp) -/* f04ace8: 0fc1258b */ jal padResolve -/* f04acec: afa2001c */ sw $v0,0x1c($sp) -/* f04acf0: 8fa3001c */ lw $v1,0x1c($sp) -/* f04acf4: a4620128 */ sh $v0,0x128($v1) -.L0f04acf8: -/* f04acf8: 8fbf0014 */ lw $ra,0x14($sp) -/* f04acfc: 27bd0020 */ addiu $sp,$sp,0x20 -/* f04ad00: 03e00008 */ jr $ra -/* f04ad04: 00000000 */ sll $zero,$zero,0x0 -); +void chrSetPadPresetByChrnum(struct chrdata *basechr, s32 chrnum, s32 pad_id) +{ + struct chrdata *chr = chrFindById(basechr, chrnum); + + if (chr) { + chr->padpreset1 = padResolve(basechr, pad_id); + } +} GLOBAL_ASM( glabel func0f04ad08 diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 514ff8686..cdd99a94c 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -5294,7 +5294,7 @@ bool aiChrSetPadPreset(void) u8 *cmd = g_Vars.ailist + g_Vars.aioffset; u16 pad_id = cmd[4] | (cmd[3] << 8); - func0f04acc8(g_Vars.chrdata, cmd[2], pad_id); + chrSetPadPresetByChrnum(g_Vars.chrdata, cmd[2], pad_id); g_Vars.aioffset += 5; diff --git a/src/include/game/chr/chr.h b/src/include/game/chr/chr.h index f74b61484..b46f0e129 100644 --- a/src/include/game/chr/chr.h +++ b/src/include/game/chr/chr.h @@ -380,7 +380,7 @@ bool func0f04a7dc(u8 arg0, struct chrdata *chr, float distance, s32 arg3); bool func0f04a848(u8 chrnum, struct chrdata *chr, float distance, struct coord *coord, s16 *room); u32 func0f04aa8c(struct chrdata *a, struct chrdata *b, u32 arg2); u32 func0f04ac60(struct chrdata *chr, u32 arg1, u32 arg2); -u32 func0f04acc8(struct chrdata *chr, s32 arg1, s32 pad_id); +void chrSetPadPresetByChrnum(struct chrdata *chr, s32 chrnum, s32 pad_id); u32 func0f04ad08(struct chrdata *chr); u32 func0f04aeb0(void); u32 func0f04af84(void);