Changeset - r27945:eecaf9c32524
[Not reviewed]
master
0 5 0
frosch - 9 months ago 2023-09-16 21:51:49
frosch@openttd.org
Codechange: Rename ship docking tile related functions.
5 files changed with 7 insertions and 39 deletions:
0 comments (0 inline, 0 general)
src/ship_cmd.cpp
Show inline comments
 
@@ -624,7 +624,7 @@ bool IsShipDestinationTile(TileIndex til
 
	for (DiagDirection d = DIAGDIR_BEGIN; d != DIAGDIR_END; d++) {
 
		TileIndex t = tile + TileOffsByDiagDir(d);
 
		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)) {
 
			const Industry *i = Industry::GetByTile(t);
 
			if (i->neutral_station != nullptr && i->neutral_station->index == station) return true;
src/station_cmd.cpp
Show inline comments
 
@@ -2741,20 +2741,6 @@ void ClearDockingTilesCheckingNeighbours
 
}
 

	
 
/**
 
 * 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
 
 * @param t Dock tile to find land part of
 
 * @return tile of land part of dock
src/station_func.h
Show inline comments
 
@@ -40,7 +40,6 @@ void DeleteOilRig(TileIndex t);
 
void UpdateStationDockingTiles(Station *st);
 
void RemoveDockingTile(TileIndex t);
 
void ClearDockingTilesCheckingNeighbours(TileIndex tile);
 
bool IsValidDockingDirectionForDock(TileIndex t, DiagDirection d);
 

	
 
/* Check if a rail station tile is traversable. */
 
bool IsStationTileBlocked(TileIndex tile);
src/station_map.h
Show inline comments
 
@@ -435,30 +435,13 @@ static inline DiagDirection GetDockDirec
 
}
 

	
 
/**
 
 * Get the tileoffset from this tile a ship should target to get to this dock.
 
 * @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.
 
 * Check whether a dock tile is the tile on water.
 
 */
 
static inline TileIndexDiffC GetDockOffset(Tile t)
 
static inline bool IsDockWaterPart(Tile t)
 
{
 
	static const TileIndexDiffC buoy_offset = {0, 0};
 
	static const TileIndexDiffC oilrig_offset = {2, 0};
 
	static const TileIndexDiffC dock_offset[DIAGDIR_END] = {
 
		{-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)];
 
	assert(IsDockTile(t));
 
	StationGfx gfx = GetStationGfx(t);
 
	return gfx >= GFX_DOCK_BASE_WATER_PART;
 
}
 

	
 
/**
src/water_cmd.cpp
Show inline comments
 
@@ -186,7 +186,7 @@ void CheckForDockingTile(TileIndex t)
 
		TileIndex tile = t + TileOffsByDiagDir(d);
 
		if (!IsValidTile(tile)) continue;
 

	
 
		if (IsDockTile(tile) && IsValidDockingDirectionForDock(tile, d)) {
 
		if (IsDockTile(tile) && IsDockWaterPart(tile)) {
 
			Station::GetByTile(tile)->docking_station.Add(t);
 
			SetDockingTile(t, true);
 
		}
0 comments (0 inline, 0 general)