diff options
author | yexo <yexo@openttd.org> | 2010-03-19 21:23:54 +0000 |
---|---|---|
committer | yexo <yexo@openttd.org> | 2010-03-19 21:23:54 +0000 |
commit | aab88496618e01baae68abe38b603ef9ef5d9dfb (patch) | |
tree | c12aa3ad12fed4e5fb75d365950046add4521085 | |
parent | 81ca76a65588ae4cfc516fb26ddc1c878c84d09b (diff) | |
download | openttd-aab88496618e01baae68abe38b603ef9ef5d9dfb.tar.xz |
(svn r19476) -Codechange: simplify the 'is conflicting industry nearby' check a bit
-rw-r--r-- | src/industry_cmd.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index bc66df60b..93f508aac 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1527,19 +1527,19 @@ static bool CheckIfCanLevelIndustryPlatform(TileIndex tile, DoCommandFlag flags, static CommandCost CheckIfFarEnoughFromIndustry(TileIndex tile, int type) { const IndustrySpec *indspec = GetIndustrySpec(type); - const Industry *i; - if (_settings_game.economy.same_industry_close && indspec->IsRawIndustry()) + if (_settings_game.economy.same_industry_close && indspec->IsRawIndustry()) { /* Allow primary industries to be placed close to any other industry */ return CommandCost(); + } + const Industry *i; FOR_ALL_INDUSTRIES(i) { /* Within 14 tiles from another industry is considered close */ - bool in_low_distance = DistanceMax(tile, i->location.tile) <= 14; + if (DistanceMax(tile, i->location.tile) > 14) continue; /* check if an industry that accepts the same goods is nearby */ - if (in_low_distance && - !indspec->IsRawIndustry() && // not a primary industry? + if (!indspec->IsRawIndustry() && // not a primary industry? indspec->accepts_cargo[0] == i->accepts_cargo[0] && ( /* at least one of those options must be true */ _game_mode != GM_EDITOR || // editor must not be stopped @@ -1549,10 +1549,9 @@ static CommandCost CheckIfFarEnoughFromIndustry(TileIndex tile, int type) } /* check if there are any conflicting industry types around */ - if ((i->type == indspec->conflicting[0] || + if (i->type == indspec->conflicting[0] || i->type == indspec->conflicting[1] || - i->type == indspec->conflicting[2]) && - in_low_distance) { + i->type == indspec->conflicting[2]) { return_cmd_error(STR_ERROR_INDUSTRY_TOO_CLOSE); } } |