diff options
author | ludde <ludde@openttd.org> | 2005-07-19 11:42:40 +0000 |
---|---|---|
committer | ludde <ludde@openttd.org> | 2005-07-19 11:42:40 +0000 |
commit | 3e97dda275f59b2bcaea44c48ceba7a0ed054d9c (patch) | |
tree | 4d3f43a36f40b9b8d244fda8f0cdb2bba4bc64ec /pathfind.h | |
parent | 29f6ada06a0cbf3954e9c5f61657d4ed763cee79 (diff) | |
download | openttd-3e97dda275f59b2bcaea44c48ceba7a0ed054d9c.tar.xz |
(svn r2635) Fix: [ntp/misc] Improve the old pathfinder. Changed it to A* instead of Dijkstra.
- Benchmark shows that NTP is now around 10x faster than NPF.
- Made IsTunnelTile macro to determine if a tile is a tunnel.
- Added some useful debugging functions for making tiles red / getting accurate timestamps.
- Remove old depot finding algorithm.
- Disable warning for signed/unsigned comparisons.
Diffstat (limited to 'pathfind.h')
-rw-r--r-- | pathfind.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pathfind.h b/pathfind.h index 0543df461..583836693 100644 --- a/pathfind.h +++ b/pathfind.h @@ -8,6 +8,7 @@ typedef struct TrackPathFinder TrackPathFinder; typedef bool TPFEnumProc(TileIndex tile, void *data, int track, uint length, byte *state); typedef void TPFAfterProc(TrackPathFinder *tpf); +typedef bool NTPEnumProc(TileIndex tile, void *data, int track, uint length); #define PATHFIND_GET_LINK_OFFS(tpf, link) ((byte*)(link) - (byte*)tpf->links) #define PATHFIND_GET_LINK_PTR(tpf, link_offs) (TrackPathFinderLink*)((byte*)tpf->links + (link_offs)) @@ -63,6 +64,6 @@ typedef struct { } FindLengthOfTunnelResult; FindLengthOfTunnelResult FindLengthOfTunnel(TileIndex tile, int direction); -void NewTrainPathfind(TileIndex tile, byte direction, TPFEnumProc *enum_proc, void *data, byte *cache); +void NewTrainPathfind(TileIndex tile, TileIndex dest, byte direction, NTPEnumProc *enum_proc, void *data); #endif /* PATHFIND_H */ |