forked from mirror/OpenTTD
(svn r16909) -Fix [FS#2996]: NewGRF stations would be triggering assertions all over the place when using the more advanced station types.
-Change: make (rail) waypoints sub classes of 'base stations', make buoys waypoints and unify code between them where possible.
This commit is contained in:
@@ -26,7 +26,7 @@ TrackBits GetReservedTrackbits(TileIndex t)
|
||||
break;
|
||||
|
||||
case MP_STATION:
|
||||
if (IsRailwayStation(t)) return GetStationReservationTrackBits(t);
|
||||
if (IsRailwayStation(t) || IsRailWaypoint(t)) return GetStationReservationTrackBits(t);
|
||||
break;
|
||||
|
||||
case MP_TUNNELBRIDGE:
|
||||
@@ -99,7 +99,7 @@ bool TryReserveRailTrack(TileIndex tile, Track t)
|
||||
break;
|
||||
|
||||
case MP_STATION:
|
||||
if (IsRailwayStation(tile) && !HasStationReservation(tile)) {
|
||||
if ((IsRailwayStation(tile) || IsRailWaypoint(tile)) && !HasStationReservation(tile)) {
|
||||
SetRailwayStationReservation(tile, true);
|
||||
MarkTileDirtyByTile(tile); // some GRFs need redraw after reserving track
|
||||
return true;
|
||||
@@ -150,7 +150,7 @@ bool TryReserveRailTrack(TileIndex tile, Track t)
|
||||
break;
|
||||
|
||||
case MP_STATION:
|
||||
if (IsRailwayStation(tile)) {
|
||||
if (IsRailwayStation(tile) || IsRailWaypoint(tile)) {
|
||||
SetRailwayStationReservation(tile, false);
|
||||
MarkTileDirtyByTile(tile);
|
||||
}
|
||||
|
Reference in New Issue
Block a user