(svn r2256) - Fix: Trains cannot find a depot when they are in a tunnel. (glx)

- Add: GetVehicleTrackdir() helper function.
- Codechange: Moved SortStruct from vehicle_gui.h to ttd.h, so the dependency from vehicle.h on vehicle_gui.h could be removed.
- Codechange: Typedeffed the VehicleTypes struct so it can be used as the type for Vehicle.type instead of "byte".
- Codechange: Removed prototype for VehicleSorter(), which had no implementation anymore and was never called.
This commit is contained in:
matthijs
2005-05-02 23:59:11 +00:00
parent 2ab5eee78b
commit 6eb094c726
14 changed files with 123 additions and 66 deletions

View File

@@ -15,6 +15,7 @@
#include "player.h"
#include "sound.h"
#include "depot.h"
#include "vehicle_gui.h"
void ShowRoadVehViewWindow(Vehicle *v);
@@ -316,7 +317,7 @@ static Depot *FindClosestRoadDepot(Vehicle *v)
* v->direction won't contain anything usefule than */
trackdir = _dir_to_diag_trackdir[GetRoadStationDir(tile)];
else
trackdir = _dir_to_diag_trackdir[(v->direction>>1)&3];
trackdir = GetVehicleTrackdir(v);
ftd = NPFRouteToDepotBreadthFirst(v->tile, trackdir, TRANSPORT_ROAD, v->owner);
if (ftd.best_bird_dist == 0)
@@ -1160,7 +1161,8 @@ found_best_track:;
static uint RoadFindPathToStation(const Vehicle *v, TileIndex tile)
{
NPFFindStationOrTileData fstd;
byte trackdir = _dir_to_diag_trackdir[(v->direction >> 1) & 3];
byte trackdir = GetVehicleTrackdir(v);
assert(trackdir != 0xFF);
fstd.dest_coords = tile;
fstd.station_index = -1; // indicates that the destination is a tile, not a station