summaryrefslogtreecommitdiff
path: root/npf.c
AgeCommit message (Collapse)Author
2005-04-05(svn r2154) - Fix: [NPF] Vehicles should no longer try to drive through the ↵matthijs
back of depots and road stations. - Add: GetDepotDirection() wrapper function. - Fix: [NPF] Ships can now actually reach buoys.
2005-04-04(svn r2148) - Add: [NPF] Trains can now plan taking into account that they ↵matthijs
can reverse in depots. This makes forced servicing tracks work with NPF.
2005-04-04(svn r2147) - Add: [NPF] Give red presignal exit signals a different ↵matthijs
(higher) penalty, to discourage trains from waiting at presignal exits.
2005-04-02(svn r2121) -Fix: changed the 2nd param of AyStar_EndNodeCheck back to what ↵truelight
it should be
2005-03-14(svn r2007) - Fix: [NPF] Slope penalties did not work correctly with ↵matthijs
foundations. (HackyKid) - Fix: [NPF] Stations penalties were not applied correctly, since stations had no base cost. (HackyKid) - Fix: [NPF] Lastred penalty was applied multiple times for every red signal, instead of just the last one. (HackyKid)
2005-03-13(svn r2006) - Fix: [NPF] Wrong signal detection for last signal red ↵matthijs
detection. Multiple tracks per tile with only one signal were detected wrong. (HackyKid)
2005-03-08(svn r1968) - Fix: [NPF] Mixed declarations and statementsmatthijs
2005-03-08(svn r1967) Codechange: A mix of mostly indentation-related tidyups.pasky
2005-03-08(svn r1964) - Add: [NPF] Added a penalty matthijs
2005-03-08(svn r1963) - Add: [NPF] Penalty for a red signal that is the last signal on ↵matthijs
the path. - Add: [NPF] NPFGetFlag() and NPFSetFlag() to wrap NPF node flag handling
2005-03-08(svn r1957) Compilation fix.pasky
2005-03-07(svn r1956) -Fix: [NPF] New target tile for heuristic should perform better ↵matthijs
with larger stations (HackyKid)
2005-02-07(svn r1843) - Codechange: [NPF] Removed some unused code.matthijs
2005-02-07(svn r1842) Fix another typo made in r1834tron
2005-02-06(svn r1834) - Fix: NPF does not check the owner of its target, busses try to ↵matthijs
enter other players' depots. TODO - Add: asserts to find the v->u.rail.track == 0 problem. - Add: IsValidDepot(), IsValidTown(), IsValidSign(), IsValidVehicle(), IsValidStation() - Add: GetTileOwner(), IsTileOwner() - Codechange: Replaced IsShipDepotTile(), IsTrainDepotTile(), IsRoadDepotTile() by IsTileDepotType(). - Codechange: typedeffed the MAP_OWNERS as Owner. Should be used as variable type. - Codechange: Replaced a few uint by TileIndex.
2005-02-06(svn r1817) -Codechange: Moved depot-functions to depot.ctruelight
-Codechange: Added wrappers around depot-access (GetDepot no exists) -Codechange: Made depot-functions a bit more logic (no longer GetDepotByTile crashes your game when you request it on a non-depot tile) -Add: made depots dynamic (yes, 64k depots are possible now)
2005-02-05(svn r1803) Move debugging stuff into files of it's owntron
2005-01-31(svn r1752) - Fix: MSVC acting up once again, as well as project file ↵darkvater
updates for the missing files.
2005-01-31(svn r1751) - Feature: New PathFinder (NPF).matthijs
- Supports trains, road vehicles and ships. - Uses A* pathfinding (same codebase as the new ai). - Currently unlimited search depth, so might perform badly on large maps/networks (especially ships). - Will always find a route if there is one. - Allows custom penalties for obstacles to be set in openttd.cfg (npf_ values). - With NPF enabled, ships can have orders that are very far apart. Be careful, this will break (ships get lost) when the old pathfinder is used again. - Feature: Disabling 90 degree turns for trains and ships. - Requires NPF to be enabled. - Ships and trains can no longer make weird 90 degree turns on tile borders. - Codechange: Removed table/directions.h. - table/directions.h contained ugly static tables but was included more than once. The tables, along with a few new ones are in npf.[ch] now. Better suggestions for a location? - Fix: Binary heap in queue.c did not allocate enough space, resulting in a segfault. - Codechange: Rewritten FindFirstBit2x64, added KillFirstBit2x64. - Codechange: Introduced constant INVALID_TILE, to replace the usage of 0 as an invalid tile. Also replaces TILE_WRAPPED. - Codechange: Moved TileAddWrap() to map.[ch] - Add TileIndexDiffCByDir(), TileIndexDiffCByDir(). - Codechange: Moved IsTrainStationTile() to station.h - Add: IsRoadStationTile() and GetRoadStationDir().