Mercurial > hg > openttd
changeset 4406:d4702ef4c475 draft
(svn r6159) -Fix: FindClosestTrainDepot hardly ever found a depot with NPF off due to absence of distance-normalization (Rojer)
author | Darkvater <Darkvater@openttd.org> |
---|---|
date | Sat, 26 Aug 2006 21:54:04 +0000 |
parents | ab6c6c2a811e |
children | 8eda64a27161 |
files | pathfind.c pathfind.h train_cmd.c |
diffstat | 3 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/pathfind.c +++ b/pathfind.c @@ -637,11 +637,6 @@ 0, //14 }; - -#define DIAG_FACTOR 3 -#define STR_FACTOR 2 - - static uint DistanceMoo(TileIndex t0, TileIndex t1) { const uint dx = abs(TileX(t0) - TileX(t1));
--- a/pathfind.h +++ b/pathfind.h @@ -5,6 +5,11 @@ #include "direction.h" +enum { + STR_FACTOR = 2, + DIAG_FACTOR = 3 +}; + //#define PF_BENCH // perform simple benchmarks on the train pathfinder (not //supported on all archs)
--- a/train_cmd.c +++ b/train_cmd.c @@ -1847,7 +1847,8 @@ if (IsTileType(tile, MP_RAILWAY) && IsTileOwner(tile, tfdd->owner) && IsRailDepot(tile)) { - tfdd->best_length = length; + /* approximate number of tiles by dividing by DIAG_FACTOR */ + tfdd->best_length = length / DIAG_FACTOR; tfdd->tile = tile; return true; }