From 7af3360c5aa6c5b9cfdad97351bcc7644b4ab5c1 Mon Sep 17 00:00:00 2001 From: dominik Date: Fri, 13 Aug 2004 19:52:45 +0000 Subject: (svn r44) Fix: Coast line near edge of map and near oilrigs (Dribbel) --- industry_cmd.c | 8 ++++++++ station_cmd.c | 5 +++++ water_cmd.c | 14 ++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/industry_cmd.c b/industry_cmd.c index 17fa7bcd2..48560cfba 100644 --- a/industry_cmd.c +++ b/industry_cmd.c @@ -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); diff --git a/station_cmd.c b/station_cmd.c index 74a3308c2..d10e9ef3b 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -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); + } diff --git a/water_cmd.c b/water_cmd.c index 2a1ccc111..ef98a0a44 100644 --- a/water_cmd.c +++ b/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]); + } -- cgit v1.2.3-70-g09d2