From aad92e4341bac0f5e18c8075d17de8bc21f066c6 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Mon, 9 May 2022 02:05:09 +0300 Subject: [PATCH] Match sub_080189EC --- asm/kinstone.s | 52 -------------------------------------------------- src/kinstone.c | 23 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 52 deletions(-) diff --git a/asm/kinstone.s b/asm/kinstone.s index 259ed9db..8a0bbd2c 100644 --- a/asm/kinstone.s +++ b/asm/kinstone.s @@ -655,55 +655,3 @@ _080189E4: pop {r4, r5, pc} .align 2, 0 _080189E8: .4byte gUnk_080FEE38 - - thumb_func_start sub_080189EC -sub_080189EC: @ 0x080189EC - push {r4, r5, r6, lr} - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08018A48 @ =gUnk_080FE320 - adds r1, r1, r0 - ldrh r0, [r1, #8] - lsrs r6, r0, #4 - movs r2, #0x3f - ands r6, r2 - ldrh r0, [r1, #0xa] - lsrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r6, r0 - subs r6, #0x42 - movs r5, #0 -_08018A0E: - ldr r1, _08018A4C @ =0x000001DF - adds r0, r5, r1 - adds r1, r6, r5 - movs r2, #2 - bl SetTileType - adds r5, #1 - cmp r5, #3 - bls _08018A0E - adds r6, #0x40 - movs r5, #0 -_08018A24: - ldr r1, _08018A50 @ =0x000001E3 - adds r0, r5, r1 - adds r4, r6, r5 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - ldr r1, _08018A54 @ =0x000001DB - adds r0, r5, r1 - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - adds r5, #1 - cmp r5, #3 - bls _08018A24 - pop {r4, r5, r6, pc} - .align 2, 0 -_08018A48: .4byte gUnk_080FE320 -_08018A4C: .4byte 0x000001DF -_08018A50: .4byte 0x000001E3 -_08018A54: .4byte 0x000001DB diff --git a/src/kinstone.c b/src/kinstone.c index 29b35f26..16f488c9 100644 --- a/src/kinstone.c +++ b/src/kinstone.c @@ -4,6 +4,29 @@ #include "common.h" #include "flags.h" +void sub_080189EC(int param_1) { + u32 i; + int iVar1; + int tilePosition; + struct_080FE320* ptr; + + ptr = &gUnk_080FE320[param_1]; + + tilePosition = (ptr->x >> 4) & 0x3f; + tilePosition |= ((ptr->y >> 4) & 0x3f) << 6; + tilePosition -= 0x42; + + for (i = 0; i < 4; i++) { + SetTileType(i + 0x1df, tilePosition + i, 2); + } + + tilePosition += 0x40; + for (i = 0; i < 4; i++) { + SetTileType(i + 0x1e3, tilePosition + i, 2); + SetTileType(i + 0x1db, tilePosition + i, 1); + } +} + void sub_08018A58(int param_1) { u32 i; int iVar2;