diff --git a/asm/ground_object.s b/asm/ground_object.s index 502ce5237..6af726781 100644 --- a/asm/ground_object.s +++ b/asm/ground_object.s @@ -5,81 +5,6 @@ .text - thumb_func_start sub_80AC4C8 -sub_80AC4C8: - push {r4-r7,lr} - adds r7, r0, 0 - adds r4, r1, 0 - ldr r0, _080AC530 - ldr r3, [r0] - movs r5, 0 - movs r0, 0x1 - negs r0, r0 - mov r12, r0 - movs r6, 0x80 - lsls r6, 9 -_080AC4DE: - movs r1, 0x6 - ldrsh r0, [r3, r1] - cmp r0, r12 - beq _080AC534 - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - ldr r0, [r0] - ands r0, r7 - cmp r0, 0 - beq _080AC534 - adds r1, 0x8 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r2] - cmp r1, r0 - bge _080AC534 - movs r1, 0x96 - lsls r1, 1 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r4] - cmp r1, r0 - ble _080AC534 - movs r1, 0x94 - lsls r1, 1 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r2, 0x4] - cmp r1, r0 - bge _080AC534 - movs r1, 0x98 - lsls r1, 1 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r4, 0x4] - cmp r1, r0 - ble _080AC534 - adds r0, r5, 0 - b _080AC54C - .align 2, 0 -_080AC530: .4byte gGroundObjects -_080AC534: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r5, r0, 16 - movs r0, 0xE2 - lsls r0, 1 - adds r3, r0 - cmp r5, 0xF - ble _080AC4DE - movs r0, 0x1 - negs r0, r0 -_080AC54C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AC4C8 - thumb_func_start sub_80AC554 sub_80AC554: push {r4-r7,lr} diff --git a/src/ground_object.c b/src/ground_object.c index 7c97858ae..532eea7fe 100644 --- a/src/ground_object.c +++ b/src/ground_object.c @@ -542,3 +542,25 @@ s16 sub_80AC49C(s32 index_, PixelPos *pos) return parent->unk6; } + +s32 sub_80AC4C8(s32 index, PixelPos *a0, PixelPos *a1) { + GroundObject *parent = &gGroundObjects[0]; + s32 counter; + + for(counter = 0; counter < 0x10; counter = (s16)(counter + 1), parent++) + { + if(parent->unk6 != -1) + { + if(parent->flags & index) + { + if((parent->unk124.x < a1->x) && (parent->unk12C.x > a0->x)) + { + if((parent->unk124.y < a1->y) && (parent->unk12C.y > a0->y)) + return counter; + } + } + } + } + + return -1; +}