diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-10-05 10:42:48 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-10-05 09:56:57 -0500 |
commit | 2126668f0926d19e06850f28d61107f7b4a07a85 (patch) | |
tree | fef55db6a3fb9e4aec512cde64a2d9cf0b7e6b06 /src | |
parent | 27070e42f31acc805d7444e840aadbdaa83be6ee (diff) |
Match sub_80C9720
Diffstat (limited to 'src')
-rw-r--r-- | src/item_use.c | 159 |
1 files changed, 5 insertions, 154 deletions
diff --git a/src/item_use.c b/src/item_use.c index d927b5937..9c8c2da57 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -420,8 +420,6 @@ bool8 sub_80C9688(struct MapConnection *connection, int x, int y) return HiddenItemAtPos(mapHeader->events, localX, localY); } -// weird math -#ifdef NONMATCHING void sub_80C9720(u8 taskId) { s16 x, y; @@ -429,15 +427,18 @@ void sub_80C9720(u8 taskId) s16 width = gMapHeader.mapLayout->width + 7; s16 height = gMapHeader.mapLayout->height + 7; + s16 var1 = 7; + s16 var2 = 7; + PlayerGetDestCoords(&x, &y); for (curX = x - 7; curX <= x + 7; curX++) { for (curY = y - 5; curY <= y + 5; curY++) { - if (7 > curX + if (var1 > curX || curX >= width - || 7 > curY + || var2 > curY || curY >= height) { struct MapConnection *conn = sub_8056BA0(curX, curY); @@ -447,156 +448,6 @@ void sub_80C9720(u8 taskId) } } } -#else -NAKED -void sub_80C9720(u8 taskId) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x14\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x4]\n\ - ldr r0, _080C9834 @ =gMapHeader\n\ - ldr r1, [r0]\n\ - ldr r0, [r1]\n\ - adds r0, 0x7\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0x8]\n\ - ldr r0, [r1, 0x4]\n\ - adds r0, 0x7\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0xC]\n\ - mov r4, sp\n\ - adds r4, 0x2\n\ - mov r0, sp\n\ - adds r1, r4, 0\n\ - bl PlayerGetDestCoords\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - subs r0, 0x7\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - asrs r0, 16\n\ - mov r1, sp\n\ - movs r2, 0\n\ - ldrsh r1, [r1, r2]\n\ - adds r1, 0x7\n\ - cmp r0, r1\n\ - bgt _080C9824\n\ -_080C976E:\n\ - mov r5, sp\n\ - ldrh r0, [r5, 0x2]\n\ - subs r0, 0x5\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - lsls r2, r4, 16\n\ - asrs r1, r2, 16\n\ - movs r6, 0x2\n\ - ldrsh r0, [r5, r6]\n\ - adds r0, 0x5\n\ - lsls r3, 16\n\ - mov r8, r3\n\ - cmp r1, r0\n\ - bgt _080C980E\n\ - movs r0, 0x7\n\ - str r0, [sp, 0x10]\n\ - mov r1, r8\n\ - asrs r1, 16\n\ - mov r9, r1\n\ - mov r10, r0\n\ -_080C9796:\n\ - ldr r3, [sp, 0x10]\n\ - cmp r3, r9\n\ - bgt _080C97B8\n\ - ldr r5, [sp, 0x8]\n\ - lsls r0, r5, 16\n\ - asrs r0, 16\n\ - cmp r9, r0\n\ - bge _080C97B8\n\ - asrs r1, r2, 16\n\ - cmp r10, r1\n\ - bgt _080C97B8\n\ - ldr r6, [sp, 0xC]\n\ - lsls r0, r6, 16\n\ - asrs r0, 16\n\ - lsls r7, r4, 16\n\ - cmp r1, r0\n\ - blt _080C97F6\n\ -_080C97B8:\n\ - mov r0, r8\n\ - asrs r5, r0, 16\n\ - lsls r4, 16\n\ - asrs r6, r4, 16\n\ - adds r0, r5, 0\n\ - adds r1, r6, 0\n\ - bl sub_8056BA0\n\ - adds r7, r4, 0\n\ - cmp r0, 0\n\ - beq _080C97F6\n\ - adds r1, r5, 0\n\ - adds r2, r6, 0\n\ - bl sub_80C9688\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x1\n\ - bne _080C97F6\n\ - mov r0, sp\n\ - ldrh r1, [r0]\n\ - subs r1, r5, r1\n\ - lsls r1, 16\n\ - asrs r1, 16\n\ - ldrh r2, [r0, 0x2]\n\ - subs r2, r6, r2\n\ - lsls r2, 16\n\ - asrs r2, 16\n\ - ldr r0, [sp, 0x4]\n\ - bl sub_80C9838\n\ -_080C97F6:\n\ - movs r1, 0x80\n\ - lsls r1, 9\n\ - adds r0, r7, r1\n\ - lsrs r4, r0, 16\n\ - lsls r2, r4, 16\n\ - asrs r1, r2, 16\n\ - mov r3, sp\n\ - movs r5, 0x2\n\ - ldrsh r0, [r3, r5]\n\ - adds r0, 0x5\n\ - cmp r1, r0\n\ - ble _080C9796\n\ -_080C980E:\n\ - movs r1, 0x80\n\ - lsls r1, 9\n\ - add r1, r8\n\ - lsrs r3, r1, 16\n\ - asrs r1, 16\n\ - mov r0, sp\n\ - movs r6, 0\n\ - ldrsh r0, [r0, r6]\n\ - adds r0, 0x7\n\ - cmp r1, r0\n\ - ble _080C976E\n\ -_080C9824:\n\ - add sp, 0x14\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080C9834: .4byte gMapHeader\n\ - .syntax divided"); -} -#endif void sub_80C9838(u8 taskId, s16 x, s16 y) { |