1
0
Fork 0

(svn r12698) -Codechange: skip orders to stations that do not have a train part anymore, just like is done for road vehicles and ships.

release/0.7
rubidium 2008-04-14 07:08:43 +00:00
parent 304cb0e1e2
commit 14b307a621
2 changed files with 9 additions and 2 deletions

View File

@ -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 {

View File

@ -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()