@@ -2450,13 +2450,13 @@ static void TileLoop_Track(TileIndex til
(rail & TRACK_BIT_3WAY_NW) == 0 &&
(rail & TRACK_BIT_X)
)) {
TileIndex n = tile + TileDiffXY(0, -1);
TrackBits nrail = (IsPlainRailTile(n) ? GetTrackBits(n) : TRACK_BIT_NONE);
if (!IsTileType(n, MP_RAILWAY) ||
if ((!IsTileType(n, MP_RAILWAY) && !IsRailWaypointTile(n)) ||
!IsTileOwner(n, owner) ||
nrail == TRACK_BIT_UPPER ||
nrail == TRACK_BIT_LEFT) {
new_ground = RAIL_GROUND_FENCE_NW;
}
@@ -2465,13 +2465,13 @@ static void TileLoop_Track(TileIndex til
(rail & TRACK_BIT_3WAY_SE) == 0 &&
TileIndex n = tile + TileDiffXY(0, 1);
nrail == TRACK_BIT_LOWER ||
nrail == TRACK_BIT_RIGHT) {
new_ground = (new_ground == RAIL_GROUND_FENCE_NW) ?
RAIL_GROUND_FENCE_SENW : RAIL_GROUND_FENCE_SE;
@@ -2481,13 +2481,13 @@ static void TileLoop_Track(TileIndex til
(rail & TRACK_BIT_3WAY_NE) == 0 &&
(rail & TRACK_BIT_Y)
TileIndex n = tile + TileDiffXY(-1, 0);
new_ground = RAIL_GROUND_FENCE_NE;
@@ -2496,13 +2496,13 @@ static void TileLoop_Track(TileIndex til
(rail & TRACK_BIT_3WAY_SW) == 0 &&
TileIndex n = tile + TileDiffXY(1, 0);
new_ground = (new_ground == RAIL_GROUND_FENCE_NE) ?
RAIL_GROUND_FENCE_NESW : RAIL_GROUND_FENCE_SW;
Status change: