Changeset - r7583:7687d94a6f1c
[Not reviewed]
master
0 0 1
rubidium - 17 years ago 2007-09-14 22:35:39
rubidium@openttd.org
(svn r11108) -Fix (r11107): somebody forgot to add some file ;) Spoils the fun of the previous cryptic message though.
1 file changed with 42 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/autoslope.h
Show inline comments
 
new file 100644
 
/* $Id$ */
 

	
 
/** @file autoslope.h */
 

	
 
#ifndef AUTOSLOPE_H
 
#define AUTOSLOPE_H
 

	
 
#include "depot.h"
 

	
 
/**
 
 * Autoslope check for tiles with an entrance on an edge.
 
 * E.g. depots and non-drive-through-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.
 
 *
 
 * @param tile The tile.
 
 * @param z_new New TileZ.
 
 * @param tileh_new New TileSlope.
 
 * @param entrance Entrance edge.
 
 * @return true iff terraforming is allowed.
 
 */
 
static inline bool AutoslopeCheckForEntranceEdge(TileIndex tile, uint z_new, Slope tileh_new, DiagDirection entrance)
 
{
 
	if (IsSteepSlope(tileh_new) || (GetTileMaxZ(tile) != z_new + GetSlopeMaxZ(tileh_new))) return false;
 
	return ((tileh_new == SLOPE_FLAT) || CanBuildDepotByTileh(entrance, tileh_new));
 
}
 

	
 
/**
 
 * Tests if autoslope is enabled for _current_player.
 
 *
 
 * Autoslope is disabled for town/industry construction and old ai players.
 
 *
 
 * @return true iff autoslope is enabled.
 
 */
 
static inline bool AutoslopeEnabled()
 
{
 
	return (_patches.autoslope && IsValidPlayer(_current_player) && !_is_old_ai_player);
 
}
 

	
 
#endif /* AUTOSLOPE_H */
0 comments (0 inline, 0 general)