diff src/unmovable.h @ 11010:080a2d6125ed draft

(svn r15350) -Codechange: Create a spec array to hold the data definitions of unmovables objects. Note that this is the very basic spec, it will be populated a bit more, later.
author belugas <belugas@openttd.org>
date Thu, 05 Feb 2009 03:41:42 +0000
parents c54d140df948
children 457ecd1afb4b
line wrap: on
line diff
--- a/src/unmovable.h
+++ b/src/unmovable.h
@@ -5,6 +5,27 @@
 #ifndef UNMOVABLE_H
 #define UNMOVABLE_H
 
+#include "unmovable_map.h"
+#include "economy_type.h"
+#include "economy_func.h"
+
 void UpdateCompanyHQ(Company *c, uint score);
 
+struct UnmovableSpec {
+	StringID name;
+	uint8 buy_cost_multiplier;
+	uint8 sell_cost_multiplier;
+
+	Money GetRemovalCost() const { return (_price.clear_roughland * this->sell_cost_multiplier); }
+	Money GetBuildingCost() const { return (_price.clear_roughland * this->buy_cost_multiplier); }
+
+};
+
+extern const UnmovableSpec _original_unmovable[];
+
+static inline const UnmovableSpec *GetUnmovableSpec(UnmovableType type)
+{
+	return &_original_unmovable[type];
+}
+
 #endif /* UNMOVABLE_H */