Commit Graph

121 Commits

Author SHA1 Message Date
rubidium42 9197de39e4 Cleanup: remove unused copy-constructor without copy-assignment 2021-05-27 18:30:56 +02:00
Vít Šefl 33d99d27f4 Fix: Encountering two-way red signals could prune unrelated branches.
The intermediate node branch is now only pruned if the node is on the
path leading to the two-way red signal.
2021-05-23 20:19:39 +02:00
Patric Stout 665a3928e2 Remove: performance measurements in YAPF
YAPF was constantly measuring its performance, but only at
certain debug-levels this information was shown.

Now after years, I sincerely wonder if anyone still knows about this
feature and who still use it. Especially with the new framerate window,
this detailed performance is not as meaningful anymore as it once
was.
2021-04-30 12:48:41 +02:00
Patric Stout e162aff7a3 Cleanup: remove weird left-over comment in yapf.hpp 2021-04-30 12:48:41 +02:00
Charles Pigott e8a94dc8bb Cleanup: Delete remaining Blob code 2021-04-04 08:01:54 +01:00
Charles Pigott e8022a589d Codechange: Replace CBlobT usage with std::vector 2021-04-04 08:01:54 +01:00
Charles Pigott f481c9fc2c Codechange: Replace CStrA with std::string 2021-04-04 08:01:54 +01:00
Patric Stout d4583fa64c
Fix #8123: trams on half-tiles couldn't find depots (#8738)
Basically, follow_track.hpp contains a fix for half-tiles, but
this wasn't duplicated for when trying to find a depot and in
a few other places. This makes sure all places act the same.
2021-02-25 22:46:46 +01:00
Charles Pigott 80fb1c74f0 Change: Make pathfinder account for maximum order speed, if set 2021-02-22 00:25:47 +00:00
Charles Pigott 1d6a0c7b52 Fix: [YAPF] Road pathfinder did not account for length of tunnel/bridge in path cost
Copy calculations from the rail pathfinder
2021-02-21 10:53:25 +00:00
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Patric Stout 56d54cf60e Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
2020-06-05 19:36:05 +02:00
Jonathan G Rennison 1a88fb5c91 Fix #7592: Do not cache road vehicle path within 8 tiles of destination with multiple entrances
Ported from jgrpp commit 79d5be7e265df3be8b73d484f0c7261b3c23229d
2020-02-07 23:02:10 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Charles Pigott 71a3e83468 Fix: GCC9's warnings about deprecated implicit assignment operators 2019-09-30 14:00:06 +01:00
peter1138 0db31ae27f Change: Avoid caching end of ship path, to allow penalties to apply. 2019-06-30 16:46:32 +02:00
peter1138 31db4f8d5e Add: Penalty for occupied docking points. 2019-06-30 16:46:32 +02:00
peter1138 f538179878 Feature: Multi-tile docks and docking points. 2019-06-30 16:46:32 +02:00
peter1138 c02ef3e456 Feature: Add NotRoadTypes (NRT) 2019-05-01 21:36:27 +02:00
Charles Pigott 9f3928658b Codechange: Remove Track{dir,}{Bits,}Byte types 2019-04-29 17:40:22 +01:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
PeterN 6c6971fb43
Add: Road vehicle path cache. (#7261) 2019-03-08 23:52:45 +00:00
Peter Nelson 7ca1793ec4 Change: Automatically use Trackdir node key as needed if ship curve penalties differ. 2019-03-08 16:52:08 +01:00
Peter Nelson b8a0107ad1 Change: Add configurable curve penalty for ships. 2019-03-08 16:52:08 +01:00
Peter Nelson 3f327116db Change: Don't apply forbid 90 deg turn settings to ships. 2019-03-03 20:59:44 +01: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
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
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
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
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 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
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 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 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