diff options
author | rubidium <rubidium@openttd.org> | 2010-08-28 17:38:07 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-08-28 17:38:07 +0000 |
commit | 164a923c69ab96da81634294896a3d8065157251 (patch) | |
tree | 5f3bf37b5df348a26265e9cac341fa3910db2622 | |
parent | 0a86eac2f1d8f646180cdd1d56f555e7956f7ebb (diff) | |
download | openttd-164a923c69ab96da81634294896a3d8065157251.tar.xz |
(svn r20652) -Codechange: implement a function to get the index of a spec.
-rw-r--r-- | src/newgrf_object.cpp | 5 | ||||
-rw-r--r-- | src/newgrf_object.h | 6 |
2 files changed, 11 insertions, 0 deletions
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 @@ -88,6 +88,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. * @return The specification. |