summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/field_map_obj.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 46cc0585c..61b915878 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -13,6 +13,8 @@
// Static ROM declarations
/*static*/ void sub_808D450(void);
+/*static*/ u8 GetFieldObjectIdByLocalId(u8);
+/*static*/ u8 GetFieldObjectIdByLocalIdAndMapInternal(u8, u8, u8);
// ROM data
@@ -75,3 +77,22 @@ u8 sub_808D4F4(void)
}
return i;
}
+
+u8 GetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
+{
+ if (localId < 0xff)
+ {
+ return GetFieldObjectIdByLocalIdAndMapInternal(localId, mapId, mapGroupId);
+ }
+ return GetFieldObjectIdByLocalId(localId);
+}
+
+bool8 TryGetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId, u8 *fieldObjectId)
+{
+ *fieldObjectId = GetFieldObjectIdByLocalIdAndMap(localId, mapId, mapGroupId);
+ if (*fieldObjectId == 16)
+ {
+ return TRUE;
+ }
+ return FALSE;
+}