From b11b9362a4115a97a22639cf8083ea938d7c7c67 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 2 Nov 2019 16:21:52 +1000 Subject: [PATCH] Decompile chrSetFlagsById --- src/game/chr/chraicommands.c | 2 +- src/game/game_000000.c | 26 ++++++++------------------ src/include/game/game_000000.h | 2 +- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 293f1e300..98fab59ec 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -5672,7 +5672,7 @@ bool aiChrSetFlag(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; u32 flags = (cmd[4] << 16) | (cmd[5] << 8) | cmd[6] | (cmd[3] << 24); - func0f049e78(g_Vars.chrdata, cmd[2], flags, cmd[7]); + chrSetFlagsById(g_Vars.chrdata, cmd[2], flags, cmd[7]); g_Vars.aioffset += 8; return false; diff --git a/src/game/game_000000.c b/src/game/game_000000.c index 551a2dd20..ba8d48b9a 100644 --- a/src/game/game_000000.c +++ b/src/game/game_000000.c @@ -84649,24 +84649,14 @@ bool chrHasFlag(struct chrdata *chr, u32 flag, u8 bank) } } -GLOBAL_ASM( -glabel func0f049e78 -/* f049e78: 27bdffe8 */ addiu $sp,$sp,-24 -/* f049e7c: afbf0014 */ sw $ra,0x14($sp) -/* f049e80: afa60020 */ sw $a2,0x20($sp) -/* f049e84: 0fc126d1 */ jal chrFindById -/* f049e88: afa70024 */ sw $a3,0x24($sp) -/* f049e8c: 10400004 */ beqz $v0,.L0f049ea0 -/* f049e90: 00402025 */ or $a0,$v0,$zero -/* f049e94: 8fa50020 */ lw $a1,0x20($sp) -/* f049e98: 0fc12776 */ jal chrSetFlags -/* f049e9c: 93a60027 */ lbu $a2,0x27($sp) -.L0f049ea0: -/* f049ea0: 8fbf0014 */ lw $ra,0x14($sp) -/* f049ea4: 27bd0018 */ addiu $sp,$sp,0x18 -/* f049ea8: 03e00008 */ jr $ra -/* f049eac: 00000000 */ sll $zero,$zero,0x0 -); +void chrSetFlagsById(struct chrdata *ref, u32 chrnum, u32 flags, u32 bank) +{ + struct chrdata *chr = chrFindById(ref, chrnum); + + if (chr) { + chrSetFlags(chr, flags, bank); + } +} GLOBAL_ASM( glabel func0f049eb0 diff --git a/src/include/game/game_000000.h b/src/include/game/game_000000.h index a0491d164..4b68b2343 100644 --- a/src/include/game/game_000000.h +++ b/src/include/game/game_000000.h @@ -4,7 +4,7 @@ #include "constants.h" struct chrdata *chrFindByLiteralId(u8 chrnum); -struct chrdata *chrFindById(struct chrdata *data, u8 chrnum); +struct chrdata *chrFindById(struct chrdata *data, u32 chrnum); float chrGetTimer(struct chrdata *chr);