Commit Graph

56 Commits

Author SHA1 Message Date
Peter Nelson 936d78fefc Codefix: Avoid uppercase characters in variable names. (#13985) 2025-04-10 07:19:27 +01:00
Rubidium fd4adc55e3 Codechange: replace INVALID_X with XID::Invalid() for PoolIDs 2025-02-16 20:23:00 +01:00
Rubidium e937c4dcfd Codechange: change DestinationID into class with conversion helpers
A DestinationID is either a DepotID or StationID, where the aircraft hangar
being conceptually a depot is actually a StationID. When making those types
stronger, a lot of casts would need to be added, but this shows the intent
much better.
2025-02-06 21:03:24 +01:00
Peter Nelson 4397aa3909 Codechange: Make StationType an enum class. (#13339) 2025-01-19 20:53:08 +00:00
SamuXarick ee860a5c8e Doc: Update some yapf inline comments 2024-12-24 20:43:46 +01:00
Peter Nelson c39810ff6a Codechange: Replace path cache queues with vectors.
Ship and RoadVehicle path caches use a std::deque, which is quite memory hungry, especially for RoadVehicle which has two.
std::deque was used to be able to push/pop from either end.

Change to use a single std::vector each, which is now push/popped from the back.
2024-11-18 08:59:41 +00:00
Koen Bussemaker 3e195df3c7 Codechange: Cleaned up and renamed NodeList 2024-11-12 21:06:17 +01:00
Peter Nelson c39554a210 Codechange: Simplify selection between pathfinder functions. 2024-10-25 19:01:39 +01:00
Peter Nelson a171939ec3 Codechange: Remove m_ prefix from pathfinders. 2024-10-25 19:01:39 +01:00
Peter Nelson a6f412c615 Codechange: Add this-> to YAPF. 2024-10-25 19:01:39 +01:00
David Seifert db36e61807 Codefix: Compilation with GCC 15 due to missing CRTP usage (#12876) 2024-07-22 20:42:23 +02:00
Jonathan G Rennison 9c84e5df3f Add: Road waypoint functionality 2024-06-24 22:12:08 +02:00
Rubidium 6b21368bc2 Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit 2024-01-19 21:10:39 +01:00
Rubidium e3f49ee7a0 Codechange: coding style fixes 2024-01-04 16:23:54 +01:00
Peter Nelson 7d4a91ef9e Cleanup: Remove some unused functions. (#11429)
These were picked up with cppcheck.
2023-11-03 21:21:00 +00:00
frosch b6c8f301be Codechange: Silence warnings about intentionally unused parameters. 2023-09-19 22:49:59 +02:00
Rubidium e8af8daa68 Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
2023-04-09 19:00:26 +02: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
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
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 3f327116db Change: Don't apply forbid 90 deg turn settings to ships. 2019-03-03 20:59:44 +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
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
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 b885d79f50 (svn r27362) -Codechange: Codestyle fixes for reference var declarations, static cast type, operator methods. 2015-08-08 10:06:24 +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
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
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
alberth 1dbc0a20be (svn r22144) -Codechange: Unify 'while (true)' to 'for (;;)' 2011-02-25 21:53:43 +00:00
terkhen 679cd3c21b (svn r21803) -Cleanup: Remove unnecessary semicolons. 2011-01-15 15:36:58 +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 6bc002ad74 (svn r21510) -Feature [FS#1956]: vehicle lost message for road vehicles 2010-12-13 21:56:25 +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
frosch 4bd32799f1 (svn r20286) -Codechange: Unify end of doxygen comments. 2010-08-01 19:44:49 +00:00
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
rubidium e356cb9405 (svn r20281) -Codechange: unify case scope closure + break coding style 2010-08-01 18:53:30 +00:00
rubidium d8d37466af (svn r19873) -Fix [FS#3817]: if the (guessed initial) destination tile of a road stop wasn't a road stop but was a T-junction or turn, the road vehicles would jump around in circles 2010-05-21 15:53:02 +00:00
rubidium fac2f8ce1a (svn r18404) -Codechange: link drive through stops better together
-Feature: make penalty for road stop occupancy user configurable
-Fix [FS#1944]: road vehicles would not pick an empty drive through stop. Now they will *if* the penalty for driving around is less than the occupancy penalty
-Fix [FS#1495]: long (articulated) road vehicles could block loading of others when the following road vehicle already got 'permission' to go to the next bay even when it could not reach it
-Change: improve the throughput of the drive through road stops by letting them stop closer together
2009-12-04 20:52:19 +00:00
rubidium f5f6fc16f6 (svn r18394) -Fix (r18373): one couldn't manually send a RV to a depot... but why compilers haven't complained about this? 2009-12-04 00:46:22 +00:00
rubidium aa40d8e3ad (svn r18388) -Codechange: move entering/leaving of road stops to functions of RoadStop 2009-12-02 23:53:15 +00:00
rubidium 0ef0e13795 (svn r18385) -Cleanup: remove the now unneeded multistop slot management code 2009-12-02 18:18:56 +00:00