diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-26 08:37:30 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-26 08:37:30 -0400 |
commit | 155007d14989b2a798a15c6be8a00bb926d2c9b7 (patch) | |
tree | 8985029a2c55e6c5b83998c4c517c434f42755c0 | |
parent | d7ab13d3a9b969b0267786e566595689338ae7c4 (diff) |
sub_80697C8
-rwxr-xr-x | asm/field_tasks.s | 82 | ||||
-rwxr-xr-x | src/field_tasks.c | 34 |
2 files changed, 34 insertions, 82 deletions
diff --git a/asm/field_tasks.s b/asm/field_tasks.s index dcc3858ee..6a7176104 100755 --- a/asm/field_tasks.s +++ b/asm/field_tasks.s @@ -6,88 +6,6 @@ .text - thumb_func_start sub_80697C8 -sub_80697C8: @ 80697C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - mov r10, r8 - lsls r3, 16 - lsrs r7, r3, 16 - mov r9, r7 - lsls r0, 16 - asrs r6, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _0806980C - lsls r0, r7, 16 - asrs r0, 16 - cmp r5, r0 - bge _08069852 -_08069808: - movs r0, 0 - b _08069854 -_0806980C: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _08069824 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r5, r0 - ble _08069852 - b _08069808 -_08069824: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _0806983C - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bge _08069852 - b _08069808 -_0806983C: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - beq _08069852 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bgt _08069808 -_08069852: - movs r0, 0x1 -_08069854: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80697C8 - thumb_func_start PerStepCallback_8069864 PerStepCallback_8069864: @ 8069864 push {r4-r7,lr} diff --git a/src/field_tasks.c b/src/field_tasks.c index 6682d01c3..34cbc9796 100755 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -317,3 +317,37 @@ bool8 sub_806972C(s16 x1, s16 y1, s16 x2, s16 y2) } return TRUE; } + +bool8 sub_80697C8(s16 x1, s16 y1, s16 x2, s16 y2) +{ + s8 metatileBehavior = MapGridGetMetatileBehaviorAt(x1, y1); + if (sub_80576A0(metatileBehavior)) + { + if (y1 < y2) + { + return FALSE; + } + } + else if (sub_80576B4(metatileBehavior)) + { + if (y1 > y2) + { + return FALSE; + } + } + else if (sub_80576C8(metatileBehavior)) + { + if (x1 < x2) + { + return FALSE; + } + } + else if (sub_80576DC(metatileBehavior)) + { + if (x1 > x2) + { + return FALSE; + } + } + return TRUE; +} |