|
|
|
@ -105,8 +105,8 @@ bool TryReserveRailTrackdir(const Train *v, TileIndex tile, Trackdir td, bool tr
|
|
|
|
|
*/
|
|
|
|
|
bool TryReserveRailTrack(TileIndex tile, Track track, bool trigger_stations)
|
|
|
|
|
{
|
|
|
|
|
assert_msg_tile((TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_RAIL, 0)) & TrackToTrackBits(track)) != 0, tile,
|
|
|
|
|
"%X, %X, %X", TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_RAIL, 0)), track, TrackToTrackBits(track));
|
|
|
|
|
assert_msg_tile((TrackdirBitsToTrackBits(GetTileTrackdirBits(tile, TRANSPORT_RAIL, 0)) & TrackToTrackBits(track)) != 0, tile,
|
|
|
|
|
"%X, %X, %X", TrackdirBitsToTrackBits(GetTileTrackdirBits(tile, TRANSPORT_RAIL, 0)), track, TrackToTrackBits(track));
|
|
|
|
|
|
|
|
|
|
if (_settings_client.gui.show_track_reservation) {
|
|
|
|
|
/* show the reserved rail if needed */
|
|
|
|
@ -202,7 +202,7 @@ void UnreserveRailTrackdir(TileIndex tile, Trackdir td)
|
|
|
|
|
*/
|
|
|
|
|
void UnreserveRailTrack(TileIndex tile, Track t)
|
|
|
|
|
{
|
|
|
|
|
assert_msg_tile(TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_RAIL, 0)) & TrackToTrackBits(t), tile, "track: %u", t);
|
|
|
|
|
assert_msg_tile(TrackdirBitsToTrackBits(GetTileTrackdirBits(tile, TRANSPORT_RAIL, 0)) & TrackToTrackBits(t), tile, "track: %u", t);
|
|
|
|
|
|
|
|
|
|
if (_settings_client.gui.show_track_reservation) {
|
|
|
|
|
if (IsTileType(tile, MP_TUNNELBRIDGE)) {
|
|
|
|
@ -871,7 +871,7 @@ bool ValidateLookAhead(const Train *v)
|
|
|
|
|
}
|
|
|
|
|
if (HasBit(v->lookahead->flags, TRLF_DEPOT_END) && !IsRailDepotTile(tile)) return false;
|
|
|
|
|
|
|
|
|
|
TrackdirBits trackdirbits = TrackStatusToTrackdirBits(GetTileTrackStatus(tile, TRANSPORT_RAIL, 0));
|
|
|
|
|
TrackdirBits trackdirbits = GetTileTrackdirBits(tile, TRANSPORT_RAIL, 0);
|
|
|
|
|
if (!HasTrackdir(trackdirbits, trackdir)) return false;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|