diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-21 00:48:56 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-05-24 16:14:46 -0400 |
commit | f578c81cfdfb54e1101c5f5785cb685bd63c3b5a (patch) | |
tree | 379ec542f780452a7fb1599871475e6d992440ef | |
parent | 83ddca476069c52e0ea550b335539c0371d164c3 (diff) |
More functions governing npc trainer facing directions
-rw-r--r-- | asm/field_map_obj.s | 57 | ||||
-rw-r--r-- | src/field_map_obj.c | 44 |
2 files changed, 44 insertions, 57 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index fb19ddbb2..23cbb1ac1 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -6,63 +6,6 @@ .text - thumb_func_start sub_805CAAC -sub_805CAAC: @ 805CAAC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsls r3, 16 - cmp r2, r3 - ble _0805CACA - movs r2, 0x4 - lsls r0, r4, 16 - cmp r0, 0 - bge _0805CAD4 - movs r2, 0x3 - b _0805CAD4 -_0805CACA: - movs r2, 0x1 - lsls r0, 16 - cmp r0, 0 - bge _0805CAD4 - movs r2, 0x2 -_0805CAD4: - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805CAAC - - thumb_func_start sub_805CADC -sub_805CADC: @ 805CADC - push {lr} - movs r0, 0x1 - lsls r1, 16 - cmp r1, 0 - bge _0805CAE8 - movs r0, 0x2 -_0805CAE8: - pop {r1} - bx r1 - thumb_func_end sub_805CADC - - thumb_func_start sub_805CAEC -sub_805CAEC: @ 805CAEC - push {lr} - movs r1, 0x4 - lsls r0, 16 - cmp r0, 0 - bge _0805CAF8 - movs r1, 0x3 -_0805CAF8: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_805CAEC - thumb_func_start sub_805CB00 sub_805CB00: @ 805CB00 push {r4-r7,lr} diff --git a/src/field_map_obj.c b/src/field_map_obj.c index 61ec26365..e5a50362a 100644 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -1642,3 +1642,47 @@ u8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) } return 1; } + +u8 sub_805CAAC(s16 a0, s16 a1, s16 a2, s16 a3) +{ + u8 dirn; + if (a2 > a3) + { + dirn = DIR_EAST; + if (a0 < 0) + { + dirn = DIR_WEST; + } + } + else + { + dirn = DIR_SOUTH; + if (a1 < 0) + { + dirn = DIR_NORTH; + } + } + return dirn; +} + +u8 sub_805CADC(s16 a0, s16 a1) +{ + u8 dirn; + dirn = DIR_SOUTH; + if (a1 < 0) + { + dirn = DIR_NORTH; + } + return dirn; +} + +u8 sub_805CAEC(s16 a0, s16 a1) +{ + u8 dirn; + dirn = DIR_EAST; + if (a0 < 0) + { + dirn = DIR_WEST; + } + return dirn; +} |