Mercurial > hg > openttd
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 */