Initial support for rail custom bridge heads
This commit is contained in:
@@ -1212,6 +1212,17 @@ bool AfterLoadGame()
|
||||
}
|
||||
}
|
||||
|
||||
if (!SlXvIsFeaturePresent(XSLFI_CUSTOM_BRIDGE_HEADS, 2)) {
|
||||
/* change map bits for rail bridge heads */
|
||||
for (TileIndex t = 0; t < map_size; t++) {
|
||||
if (IsBridgeTile(t) && GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL) {
|
||||
SetCustomBridgeHeadTrackBits(t, DiagDirToDiagTrackBits(GetTunnelBridgeDirection(t)));
|
||||
SetBridgeReservationTrackBits(t, HasBit(_m[t].m5, 4) ? DiagDirToDiagTrackBits(GetTunnelBridgeDirection(t)) : TRACK_BIT_NONE);
|
||||
ClrBit(_m[t].m5, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Elrails got added in rev 24 */
|
||||
if (IsSavegameVersionBefore(24)) {
|
||||
RailType min_rail = RAILTYPE_ELECTRIC;
|
||||
@@ -1924,7 +1935,7 @@ bool AfterLoadGame()
|
||||
break;
|
||||
|
||||
case MP_TUNNELBRIDGE: // Clear PBS reservation on tunnels/bridges
|
||||
if (GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL) SetTunnelBridgeReservation(t, false);
|
||||
if (GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL) UnreserveAcrossRailTunnelBridge(t);
|
||||
break;
|
||||
|
||||
default: break;
|
||||
|
Reference in New Issue
Block a user