summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-16 21:31:37 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-16 21:31:37 -0400
commit996d9f4b4204396395e67e33a61ffd7111117fc2 (patch)
treecdfbed51466fe11a89cfa686db6c50e120737ba5
parent951acc8c31029327775e90e21ba6c92c24ff8b3b (diff)
sub_8092E9C
-rwxr-xr-xasm/field_map_obj.s44
-rwxr-xr-xsrc/field_map_obj.c11
2 files changed, 11 insertions, 44 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 58060b539..68ec24489 100755
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,50 +5,6 @@
.text
- thumb_func_start sub_8092E9C
-sub_8092E9C: @ 8092E9C
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08092EE8
- ldr r3, =gSprites
- ldr r2, =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x3C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08092EE8
- movs r0, 0x1
- b _08092EEA
- .pool
-_08092EE8:
- movs r0, 0
-_08092EEA:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8092E9C
-
thumb_func_start sub_8092EF0
sub_8092EF0: @ 8092EF0
push {lr}
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 9855321d3..954088edc 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -3763,6 +3763,17 @@ bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *mapObject, s16 x, s
return FALSE;
}
+bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup)
+{
+ u8 mapObjectId;
+
+ if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data7 & 0x02)
+ {
+ return TRUE;
+ }
+ return FALSE;
+}
+
asm(".section .text.get_face_direction_anim_id");
void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);