mirror of https://github.com/OpenTTD/OpenTTD
Codechange: Rename ship docking tile related functions.
parent
5733145c59
commit
baf7cc858b
|
@ -624,7 +624,7 @@ bool IsShipDestinationTile(TileIndex tile, StationID station)
|
||||||
for (DiagDirection d = DIAGDIR_BEGIN; d != DIAGDIR_END; d++) {
|
for (DiagDirection d = DIAGDIR_BEGIN; d != DIAGDIR_END; d++) {
|
||||||
TileIndex t = tile + TileOffsByDiagDir(d);
|
TileIndex t = tile + TileOffsByDiagDir(d);
|
||||||
if (!IsValidTile(t)) continue;
|
if (!IsValidTile(t)) continue;
|
||||||
if (IsDockTile(t) && GetStationIndex(t) == station && IsValidDockingDirectionForDock(t, d)) return true;
|
if (IsDockTile(t) && GetStationIndex(t) == station && IsDockWaterPart(t)) return true;
|
||||||
if (IsTileType(t, MP_INDUSTRY)) {
|
if (IsTileType(t, MP_INDUSTRY)) {
|
||||||
const Industry *i = Industry::GetByTile(t);
|
const Industry *i = Industry::GetByTile(t);
|
||||||
if (i->neutral_station != nullptr && i->neutral_station->index == station) return true;
|
if (i->neutral_station != nullptr && i->neutral_station->index == station) return true;
|
||||||
|
|
|
@ -2740,20 +2740,6 @@ 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. (unused)
|
|
||||||
* @return True iff the dock can be docked from the given direction.
|
|
||||||
*/
|
|
||||||
bool IsValidDockingDirectionForDock(TileIndex t, DiagDirection d)
|
|
||||||
{
|
|
||||||
assert(IsDockTile(t));
|
|
||||||
|
|
||||||
StationGfx gfx = GetStationGfx(t);
|
|
||||||
return gfx >= GFX_DOCK_BASE_WATER_PART;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the part of a dock that is land-based
|
* Find the part of a dock that is land-based
|
||||||
* @param t Dock tile to find land part of
|
* @param t Dock tile to find land part of
|
||||||
|
|
|
@ -40,7 +40,6 @@ void DeleteOilRig(TileIndex t);
|
||||||
void UpdateStationDockingTiles(Station *st);
|
void UpdateStationDockingTiles(Station *st);
|
||||||
void RemoveDockingTile(TileIndex t);
|
void RemoveDockingTile(TileIndex t);
|
||||||
void ClearDockingTilesCheckingNeighbours(TileIndex tile);
|
void ClearDockingTilesCheckingNeighbours(TileIndex tile);
|
||||||
bool IsValidDockingDirectionForDock(TileIndex t, DiagDirection d);
|
|
||||||
|
|
||||||
/* Check if a rail station tile is traversable. */
|
/* Check if a rail station tile is traversable. */
|
||||||
bool IsStationTileBlocked(TileIndex tile);
|
bool IsStationTileBlocked(TileIndex tile);
|
||||||
|
|
|
@ -435,30 +435,13 @@ static inline DiagDirection GetDockDirection(Tile t)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the tileoffset from this tile a ship should target to get to this dock.
|
* Check whether a dock tile is the tile on water.
|
||||||
* @param t Tile to query
|
|
||||||
* @pre IsTileType(t, MP_STATION)
|
|
||||||
* @pre IsBuoy(t) || IsOilRig(t) || IsDock(t)
|
|
||||||
* @return The offset from this tile that should be used as destination for ships.
|
|
||||||
*/
|
*/
|
||||||
static inline TileIndexDiffC GetDockOffset(Tile t)
|
static inline bool IsDockWaterPart(Tile t)
|
||||||
{
|
{
|
||||||
static const TileIndexDiffC buoy_offset = {0, 0};
|
assert(IsDockTile(t));
|
||||||
static const TileIndexDiffC oilrig_offset = {2, 0};
|
StationGfx gfx = GetStationGfx(t);
|
||||||
static const TileIndexDiffC dock_offset[DIAGDIR_END] = {
|
return gfx >= GFX_DOCK_BASE_WATER_PART;
|
||||||
{-2, 0},
|
|
||||||
{ 0, 2},
|
|
||||||
{ 2, 0},
|
|
||||||
{ 0, -2},
|
|
||||||
};
|
|
||||||
assert(IsTileType(t, MP_STATION));
|
|
||||||
|
|
||||||
if (IsBuoy(t)) return buoy_offset;
|
|
||||||
if (IsOilRig(t)) return oilrig_offset;
|
|
||||||
|
|
||||||
assert(IsDock(t));
|
|
||||||
|
|
||||||
return dock_offset[GetDockDirection(t)];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -186,7 +186,7 @@ void CheckForDockingTile(TileIndex t)
|
||||||
TileIndex tile = t + TileOffsByDiagDir(d);
|
TileIndex tile = t + TileOffsByDiagDir(d);
|
||||||
if (!IsValidTile(tile)) continue;
|
if (!IsValidTile(tile)) continue;
|
||||||
|
|
||||||
if (IsDockTile(tile) && IsValidDockingDirectionForDock(tile, d)) {
|
if (IsDockTile(tile) && IsDockWaterPart(tile)) {
|
||||||
Station::GetByTile(tile)->docking_station.Add(t);
|
Station::GetByTile(tile)->docking_station.Add(t);
|
||||||
SetDockingTile(t, true);
|
SetDockingTile(t, true);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue