OpenTTD Source
1.11.0-beta2
|
Go to the source code of this file.
Data Structures | |
struct | SnowLine |
Structure describing the height of the snow line each day of the year. More... | |
Functions | |
bool | IsSnowLineSet () |
Has a snow line table already been loaded. More... | |
void | SetSnowLine (byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]) |
Set a variable snow line, as loaded from a newgrf file. More... | |
byte | GetSnowLine () |
Get the current snow line, either variable or static. More... | |
byte | HighestSnowLine () |
Get the highest possible snow line height, either variable or static. More... | |
byte | LowestSnowLine () |
Get the lowest possible snow line height, either variable or static. More... | |
void | ClearSnowLine () |
Clear the variable snow line table and free the memory. | |
int | GetSlopeZInCorner (Slope tileh, Corner corner) |
Determine the Z height of a corner relative to TileZ. More... | |
Slope | GetFoundationSlope (TileIndex tile, int *z=nullptr) |
Get slope of a tile on top of a (possible) foundation If a tile does not have a foundation, the function returns the same as GetTileSlope. More... | |
uint | GetPartialPixelZ (int x, int y, Slope corners) |
Determines height at given coordinate of a slope. More... | |
int | GetSlopePixelZ (int x, int y) |
int | GetSlopePixelZOutsideMap (int x, int y) |
Return world z coordinate of a given point of a tile, also for tiles outside the map (virtual "black" tiles). More... | |
void | GetSlopePixelZOnEdge (Slope tileh, DiagDirection edge, int *z1, int *z2) |
Determine the Z height of the corners of a specific tile edge. More... | |
static int | GetSlopePixelZInCorner (Slope tileh, Corner corner) |
Determine the Z height of a corner relative to TileZ. More... | |
static Slope | GetFoundationPixelSlope (TileIndex tile, int *z) |
Get slope of a tile on top of a (possible) foundation If a tile does not have a foundation, the function returns the same as GetTilePixelSlope. More... | |
static Point | RemapCoords (int x, int y, int z) |
Map 3D world or tile coordinate to equivalent 2D coordinate as used in the viewports and smallmap. More... | |
static Point | RemapCoords2 (int x, int y) |
Map 3D world or tile coordinate to equivalent 2D coordinate as used in the viewports and smallmap. More... | |
static Point | InverseRemapCoords (int x, int y) |
Map 2D viewport or smallmap coordinate to 3D world or tile coordinate. More... | |
Point | InverseRemapCoords2 (int x, int y, bool clamp_to_map=false, bool *clamped=nullptr) |
Map 2D viewport or smallmap coordinate to 3D world or tile coordinate. More... | |
uint | ApplyFoundationToSlope (Foundation f, Slope *s) |
Applies a foundation to a slope. More... | |
static uint | ApplyPixelFoundationToSlope (Foundation f, Slope *s) |
Applies a foundation to a slope. More... | |
void | DrawFoundation (TileInfo *ti, Foundation f) |
Draw foundation f at tile ti. More... | |
bool | HasFoundationNW (TileIndex tile, Slope slope_here, uint z_here) |
bool | HasFoundationNE (TileIndex tile, Slope slope_here, uint z_here) |
void | DoClearSquare (TileIndex tile) |
void | RunTileLoop () |
Gradually iterate over all tiles on the map, calling their TileLoopProcs once every 256 ticks. | |
void | InitializeLandscape () |
void | GenerateLandscape (byte mode) |
Variables | |
static const uint | SNOW_LINE_MONTHS = 12 |
Number of months in the snow line table. | |
static const uint | SNOW_LINE_DAYS = 32 |
Number of days in each month in the snow line table. | |
Functions related to OTTD's landscape.
Definition in file landscape.h.
uint ApplyFoundationToSlope | ( | Foundation | f, |
Slope * | s | ||
) |
Applies a foundation to a slope.
f | The Foundation. |
s | The Slope to modify. |
Definition at line 162 of file landscape.cpp.
References FOUNDATION_INCLINED_X, FOUNDATION_STEEP_BOTH, GetHalftileFoundationCorner(), GetHighestSlopeCorner(), GetRailFoundationCorner(), HalftileSlope(), IsFoundation(), IsLeveledFoundation(), IsNonContinuousFoundation(), IsSpecialRailFoundation(), IsSteepSlope(), OppositeCorner(), SLOPE_FLAT, and SlopeWithThreeCornersRaised().
Referenced by ApplyPixelFoundationToSlope(), GetBridgeHeight(), GetFoundationSlope(), HasBridgeFlatRamp(), and TestAutoslopeOnRailTile().
|
inlinestatic |
Applies a foundation to a slope.
f | The Foundation. |
s | The Slope to modify. |
Definition at line 129 of file landscape.h.
References ApplyFoundationToSlope(), and TILE_HEIGHT.
void DrawFoundation | ( | TileInfo * | ti, |
Foundation | f | ||
) |
Draw foundation f at tile ti.
Updates ti.
ti | Tile to draw foundation on |
f | Foundation to draw |
Definition at line 470 of file landscape.cpp.
References FOUNDATION_STEEP_BOTH, GetFoundationPixelSlope(), IsFoundation(), and TileInfo::tile.
Referenced by DrawTile_Road().
void GenerateLandscape | ( | byte | mode | ) |
Number of steps of landscape generation
< Loading a heightmap
< Terragenesis generator
< Original generator
< Extra steps needed for tropic landscape
< Extra steps for other landscapes
Definition at line 1294 of file landscape.cpp.
References _settings_game, GameSettings::game_creation, and GameCreationSettings::landscape.
Get slope of a tile on top of a (possible) foundation If a tile does not have a foundation, the function returns the same as GetTilePixelSlope.
tile | The tile of interest. |
z | returns the z of the foundation slope. (Can be nullptr, if not needed) |
Definition at line 66 of file landscape.h.
References GetFoundationSlope(), and TILE_HEIGHT.
Referenced by DrawFoundation().
Get slope of a tile on top of a (possible) foundation If a tile does not have a foundation, the function returns the same as GetTileSlope.
tile | The tile of interest. |
z | returns the z of the foundation slope. (Can be nullptr, if not needed) |
Definition at line 422 of file landscape.cpp.
References _tile_type_procs, ApplyFoundationToSlope(), GetTileSlope(), and GetTileType().
Referenced by GetFoundationPixelSlope(), IsPossibleCrossing(), and TileLoop_Water().
uint GetPartialPixelZ | ( | int | x, |
int | y, | ||
Slope | corners | ||
) |
Determines height at given coordinate of a slope.
x | x coordinate |
y | y coordinate |
corners | slope to examine |
Definition at line 215 of file landscape.cpp.
Determine the Z height of a corner relative to TileZ.
tileh | The slope. |
corner | The corner. |
Definition at line 53 of file landscape.h.
References GetSlopeZInCorner(), and TILE_HEIGHT.
void GetSlopePixelZOnEdge | ( | Slope | tileh, |
DiagDirection | edge, | ||
int * | z1, | ||
int * | z2 | ||
) |
Determine the Z height of the corners of a specific tile edge.
tileh | The slope of the tile. |
edge | The edge of interest. |
z1 | Gets incremented by the height of the first corner of the edge. (near corner wrt. the camera) |
z2 | Gets incremented by the height of the second corner of the edge. (far corner wrt. the camera) |
Definition at line 393 of file landscape.cpp.
References GetHalftileSlopeCorner(), IsHalftileSlope(), RemoveHalftileSlope(), SLOPE_E, SLOPE_N, SLOPE_S, SLOPE_STEEP_E, SLOPE_STEEP_N, SLOPE_STEEP_S, SLOPE_STEEP_W, SLOPE_W, SlopeWithOneCornerRaised(), and TILE_HEIGHT.
int GetSlopePixelZOutsideMap | ( | int | x, |
int | y | ||
) |
Return world z
coordinate of a given point of a tile, also for tiles outside the map (virtual "black" tiles).
x | World X coordinate in tile "units", may be outside the map. |
y | World Y coordinate in tile "units", may be outside the map. |
Definition at line 357 of file landscape.cpp.
Determine the Z height of a corner relative to TileZ.
tileh | The slope. |
corner | The corner. |
Definition at line 375 of file landscape.cpp.
References IsHalftileSlope(), SlopeWithOneCornerRaised(), and SteepSlope().
Referenced by GetSlopePixelZInCorner().
|
inlinestatic |
Map 2D viewport or smallmap coordinate to 3D world or tile coordinate.
Function assumes z == 0
. For other values of z
, add z
to y before the call.
x | X coordinate of the 2D coordinate. |
y | Y coordinate of the 2D coordinate. |
Definition at line 112 of file landscape.h.
Referenced by SmallMapWindow::SetNewScroll().
Point InverseRemapCoords2 | ( | int | x, |
int | y, | ||
bool | clamp_to_map, | ||
bool * | clamped | ||
) |
Map 2D viewport or smallmap coordinate to 3D world or tile coordinate.
Function takes into account height of tiles and foundations.
x | X viewport 2D coordinate. | |
y | Y viewport 2D coordinate. | |
clamp_to_map | Clamp the coordinate outside of the map to the closest, non-void tile within the map. | |
[out] | clamped | Whether coordinates were clamped. |
Definition at line 103 of file landscape.cpp.
Referenced by ClampViewportToMap(), SmallMapWindow::DrawMapIndicators(), and SmallMapWindow::SmallMapCenterOnCurrentPos().
|
inlinestatic |
Map 3D world or tile coordinate to equivalent 2D coordinate as used in the viewports and smallmap.
x | X world or tile coordinate (runs in SW direction in the 2D view). |
y | Y world or tile coordinate (runs in SE direction in the 2D view). |
z | Z world or tile coordinate (runs in N direction in the 2D view). |
Definition at line 82 of file landscape.h.
Referenced by CcStartStopVehicle(), MarkTileDirtyByTile(), Vehicle::UpdateBoundingBoxCoordinates(), Sign::UpdateVirtCoord(), and ViewportDrawBoundingBoxes().
|
inlinestatic |
Map 3D world or tile coordinate to equivalent 2D coordinate as used in the viewports and smallmap.
Same as RemapCoords, except the Z coordinate is read from the map.
x | X world or tile coordinate (runs in SW direction in the 2D view). |
y | Y world or tile coordinate (runs in SE direction in the 2D view). |
Definition at line 98 of file landscape.h.
Referenced by ClampViewportToMap(), Waypoint::UpdateVirtCoord(), Town::UpdateVirtCoord(), and Station::UpdateVirtCoord().