OpenTTD Source  12.0-beta2
tile_map.cpp File Reference
#include "stdafx.h"
#include "tile_map.h"
#include "safeguards.h"

Go to the source code of this file.

Functions

static Slope GetTileSlopeGivenHeight (int hnorth, int hwest, int heast, int hsouth, int *h)
 Get a tile's slope given the heigh of its four corners. More...
 
Slope GetTileSlope (TileIndex tile, int *h)
 Return the slope of a given tile inside the map. More...
 
Slope GetTilePixelSlopeOutsideMap (int x, int y, int *h)
 Return the slope of a given tile, also for tiles outside the map (virtual "black" tiles). More...
 
bool IsTileFlat (TileIndex tile, int *h)
 Check if a given tile is flat. More...
 
int GetTileZ (TileIndex tile)
 Get bottom height of the tile. More...
 
int GetTileMaxZ (TileIndex t)
 Get top height of the tile inside the map. More...
 

Detailed Description

Global tile accessors.

Definition in file tile_map.cpp.

Function Documentation

◆ GetTileMaxZ()

int GetTileMaxZ ( TileIndex  t)

Get top height of the tile inside the map.

Parameters
tTile to compute height of
Returns
Maximum height of the tile

Definition at line 141 of file tile_map.cpp.

References MapMaxX(), MapMaxY(), TileHeight(), TileX(), TileXY(), and TileY().

Referenced by AutoslopeCheckForEntranceEdge(), BuildTownHouse(), CheckBuildHouseSameZ(), DrawRoadTypeCatenary(), FloodVehicleProc(), GetOtherAqueductEnd(), GetTileMaxPixelZ(), and ShipTestUpDownOnLock().

◆ GetTilePixelSlopeOutsideMap()

Slope GetTilePixelSlopeOutsideMap ( int  x,
int  y,
int *  h 
)

Return the slope of a given tile, also for tiles outside the map (virtual "black" tiles).

Parameters
xX coordinate of the tile to compute slope of, may be outside the map.
yY coordinate of the tile to compute slope of, may be outside the map.
hIf not nullptr, pointer to storage of z height.
Returns
Slope of the tile, except for the HALFTILE part.

Definition at line 82 of file tile_map.cpp.

◆ GetTileSlope()

◆ GetTileSlopeGivenHeight()

static Slope GetTileSlopeGivenHeight ( int  hnorth,
int  hwest,
int  heast,
int  hsouth,
int *  h 
)
static

Get a tile's slope given the heigh of its four corners.

Parameters
hnorthThe height at the northern corner in the same unit as TileHeight.
hwestThe height at the western corner in the same unit as TileHeight.
heastThe height at the eastern corner in the same unit as TileHeight.
hsouthThe height at the southern corner in the same unit as TileHeight.
[out]hThe lowest height of the four corners.
Returns
The slope.

Definition at line 24 of file tile_map.cpp.

References SLOPE_E, SLOPE_FLAT, SLOPE_N, SLOPE_S, SLOPE_STEEP, and SLOPE_W.

Referenced by GetTileSlope().

◆ GetTileZ()

int GetTileZ ( TileIndex  tile)

Get bottom height of the tile.

Parameters
tileTile to compute height of
Returns
Minimum height of the tile

Definition at line 121 of file tile_map.cpp.

References MapMaxX(), MapMaxY(), TileHeight(), TileX(), TileXY(), and TileY().

Referenced by CheckNewIndustry_BubbleGen(), GetOtherTunnelEnd(), GetTilePixelZ(), CanalScopeResolver::GetVariable(), IndustriesScopeResolver::GetVariable(), GrowTownWithTunnel(), IsTunnelInWayDir(), ShipTestUpDownOnLock(), and TileLoopClearAlps().

◆ IsTileFlat()

bool IsTileFlat ( TileIndex  tile,
int *  h 
)

Check if a given tile is flat.

Parameters
tileTile to check
hIf not nullptr, pointer to storage of z height (only if tile is flat)
Returns
Whether the tile is flat

Definition at line 100 of file tile_map.cpp.

References MapMaxX(), MapMaxY(), TileHeight(), TileX(), TileXY(), and TileY().

Referenced by CheckIfIndustryTilesAreFree(), CmdBuildBuoy(), CmdBuildShipDepot(), FindFurthestFromWater(), FindSpring(), MakeLake(), SetWaterClassDependingOnSurroundings(), TownCanBePlacedHere(), and TryBuildTransmitter().