summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2010-03-19 21:23:54 +0000
committeryexo <yexo@openttd.org>2010-03-19 21:23:54 +0000
commitaab88496618e01baae68abe38b603ef9ef5d9dfb (patch)
treec12aa3ad12fed4e5fb75d365950046add4521085
parent81ca76a65588ae4cfc516fb26ddc1c878c84d09b (diff)
downloadopenttd-aab88496618e01baae68abe38b603ef9ef5d9dfb.tar.xz
(svn r19476) -Codechange: simplify the 'is conflicting industry nearby' check a bit
-rw-r--r--src/industry_cmd.cpp15
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);
}
}