diff options
author | belugas <belugas@openttd.org> | 2008-06-05 01:43:03 +0000 |
---|---|---|
committer | belugas <belugas@openttd.org> | 2008-06-05 01:43:03 +0000 |
commit | c39997508eb5d171b434ddc6d21633377ac9ba1e (patch) | |
tree | 03a05f0530f270ebbdf8d658eba39aececdf68ac | |
parent | f4b1d4b48b73a75dbc679364b2140c567034b44f (diff) | |
download | openttd-c39997508eb5d171b434ddc6d21633377ac9ba1e.tar.xz |
(svn r13383) -Codechange: Put the cost of house removal in a class member
-rw-r--r-- | src/town.h | 8 | ||||
-rw-r--r-- | src/town_cmd.cpp | 7 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/town.h b/src/town.h index 89246f5aa..2bf2b5234 100644 --- a/src/town.h +++ b/src/town.h @@ -16,6 +16,7 @@ #include "settings_type.h" #include "strings_type.h" #include "viewport_type.h" +#include "economy_type.h" enum { HOUSE_NO_CLASS = 0, @@ -242,6 +243,13 @@ struct HouseSpec { /* grf file related properties*/ uint8 local_id; ///< id defined by the grf file for this house const struct GRFFile *grffile; ///< grf file that introduced this house + + /** + * Get the cost for removing this house + * @return the cost (inflation corrected etc) + */ + Money GetRemovalCost() const; + }; extern HouseSpec _house_specs[HOUSE_MAX]; diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 5314803ec..97c111461 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -127,6 +127,11 @@ void Town::InitializeLayout() } } +Money HouseSpec::GetRemovalCost() const +{ + return (_price.remove_house * this->removal_cost) >> 8; +} + // Local static int _grow_town_result; @@ -517,7 +522,7 @@ static CommandCost ClearTile_Town(TileIndex tile, byte flags) const HouseSpec *hs = GetHouseSpecs(GetHouseType(tile)); CommandCost cost(EXPENSES_CONSTRUCTION); - cost.AddCost(_price.remove_house * hs->removal_cost >> 8); + cost.AddCost(hs->GetRemovalCost()); int rating = hs->remove_rating_decrease; _cleared_town_rating += rating; |