OpenTTD Source 20241224-master-gf74b0cf984
autoslope.h File Reference

Functions related to autoslope. More...

#include "company_func.h"
#include "depot_func.h"
#include "tile_map.h"

Go to the source code of this file.

Functions

bool AutoslopeCheckForEntranceEdge (TileIndex tile, int z_new, Slope tileh_new, DiagDirection entrance)
 Autoslope check for tiles with an entrance on an edge.
 
bool AutoslopeCheckForAxis (TileIndex tile, int z_new, Slope tileh_new, Axis axis)
 Autoslope check for tiles with something built along an axis.
 
bool AutoslopeEnabled ()
 Tests if autoslope is enabled for _current_company.
 

Detailed Description

Functions related to autoslope.

Definition in file autoslope.h.

Function Documentation

◆ AutoslopeCheckForAxis()

bool AutoslopeCheckForAxis ( TileIndex  tile,
int  z_new,
Slope  tileh_new,
Axis  axis 
)
inline

Autoslope check for tiles with something built along an axis.

E.g. railway stations and drive through road stops.

The test succeeds if the slope is not steep and at least one corner at either of the entrance edges is on the TileMaxZ() level.

Note
The test does not check if autoslope is enabled at all.
Parameters
tileThe tile.
z_newNew TileZ.
tileh_newNew TileSlope.
axisThe axis.
Returns
true iff terraforming is allowed.

Definition at line 51 of file autoslope.h.

References AutoslopeCheckForEntranceEdge(), AxisToDiagDir(), and ReverseDiagDir().

◆ AutoslopeCheckForEntranceEdge()

bool AutoslopeCheckForEntranceEdge ( TileIndex  tile,
int  z_new,
Slope  tileh_new,
DiagDirection  entrance 
)
inline

Autoslope check for tiles with an entrance on an edge.

E.g. depots and bay road-stops.

The test succeeds if the slope is not steep and at least one corner of the entrance edge is on the TileMaxZ() level.

Note
The test does not check if autoslope is enabled at all.
Parameters
tileThe tile.
z_newNew TileZ.
tileh_newNew TileSlope.
entranceEntrance edge.
Returns
true iff terraforming is allowed.

Definition at line 31 of file autoslope.h.

References CanBuildDepotByTileh(), GetSlopeMaxZ(), GetTileMaxZ(), and SLOPE_FLAT.

Referenced by AutoslopeCheckForAxis().

◆ AutoslopeEnabled()

bool AutoslopeEnabled ( )
inline

Tests if autoslope is enabled for _current_company.

Autoslope is disabled for town/industry construction.

Returns
true iff autoslope is enabled.

Definition at line 65 of file autoslope.h.

References _current_company, _settings_game, ConstructionSettings::autoslope, GameSettings::construction, MAX_COMPANIES, and OWNER_NONE.

Referenced by TestAutoslopeOnRailTile().