Peter Nelson
b4839cc7da
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-04-22 18:50:15 +01: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
rubidium
4ec4fdff36
(svn r18382) -Codechange: make road vehicles behave more like trains 'around' stations and use pathfinder penalties to determine to which 'part' to go. Note that the pathfinder penalties for drive through stops are currently only looking at the occupation of the first in a row, but this is to change later on.
2009-12-02 17:56:02 +00:00
frosch
59f9163e37
(svn r18381) -Codechange: Add RoadVehicle::IsBus() to simplify some stuff.
2009-12-02 17:37:02 +00:00
rubidium
1c65150d6d
(svn r18376) -Codechange: simplify setting the destination
2009-12-02 14:44:32 +00:00
rubidium
c10e953141
(svn r18373) -Codechange: unify some road pathfinder functions
2009-12-02 10:44:38 +00:00
rubidium
c56c892b2c
(svn r18372) -Codechange: push some extra type safety into YAPF
2009-12-02 10:13:49 +00:00
rubidium
f52e27c688
(svn r18364) -Codechange: move the pathfinders and their related files into a separate directory
2009-12-01 22:45:39 +00:00