58 TransportType tracktype; |
58 TransportType tracktype; |
59 uint sub_type; |
59 uint sub_type; |
60 |
60 |
61 byte var2; |
61 byte var2; |
62 bool disable_tile_hash; |
62 bool disable_tile_hash; |
63 bool hasbit_13; |
|
64 |
63 |
65 uint16 hash_head[0x400]; |
64 uint16 hash_head[0x400]; |
66 TileIndex hash_tile[0x400]; ///< stores the link index when multi link. |
65 TileIndex hash_tile[0x400]; ///< stores the link index when multi link. |
67 |
66 |
68 TrackPathFinderLink links[0x400]; ///< hopefully, this is enough. |
67 TrackPathFinderLink links[0x400]; ///< hopefully, this is enough. |
69 }; |
68 }; |
70 |
69 |
71 void FollowTrack(TileIndex tile, uint16 flags, uint sub_type, DiagDirection direction, TPFEnumProc* enum_proc, TPFAfterProc* after_proc, void* data); |
70 void FollowTrack(TileIndex tile, uint16 flags, uint sub_type, DiagDirection direction, TPFEnumProc* enum_proc, TPFAfterProc* after_proc, void* data); |
72 |
|
73 struct FindLengthOfTunnelResult { |
|
74 TileIndex tile; |
|
75 int length; |
|
76 }; |
|
77 FindLengthOfTunnelResult FindLengthOfTunnel(TileIndex tile, DiagDirection direction); |
|
78 |
|
79 void NewTrainPathfind(TileIndex tile, TileIndex dest, RailTypes railtypes, DiagDirection direction, NTPEnumProc* enum_proc, void* data); |
71 void NewTrainPathfind(TileIndex tile, TileIndex dest, RailTypes railtypes, DiagDirection direction, NTPEnumProc* enum_proc, void* data); |
80 |
72 |
81 #endif /* PATHFIND_H */ |
73 #endif /* PATHFIND_H */ |