summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/newgrf_commons.cpp10
-rw-r--r--src/newgrf_commons.h1
-rw-r--r--src/newgrf_house.cpp2
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);
}
}