Changeset - r7756:18d7a5ed77e1
[Not reviewed]
master
0 1 0
glx - 17 years ago 2007-10-19 21:05:25
glx@openttd.org
(svn r11301) -Fix: water check when building industries didn't work
1 file changed with 5 insertions and 14 deletions:
0 comments (0 inline, 0 general)
src/industry_cmd.cpp
Show inline comments
 
@@ -1228,24 +1228,15 @@ static bool CheckIfIndustryTilesAreFree(
 

	
 
			IndustyBehaviour ind_behav = GetIndustrySpec(type)->behaviour;
 

	
 
			/* Perform land/water check if not disabled */
 
			if (!HASBIT(its->slopes_refused, 5) && (IsWaterTile(cur_tile) == !(ind_behav & INDUSTRYBEH_BUILT_ONWATER))) return false;
 

	
 
			if (HASBIT(its->callback_flags, CBM_INDT_SHAPE_CHECK)) {
 
				custom_shape = true;
 
				if (!PerformIndustryTileSlopeCheck(tile, cur_tile, its, type, gfx, itspec_index)) return false;
 
			} else {
 
				if (ind_behav & INDUSTRYBEH_BUILT_ONWATER) {
 
					/* As soon as the tile is not water, bail out.
 
					* But that does not mean the search is over.  You have
 
					* to make sure every tile of the industry will be only water*/
 
					if (!IsWaterTile(cur_tile)) return false;
 
				} else {
 
					Slope tileh;
 

	
 
					if (IsWaterTile(cur_tile)) return false;
 

	
 
					tileh = GetTileSlope(cur_tile, NULL);
 

	
 
					refused_slope |= IsSlopeRefused(tileh, its->slopes_refused);
 
				}
 
				Slope tileh = GetTileSlope(cur_tile, NULL);
 
				refused_slope |= IsSlopeRefused(tileh, its->slopes_refused);
 
			}
 

	
 
			if (ind_behav & INDUSTRYBEH_ONLY_INTOWN) {
0 comments (0 inline, 0 general)