Change: Allow all tiles around docks to be docking tiles (#9578)

This commit is contained in:
Loïc Guilloux
2021-09-26 19:31:55 +02:00
committed by GitHub
parent 11dece205c
commit 38a64eb2aa
3 changed files with 8 additions and 15 deletions

View File

@@ -2635,23 +2635,15 @@ void ClearDockingTilesCheckingNeighbours(TileIndex tile)
/**
* Check if a dock tile can be docked from the given direction.
* @param t Tile index of dock.
* @param d DiagDirection adjacent to dock being tested.
* @param d DiagDirection adjacent to dock being tested. (unused)
* @return True iff the dock can be docked from the given direction.
*/
bool IsValidDockingDirectionForDock(TileIndex t, DiagDirection d)
{
assert(IsDockTile(t));
/** Bitmap of valid directions for each dock tile part. */
static const uint8 _valid_docking_tile[] = {
0, 0, 0, 0, // No docking against the slope part.
1 << DIAGDIR_NE | 1 << DIAGDIR_SW, // Docking permitted at the end
1 << DIAGDIR_NW | 1 << DIAGDIR_SE, // of the flat piers.
};
StationGfx gfx = GetStationGfx(t);
assert(gfx < lengthof(_valid_docking_tile));
return HasBit(_valid_docking_tile[gfx], d);
return gfx >= GFX_DOCK_BASE_WATER_PART;
}
/**