mirror of https://github.com/OpenTTD/OpenTTD
(svn r4306) -Fix (103). Assertion when removing elrails under bridges. Thanks to Rubidium for reporting and fixing
parent
cc51832917
commit
48b69f1344
11
elrail.c
11
elrail.c
|
@ -91,11 +91,12 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override)
|
||||||
return DiagDirToAxis(GetTunnelDirection(t)) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y;
|
return DiagDirToAxis(GetTunnelDirection(t)) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y;
|
||||||
} else {
|
} else {
|
||||||
if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0;
|
if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0;
|
||||||
if (
|
if (IsBridgeMiddle(t)) {
|
||||||
IsBridgeMiddle(t) &&
|
if (IsTransportUnderBridge(t) &&
|
||||||
IsTransportUnderBridge(t) &&
|
GetTransportTypeUnderBridge(t) == TRANSPORT_RAIL) {
|
||||||
GetTransportTypeUnderBridge(t) == TRANSPORT_RAIL) {
|
return GetRailBitsUnderBridge(t);
|
||||||
return GetRailBitsUnderBridge(t);
|
} else
|
||||||
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
if (override != NULL && DistanceMax(t, GetOtherBridgeEnd(t)) > 1) *override = 1 << GetBridgeRampDirection(t);
|
if (override != NULL && DistanceMax(t, GetOtherBridgeEnd(t)) > 1) *override = 1 << GetBridgeRampDirection(t);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue