(svn r13928) -Add [YAPP]: Function for getting the path reservation state of any tile. (michi_cc)

pull/155/head
rubidium 16 years ago
parent bef1770590
commit 8eb9c27f8d

@ -663,6 +663,10 @@
RelativePath=".\..\src\pathfind.cpp"
>
</File>
<File
RelativePath=".\..\src\pbs.cpp"
>
</File>
<File
RelativePath=".\..\src\players.cpp"
>
@ -1263,6 +1267,10 @@
RelativePath=".\..\src\pathfind.h"
>
</File>
<File
RelativePath=".\..\src\pbs.h"
>
</File>
<File
RelativePath=".\..\src\player_base.h"
>

@ -660,6 +660,10 @@
RelativePath=".\..\src\pathfind.cpp"
>
</File>
<File
RelativePath=".\..\src\pbs.cpp"
>
</File>
<File
RelativePath=".\..\src\players.cpp"
>
@ -1260,6 +1264,10 @@
RelativePath=".\..\src\pathfind.h"
>
</File>
<File
RelativePath=".\..\src\pbs.h"
>
</File>
<File
RelativePath=".\..\src\player_base.h"
>

@ -57,6 +57,7 @@ os_timer.cpp
ottdres.rc
#end
pathfind.cpp
pbs.cpp
players.cpp
queue.cpp
rail.cpp
@ -241,6 +242,7 @@ order_base.h
order_func.h
order_type.h
pathfind.h
pbs.h
player_base.h
player_face.h
player_func.h

@ -0,0 +1,43 @@
/* $Id$ */
/** @file pbs.cpp */
#include "stdafx.h"
#include "openttd.h"
#include "pbs.h"
#include "rail_map.h"
#include "road_map.h"
#include "station_map.h"
#include "tunnelbridge_map.h"
/**
* Get the reserved trackbits for any tile, regardless of type.
* @param t the tile
* @return the reserved trackbits. TRACK_BIT_NONE on nothing reserved or
* a tile without rail.
*/
TrackBits GetReservedTrackbits(TileIndex t)
{
switch (GetTileType(t)) {
case MP_RAILWAY:
if (IsRailWaypoint(t) || IsRailDepot(t)) return GetRailWaypointReservation(t);
if (IsPlainRailTile(t)) return GetTrackReservation(t);
break;
case MP_ROAD:
if (IsLevelCrossing(t)) return GetRailCrossingReservation(t);
break;
case MP_STATION:
if (IsRailwayStation(t)) return GetRailStationReservation(t);
break;
case MP_TUNNELBRIDGE:
if (GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL) return GetRailTunnelBridgeReservation(t);
break;
default:
break;
}
return TRACK_BIT_NONE;
}

@ -0,0 +1,13 @@
/* $Id$ */
/** @file pbs.h PBS support routines */
#ifndef PBS_H
#define PBS_H
#include "tile_type.h"
#include "track_type.h"
TrackBits GetReservedTrackbits(TileIndex t);
#endif /* PBS_H */
Loading…
Cancel
Save