OpenTTD
Functions
tile_map.cpp File Reference

Global tile accessors. More...

#include "stdafx.h"
#include "tile_map.h"
#include "safeguards.h"

Go to the source code of this file.

Functions

uint TileHeightOutsideMap (int x, int y)
 Returns the tile height for a coordinate outside map.
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.
Slope GetTileSlope (TileIndex tile, int *h)
 Return the slope of a given tile inside the map.
Slope GetTilePixelSlopeOutsideMap (int x, int y, int *h)
 Return the slope of a given tile outside the map.
bool IsTileFlat (TileIndex tile, int *h)
 Check if a given tile is flat.
int GetTileZ (TileIndex tile)
 Get bottom height of the tile.
int GetTilePixelZOutsideMap (int x, int y)
 Get bottom height of the tile outside map.
int GetTileMaxZ (TileIndex t)
 Get top height of the tile inside the map.
int GetTileMaxPixelZOutsideMap (int x, int y)
 Get top height of the tile outside the map.

Detailed Description

Global tile accessors.

Definition in file tile_map.cpp.

Function Documentation

int GetTileMaxPixelZOutsideMap ( int  x,
int  y 
)

Get top height of the tile outside the map.

See Also
Detailed description in header.
Parameters
tileTile outside to compute height of.
Returns
Maximum height of the tile.

Definition at line 235 of file tile_map.cpp.

References max(), TILE_HEIGHT, and TileHeightOutsideMap().

int GetTileMaxZ ( TileIndex  t)
Slope GetTilePixelSlopeOutsideMap ( int  x,
int  y,
int *  h 
)

Return the slope of a given tile outside the map.

Parameters
tileTile outside the map to compute slope of.
hIf not NULL, pointer to storage of z height.
Returns
Slope of the tile outside map, except for the HALFTILE part.

Definition at line 141 of file tile_map.cpp.

References GetTileSlopeGivenHeight(), TILE_HEIGHT, and TileHeightOutsideMap().

Referenced by ViewportAddLandscape().

int GetTilePixelZOutsideMap ( int  x,
int  y 
)

Get bottom height of the tile outside map.

Parameters
tileTile outside the map to compute height of.
Returns
Minimum height of the tile outside the map.

Definition at line 200 of file tile_map.cpp.

References min(), TILE_HEIGHT, and TileHeightOutsideMap().

Slope GetTileSlope ( TileIndex  tile,
int *  h 
)
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 80 of file tile_map.cpp.

References max(), min(), SLOPE_E, SLOPE_FLAT, SLOPE_N, SLOPE_S, SLOPE_STEEP, and SLOPE_W.

Referenced by GetTilePixelSlopeOutsideMap(), and GetTileSlope().

int GetTileZ ( TileIndex  tile)
bool IsTileFlat ( TileIndex  tile,
int *  h 
)

Check if a given tile is flat.

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

Definition at line 159 of file tile_map.cpp.

References IsInnerTile(), MapSize(), TileDiffXY(), and TileHeight().

Referenced by AfterLoadGame(), CheckIfIndustryTilesAreFree(), CmdBuildBuoy(), CmdBuildDock(), CmdBuildObject(), CmdBuildShipDepot(), DoBuildLock(), FindFurthestFromWater(), FindSpring(), FlowRiver(), GrowTown(), IsWateredTile(), MakeLake(), SetWaterClassDependingOnSurroundings(), TownCanBePlacedHere(), TryBuildLightHouse(), and TryBuildTransmitter().

uint TileHeightOutsideMap ( int  x,
int  y 
)

Returns the tile height for a coordinate outside map.

Such a height is needed for painting the area outside map using completely black tiles. The idea is descending to heightlevel 0 as fast as possible.

Parameters
xThe X-coordinate (same unit as TileX).
yThe Y-coordinate (same unit as TileY).
Returns
The height in the same unit as TileHeight.

Definition at line 25 of file tile_map.cpp.

References MapMaxX(), MapMaxY(), max(), TileHeight(), and TileXY().

Referenced by GetTileMaxPixelZOutsideMap(), GetTileMaxZ(), GetTilePixelSlopeOutsideMap(), GetTilePixelZOutsideMap(), ScrollWindowTo(), and TilePixelHeightOutsideMap().