OpenTTD
Enumerations | Functions
water.h File Reference

Functions related to water (management) More...

#include "water_map.h"
#include "economy_func.h"

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.
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()
bool FloodHalftile (TileIndex t)
 Called from water_cmd if a non-flat rail-tile gets flooded and should be converted to shore.
void DoFloodTile (TileIndex target)
 Floods a tile.
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)
bool RiverModifyDesertZone (TileIndex tile, void *data)
 Callback to create non-desert around a river tile.
bool IsWateredTile (TileIndex tile, Direction from)
 return true if a tile is a water tile wrt.
static Money CanalMaintenanceCost (uint32 num)
 Calculates the maintenance cost of a number of canal tiles.

Detailed Description

Functions related to water (management)

Definition in file water.h.

Enumeration Type Documentation

Describes the behaviour of a tile during flooding.

Enumerator:
FLOOD_NONE 

The tile does not flood neighboured tiles.

FLOOD_ACTIVE 

The tile floods neighboured tiles.

FLOOD_PASSIVE 

The tile does not actively flood neighboured tiles, but it prevents them from drying up.

FLOOD_DRYUP 

The tile drys up if it is not constantly flooded from neighboured tiles.

Definition at line 21 of file water.h.

Function Documentation

static Money CanalMaintenanceCost ( uint32  num)
inlinestatic

Calculates the maintenance cost of a number of canal tiles.

Parameters
numNumber of canal tiles.
Returns
Total cost.

Definition at line 51 of file water.h.

References IntSqrt().

Referenced by CompaniesGenStatistics(), CompanyInfrastructureWindow::DrawWidget(), CompanyInfrastructureWindow::GetTotalMaintenanceCost(), and CompanyInfrastructureWindow::UpdateWidgetSize().

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.

Parameters
tThe tile to flood.
Returns
true if something was flooded.

Definition at line 749 of file rail_cmd.cpp.

References _current_company, ApplyFoundationToSlope(), CMD_REMOVE_SINGLE_RAIL, CornerToTrackBits(), DC_EXEC, DoCommand(), FIND_FIRST_BIT, GetHighestSlopeCorner(), GetRailFoundation(), GetTileSlope(), GetTrackBits(), IsNonContinuousFoundation(), IsPlainRailTile(), IsSlopeWithOneCornerRaised(), IsSlopeWithThreeCornersRaised(), IsSteepSlope(), MakeShore(), MarkTileDirtyByTile(), OppositeCorner(), OWNER_WATER, RAIL_GROUND_WATER, Backup< T >::Restore(), and CommandCost::Succeeded().

Referenced by DoFloodTile().

FloodingBehaviour GetFloodingBehaviour ( TileIndex  tile)
bool IsWateredTile ( TileIndex  tile,
Direction  from 
)
bool RiverModifyDesertZone ( TileIndex  tile,
void *   
)

Callback to create non-desert around a river tile.

Definition at line 379 of file water_cmd.cpp.

References GetTropicZone(), SetTropicZone(), TROPICZONE_DESERT, and TROPICZONE_NORMAL.

Referenced by CmdBuildCanal().

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()

Parameters
tilethe water/shore tile that floods

Definition at line 1153 of file water_cmd.cpp.

References _flood_from_dirs, AmbientSoundEffect(), DIR_BEGIN, DIR_END, DoDryUp(), DoFloodTile(), FLOOD_ACTIVE, FLOOD_DRYUP, FLOOD_PASSIVE, FOR_EACH_SET_BIT, GetFloodingBehaviour(), GetFoundationSlope(), GetTreeGround(), HasBit(), IsTileType(), IsValidTile(), MP_TREES, MP_WATER, ReverseDir(), SLOPE_HALFTILE_MASK, SLOPE_STEEP, TileOffsByDir(), and TREE_GROUND_SHORE.