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); |