From 74f05b445549849786596f46dae5fd69ec3c52a4 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 9 Oct 2019 22:40:18 +1000 Subject: [PATCH] Decompile chrSetFlags --- src/game/chr/chrai.c | 4 ++-- src/game/chr/chraicommands.c | 2 +- src/game/game_000000.c | 26 +++++++++----------------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/game/chr/chrai.c b/src/game/chr/chrai.c index c6d0d7308..7939716a2 100644 --- a/src/game/chr/chrai.c +++ b/src/game/chr/chrai.c @@ -340,11 +340,11 @@ glabel chraiExecute /* f04da6c: 1041000f */ beq $v0,$at,.L0f04daac /* f04da70: 00e02025 */ or $a0,$a3,$zero /* f04da74: 24050400 */ addiu $a1,$zero,0x400 -/* f04da78: 0fc12776 */ jal func0f049dd8 +/* f04da78: 0fc12776 */ jal chrSetFlags /* f04da7c: 24060001 */ addiu $a2,$zero,0x1 /* f04da80: 8e040424 */ lw $a0,0x424($s0) /* f04da84: 3c051000 */ lui $a1,0x1000 -/* f04da88: 0fc12776 */ jal func0f049dd8 +/* f04da88: 0fc12776 */ jal chrSetFlags /* f04da8c: 24060001 */ addiu $a2,$zero,0x1 /* f04da90: 8e0c0424 */ lw $t4,0x424($s0) /* f04da94: a1800113 */ sb $zero,0x113($t4) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 6206cb5c1..5949793f0 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -6326,7 +6326,7 @@ glabel ai009b /* f053d58: 014c6825 */ or $t5,$t2,$t4 /* f053d5c: 90460006 */ lbu $a2,0x6($v0) /* f053d60: 8c640424 */ lw $a0,0x424($v1) -/* f053d64: 0fc12776 */ jal func0f049dd8 +/* f053d64: 0fc12776 */ jal chrSetFlags /* f053d68: 01ae2825 */ or $a1,$t5,$t6 /* f053d6c: 3c03800a */ lui $v1,0x800a /* f053d70: 24639fc0 */ addiu $v1,$v1,-24640 diff --git a/src/game/game_000000.c b/src/game/game_000000.c index b0f3e1342..89ec849f0 100644 --- a/src/game/game_000000.c +++ b/src/game/game_000000.c @@ -83312,22 +83312,14 @@ glabel func0f049d34 /* f049dd4: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f049dd8 -/* f049dd8: 30ce00ff */ andi $t6,$a2,0xff -/* f049ddc: 15c00005 */ bnez $t6,.L0f049df4 -/* f049de0: afa60008 */ sw $a2,0x8($sp) -/* f049de4: 8c8f0114 */ lw $t7,0x114($a0) -/* f049de8: 01e5c025 */ or $t8,$t7,$a1 -/* f049dec: 03e00008 */ jr $ra -/* f049df0: ac980114 */ sw $t8,0x114($a0) -.L0f049df4: -/* f049df4: 8c990118 */ lw $t9,0x118($a0) -/* f049df8: 03254025 */ or $t0,$t9,$a1 -/* f049dfc: ac880118 */ sw $t0,0x118($a0) -/* f049e00: 03e00008 */ jr $ra -/* f049e04: 00000000 */ sll $zero,$zero,0x0 -); +void chrSetFlags(struct chrdata *chr, u32 flags, u8 bank) +{ + if (bank == 0) { + chr->flags |= flags; + } else { + chr->flags2 |= flags; + } +} GLOBAL_ASM( glabel func0f049e08 @@ -83377,7 +83369,7 @@ glabel func0f049e78 /* f049e8c: 10400004 */ beqz $v0,.L0f049ea0 /* f049e90: 00402025 */ or $a0,$v0,$zero /* f049e94: 8fa50020 */ lw $a1,0x20($sp) -/* f049e98: 0fc12776 */ jal func0f049dd8 +/* f049e98: 0fc12776 */ jal chrSetFlags /* f049e9c: 93a60027 */ lbu $a2,0x27($sp) .L0f049ea0: /* f049ea0: 8fbf0014 */ lw $ra,0x14($sp)