(svn r12698) -Codechange: skip orders to stations that do not have a train part anymore, just like is done for road vehicles and ships.
This commit is contained in:
@@ -243,7 +243,7 @@ TileIndex Ship::GetOrderStationLocation(StationID station)
|
|||||||
{
|
{
|
||||||
if (station == this->last_station_visited) this->last_station_visited = INVALID_STATION;
|
if (station == this->last_station_visited) this->last_station_visited = INVALID_STATION;
|
||||||
|
|
||||||
Station *st = GetStation(station);
|
const Station *st = GetStation(station);
|
||||||
if (st->dock_tile != 0) {
|
if (st->dock_tile != 0) {
|
||||||
return TILE_ADD(st->dock_tile, ToTileIndexDiff(GetDockOffset(st->dock_tile)));
|
return TILE_ADD(st->dock_tile, ToTileIndexDiff(GetDockOffset(st->dock_tile)));
|
||||||
} else {
|
} else {
|
||||||
|
@@ -2563,7 +2563,14 @@ TileIndex Train::GetOrderStationLocation(StationID station)
|
|||||||
{
|
{
|
||||||
if (station == this->last_station_visited) this->last_station_visited = INVALID_STATION;
|
if (station == this->last_station_visited) this->last_station_visited = INVALID_STATION;
|
||||||
|
|
||||||
return GetStation(station)->xy;
|
const Station *st = GetStation(station);
|
||||||
|
if (!(st->facilities & FACIL_TRAIN)) {
|
||||||
|
/* The destination station has no trainstation tiles. */
|
||||||
|
this->cur_order_index++;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return st->xy;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Train::MarkDirty()
|
void Train::MarkDirty()
|
||||||
|
Reference in New Issue
Block a user