(svn r14921) -Fix [FS#2507]: Do not try to calculate a center of a train-station, when there is none.

This commit is contained in:
frosch 2009-01-08 18:08:14 +00:00
parent c8c61e36bd
commit 26e9c4c489
2 changed files with 6 additions and 0 deletions

View File

@ -101,6 +101,9 @@ static TileIndex CalcClosestStationTile(StationID station, TileIndex tile)
{ {
const Station* st = GetStation(station); const Station* st = GetStation(station);
/* If the rail station is (temporarily) not present, use the station sign to drive near the station */
if (!IsValidTile(st->train_tile)) return st->xy;
uint minx = TileX(st->train_tile); // topmost corner of station uint minx = TileX(st->train_tile); // topmost corner of station
uint miny = TileY(st->train_tile); uint miny = TileY(st->train_tile);
uint maxx = minx + st->trainst_w - 1; // lowermost corner of station uint maxx = minx + st->trainst_w - 1; // lowermost corner of station

View File

@ -119,6 +119,9 @@ protected:
{ {
const Station* st = GetStation(station); const Station* st = GetStation(station);
/* If the rail station is (temporarily) not present, use the station sign to drive near the station */
if (!IsValidTile(st->train_tile)) return st->xy;
uint x = TileX(st->train_tile) + st->trainst_w / 2; uint x = TileX(st->train_tile) + st->trainst_w / 2;
uint y = TileY(st->train_tile) + st->trainst_h / 2; uint y = TileY(st->train_tile) + st->trainst_h / 2;
// return the tile of our target coordinates // return the tile of our target coordinates