src/terraform_gui.cpp
changeset 8472 2a14ce1a7a43
parent 8459 86e0352eb993
child 8786 1823ff88a054
equal deleted inserted replaced
8471:ba4c15fe147b 8472:2a14ce1a7a43
   386 	VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_CREATE_ROCKS);
   386 	VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_CREATE_ROCKS);
   387 }
   387 }
   388 
   388 
   389 static void PlaceProc_LightHouse(TileIndex tile)
   389 static void PlaceProc_LightHouse(TileIndex tile)
   390 {
   390 {
   391 	if (!IsTileType(tile, MP_CLEAR) || GetTileSlope(tile, NULL) != SLOPE_FLAT || IsBridgeAbove(tile)) {
   391 	/* not flat || not(trees || clear without bridge above) */
       
   392 	if (GetTileSlope(tile, NULL) != SLOPE_FLAT || !(IsTileType(tile, MP_TREES) || (IsTileType(tile, MP_CLEAR) && !IsBridgeAbove(tile)))) {
   392 		return;
   393 		return;
   393 	}
   394 	}
   394 
   395 
   395 	MakeLighthouse(tile);
   396 	MakeLighthouse(tile);
   396 	MarkTileDirtyByTile(tile);
   397 	MarkTileDirtyByTile(tile);
   397 	SndPlayTileFx(SND_1F_SPLAT, tile);
   398 	SndPlayTileFx(SND_1F_SPLAT, tile);
   398 }
   399 }
   399 
   400 
   400 static void PlaceProc_Transmitter(TileIndex tile)
   401 static void PlaceProc_Transmitter(TileIndex tile)
   401 {
   402 {
   402 	if (!IsTileType(tile, MP_CLEAR) || GetTileSlope(tile, NULL) != SLOPE_FLAT || IsBridgeAbove(tile)) {
   403 	/* not flat || not(trees || clear without bridge above) */
       
   404 	if (GetTileSlope(tile, NULL) != SLOPE_FLAT || !(IsTileType(tile, MP_TREES) || (IsTileType(tile, MP_CLEAR) && !IsBridgeAbove(tile)))) {
   403 		return;
   405 		return;
   404 	}
   406 	}
   405 
   407 
   406 	MakeTransmitter(tile);
   408 	MakeTransmitter(tile);
   407 	MarkTileDirtyByTile(tile);
   409 	MarkTileDirtyByTile(tile);