Index: src/industrytype.h =================================================================== --- src/industrytype.h (revision 19053) +++ src/industrytype.h (working copy) @@ -84,6 +84,7 @@ enum IndustryTileSpecialFlags { INDTILE_SPECIAL_NONE = 0, INDTILE_SPECIAL_NEXTFRAME_RANDOMBITS = 1 << 0, ///< Callback 0x26 needs random bits + INDTILE_SPECIAL_DONT_BUILD = 1 << 1, ///< Tile is not actually built (intended for checking clearance on layouts) }; DECLARE_ENUM_AS_BIT_SET(IndustryTileSpecialFlags); Index: src/industry_cmd.cpp =================================================================== --- src/industry_cmd.cpp (revision 19053) +++ src/industry_cmd.cpp (working copy) @@ -1598,8 +1598,9 @@ do { TileIndex cur_tile = tile + ToTileIndexDiff(it->ti); + const IndustryTileSpec *itspec = GetIndustryTileSpec(it->gfx); - if (it->gfx != GFX_WATERTILE_SPECIALCHECK) { + if (it->gfx != GFX_WATERTILE_SPECIALCHECK && !(itspec->special_flags & INDTILE_SPECIAL_DONT_BUILD)) { i->location.Add(cur_tile); WaterClass wc = (IsWaterTile(cur_tile) ? GetWaterClass(cur_tile) : WATER_CLASS_INVALID);