Commit Graph

233 Commits

Author SHA1 Message Date
J0an Josep d814dd3434 Cleanup: [NPF] Assert that a track has been chosen. 2019-01-31 22:15:56 +00:00
J0an Josep aa63517c92 Fix #7060: [NPF] Do not check whether ignored first tiles are end nodes. 2019-01-31 22:15:56 +00:00
J0an Josep 19be1f4ace Codechange: [NPF] Add some consts. 2019-01-31 22:15:56 +00:00
J0an Josep 96c5e5e73a Cleanup: [NPF] Remove unused parameters. 2019-01-31 22:15:56 +00:00
J0an Josep a5836874ef Codechange: Use track functions. 2019-01-26 22:55:12 +00:00
Peter Nelson 81330b8d6e Change: Add path cache for ships. 2019-01-19 23:11:17 +00:00
J0an Josep effb7da5b4 Doc: Fix spelling in comments. 2019-01-06 16:47:45 +01:00
J0an Josep c304aa50e9 Fix: [NPF] Don't look two-way for road vehicles when looking for a depot. Road vehicles shouldn't reverse all of a sudden. 2019-01-06 16:47:45 +01:00
Juanjo! 1db66a285e Codechange: [YAPF] Stop looking for an automatic servicing road depot when the cost of a path exceeds max. penalty. 2019-01-06 16:47:45 +01:00
Juanjo! edb7adf183 Codechange: [NPF] Stop looking for an automatic servicing (rail/road) depot when the cost of a path exceeds max. penalty. 2019-01-06 16:47:45 +01:00
J0an Josep 19a2f84943 Fix #7001: Pathfinders should see standard road stations as tiles where to reverse. 2019-01-06 16:47:45 +01:00
J0an Josep 16a91130a7 Codechange: Use INVALID_TRACKDIR instead of 0xFF. 2019-01-04 23:55:07 +01:00
Charles Pigott bb7353c02a Codechange: Some more null checks 2018-10-31 12:41:49 +01:00
Charles Pigott b5028efc1f Fix: Protect against a few out of bounds or uninitialised usage errors 2018-10-31 12:41:49 +01:00
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
J0anJosep d01c09fb73 Codechange: Use HasTrack(dir) to improve code readability. 2018-06-27 23:14:30 +02:00
J0anJosep 31ac11bddb Codechange: Increase readability of track functions and pathfinders. 2018-06-27 23:14:30 +02:00
Juanjo 85ebe20a76 Cleanup: Unnecessary assignation on FollowTileExit(): done previously on the function. 2018-06-27 23:14:30 +02:00
Juanjo 6a9df285d0 Codechange: Separate an assertion. More information if assert is triggered. 2018-06-27 23:14:30 +02:00
J0anJosep 79a551a83c Codechange: Use TileAddBy(Diag)Dir when possible. 2018-04-30 18:55:04 +02:00
Patric Stout 17bd580630
Remove: NO_DEBUG_MESSAGES was only read and setting it broke compilation (#6703)
Given any speed issue cannot be attributed to checking for _debug_NNN_level, removing this is a safe action

This fixes #6652.
2018-04-11 22:07:21 +02:00
michi_cc 016a68815d (svn r27912) -Fix (r13948): [NPF] Reserved track bits were not accounted for when trying to find any safe position. 2017-09-03 13:06:29 +00:00
adf88 1dd6930507 (svn r27906) -Cleanup: Remove some NPF code with no effect and mark possible bug about never used NPF_FLAG_IGNORE_RESERVED flag 2017-08-31 06:51:01 +00:00
frosch 062c736437 (svn r27896) -Fix: some warnings 2017-08-20 21:04:21 +00:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
frosch 35d8c37102 (svn r27885) -Cleanup (r27844): ESR_MAX_COST_EXCEEDED and ESR_PATH_TOO_LONG meant the same thing, but only one was used. Keep PATH_TOO_LONG since it has the better documentation. 2017-06-22 16:57:06 +00:00
peter1138 bf4499c643 (svn r27846) -Fix [FS#5926]: Infinite loop in pathfinder when checking safe waiting position from a waypoint. 2017-04-04 00:00:43 +00:00
peter1138 1eef97674c (svn r27845) -Change: (Yapf) Use FindDepotData struct to simplify depot finding code and remove need to return fake path distance. (juanjo) 2017-04-03 22:02:28 +00:00
peter1138 9bc27c9a72 (svn r27844) -Change: (Yapf) Treat max cost exceeded separately from path too long condition, as destination should not be considered in the former case. 2017-04-03 21:53:51 +00:00
peter1138 39fa3c7cbd (svn r27843) -Change: (Yapf) Consider depot as destination before reversing path and applying penalty. 2017-04-03 21:37:01 +00:00
frosch a23f707f92 (svn r27733) -Codechange: Pass NPF user data as void* instead of as array of integers. 2017-01-15 13:59:46 +00:00
frosch d90686f021 (svn r27586) -Fix [FS#6410]: Automatic servicing of road vehicles compared path finder costs with tile distances, thus vehicles went to depots which were factor 100 too far away. (juanjo) 2016-05-29 14:14:52 +00:00
frosch 22e6a2590d (svn r27418) -Fix [FS#6329] [FS#6379]: Desync due to incorrect storage of segments with different railtype in the YAPF cache. (JGR) 2015-10-30 16:18:03 +00:00
alberth 1105b4d2c9 (svn r27363) -Codechange: Fix codestyle of one-line methods and header codestyle of derived structs. 2015-08-08 13:19:38 +00:00
alberth b885d79f50 (svn r27362) -Codechange: Codestyle fixes for reference var declarations, static cast type, operator methods. 2015-08-08 10:06:24 +00:00
frosch 59a94f8ccf (svn r27332) -Change: Enable YAPF cache debugging with desync debug level 2. 2015-07-12 17:06:02 +00:00
rubidium 193f653c56 (svn r27107) -Fix [FS#6183]: road vehicles could not reverse to be sent to depots when the following tile has the right type to run on, but could not be entered; e.g. facing toward a depot with the entry facing the wrong way failed to reverse whereas facing towards an empty tile allowed the vehicle to reverse (estys) 2015-01-02 12:11:20 +00:00
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
rubidium f669101560 (svn r26117) -Cleanup: unneeded NULL check 2013-11-26 10:00:15 +00:00
rubidium 00264cc708 (svn r26109) -Fix: missing initialisation 2013-11-25 14:34:09 +00:00
rubidium e106e54f9f (svn r26102) -Fix: m_veh is not NULL by definition when IsRoadTT is true 2013-11-25 11:11:56 +00:00
rubidium 0e9c992104 (svn r26058) -Fix: handle the return value of a number of functions better 2013-11-23 13:15:07 +00:00
rubidium f178899609 (svn r25609) -Fix [FS#5216]: under certain circumstances a track type change would make the end-of-line-is-red setting ineffective 2013-07-14 09:21:46 +00:00
rubidium 740643f2b2 (svn r25608) -Codechange: make EndSegmentReasonBits available in yapf_base.hpp 2013-07-14 09:20:34 +00:00
rubidium eb538da228 (svn r24964) -Fix [FS#5416]: With YAPF the docking behaviour differed per direction; now favour docking in the direction you approached 2013-02-03 14:16:45 +00:00
peter1138 c00a400cc7 (svn r24905) -Feature(ish): Implement station randomisation triggers. 2013-01-11 07:39:25 +00:00
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
frosch 9d877e888a (svn r24588) -Codechange: No need to intermingle reservation-checks with railroad checks. (Juanjo) 2012-10-13 08:24:28 +00:00
frosch 962a7c3630 (svn r24587) -Codechange: Improve coding style (Juanjo) 2012-10-13 08:20:40 +00:00
frosch d17ec934f5 (svn r24481) -Feature [FS#5127]: Make the pathfinder decide whether ships shall leave depots towards north or south. 2012-08-18 11:37:47 +00:00
frosch 9215192d34 (svn r24479) -Fix: Trains were unable to reverse in stations when using NPF. 2012-08-18 11:37:03 +00:00
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain 1c9bec1999 (svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC) 2011-12-20 17:57:56 +00:00
michi_cc 24b7be856b (svn r23564) -Fix [FS#4888]: Extending a path reservation starting at a partially reserved rail station could fail. 2011-12-17 02:02:28 +00:00
truebrain 160bfd8851 (svn r23376) -Remove: on popular demand, remove my (revoked) name from comments in the code. It was silly to name me like that to begin with ;) (based on patch by HackaLittleBit) 2011-11-30 01:22:18 +00:00
rubidium 2ed0f93bfb (svn r23093) -Codechange: add a default NULL for the Z of GetTileSlope and use it 2011-11-04 10:22:27 +00:00
rubidium 7757a2ed40 (svn r23091) -Codechange: rename some Get*Z functions to Get*PixelZ functions if they return the Z in pixels (like TilePixelHeight) 2011-11-04 10:18:13 +00:00
frosch 5ccd091fd1 (svn r22881) -Fix (r22875): GCC warnings on 64bit systems. 2011-09-03 12:45:45 +00:00
michi_cc f227e90c24 (svn r22875) -Codechange: Add some asserts and checks to better prevent overflow of the argument to malloc. (monoid) 2011-09-02 20:54:51 +00:00
michi_cc 45b95ed629 (svn r22801) -Feature: [YAPF] Take canal/ocean speed fraction of ships into account. 2011-08-21 14:13:22 +00:00
rubidium 4d5dbf5170 (svn r22410) -Document: some more bits ;) 2011-05-02 16:14:23 +00:00
smatz 0c55cbfa73 (svn r22350) -Change: make YAPF hash tables much smaller, it should improve performance significantly (about 15%) 2011-04-19 18:12:47 +00:00
smatz 6e011e9e68 (svn r22348) -Codechange: split ship-specific part of yapf_node.hpp to yapf_node_ship.hpp 2011-04-19 15:00:11 +00:00
alberth 31386c42a7 (svn r22145) -Codechange: Do explicit test for non-bool values. 2011-02-25 22:04:38 +00:00
alberth 1dbc0a20be (svn r22144) -Codechange: Unify 'while (true)' to 'for (;;)' 2011-02-25 21:53:43 +00:00
rubidium faf5d899f7 (svn r22017) -Codechange: move MarkTileDirtyByTile to viewport_func.h 2011-02-07 22:29:47 +00:00
rubidium fd94ed3009 (svn r21996) -Fix [FS#4472]: [YAPF] Under some circumstances vehicles could be lost 2011-02-06 15:01:52 +00:00
rubidium 7645c5ac43 (svn r21815) -Fix [FS#3908]: [YAPF] Apply a pathfinder penalty for back of one-way path signals so those aren't preferred over other possibilities 2011-01-15 22:40:54 +00:00
terkhen 679cd3c21b (svn r21803) -Cleanup: Remove unnecessary semicolons. 2011-01-15 15:36:58 +00:00
rubidium b68d37f2aa (svn r21706) -Fix-ish [FS#4370]: the old ship pathfinder is too stupid to provide "lost" notices; it would even get lost while following it's own path 2011-01-03 20:25:11 +00:00
smatz aa4f269f3e (svn r21652) -Cleanup: one semicolon is enough 2010-12-28 14:22:51 +00:00
rubidium ade19e5242 (svn r21651) -Fix [FS#4338] (r21229): infinite loop in the road pathfinder due to bouncing around in an "one way" trap; two one ways pointing towards eachother making it impossible to leave 2010-12-27 22:32:47 +00:00
rubidium b323000253 (svn r21631) -Fix [FS#4325]: ships with the old pathfinder would easily show up as lost, even when it would eventually find a path. Now also the distance from the "end" of the pathfinding run to the destination is compared to the current distance to the destination; if the distance to the destination at the end of the pathfinder run is less than the current distance from the destination the ship won't be marked as lost. This means that the ships with the old pathfinder will less likely get marked as lost, but due to the design of the old ship pathfinder there "lostness" is merely a best guess. When you still get a lost message 2010-12-25 12:20:18 +00:00
alberth 67cd2cd6be (svn r21594) -Codechange: Whitespace fixes in ifndef/define lines. 2010-12-22 11:24:38 +00:00
rubidium 29fc9b1d48 (svn r21533) -Codechange: replace some magic numbers with less magic constants 2010-12-16 23:24:30 +00:00
michi_cc e744b97ec8 (svn r21524) -Fix [FS#4302]: Do not apply the last signal red pathfinder penalty when the signal is a path signal. 2010-12-15 14:33:24 +00:00
terkhen 48b7916458 (svn r21521) -Codechange: Unify some cached values that were present in both road vehicles and trains. 2010-12-14 21:33:53 +00:00
terkhen 79e2b3153d (svn r21516) -Codechange: Add IsGroundVehicle function to the Vehicle class. 2010-12-14 21:26:03 +00:00
rubidium 4045429df6 (svn r21511) -Feature: vehicle lost message for ships 2010-12-13 21:56:40 +00:00
rubidium 6bc002ad74 (svn r21510) -Feature [FS#1956]: vehicle lost message for road vehicles 2010-12-13 21:56:25 +00:00
rubidium b05d2675fc (svn r21509) -Codechange: rename the rail pathfinders "path_not_found" parameter to "path_found" and remove the ! where the variables are set / read 2010-12-13 21:55:59 +00:00
yexo 22d0ce0366 (svn r21372) -Cleanup: remove some broken npf debug code 2010-12-02 23:05:48 +00:00
alberth ab50f74d7f (svn r21273) -Codechange: Return values should start at the same line. 2010-11-20 15:44:24 +00:00
rubidium 3ca5951478 (svn r21271) -Change: use the last red instead of last red exit penalty for making sure other waypoint entries are evaluated as well when they are occupied, e.g. when there are no signals before the waypoint but a train just beyond the waypoint is stopped (like for stations) 2010-11-20 14:34:57 +00:00
rubidium 6878a0ffd7 (svn r21229) -Fix [FS#4130]: [YAPF] Road vehicles not finding the nearest depot in some (corner) cases 2010-11-17 23:07:53 +00:00
terkhen e08aa7e8e6 (svn r21121) -Fix (r21100): Use the cached max speed when calculating YAPF penalties for road vehicles. 2010-11-09 17:36:40 +00:00
michi_cc b26b8b5b2a (svn r21107) -Fix: Don't use the maximum track speed where the maximum vehicle speed is meant. 2010-11-07 13:35:12 +00:00
alberth 7e48d85104 (svn r21060) -Doc: Improved wording of comments (mostly by __ln__) 2010-10-30 17:51:07 +00:00
smatz 10ee071cab (svn r20948) -Fix (r20880): compiler warning 2010-10-16 17:37:48 +00:00
alberth 7c312f602c (svn r20890) -Doc: Make documentation accessible to doxygen. 2010-10-02 19:55:13 +00:00
alberth 6a9b205670 (svn r20889) -Codechange: Make ClosedListHash, OpenListQueue, and OpenListHash data protected, and rename for coding style. 2010-10-02 19:53:20 +00:00
alberth 0c08955f4d (svn r20888) -Codechange: Make Hash_FindNode a method. 2010-10-02 19:48:45 +00:00
alberth 6802527e02 (svn r20887) -Codechange: Make stat_Hash a method. 2010-10-02 19:47:21 +00:00
alberth 4af4d268d8 (svn r20886) -Codechange: Make init_Hash a method. 2010-10-02 19:46:24 +00:00
alberth 6f85b46eeb (svn r20885) -Codechange: Make delete_Hash a method. 2010-10-02 19:44:54 +00:00
alberth d86f781ca5 (svn r20884) -Codechange: Make clear_Hash a method. 2010-10-02 19:43:29 +00:00
alberth f185a35269 (svn r20883) -Codechange: Make Hash_Delete a method. 2010-10-02 19:42:42 +00:00
alberth 15b784471e (svn r20882) -Codechange: Make Hash_Set a method. 2010-10-02 19:41:25 +00:00
alberth 4ed94825b2 (svn r20881) -Codechange: Make Hash_Get a method. 2010-10-02 19:39:34 +00:00
alberth 6ea5643e40 (svn r20880) -Codechange: Make Hash_Size a method. 2010-10-02 19:38:22 +00:00