OpenTTD Source 20241224-master-gf74b0cf984
|
Handling of water tiles. More...
#include "stdafx.h"
#include "landscape.h"
#include "viewport_func.h"
#include "command_func.h"
#include "town.h"
#include "news_func.h"
#include "depot_base.h"
#include "depot_func.h"
#include "water.h"
#include "industry_map.h"
#include "newgrf_canal.h"
#include "strings_func.h"
#include "vehicle_func.h"
#include "sound_func.h"
#include "company_func.h"
#include "clear_map.h"
#include "tree_map.h"
#include "aircraft.h"
#include "effectvehicle_func.h"
#include "tunnelbridge_map.h"
#include "station_base.h"
#include "ai/ai.hpp"
#include "game/game.hpp"
#include "core/random_func.hpp"
#include "core/backup_type.hpp"
#include "timer/timer_game_calendar.h"
#include "company_base.h"
#include "company_gui.h"
#include "newgrf_generic.h"
#include "industry.h"
#include "water_cmd.h"
#include "landscape_cmd.h"
#include "pathfinder/water_regions.h"
#include "table/strings.h"
#include "safeguards.h"
#include "table/water_land.h"
Go to the source code of this file.
Functions | |
static void | MarkTileDirtyIfCanalOrRiver (TileIndex tile) |
Marks tile dirty if it is a canal or river tile. | |
static void | MarkCanalsAndRiversAroundDirty (TileIndex tile) |
Marks the tiles around a tile as dirty, if they are canals or rivers. | |
void | ClearNeighbourNonFloodingStates (TileIndex tile) |
Clear non-flooding state of the tiles around a tile. | |
CommandCost | CmdBuildShipDepot (DoCommandFlag flags, TileIndex tile, Axis axis) |
Build a ship depot. | |
bool | IsPossibleDockingTile (Tile t) |
void | CheckForDockingTile (TileIndex t) |
Mark the supplied tile as a docking tile if it is suitable for docking. | |
void | MakeWaterKeepingClass (TileIndex tile, Owner o) |
static CommandCost | RemoveShipDepot (TileIndex tile, DoCommandFlag flags) |
static CommandCost | DoBuildLock (TileIndex tile, DiagDirection dir, DoCommandFlag flags) |
Builds a lock. | |
static CommandCost | RemoveLock (TileIndex tile, DoCommandFlag flags) |
Remove a lock. | |
CommandCost | CmdBuildLock (DoCommandFlag flags, TileIndex tile) |
Builds a lock. | |
static bool | RiverModifyDesertZone (TileIndex tile, void *) |
Callback to create non-desert around a river tile. | |
void | MakeRiverAndModifyDesertZoneAround (TileIndex tile) |
Make a river tile and remove desert directly around it. | |
CommandCost | CmdBuildCanal (DoCommandFlag flags, TileIndex tile, TileIndex start_tile, WaterClass wc, bool diagonal) |
Build a piece of canal. | |
static CommandCost | ClearTile_Water (TileIndex tile, DoCommandFlag flags) |
bool | IsWateredTile (TileIndex tile, Direction from) |
return true if a tile is a water tile wrt. | |
static void | DrawWaterSprite (SpriteID base, uint offset, CanalFeature feature, TileIndex tile) |
Draw a water sprite, potentially with a NewGRF-modified sprite offset. | |
static void | DrawWaterEdges (bool canal, uint offset, TileIndex tile) |
Draw canal or river edges. | |
static void | DrawSeaWater (TileIndex) |
Draw a plain sea water tile with no edges. | |
static void | DrawCanalWater (TileIndex tile) |
draw a canal styled water tile with dikes around | |
static void | DrawWaterTileStruct (const TileInfo *ti, const DrawTileSeqStruct *dtss, SpriteID base, uint offset, PaletteID palette, CanalFeature feature) |
Draw a build sprite sequence for water tiles. | |
static void | DrawWaterLock (const TileInfo *ti) |
Draw a lock tile. | |
static void | DrawWaterDepot (const TileInfo *ti) |
Draw a ship depot tile. | |
static void | DrawRiverWater (const TileInfo *ti) |
void | DrawShoreTile (Slope tileh) |
void | DrawWaterClassGround (const TileInfo *ti) |
static void | DrawTile_Water (TileInfo *ti) |
void | DrawShipDepotSprite (int x, int y, Axis axis, DepotPart part) |
static int | GetSlopePixelZ_Water (TileIndex tile, uint x, uint y, bool) |
static Foundation | GetFoundation_Water (TileIndex, Slope) |
static void | GetTileDesc_Water (TileIndex tile, TileDesc *td) |
static void | FloodVehicle (Vehicle *v) |
Handle the flooding of a vehicle. | |
static Vehicle * | FloodVehicleProc (Vehicle *v, void *data) |
Flood a vehicle if we are allowed to flood it, i.e. | |
static void | FloodVehicles (TileIndex tile) |
Finds a vehicle to flood. | |
FloodingBehaviour | GetFloodingBehaviour (TileIndex tile) |
Returns the behaviour of a tile during flooding. | |
static void | DoFloodTile (TileIndex target) |
Floods a tile. | |
static void | DoDryUp (TileIndex tile) |
Drys a tile up. | |
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() | |
void | ConvertGroundTilesIntoWaterTiles () |
static TrackStatus | GetTileTrackStatus_Water (TileIndex tile, TransportType mode, uint, DiagDirection) |
static bool | ClickTile_Water (TileIndex tile) |
static void | ChangeTileOwner_Water (TileIndex tile, Owner old_owner, Owner new_owner) |
static VehicleEnterTileStatus | VehicleEnter_Water (Vehicle *, TileIndex, int, int) |
static CommandCost | TerraformTile_Water (TileIndex tile, DoCommandFlag flags, int, Slope) |
Variables | |
static const uint8_t | _flood_from_dirs [] |
Describes from which directions a specific slope can be flooded (if the tile is floodable at all). | |
const TileTypeProcs | _tile_type_water_procs |
Handling of water tiles.
Definition in file water_cmd.cpp.
Definition at line 1371 of file water_cmd.cpp.
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, BaseStation::GetByTile(), Industry::GetByTile(), IsDockTile(), IsDockWaterPart(), IsOilRig(), IsTileType(), IsValidTile(), MP_INDUSTRY, MP_STATION, Industry::neutral_station, SetDockingTile(), and TileOffsByDiagDir().
Referenced by ClearDockingTilesCheckingNeighbours(), CmdBuildBridge(), CmdBuildBuoy(), CmdBuildCanal(), CmdBuildShipDepot(), CmdBuildSingleRail(), DoBuildLock(), and DoFloodTile().
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 BuildObject(), CmdBuildBuoy(), CmdLandscapeClear(), PlantTreesOnTile(), and RemoveLock().
|
static |
Definition at line 550 of file water_cmd.cpp.
|
static |
Definition at line 1362 of file water_cmd.cpp.
CommandCost CmdBuildCanal | ( | DoCommandFlag | flags, |
TileIndex | tile, | ||
TileIndex | start_tile, | ||
WaterClass | wc, | ||
bool | diagonal | ||
) |
Build a piece of canal.
flags | type of operation |
tile | end tile of stretch-dragging |
start_tile | start tile of stretch-dragging |
wc | waterclass to build. sea and river can only be built in scenario editor |
diagonal | Whether to use the Orthogonal (0) or Diagonal (1) iterator. |
Definition at line 472 of file water_cmd.cpp.
References _current_company, CommandCost::AddCost(), CheckForDockingTile(), CircularTileSearch(), CMD_ERROR, TileIterator::Create(), DC_EXEC, DirtyCompanyInfrastructureWindows(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), CommandCost::GetCost(), GetTileOwner(), GetTileSlope(), INVALID_TILE, IsCanal(), IsInclinedSlope(), IsTileOwner(), IsTileType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), IsValidWaterClass(), IsWaterTile(), MakeCanal(), MakeRiver(), MakeSea(), MarkCanalsAndRiversAroundDirty(), MarkTileDirtyByTile(), MP_WATER, OWNER_NONE, RIVER_OFFSET_DESERT_DISTANCE, RiverModifyDesertZone(), Map::Size(), SLOPE_FLAT, TileHeight(), WATER_CLASS_CANAL, WATER_CLASS_RIVER, and WATER_CLASS_SEA.
CommandCost CmdBuildLock | ( | DoCommandFlag | flags, |
TileIndex | tile | ||
) |
Builds a lock.
flags | type of operation |
tile | tile where to place the lock |
Definition at line 435 of file water_cmd.cpp.
References DoBuildLock(), GetInclinedSlopeDirection(), GetTileSlope(), and INVALID_DIAGDIR.
CommandCost CmdBuildShipDepot | ( | DoCommandFlag | flags, |
TileIndex | tile, | ||
Axis | axis | ||
) |
Build a ship depot.
flags | type of operation |
tile | tile where ship depot is built |
axis | depot orientation (Axis) |
Definition at line 112 of file water_cmd.cpp.
References _current_company, CommandCost::AddCost(), Depot::build_date, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_depot_pool >::CanAllocateItem(), CheckForDockingTile(), CMD_ERROR, TimerGameCalendar::date, DC_AUTO, DC_EXEC, DEPOT_PART_NORTH, DEPOT_PART_SOUTH, DirtyCompanyInfrastructureWindows(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), GetWaterClass(), HasTileWaterClass(), HasTileWaterGround(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, IsBridgeAbove(), IsTileFlat(), IsTileOwner(), IsValidAxis(), IsWaterTile(), LOCK_DEPOT_TILE_FACTOR, MakeDefaultName(), MakeShipDepot(), MarkTileDirtyByTile(), TileOffsByAxis(), and WATER_CLASS_CANAL.
void ConvertGroundTilesIntoWaterTiles | ( | ) |
Definition at line 1300 of file water_cmd.cpp.
|
static |
Builds a lock.
tile | Central tile of the lock. |
dir | Uphill direction. |
flags | Operation to perform. |
Definition at line 312 of file water_cmd.cpp.
References _current_company, CommandCost::AddCost(), CheckForDockingTile(), DC_EXEC, DirtyCompanyInfrastructureWindows(), EnsureNoVehicleOnGround(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::GetIfValid(), GetWaterClass(), HasTileWaterGround(), Company::infrastructure, InvalidateWaterRegion(), IsBridgeAbove(), IsTileFlat(), IsWaterTile(), LOCK_DEPOT_TILE_FACTOR, MakeLock(), MarkCanalsAndRiversAroundDirty(), MarkTileDirtyByTile(), CommandCost::Succeeded(), TileOffsByDiagDir(), CompanyInfrastructure::water, and WATER_CLASS_CANAL.
Referenced by CmdBuildLock().
|
static |
Drys a tile up.
Definition at line 1198 of file water_cmd.cpp.
References _current_company, CLEAR_GRASS, DC_EXEC, GetTileType(), GetTrackBits(), IsCoast(), IsPlainRail(), MakeClear(), MarkTileDirtyByTile(), MP_RAILWAY, MP_TREES, MP_WATER, OWNER_WATER, RAIL_GROUND_FENCE_HORIZ1, RAIL_GROUND_FENCE_HORIZ2, RAIL_GROUND_FENCE_VERT1, RAIL_GROUND_FENCE_VERT2, RAIL_GROUND_WATER, Backup< T >::Restore(), SetTreeGroundDensity(), TRACK_BIT_LEFT, TRACK_BIT_LOWER, TRACK_BIT_RIGHT, TRACK_BIT_UPPER, and TREE_GROUND_GRASS.
Referenced by TileLoop_Water().
|
static |
Floods a tile.
Definition at line 1131 of file water_cmd.cpp.
References _current_company, CheckForDockingTile(), DC_EXEC, FloodHalftile(), FloodVehicles(), GetTileSlope(), GetTileType(), IsPlainRail(), IsSlopeWithOneCornerRaised(), IsTileType(), MakeSea(), MakeShore(), MarkCanalsAndRiversAroundDirty(), MarkTileDirtyByTile(), MP_CLEAR, MP_RAILWAY, MP_TREES, MP_WATER, OWNER_WATER, Backup< T >::Restore(), SetTreeGroundDensity(), SLOPE_FLAT, TREE_GROUND_SHORE, and UpdateSignalsInBuffer().
Referenced by TileLoop_Water().
|
static |
draw a canal styled water tile with dikes around
Definition at line 781 of file water_cmd.cpp.
References _water_feature, CFF_HAS_FLAT_SPRITE, DrawWaterEdges(), DrawWaterSprite(), GetCanalSprite(), and HasBit().
|
static |
Definition at line 867 of file water_cmd.cpp.
|
static |
Draw a plain sea water tile with no edges.
Definition at line 775 of file water_cmd.cpp.
References DrawGroundSprite().
Definition at line 956 of file water_cmd.cpp.
void DrawShoreTile | ( | Slope | tileh | ) |
Definition at line 905 of file water_cmd.cpp.
|
static |
Definition at line 932 of file water_cmd.cpp.
void DrawWaterClassGround | ( | const TileInfo * | ti | ) |
Definition at line 922 of file water_cmd.cpp.
|
static |
Draw a ship depot tile.
Definition at line 861 of file water_cmd.cpp.
References DrawWaterTileStruct(), GetShipDepotAxis(), GetShipDepotPart(), GetTileOwner(), and TileInfo::tile.
|
static |
Draw canal or river edges.
canal | True if canal edges should be drawn, false for river edges. |
offset | Sprite offset. |
tile | Tile to draw. |
Definition at line 722 of file water_cmd.cpp.
References DIR_E, DIR_N, DIR_NE, DIR_NW, DIR_S, DIR_SE, DIR_SW, DIR_W, DrawWaterSprite(), GetCanalSprite(), IsWateredTile(), and TileAddXY().
Referenced by DrawCanalWater().
|
static |
Draw a lock tile.
Definition at line 822 of file water_cmd.cpp.
References _water_feature, CFF_HAS_FLAT_SPRITE, DrawGroundSprite(), DrawWaterTileStruct(), GetCanalSprite(), GetLockDirection(), GetLockPart(), DrawTileSprites::ground, HasBit(), LOCK_PART_UPPER, DrawTileSprites::seq, PalSpriteID::sprite, TileInfo::tile, and TileInfo::z.
|
static |
Draw a water sprite, potentially with a NewGRF-modified sprite offset.
base | Sprite base. |
offset | Sprite offset. |
feature | The type of sprite that is drawn. |
tile | Tile index to draw. |
Definition at line 707 of file water_cmd.cpp.
References DrawGroundSprite(), and GetCanalSpriteOffset().
Referenced by DrawCanalWater(), and DrawWaterEdges().
|
static |
Draw a build sprite sequence for water tiles.
If buildings are invisible, nothing will be drawn.
ti | Tile info. |
dtss | Sprite sequence to draw. |
base | Base sprite. |
offset | Additional sprite offset. |
palette | Palette to use. |
Definition at line 805 of file water_cmd.cpp.
References AddSortableSpriteToDraw(), DrawTileSeqStruct::delta_x, DrawTileSeqStruct::delta_z, GetCanalSpriteOffset(), IsInvisibilitySet(), DrawTileSeqStruct::IsTerminator(), IsTransparencySet(), PalSpriteID::sprite, TileInfo::tile, TO_BUILDINGS, TileInfo::x, TileInfo::y, and TileInfo::z.
Referenced by DrawWaterDepot(), and DrawWaterLock().
|
static |
Handle the flooding of a vehicle.
This sets the vehicle state to crashed, creates a newsitem and dirties the necessary windows.
v | The vehicle to flood. |
Definition at line 1005 of file water_cmd.cpp.
References _settings_client, Vehicle::Crash(), CreateEffectVehicleRel(), SoundSettings::disaster, EV_EXPLOSION_LARGE, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Game::NewEvent(), AI::NewEvent(), NT_ACCIDENT, Vehicle::owner, SetDParam(), SND_12_EXPLOSION, ClientSettings::sound, and Vehicle::tile.
Referenced by FloodVehicleProc().
Flood a vehicle if we are allowed to flood it, i.e.
when it is on the ground.
v | The vehicle to test for flooding. |
data | The z of level to flood. |
Definition at line 1023 of file water_cmd.cpp.
References AIR_SHADOW, Station::airport, AirportFTAClass::delta_z, Vehicle::First(), FloodVehicle(), BaseStation::GetByTile(), Airport::GetFTA(), GetTileMaxZ(), IsAirportTile(), Vehicle::subtype, Vehicle::tile, BaseVehicle::type, VEH_AIRCRAFT, VEH_ROAD, VEH_TRAIN, Vehicle::vehstatus, VS_CRASHED, and Vehicle::z_pos.
Referenced by FloodVehicles().
|
static |
Finds a vehicle to flood.
It does not find vehicles that are already crashed on bridges, i.e. flooded.
tile | the tile where to find a vehicle to flood |
Definition at line 1061 of file water_cmd.cpp.
References Station::airport, FindVehicleOnPos(), FloodVehicleProc(), GetBridgePixelHeight(), BaseStation::GetByTile(), GetOtherBridgeEnd(), IsAirportTile(), and IsBridgeTile().
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(), GetTreeGround(), GetWaterClass(), IsCoast(), IsSlopeWithOneCornerRaised(), MP_INDUSTRY, MP_OBJECT, MP_RAILWAY, MP_STATION, MP_TREES, MP_VOID, MP_WATER, RAIL_GROUND_WATER, TREE_GROUND_SHORE, and WATER_CLASS_SEA.
Referenced by CheckRailSlope(), and TileLoop_Water().
|
static |
Definition at line 972 of file water_cmd.cpp.
|
static |
Definition at line 965 of file water_cmd.cpp.
Definition at line 977 of file water_cmd.cpp.
|
static |
Definition at line 1335 of file water_cmd.cpp.
bool IsPossibleDockingTile | ( | Tile | t | ) |
Definition at line 173 of file water_cmd.cpp.
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 DiagDirToAxis(), DIR_E, DIR_N, DIR_NE, DIR_NW, DIR_S, DIR_SE, DIR_SW, DIR_W, DirToDiagDir(), GetIndustryIndex(), GetLockDirection(), GetTileSlope(), GetTileType(), GetTunnelBridgeDirection(), GetTunnelBridgeTransportType(), GetWaterTileType(), IsBuoy(), IsDock(), IsOilRig(), IsPlainRail(), IsTileFlat(), IsTileOnWater(), IsTileType(), MP_INDUSTRY, MP_OBJECT, MP_RAILWAY, MP_STATION, MP_TUNNELBRIDGE, MP_VOID, MP_WATER, RAIL_GROUND_WATER, ReverseDiagDir(), SLOPE_E, SLOPE_N, SLOPE_S, SLOPE_W, TileOffsByDir(), TRANSPORT_WATER, WATER_TILE_CLEAR, WATER_TILE_COAST, WATER_TILE_DEPOT, and WATER_TILE_LOCK.
Referenced by DrawWaterEdges(), and 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 CircularTileSearch(), MakeRiver(), MarkTileDirtyByTile(), RIVER_OFFSET_DESERT_DISTANCE, and RiverModifyDesertZone().
Referenced by FlowRiver(), MakeLake(), and RiverMakeWider().
Definition at line 219 of file water_cmd.cpp.
|
inlinestatic |
Marks tile dirty if it is a canal or river tile.
Called to avoid glitches when flooding tiles next to canal tile.
tile | tile to check |
Definition at line 75 of file water_cmd.cpp.
References IsCanal(), IsRiver(), IsTileType(), IsValidTile(), MarkTileDirtyByTile(), and MP_WATER.
Referenced by MarkCanalsAndRiversAroundDirty().
|
static |
Remove a lock.
tile | Central tile of the lock. |
flags | Operation to perform. |
Definition at line 390 of file water_cmd.cpp.
References CheckTileOwnership(), ClearNeighbourNonFloodingStates(), DC_EXEC, DirtyCompanyInfrastructureWindows(), EnsureNoVehicleOnGround(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::GetIfValid(), GetLockDirection(), GetTileOwner(), GetWaterClass(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Company::infrastructure, LOCK_DEPOT_TILE_FACTOR, MakeRiver(), MarkCanalsAndRiversAroundDirty(), OWNER_NONE, CommandCost::Succeeded(), TileOffsByDiagDir(), CompanyInfrastructure::water, and WATER_CLASS_RIVER.
|
static |
Definition at line 270 of file water_cmd.cpp.
|
static |
Callback to create non-desert around a river tile.
Definition at line 444 of file water_cmd.cpp.
References GetTropicZone(), SetTropicZone(), TROPICZONE_DESERT, and TROPICZONE_NORMAL.
Referenced by CmdBuildCanal(), and MakeRiverAndModifyDesertZoneAround().
|
static |
Definition at line 1412 of file water_cmd.cpp.
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.
|
static |
Definition at line 1407 of file water_cmd.cpp.
|
static |
Describes from which directions a specific slope can be flooded (if the tile is floodable at all).
Definition at line 51 of file water_cmd.cpp.
Referenced by TileLoop_Water().
|
extern |
Definition at line 54 of file landscape.cpp.