diff options
-rw-r--r-- | src/newgrf_commons.cpp | 10 | ||||
-rw-r--r-- | src/newgrf_commons.h | 1 | ||||
-rw-r--r-- | src/newgrf_house.cpp | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index d0d1c1c5f..59118a6ff 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -142,6 +142,16 @@ uint16 OverrideManagerBase::AddEntityID(byte grf_local_id, uint32 grfid, byte su } /** + * Gives the GRFID of the file the entity belongs to. + * @param entity_id ID of the entity being queried. + * @return GRFID. + */ +uint16 OverrideManagerBase::GetGRFID(uint16 entity_id) const +{ + return mapping_ID[entity_id].grfid; +} + +/** * Gives the substitute of the entity, as specified by the grf file * @param entity_id of the entity being queried * @return mapped id diff --git a/src/newgrf_commons.h b/src/newgrf_commons.h index d0e556faf..e38111371 100644 --- a/src/newgrf_commons.h +++ b/src/newgrf_commons.h @@ -185,6 +185,7 @@ public: void Add(uint8 local_id, uint32 grfid, uint entity_type); virtual uint16 AddEntityID(byte grf_local_id, uint32 grfid, byte substitute_id); + uint16 GetGRFID(uint16 entity_id) const; uint16 GetSubstituteID(uint16 entity_id) const; virtual uint16 GetID(uint8 grf_local_id, uint32 grfid) const; diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index 52eb7b286..fd0281e4e 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -344,7 +344,7 @@ static uint32 HouseGetVariable(const ResolverObject *object, byte variable, byte if (house_id < NEW_HOUSE_OFFSET) return 0; /* Checking the grffile information via HouseSpec doesn't work * in case the newgrf was removed. */ - return _house_mngr.mapping_ID[house_id].grfid; + return _house_mngr.GetGRFID(house_id); } } |