From c2bedffee041563107a34ae41b27f567c9ff142c Mon Sep 17 00:00:00 2001 From: rozlette Date: Sun, 28 Oct 2018 00:15:46 -0500 Subject: Get code_0x800BF940 close to matching --- src/code/code_0x800BF9A0.c | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'src/code') diff --git a/src/code/code_0x800BF9A0.c b/src/code/code_0x800BF9A0.c index de964f8b8..1b22f04a4 100644 --- a/src/code/code_0x800BF9A0.c +++ b/src/code/code_0x800BF9A0.c @@ -4,19 +4,39 @@ UNK_RET func_800BF9A0(UNK_TYPE a0, UNK_TYPE a1) { s32 i; s800BF9A0_s* s0; - + UNK_TYPE v1; + func_8008439C(-2, 0); func_800847CC(&D_801DCBB0, D_801B4610); func_800847CC(&D_801DCBC4); - - for (i = 0, s0 = D_801AEFD0; i < D_801B4610; i++, s0++) { + + for (i = 0, s0 = &D_801AEFD0; i < D_801B4610; i++, s0++) { + v1 = s0->unk12 - s0->unk8; if (s0->unk16 == 0) continue; - func_800847CC(&D_801DCBE4, i, s0->unk16, s0->unk16 + (s0->unk12 - s0->unk8), s0->unk30, &D_801DCBFC); + func_800847CC(&D_801DCBE4, i, s0->unk16, s0->unk16 + v1, s0->unk30, &D_801DCBFC); } } UNK_TYPE func_800BFA78(UNK_TYPE a0, UNK_TYPE a1) { - + s32 i; + s800BF9A0_s* v0 = &D_801AEFD0; + UNK_TYPE t1; + UNK_TYPE a2; + UNK_TYPE a0_2 = a0; + + for (i = 0; i < D_801B4610; i++, v0++) { + t1 = v0->unk8 - v0->unk16; + a2 = v0->unk12 - v0->unk8; + + if (v0->unk16 == 0) continue; + if (a0_2 < v0->unk16) continue; + + if (a0_2 < (v0->unk16 + a2)) { + return a0_2 + t1; + } + } + + return 0; } UNK_RET func_800BFAE8(UNK_ARGS) { -- cgit v1.2.3