changeset 11052:457ecd1afb4b draft

(svn r15392) -Codechange: move the spec getter to a place where it's only required, without the use of extern
author belugas <belugas@openttd.org>
date Sat, 07 Feb 2009 02:38:32 +0000
parents f50edf69c453
children 1682d365df2c
files src/unmovable.h src/unmovable_cmd.cpp src/unmovable_map.h
diffstat 3 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/unmovable.h
+++ b/src/unmovable.h
@@ -21,11 +21,5 @@
 
 };
 
-extern const UnmovableSpec _original_unmovable[];
-
-static inline const UnmovableSpec *GetUnmovableSpec(UnmovableType type)
-{
-	return &_original_unmovable[type];
-}
 
 #endif /* UNMOVABLE_H */
--- a/src/unmovable_cmd.cpp
+++ b/src/unmovable_cmd.cpp
@@ -28,6 +28,20 @@
 #include "table/sprites.h"
 #include "table/unmovable_land.h"
 
+/**
+ * Accessor for array _original_unmovable.
+ * This will ensure at once : proper access and
+ * not allowing modifications of it.
+ * @param type of unmovable (which is the index in _original_unmovable)
+ * @pre type < UNMOVABLE_MAX
+ * @return a pointer to the corresponding unmovable spec
+ **/
+static inline const UnmovableSpec *GetUnmovableSpec(UnmovableType type)
+{
+	assert(type < UNMOVABLE_MAX);
+	return &_original_unmovable[type];
+}
+
 /** Destroy a HQ.
  * During normal gameplay you can only implicitely destroy a HQ when you are
  * rebuilding it. Otherwise, only water can destroy it.
--- a/src/unmovable_map.h
+++ b/src/unmovable_map.h
@@ -15,6 +15,7 @@
 	UNMOVABLE_STATUE      = 2,    ///< Statue in towns
 	UNMOVABLE_OWNED_LAND  = 3,    ///< Owned land 'flag'
 	UNMOVABLE_HQ          = 4,    ///< HeadQuarter of a player
+	UNMOVABLE_MAX,
 };
 
 /**