summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-06 17:25:20 -0400
committerscnorton <scnorton@biociphers.org>2017-09-06 17:25:20 -0400
commite0601236483588158e08dd83da3d6cb8ee491420 (patch)
tree9fb3885aae4fe822c21c151a8b97da2c8cad5711 /src
parent6448563ede13d51682cbf1988a2072291f3b3df0 (diff)
GetAvailableFieldObjectSlot
Diffstat (limited to 'src')
-rw-r--r--src/field_map_obj.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index b33cf0669..28f001b5d 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -387,3 +387,26 @@ u8 unref_sub_808D77C(u8 localId)
}
return ARRAY_COUNT(gMapObjects);
}
+
+bool8 GetAvailableFieldObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 *result)
+{
+ u8 i = 0;
+
+ for (i = 0; i < ARRAY_COUNT(gMapObjects); i ++)
+ {
+ if (!gMapObjects[i].active)
+ break;
+ if (gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup)
+ return TRUE;
+ }
+ if (i >= ARRAY_COUNT(gMapObjects))
+ return TRUE;
+ *result = i;
+ do
+ {
+ if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup)
+ return TRUE;
+ i ++;
+ } while (i < ARRAY_COUNT(gMapObjects));
+ return FALSE;
+}