diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-06 17:25:20 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-06 17:25:20 -0400 |
commit | e0601236483588158e08dd83da3d6cb8ee491420 (patch) | |
tree | 9fb3885aae4fe822c21c151a8b97da2c8cad5711 /src | |
parent | 6448563ede13d51682cbf1988a2072291f3b3df0 (diff) |
GetAvailableFieldObjectSlot
Diffstat (limited to 'src')
-rw-r--r-- | src/field_map_obj.c | 23 |
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; +} |