mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r44) Fix: Coast line near edge of map and near oilrigs (Dribbel)
This commit is contained in:
parent
3067b9ac63
commit
7af3360c5a
|
@ -725,6 +725,14 @@ static void TileLoop_Industry(uint tile)
|
|||
#define SET_AND_UNANIMATE(tile,a,b) { _map5[tile]=a; _map_owner[tile]=b; DeleteAnimatedTile(tile); }
|
||||
|
||||
switch(_map5[tile]) {
|
||||
case 0x18: // coast line at oilrigs
|
||||
case 0x19:
|
||||
case 0x1A:
|
||||
case 0x1B:
|
||||
case 0x1C:
|
||||
TileLoop_Water(tile);
|
||||
break;
|
||||
|
||||
case 0:
|
||||
if (!(_tick_counter & 0x400) && CHANCE16(1,2))
|
||||
SET_AND_ANIMATE(tile,1,0x80);
|
||||
|
|
|
@ -1841,6 +1841,11 @@ static void TileLoop_Station(uint tile)
|
|||
// treat a bouy tile as water.
|
||||
else if (_map5[tile] == 0x52)
|
||||
TileLoop_Water(tile);
|
||||
|
||||
// treat a oilrig (the station part) as water
|
||||
else if (_map5[tile] == 0x4B)
|
||||
TileLoop_Water(tile);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
14
water_cmd.c
14
water_cmd.c
|
@ -528,6 +528,20 @@ void TileLoop_Water(uint tile)
|
|||
for(i=0; i!=4; i++)
|
||||
TileLoopWaterHelper(tile, _tile_loop_offs_array[i]);
|
||||
}
|
||||
|
||||
// edges
|
||||
if ( GET_TILE_X(tile)==0 && IS_INT_INSIDE(GET_TILE_Y(tile),1,TILES_Y-3+1)) //NE
|
||||
TileLoopWaterHelper(tile, _tile_loop_offs_array[2]);
|
||||
|
||||
if ( GET_TILE_X(tile)==(TILES_X-2) && IS_INT_INSIDE(GET_TILE_Y(tile),1,TILES_Y-3+1)) //SW
|
||||
TileLoopWaterHelper(tile, _tile_loop_offs_array[0]);
|
||||
|
||||
if ( GET_TILE_Y(tile)==0 && IS_INT_INSIDE(GET_TILE_X(tile),1,TILES_X-3+1)) //NW
|
||||
TileLoopWaterHelper(tile, _tile_loop_offs_array[1]);
|
||||
|
||||
if ( GET_TILE_Y(tile)==(TILES_Y-2) && IS_INT_INSIDE(GET_TILE_X(tile),1,TILES_X-3+1)) //SE
|
||||
TileLoopWaterHelper(tile, _tile_loop_offs_array[3]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue