(svn r24402) -Fix [FS#5243]: Station properties 11 and 14 were combined incorrectly.

This commit is contained in:
frosch
2012-07-15 16:17:22 +00:00
parent 03b6ad9383
commit c8cb096533
4 changed files with 25 additions and 11 deletions

View File

@@ -895,18 +895,29 @@ bool IsStationTileBlocked(TileIndex tile)
}
/**
* Check if a rail station tile can be electrified.
* Check if a rail station tile shall have pylons when electrified.
* @param tile %Tile to test.
* @return Tile can be electrified.
* @return Tile shall have pylons.
* @note This could be cached (during build) in the map array to save on all the dereferencing.
*/
bool IsStationTileElectrifiable(TileIndex tile)
bool CanStationTileHavePylons(TileIndex tile)
{
const StationSpec *statspec = GetStationSpec(tile);
uint gfx = GetStationGfx(tile);
/* Default stations do not draw pylons under roofs (gfx >= 4) */
return statspec != NULL ? HasBit(statspec->pylons, gfx) : gfx < 4;
}
return statspec == NULL ||
HasBit(statspec->pylons, GetStationGfx(tile)) ||
!HasBit(statspec->wires, GetStationGfx(tile));
/**
* Check if a rail station tile shall have wires when electrified.
* @param tile %Tile to test.
* @return Tile shall have wires.
* @note This could be cached (during build) in the map array to save on all the dereferencing.
*/
bool CanStationTileHaveWires(TileIndex tile)
{
const StationSpec *statspec = GetStationSpec(tile);
return statspec == NULL || !HasBit(statspec->wires, GetStationGfx(tile));
}
/** Wrapper for animation control, see #GetStationCallback. */