Changeset - r43:e892bf8d7703
[Not reviewed]
master
0 3 0
dominik - 20 years ago 2004-08-13 19:52:45
dominik@openttd.org
(svn r44) Fix: Coast line near edge of map and near oilrigs (Dribbel)
3 files changed with 27 insertions and 0 deletions:
0 comments (0 inline, 0 general)
industry_cmd.c
Show inline comments
 
@@ -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);
station_cmd.c
Show inline comments
 
@@ -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);
 

	
 
}
 

	
 

	
water_cmd.c
Show inline comments
 
@@ -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]);
 

	
 
}
 

	
 

	
0 comments (0 inline, 0 general)