diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-11 10:29:00 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-11 10:29:00 -0400 |
commit | 5ad282c82c79205045fce2e8d7db993846d86b17 (patch) | |
tree | 64eeceb36931326c7e99e8808754a6c4457d623f /src | |
parent | bd9b81546f4eedae24278b54b02301b8184112a4 (diff) |
GetFieldObjectTemplateByLocalIdAndMap
Diffstat (limited to 'src')
-rw-r--r-- | src/field_map_obj.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c index d4f724079..78269fd58 100644 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -51,6 +51,7 @@ static bool8 FieldObjectDoesZCoordMatch(struct MapObject *, u8); //static void CameraObject_0(struct Sprite *); /*static*/ void CameraObject_1(struct Sprite *); //static void CameraObject_2(struct Sprite *); +/*static*/ struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count); // ROM data @@ -1543,3 +1544,23 @@ u8 FieldObjectGetBerryTreeId(u8 mapObjectId) return gMapObjects[mapObjectId].trainerRange_berryTreeId; } +struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +{ + struct MapObjectTemplate *templates; + const struct MapHeader *mapHeader; + u8 count; + + if (gSaveBlock1Ptr->location.mapNum == mapNum && gSaveBlock1Ptr->location.mapGroup == mapGroup) + { + templates = gSaveBlock1Ptr->mapObjectTemplates; + count = gMapHeader.events->mapObjectCount; + } + else + { + mapHeader = get_mapheader_by_bank_and_number(mapGroup, mapNum); + templates = mapHeader->events->mapObjects; + count = mapHeader->events->mapObjectCount; + } + return FindFieldObjectTemplateInArrayByLocalId(localId, templates, count); +} + |