#include "core/geometry_type.hpp"
#include "tile_cmd.h"
#include "slope_type.h"
#include "direction_type.h"
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... | |
Enumerations | |
enum | { SNOW_LINE_MONTHS = 12, SNOW_LINE_DAYS = 32 } |
Functions | |
bool | IsSnowLineSet (void) |
Has a snow line table already been loaded. | |
void | SetSnowLine (byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]) |
Set a variable snow line, as loaded from a newgrf file. | |
byte | GetSnowLine (void) |
Get the current snow line, either variable or static. | |
byte | HighestSnowLine (void) |
Get the highest possible snow line height, either variable or static. | |
void | ClearSnowLine (void) |
Clear the variable snow line table and free the memory. | |
uint | GetPartialZ (int x, int y, Slope corners) |
Determines height at given coordinate of a slope. | |
uint | GetSlopeZ (int x, int y) |
void | GetSlopeZOnEdge (Slope tileh, DiagDirection edge, int *z1, int *z2) |
Determine the Z height of the corners of a specific tile edge. | |
int | GetSlopeZInCorner (Slope tileh, Corner corner) |
Determine the Z height of a corner relative to TileZ. | |
Slope | GetFoundationSlope (TileIndex tile, uint *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 GetTileSlope. | |
static Point | RemapCoords (int x, int y, int z) |
static Point | RemapCoords2 (int x, int y) |
uint | ApplyFoundationToSlope (Foundation f, Slope *s) |
Applies a foundation to a slope. | |
void | DrawFoundation (TileInfo *ti, Foundation f) |
Draw foundation f at tile ti. | |
void | DoClearSquare (TileIndex tile) |
void | RunTileLoop () |
void | InitializeLandscape () |
void | GenerateLandscape (byte mode) |
TileIndex | AdjustTileCoordRandomly (TileIndex a, byte rng) |
Definition in file landscape.h.
anonymous enum |
SNOW_LINE_MONTHS | Number of months in the snow line table. |
SNOW_LINE_DAYS | Number of days in each month in the snow line table. |
Definition at line 13 of 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 81 of file landscape.cpp.
References FOUNDATION_INCLINED_X, FOUNDATION_INCLINED_Y, FOUNDATION_STEEP_BOTH, FOUNDATION_STEEP_LOWER, GetHalftileFoundationCorner(), GetHighestSlopeCorner(), GetRailFoundationCorner(), HalftileSlope(), IsFoundation(), IsLeveledFoundation(), IsNonContinuousFoundation(), IsSpecialRailFoundation(), IsSteepSlope(), OppositeCorner(), SLOPE_FLAT, SLOPE_NE, SLOPE_NW, SLOPE_SE, SLOPE_SW, SlopeWithOneCornerRaised(), SlopeWithThreeCornersRaised(), and TILE_HEIGHT.
Referenced by CheckBridgeSlopeNorth(), CheckBridgeSlopeSouth(), DrawCatenaryRailway(), DrawFoundation(), FloodHalftile(), GetBridgeHeight(), GetFoundationSlope(), HasBridgeFlatRamp(), and TestAutoslopeOnRailTile().
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 372 of file landscape.cpp.
References AddSortableSpriteToDraw(), ApplyFoundationToSlope(), FOUNDATION_INCLINED_X, FOUNDATION_INCLINED_Y, FOUNDATION_STEEP_BOTH, FOUNDATION_STEEP_LOWER, GetFoundationSlope(), GetHalftileFoundationCorner(), GetHighestSlopeCorner(), GetRailFoundationCorner(), IsFoundation(), IsInclinedFoundation(), IsLeveledFoundation(), IsNonContinuousFoundation(), IsSpecialRailFoundation(), IsSteepSlope(), OffsetGroundSprite(), SLOPE_EW, SLOPE_NE, SLOPE_NS, SLOPE_STEEP, SLOPE_SW, SlopeWithOneCornerRaised(), SlopeWithThreeCornersRaised(), TileInfo::tile, TILE_HEIGHT, TileInfo::tileh, TileInfo::x, TileInfo::y, and TileInfo::z.
Referenced by DrawRoadBits(), DrawTile_Road(), DrawTile_Town(), DrawTile_TunnelBridge(), and DrawTrackBits().
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 NULL, if not needed) |
Definition at line 324 of file landscape.cpp.
References ApplyFoundationToSlope(), TileTypeProcs::get_foundation_proc, GetTileSlope(), and GetTileType().
Referenced by DrawFoundation(), IsPossibleCrossing(), IsRoadAllowedHere(), and TileLoop_Water().
uint GetPartialZ | ( | 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 134 of file landscape.cpp.
References GetHalftileSlopeCorner(), GetSlopeMaxZ(), IsHalftileSlope(), RemoveHalftileSlope(), SLOPE_E, SLOPE_ELEVATED, SLOPE_ENW, SLOPE_EW, SLOPE_N, SLOPE_NE, SLOPE_NS, SLOPE_NW, SLOPE_NWS, SLOPE_S, SLOPE_SE, SLOPE_SEN, SLOPE_STEEP_E, SLOPE_STEEP_N, SLOPE_STEEP_S, SLOPE_STEEP_W, SLOPE_SW, SLOPE_W, and SLOPE_WSE.
Determine the Z height of a corner relative to TileZ.
tileh | The slope. | |
corner | The corner. |
Definition at line 277 of file landscape.cpp.
References IsHalftileSlope(), SlopeWithOneCornerRaised(), SteepSlope(), and TILE_HEIGHT.
Referenced by DrawTrackFence_NS_1(), DrawTrackFence_NS_2(), DrawTrackFence_WE_1(), DrawTrackFence_WE_2(), and TestAutoslopeOnRailTile().
void GetSlopeZOnEdge | ( | 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 295 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.
Referenced by DrawBridgePillars().