OpenTTD Source
20241108-master-g80f628063a
|
Functions related to water (management) More...
Go to the source code of this file.
Enumerations | |
enum | FloodingBehaviour { FLOOD_NONE , FLOOD_ACTIVE , FLOOD_PASSIVE , FLOOD_DRYUP } |
Describes the behaviour of a tile during flooding. More... | |
Functions | |
FloodingBehaviour | GetFloodingBehaviour (TileIndex tile) |
Returns the behaviour of a tile during flooding. More... | |
void | ClearNeighbourNonFloodingStates (TileIndex tile) |
Clear non-flooding state of the tiles around a tile. More... | |
void | TileLoop_Water (TileIndex tile) |
Let a water tile floods its diagonal adjoining tiles called from tunnelbridge_cmd, and by TileLoop_Industry() and TileLoop_Track() More... | |
bool | FloodHalftile (TileIndex t) |
Called from water_cmd if a non-flat rail-tile gets flooded and should be converted to shore. More... | |
void | ConvertGroundTilesIntoWaterTiles () |
void | DrawShipDepotSprite (int x, int y, Axis axis, DepotPart part) |
void | DrawWaterClassGround (const struct TileInfo *ti) |
void | DrawShoreTile (Slope tileh) |
void | MakeWaterKeepingClass (TileIndex tile, Owner o) |
void | CheckForDockingTile (TileIndex t) |
Mark the supplied tile as a docking tile if it is suitable for docking. More... | |
void | MakeRiverAndModifyDesertZoneAround (TileIndex tile) |
Make a river tile and remove desert directly around it. More... | |
bool | IsWateredTile (TileIndex tile, Direction from) |
return true if a tile is a water tile wrt. More... | |
Money | CanalMaintenanceCost (uint32_t num) |
Calculates the maintenance cost of a number of canal tiles. More... | |
Variables | |
static const uint | RIVER_OFFSET_DESERT_DISTANCE = 5 |
Circular tile search radius to create non-desert around a river tile. | |
Functions related to water (management)
Definition in file water.h.
enum FloodingBehaviour |
Describes the behaviour of a tile during flooding.
|
inline |
void CheckForDockingTile | ( | TileIndex | t | ) |
Mark the supplied tile as a docking tile if it is suitable for docking.
Tiles surrounding the tile are tested to be docks with correct orientation.
t | Tile to test. |
Definition at line 195 of file water_cmd.cpp.
References OrthogonalTileArea::Add(), DIAGDIR_BEGIN, DIAGDIR_END, Station::docking_station, SpecializedStation< Station, false >::GetByTile(), Industry::GetByTile(), IsDockTile(), IsDockWaterPart(), IsOilRig(), IsTileType(), IsValidTile(), MP_INDUSTRY, MP_STATION, Industry::neutral_station, SetDockingTile(), and TileOffsByDiagDir().
void ClearNeighbourNonFloodingStates | ( | TileIndex | tile | ) |
Clear non-flooding state of the tiles around a tile.
tile | The centre of the tile where other tiles' non-flooding state is cleared. |
Definition at line 97 of file water_cmd.cpp.
References DIR_BEGIN, DIR_END, IsTileType(), IsValidTile(), MP_WATER, SetNonFloodingWaterTile(), and TileOffsByDir().
Referenced by PlantTreesOnTile().
bool FloodHalftile | ( | TileIndex | t | ) |
Called from water_cmd if a non-flat rail-tile gets flooded and should be converted to shore.
The function floods the lower halftile, if the tile has a halftile foundation.
t | The tile to flood. |
Definition at line 762 of file rail_cmd.cpp.
References IsPlainRailTile().
Referenced by DoFloodTile().
FloodingBehaviour GetFloodingBehaviour | ( | TileIndex | tile | ) |
Returns the behaviour of a tile during flooding.
Definition at line 1092 of file water_cmd.cpp.
References FLOOD_ACTIVE, FLOOD_DRYUP, FLOOD_NONE, GetTileSlope(), GetTileType(), GetWaterClass(), IsCoast(), IsSlopeWithOneCornerRaised(), MP_INDUSTRY, MP_OBJECT, MP_RAILWAY, MP_STATION, MP_WATER, and WATER_CLASS_SEA.
Referenced by CheckRailSlope(), and TileLoop_Water().
return true if a tile is a water tile wrt.
a certain direction.
tile | The tile of interest. |
from | The direction of interest. |
Definition at line 636 of file water_cmd.cpp.
References GetTileType(), GetWaterTileType(), and MP_WATER.
Referenced by CanalScopeResolver::GetVariable().
void MakeRiverAndModifyDesertZoneAround | ( | TileIndex | tile | ) |
Make a river tile and remove desert directly around it.
tile | The tile to change into river and create non-desert around |
Definition at line 454 of file water_cmd.cpp.
References MakeRiver().
Referenced by RiverMakeWider().
void TileLoop_Water | ( | TileIndex | tile | ) |
Let a water tile floods its diagonal adjoining tiles called from tunnelbridge_cmd, and by TileLoop_Industry() and TileLoop_Track()
tile | the water/shore tile that floods |
Definition at line 1245 of file water_cmd.cpp.
References _flood_from_dirs, AddTileIndexDiffCWrap(), AmbientSoundEffect(), DIR_BEGIN, DIR_END, DoDryUp(), DoFloodTile(), FLOOD_ACTIVE, FLOOD_DRYUP, FLOOD_PASSIVE, GetFloodingBehaviour(), GetFoundationSlope(), GetTreeGround(), HasBit(), INVALID_TILE, IsBuoy(), IsDock(), IsNonFloodingWaterTile(), IsTileType(), IsValidTile(), MP_STATION, MP_TREES, MP_WATER, ReverseDir(), SetNonFloodingWaterTile(), SLOPE_HALFTILE_MASK, SLOPE_STEEP, TileIndexDiffCByDir(), and TREE_GROUND_SHORE.