diff --git a/asm/kinstone.s b/asm/kinstone.s index e99455cb..259ed9db 100644 --- a/asm/kinstone.s +++ b/asm/kinstone.s @@ -707,51 +707,3 @@ _08018A48: .4byte gUnk_080FE320 _08018A4C: .4byte 0x000001DF _08018A50: .4byte 0x000001E3 _08018A54: .4byte 0x000001DB - - thumb_func_start sub_08018A58 -sub_08018A58: @ 0x08018A58 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08018AAC @ =gUnk_080FE320 - adds r1, r1, r0 - ldrh r0, [r1, #8] - lsrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - ldrh r0, [r1, #0xa] - lsrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - subs r5, #0x43 - ldr r6, _08018AB0 @ =0x00000232 - movs r0, #0 -_08018A80: - movs r4, #0 - movs r1, #0x40 - adds r1, r1, r5 - mov r8, r1 - adds r7, r0, #1 -_08018A8A: - adds r0, r6, #0 - adds r6, #1 - adds r1, r5, r4 - movs r2, #1 - bl SetTileType - adds r4, #1 - cmp r4, #6 - bls _08018A8A - mov r5, r8 - adds r0, r7, #0 - cmp r0, #3 - bls _08018A80 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08018AAC: .4byte gUnk_080FE320 -_08018AB0: .4byte 0x00000232 diff --git a/src/kinstone.c b/src/kinstone.c index 5d0cceef..29b35f26 100644 --- a/src/kinstone.c +++ b/src/kinstone.c @@ -4,6 +4,27 @@ #include "common.h" #include "flags.h" +void sub_08018A58(int param_1) { + u32 i; + int iVar2; + u32 j; + int tilePosition; + struct_080FE320* ptr; + + ptr = &gUnk_080FE320[param_1]; + + tilePosition = (ptr->x >> 4) & 0x3f; + tilePosition |= ((ptr->y >> 4) & 0x3f) << 6; + tilePosition -= 0x43; + iVar2 = 0x232; + + for (i = 0; i < 4; tilePosition += 0x40, i++) { + for (j = 0; j < 7; j++) { + SetTileType(iVar2++, tilePosition + j, 1); + } + } +} + void sub_08018AB4(int param_1) { u32 i; int iVar2;