From 43fdd75b1052b8995fa1ffee58ec1b74f05a2be7 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Mon, 9 May 2022 23:42:46 +0300 Subject: [PATCH] Match sub_080185F8 --- asm/kinstone.s | 26 -------------------------- src/kinstone.c | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/asm/kinstone.s b/asm/kinstone.s index 512071e6..ce9a9af8 100644 --- a/asm/kinstone.s +++ b/asm/kinstone.s @@ -133,29 +133,3 @@ _080185F0: bl CheckKinstoneFused _080185F6: pop {pc} - - thumb_func_start sub_080185F8 -sub_080185F8: @ 0x080185F8 - push {r4, r5, lr} - ldr r5, _08018624 @ =gUnk_02033AB8 - ldrb r0, [r5, #3] - lsls r0, r0, #2 - ldr r1, _08018628 @ =gUnk_080B3D20 - adds r4, r0, r1 - adds r0, r4, #0 - bl sub_080185B4 - cmp r0, #0 - beq _08018620 - ldrb r0, [r4, #2] - strb r0, [r5] - ldrb r0, [r4, #3] - strb r0, [r5, #1] - ldrb r0, [r5, #3] - adds r0, #1 - strb r0, [r5, #3] - bl sub_08018500 -_08018620: - pop {r4, r5, pc} - .align 2, 0 -_08018624: .4byte gUnk_02033AB8 -_08018628: .4byte gUnk_080B3D20 diff --git a/src/kinstone.c b/src/kinstone.c index 329fccf7..9d54ae81 100644 --- a/src/kinstone.c +++ b/src/kinstone.c @@ -9,6 +9,14 @@ #include "manager.h" #include "asm.h" +typedef struct { + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; +} struct_gUnk_080B3D20; + +extern struct_gUnk_080B3D20 gUnk_080B3D20[]; extern EntityData gUnk_080FEC28[]; extern EntityData gUnk_080FEBE8[]; extern EntityData gUnk_080FECC8[]; @@ -29,6 +37,20 @@ void sub_080189EC(int); void sub_0801876C(int, int); void sub_08018738(u32, int); void sub_08018690(int param_1, u16* param_2); +void sub_08018500(); +bool32 sub_080185B4(const struct_gUnk_080B3D20*); + +void sub_080185F8(void) { + struct_area_28* ptr2 = &gArea.unk28; + struct_gUnk_080B3D20* ptr = &gUnk_080B3D20[ptr2->unk2b]; + + if (sub_080185B4(ptr)) { + ptr2->inventoryGfxIdx = ptr->unk2; + ptr2->unk29 = ptr->unk3; + ptr2->unk2b++; + sub_08018500(); + } +} void GenerateAreaHint(void) { u16 uVar1;