diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index dc01d11d3c..dc1ac84f86 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -46,6 +46,11 @@ bool ObjectSpec::IsAvailable() const (flags & (_game_mode != GM_EDITOR ? OBJECT_FLAG_ONLY_IN_SCENEDIT : OBJECT_FLAG_ONLY_IN_GAME)) == 0; } +uint ObjectSpec::Index() const +{ + return this - _object_specs; +} + /** This function initialize the spec arrays of objects. */ void ResetObjects() { diff --git a/src/newgrf_object.h b/src/newgrf_object.h index 5aaf5c286e..cf8b6a9dec 100644 --- a/src/newgrf_object.h +++ b/src/newgrf_object.h @@ -87,6 +87,12 @@ struct ObjectSpec { */ Money GetClearCost() const { return (_price[PR_CLEAR_OBJECT] * this->clear_cost_multiplier); } + /** + * Gets the index of this spec. + * @return The index. + */ + uint Index() const; + /** * Get the specification associated with a specific ObjectType. * @param index The object type to fetch.