| Old revision #pol6ejtzl | New revision #pktd4qic5 | ||
|---|---|---|---|
| 17 | Track track = TrackBitsToTrack(TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_WATER, 0))); | 17 | Track track = TrackBitsToTrack(TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_WATER, 0))); |
| 18 | Trackdir trackdir = TrackToTrackdir(track); | 18 | Trackdir trackdir = TrackToTrackdir(track); |
| 19 | 19 | ||
| 20 | |||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | |||
| 25 | |||
| 26 | Corner corner = GetHighestSlopeCorner(slope); | 20 | Corner corner = GetHighestSlopeCorner(slope); |
| 27 | static const Direction corner_to_direction[] = { DIR_W, DIR_S, DIR_E, DIR_N }; | 21 | static const Direction corner_to_direction[] = { DIR_W, DIR_S, DIR_E, DIR_N }; |
| 28 | 22 | ||
| 29 | /* Test adjacent tiles are valid */ | 23 | /* Test adjacent tiles are valid */ |
| 30 | TileIndex tile_a = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir( | 30 | TileIndex tile_a = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir(TrackdirToExitdir(trackdir))); |
| 31 | if (!IsValidTile(tile_a)) return false; | 25 | if (!IsValidTile(tile_a)) return false; |
| 32 | TileIndex tile_b = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir( | 32 | TileIndex tile_b = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir(TrackdirToExitdir(ReverseTrackdir(trackdir)))); |
| 33 | if (!IsValidTile(tile_b)) return false; | 27 | if (!IsValidTile(tile_b)) return false; |
| 34 | TileIndex tile_o = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDir(corner_to_direction[OppositeCorner(corner)])); | 28 | TileIndex tile_o = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDir(corner_to_direction[OppositeCorner(corner)])); |
| 35 | if (!IsValidTile(tile_o)) return false; | 29 | if (!IsValidTile(tile_o)) return false; |