From cc26c9b800cd9834641b383e2dd2f04c9c6d7730 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 21 Dec 2019 00:03:31 +1000 Subject: [PATCH] Decompile func0f04cf34 and func0f004cd84 --- src/game/chr/chr.c | 45 ++++++++++++++------------------------ src/gvars/gvars.c | 6 +---- src/include/game/chr/chr.h | 2 +- src/include/gvars/gvars.h | 2 +- 4 files changed, 20 insertions(+), 35 deletions(-) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 70f285909..d2319e212 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -53499,34 +53499,23 @@ glabel func0f04ceec /* f04cf30: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f04cf34 -/* f04cf34: afa40000 */ sw $a0,0x0($sp) -/* f04cf38: 00047400 */ sll $t6,$a0,0x10 -/* f04cf3c: 3c03800a */ lui $v1,%hi(var8009cd70) -/* f04cf40: 000e2403 */ sra $a0,$t6,0x10 -/* f04cf44: 2463cd70 */ addiu $v1,$v1,%lo(var8009cd70) -/* f04cf48: 00001025 */ or $v0,$zero,$zero -.L0f04cf4c: -/* f04cf4c: 0002c080 */ sll $t8,$v0,0x2 -/* f04cf50: 0078c821 */ addu $t9,$v1,$t8 -/* f04cf54: 8f280000 */ lw $t0,0x0($t9) -/* f04cf58: 24420001 */ addiu $v0,$v0,0x1 -/* f04cf5c: 304900ff */ andi $t1,$v0,0xff -/* f04cf60: 14880003 */ bne $a0,$t0,.L0f04cf70 -/* f04cf64: 29210005 */ slti $at,$t1,0x5 -/* f04cf68: 03e00008 */ jr $ra -/* f04cf6c: 00001025 */ or $v0,$zero,$zero -.L0f04cf70: -/* f04cf70: 1420fff6 */ bnez $at,.L0f04cf4c -/* f04cf74: 01201025 */ or $v0,$t1,$zero -/* f04cf78: 24020001 */ addiu $v0,$zero,0x1 -/* f04cf7c: 03e00008 */ jr $ra -/* f04cf80: 00000000 */ sll $zero,$zero,0x0 -/* f04cf84: afa50004 */ sw $a1,0x4($sp) -/* f04cf88: 03e00008 */ jr $ra -/* f04cf8c: 00801025 */ or $v0,$a0,$zero -); +bool func0f04cf34(s16 value) +{ + u8 i; + + for (i = 0; i < 5; i++) { + if (var8009cd70[i] == value) { + return false; + } + } + + return true; +} + +s32 func0f004cd84(s32 arg0, s32 arg1) +{ + return arg0; +} void func0f04cf90(struct chrdata *chr, s32 arg1) { diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 908ae209c..34754e28c 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -16145,11 +16145,7 @@ u32 var8009cd60 = 0; u32 var8009cd64 = 0; u32 var8009cd68 = 0; u32 var8009cd6c = 0; -u32 var8009cd70 = 0; -u32 var8009cd74 = 0; -u32 var8009cd78 = 0; -u32 var8009cd7c = 0; -u32 var8009cd80 = 0; +s32 var8009cd70[] = {0, 0, 0, 0, 0}; u32 var8009cd84 = 0; u32 var8009cd88 = 0; u32 var8009cd8c = 0; diff --git a/src/include/game/chr/chr.h b/src/include/game/chr/chr.h index 5e46c9f1c..6453ce8c0 100644 --- a/src/include/game/chr/chr.h +++ b/src/include/game/chr/chr.h @@ -405,7 +405,7 @@ u32 func0f04cd04(void); s16 *teamGetChrIds(s32 team_id); s16 *squadronGetChrIds(s32 squadron_id); u32 func0f04ceec(void); -u32 func0f04cf34(void); +bool func0f04cf34(s16 value); void func0f04cf90(struct chrdata *chr, s32 arg1); u32 func0f04d000(struct chrdata *chr); bool func0f04d44c(struct chrdata *chr); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index eb67c9c57..11b96e6e6 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -562,7 +562,7 @@ extern u32 var8009cd18; extern u32 var8009cd20; extern u32 var8009cd28; extern u32 var8009cd48; -extern u32 var8009cd70; +extern s32 var8009cd70[5]; extern u32 var8009cd98; extern u32 var8009cda0; extern u32 var8009cda4;