From b3173b9b87f8f3be80985de8da2dcb8249bd5ad4 Mon Sep 17 00:00:00 2001 From: Ryan Myers Date: Sun, 24 Oct 2021 22:26:13 -0400 Subject: [PATCH] Match func_800096F8 --- .../unknown_005740/func_800096F8.s | 26 ------------------- src/unknown_008C40.c | 20 +++++++++++++- src/unknown_008C40.h | 4 +-- 3 files changed, 21 insertions(+), 29 deletions(-) delete mode 100644 asm/non_matchings/unknown_005740/func_800096F8.s diff --git a/asm/non_matchings/unknown_005740/func_800096F8.s b/asm/non_matchings/unknown_005740/func_800096F8.s deleted file mode 100644 index 985145fa..00000000 --- a/asm/non_matchings/unknown_005740/func_800096F8.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_800096F8 -/* 00A2F8 800096F8 3C028012 */ lui $v0, %hi(D_80119C44) # $v0, 0x8012 -/* 00A2FC 800096FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00A300 80009700 8C429C44 */ lw $v0, %lo(D_80119C44)($v0) -/* 00A304 80009704 AFBF0014 */ sw $ra, 0x14($sp) -/* 00A308 80009708 00002825 */ move $a1, $zero -/* 00A30C 8000970C 24030028 */ li $v1, 40 -.L80009710: -/* 00A310 80009710 8C4E0000 */ lw $t6, ($v0) -/* 00A314 80009714 00000000 */ nop -/* 00A318 80009718 148E0005 */ bne $a0, $t6, .L80009730 -/* 00A31C 8000971C 00000000 */ nop -/* 00A320 80009720 0C0028BA */ jal func_8000A2E8 -/* 00A324 80009724 00A02025 */ move $a0, $a1 -/* 00A328 80009728 10000005 */ b .L80009740 -/* 00A32C 8000972C 8FBF0014 */ lw $ra, 0x14($sp) -.L80009730: -/* 00A330 80009730 24A50001 */ addiu $a1, $a1, 1 -/* 00A334 80009734 14A3FFF6 */ bne $a1, $v1, .L80009710 -/* 00A338 80009738 24420004 */ addiu $v0, $v0, 4 -/* 00A33C 8000973C 8FBF0014 */ lw $ra, 0x14($sp) -.L80009740: -/* 00A340 80009740 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00A344 80009744 03E00008 */ jr $ra -/* 00A348 80009748 00000000 */ nop - diff --git a/src/unknown_008C40.c b/src/unknown_008C40.c index eb349e09..e205194a 100644 --- a/src/unknown_008C40.c +++ b/src/unknown_008C40.c @@ -48,7 +48,25 @@ GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800092A8.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009558.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800095E8.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800096D8.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800096F8.s") +void func_800096F8(s32 arg0) { + s32 temp_a1; + s32* phi_v0; + s32 phi_a1; + + phi_v0 = D_80119C44; + phi_a1 = 0; + while (1) { + if (arg0 == *phi_v0) { + func_8000A2E8(phi_a1); + return; + } + phi_v0++; + phi_a1++; + if (phi_a1 == 0x28) { + return; + } + } +} GLOBAL_ASM("asm/non_matchings/unknown_005740/func_8000974C.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800098A4.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009968.s") diff --git a/src/unknown_008C40.h b/src/unknown_008C40.h index 98955b84..5bd9c30b 100644 --- a/src/unknown_008C40.h +++ b/src/unknown_008C40.h @@ -2,10 +2,10 @@ #define _UNKNOWN_008C40_H_ #include "types.h" - +extern s32 *D_80119C44; void func_80008168(void); +void func_800096F8(s32); -void func_800096F8(s32); // Non Matching void func_80009558(u16, f32 x, f32 y, f32 z, s32, s32 *); // Non Matching void func_80009968(f32, f32, f32, u8, u8, s32); // Non Matching void func_800096D8(s32, f32, f32, f32); // Non Matching