Changeset - r9503:445be6052085
[Not reviewed]
master
0 1 0
rubidium - 16 years ago 2008-06-12 11:15:43
rubidium@openttd.org
(svn r13485) -Fix: let ships also navigate on half-tile sloped watery rail tiles.
1 file changed with 15 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/rail_cmd.cpp
Show inline comments
 
@@ -1383,6 +1383,8 @@ static CommandCost ClearTile_Track(TileI
 
			}
 

	
 
			if (water_ground) {
 
				if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
 

	
 
				/* The track was removed, and left a coast tile. Now also clear the water. */
 
				if (flags & DC_EXEC) DoClearSquare(tile);
 
				cost.AddCost(_price.clear_water);
 
@@ -2112,6 +2114,19 @@ set_ground:
 

	
 
static TrackStatus GetTileTrackStatus_Track(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
 
{
 
	/* Case of half tile slope with water. */
 
	if (mode == TRANSPORT_WATER && IsPlainRailTile(tile) && GetRailGroundType(tile) == RAIL_GROUND_WATER) {
 
		TrackBits tb = GetTrackBits(tile);
 
		switch (tb) {
 
			default: NOT_REACHED();
 
			case TRACK_BIT_UPPER: tb = TRACK_BIT_LOWER; break;
 
			case TRACK_BIT_LOWER: tb = TRACK_BIT_UPPER; break;
 
			case TRACK_BIT_LEFT:  tb = TRACK_BIT_RIGHT; break;
 
			case TRACK_BIT_RIGHT: tb = TRACK_BIT_LEFT;  break;
 
		}
 
		return CombineTrackStatus(TrackBitsToTrackdirBits(tb), TRACKDIR_BIT_NONE);
 
	}
 

	
 
	if (mode != TRANSPORT_RAIL) return 0;
 

	
 
	TrackBits trackbits = TRACK_BIT_NONE;
0 comments (0 inline, 0 general)