summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-08 15:05:04 -0400
committerscnorton <scnorton@biociphers.org>2017-09-08 15:05:04 -0400
commit8ef5d059550cb5d6d21639992e6ce67a9dd327f0 (patch)
tree41c4ef67559d9d2ae5560574960ba2e1b401de94
parent782f21f63e1ac8615203818ebb69f40e91cc70f2 (diff)
sub_808E7E4
-rw-r--r--asm/field_map_obj.s38
-rw-r--r--src/field_map_obj.c13
2 files changed, 13 insertions, 38 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 2eac13c30..6375fd2a3 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,44 +5,6 @@
.text
- thumb_func_start sub_808E7E4
-sub_808E7E4: @ 808E7E4
- 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 _0808E820
- mov r0, sp
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- ldrb r2, [r1, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x3]
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_0808E820:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E7E4
-
thumb_func_start sub_808E82C
sub_808E82C: @ 808E82C
push {r4,r5,lr}
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index a4d7e4097..910a58ffb 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -1079,3 +1079,16 @@ void sub_808E78C(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority)
sprite->subpriority = subpriority;
}
}
+
+void sub_808E7E4(u8 localId, u8 mapNum, u8 mapGroup)
+{
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+
+ if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId))
+ {
+ mapObject = &gMapObjects[mapObjectId];
+ mapObject->mapobj_bit_26 = FALSE;
+ mapObject->mapobj_bit_2 = TRUE;
+ }
+}