Commit Graph

518 Commits

Author SHA1 Message Date
Andreas Schmitt
1899b1877d Improve performance even more 2021-06-19 13:02:36 +01:00
Andreas Schmitt
8d584990aa Remove unused hash functions and start the road building from the map center 2021-06-19 13:02:36 +01:00
Andreas Schmitt
35ebeff874 Remove low performance containers with standard library ones 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
a7d8c6fe0c Add PF setting for whether to pathfind up to back of one-way PBS 2021-06-09 20:43:57 +01:00
Vít Šefl
a73ddf4a35 Fix: Do not send vehicles towards incomplete PF nodes
YAPF could end up in a situation where it sets the best intermediate node
to a node whose construction is never finalized (i.e. it is never added to
the open list). The content of the node would be overwritten in the next
round, potentially sending the vehicle to an unwanted location.

(cherry picked from commit 0125ba82e8)
2021-06-07 18:37:06 +01:00
Vít Šefl
073b15f453 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.

(cherry picked from commit 33d99d27f4)
2021-06-07 18:31:24 +01:00
Jonathan G Rennison
c0bf8476b1 Tracerestrict: Fix PBS entry signal conditional with signalled tunnel/bridges 2021-05-26 01:26:28 +01:00
Jonathan G Rennison
0579c8755c Add tracerestrict action: No PBS signal back PF penalty 2021-05-25 18:50:36 +01:00
Patric Stout
0deb1d852d 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.

(cherry picked from commit 665a3928e2)
2021-04-30 18:04:57 +01:00
Patric Stout
e0041df005 Cleanup: remove weird left-over comment in yapf.hpp
(cherry picked from commit e162aff7a3)
2021-04-30 18:01:10 +01:00
Jonathan G Rennison
edfa04286b Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release.yml
#	bin/CMakeLists.txt
#	src/dock_gui.cpp
#	src/lang/brazilian_portuguese.txt
#	src/lang/catalan.txt
#	src/lang/czech.txt
#	src/lang/dutch.txt
#	src/lang/english.txt
#	src/lang/english_US.txt
#	src/lang/estonian.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/lang/hungarian.txt
#	src/lang/indonesian.txt
#	src/lang/italian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/lithuanian.txt
#	src/lang/luxembourgish.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/polish.txt
#	src/lang/portuguese.txt
#	src/lang/romanian.txt
#	src/lang/russian.txt
#	src/lang/serbian.txt
#	src/lang/simplified_chinese.txt
#	src/lang/slovak.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/lang/swedish.txt
#	src/lang/tamil.txt
#	src/lang/ukrainian.txt
#	src/lang/vietnamese.txt
#	src/newgrf.cpp
#	src/newgrf_gui.cpp
#	src/object_gui.cpp
#	src/pathfinder/yapf/yapf_costrail.hpp
#	src/pathfinder/yapf/yapf_node_rail.hpp
#	src/rail_cmd.cpp
#	src/roadveh_cmd.cpp
#	src/town_cmd.cpp
#	src/vehicle.cpp
#	src/water_cmd.cpp
2021-04-11 02:39:33 +01: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
Charles Pigott
591ea9862d Codechange: Suppress warnings when asserts are disabled (#8916) 2021-04-01 10:03:12 +02:00
Jonathan G Rennison
5b5e068e52 Don't check safe waiting point in FollowTrainReservation if result unused 2021-03-31 22:39:44 +01:00
Jonathan G Rennison
63fda2f16e YAPF: Add penalty when reversing at waypoint which is already reserved 2021-03-27 18:32:14 +00:00
Jonathan G Rennison
f4e29071be Merge tag '1.11.0-beta2' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	src/blitter/32bpp_optimized.cpp
#	src/debug.cpp
#	src/gfx.cpp
#	src/gfx_func.h
#	src/lang/czech.txt
#	src/lang/english.txt
#	src/lang/italian.txt
#	src/lang/swedish.txt
#	src/lang/ukrainian.txt
#	src/network/network_server.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/win32.cpp
#	src/pathfinder/follow_track.hpp
#	src/screenshot.cpp
#	src/settings_type.h
#	src/spritecache.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/video_driver.cpp
#	src/video/video_driver.hpp
#	src/video/win32_v.cpp
2021-03-02 11:59:03 +00: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
Jonathan G Rennison
19b7ecf95a Merge branch 'master' into jgrpp 2021-02-22 17:45:58 +00:00
Charles Pigott
80fb1c74f0 Change: Make pathfinder account for maximum order speed, if set 2021-02-22 00:25:47 +00:00
Jonathan G Rennison
1c1d272b57 Merge branch 'master' into jgrpp 2021-02-21 19:51:00 +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
c461999b2b Fix #8594: [NRT] Road pathfinder did not account for roadtype speed limits 2021-02-21 10:53:25 +00:00
Jonathan G Rennison
35d720b0ad Add tracerestrict PBS end signal conditional
This is for realistic braking long reserve
2021-02-13 02:12:16 +00:00
Jonathan G Rennison
b7ddd486cf Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/cargopacket.cpp
#	src/cheat_gui.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/core/pool_func.hpp
#	src/date.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/ground_vehicle.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/industry_cmd.cpp
#	src/lang/dutch.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/mcf.cpp
#	src/network/network_content.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_station.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/station_cmd.cpp
#	src/station_kdtree.h
#	src/string_func.h
#	src/table/settings.ini
#	src/tgp.cpp
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/tree_gui.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
#	src/viewport.cpp
#	src/viewport_sprite_sorter_sse4.cpp
#	src/window.cpp
2021-02-01 17:07:34 +00:00
Jonathan G Rennison
ed0ffb6220 Add feature: realistic train braking
Add setting to select train braking model.
2021-01-28 19:03:18 +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
3a75f13874 Allow drive-through road stops to be one-way 2020-10-28 00:27:48 +00:00
Jonathan G Rennison
352b361e1b Viewport: Replace viewport mark dirty if zoom level below with flags param
Fix missing flags for tracerestrict and effect vehicles
2020-10-01 23:18:39 +01:00
Jonathan G Rennison
84dd35b685 Add drive-through train depot emulation (default off) 2020-09-26 18:08:26 +01:00
Jonathan G Rennison
5196caddde Fix assertion failure which could occur when using reverse behind signal 2020-09-04 17:41:27 +01:00
Jonathan G Rennison
00a31a4885 YAPF debug: Add reverse and teleport flags to node dump 2020-09-04 11:59:19 +01:00
Jonathan G Rennison
f998b1eaa6 Only do RV leader check within uncached area 2020-07-12 11:30:14 +01:00
Jonathan G Rennison
c1adefc86d Only do RV leader check if there are multiple target candidates 2020-07-11 22:54:10 +01:00
Jonathan G Rennison
e05f4b2faf Use front vehicle for vehicle orders in RV YAPF leader check 2020-07-11 22:42:59 +01:00
Jonathan G Rennison
49fdc9c77a Merge branch 'pr-138' into jgrpp 2020-07-11 22:05:17 +01:00
Jonathan G Rennison
c93cffed64 Tidy up PR #138 2020-07-11 22:04:01 +01:00
TechGeekNZ
cf8ea74733 Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake 2020-06-28 21:56:43 +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
b018ebf268 Pathfinder: Fix incorrect handling of rail type 90° turns
Due to parenthesis/editing error
2020-05-27 22:02:28 +01:00
Jonathan G Rennison
b11852a076 Fix insufficient YAPF cost added when reversing behind signal
Fix 29520437, which was an insufficient fix

See: #150
2020-05-05 00:12:46 +01:00
Jonathan G Rennison
2952043748 Fix insufficient YAPF cost added when reversing behind signal
Distance to target cost compensation was too small in case where target
was perfectly in line with reversing track due to exit direction offset
added in PfCalcEstimate.

See: #147
2020-04-25 11:46:18 +01:00
Themba Dube
04b8e2f8a9 Fix: Road vehicles should only penalize traffic going to the same station 2020-03-31 12:52:54 -04:00
Themba Dube
0a441f63ff Merge remote-tracking branch 'internet-trains/road-vehicle-lookahead' into rv_pathfind 2020-03-31 12:36:56 -04:00
Jonathan G Rennison
4108672cf6 Use separate tile hash for each vehicle type 2020-03-03 06:57:50 +00:00
Jonathan G Rennison
b96e7f78fb Merge branch 'master' into jgrpp 2020-02-21 21:18:01 +00:00
Quipyowert2
acb3d10832 Codechange: Format unsigned integers with %u instead of %i or %d. 2020-02-13 21:36:37 +01:00
Jonathan G Rennison
babe98cdb1 Merge branch 'master' into jgrpp
# Conflicts:
#	src/network/network_server.h
#	src/pathfinder/yapf/yapf_road.cpp
#	src/viewport.cpp
2020-02-09 15:43:47 +00: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 79d5be7e26
2020-02-07 23:02:10 +01:00