From 164a923c69ab96da81634294896a3d8065157251 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 28 Aug 2010 17:38:07 +0000 Subject: (svn r20652) -Codechange: implement a function to get the index of a spec. --- src/newgrf_object.cpp | 5 +++++ src/newgrf_object.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index dc01d11d3..dc1ac84f8 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 5aaf5c286..cf8b6a9de 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. -- cgit v1.2.3-54-g00ecf