summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-07 18:54:51 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-07 18:54:51 -0400
commit113482a7cc748d80526de6b981887c5eca30f6b5 (patch)
treeb0a2d2e5f37b2e8bf06b8fa7de66b9d63df4b4e3
parent44be18e1dfc9a0eb58159b219762b3397d89e449 (diff)
sub_808E16C
-rw-r--r--asm/field_map_obj.s40
-rw-r--r--src/field_map_obj.c16
2 files changed, 16 insertions, 40 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 61b470b55..0e90f7562 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,46 +5,6 @@
.text
- thumb_func_start sub_808E16C
-sub_808E16C: @ 808E16C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl ClearPlayerAvatarInfo
- movs r6, 0
- ldr r7, =gMapObjects
- lsls r4, 16
- lsls r5, 16
-_0808E186:
- lsls r0, r6, 3
- adds r0, r6
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0808E1A0
- adds r0, r6, 0
- asrs r1, r4, 16
- asrs r2, r5, 16
- bl sub_808E1B8
-_0808E1A0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xF
- bls _0808E186
- bl sub_808D450
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E16C
-
thumb_func_start sub_808E1B8
sub_808E1B8: @ 808E1B8
push {r4-r7,lr}
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index caf43ce6a..3e3f22a45 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -34,6 +34,7 @@ void sub_8096518(struct MapObject *, struct Sprite *);
/*static*/ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8);
/*static*/ void sub_808E894(u16);
/*static*/ void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject);
+/*static*/ void sub_808E1B8(u8, s16, s16);
// ROM data
@@ -785,3 +786,18 @@ void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject)
return;
RemoveFieldObject(mapObject);
}
+
+void sub_808E16C(s16 x, s16 y)
+{
+ u8 i;
+
+ ClearPlayerAvatarInfo();
+ for (i = 0; i < ARRAY_COUNT(gMapObjects); i ++)
+ {
+ if (gMapObjects[i].active)
+ {
+ sub_808E1B8(i, x, y);
+ }
+ }
+ sub_808D450();
+}