Commit Graph

95 Commits

Author SHA1 Message Date
Andreas Schmitt
c475fb12c0 Add sanity check 2021-06-19 13:11:03 +01:00
Andreas Schmitt
7a0150735e Adjust the cost function again for better bridge and tunnel use 2021-06-19 13:11:03 +01:00
Andreas Schmitt
d4fd7f62d1 Build a couple of cycles in the network by connecting each town to the three closest ones in its network 2021-06-19 13:11:03 +01:00
Jonathan G Rennison
f53ed56200 Increase bridge/tunnel per-tile cost 2021-06-19 13:11:03 +01:00
Jonathan G Rennison
9683676df1 Use GetTileMaxZ for slope cost check to avoid overly penalising foundations 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
5e7b8ccd43 Only calculate input points once in IsBlockedByPreviousBridgeOrTunnel 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
90e75871ad Fix bridge/tunnel building not using DC_AUTO
This could result in existing infrastructure being removed at
the bridge/tunnel far end
2021-06-19 13:02:36 +01:00
Jonathan G Rennison
724474e435 Use MayTownBuildBridgeType/BSCF_NOT_AVAILABLE_TOWN for bridge type check 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
96bfcd587b Fix signedness mismatch warning in tunnel length check 2021-06-19 13:02:36 +01:00
Andreas Schmitt
a3d1b916d1 Limit tunnel length at the proper place 2021-06-19 13:02:36 +01:00
Andreas Schmitt
3e771dc18d Revert bug inducing change 2021-06-19 13:02:36 +01:00
Andreas Schmitt
b175203d54 Add comment 2021-06-19 13:02:36 +01:00
Andreas Schmitt
a73cb99695 Do not build bridges with additional specs
Prior to this change, additional bridge sets like modular bridges would be used.
Those might not be suitable for public roads. Those bridges should be left to the player.
2021-06-19 13:02:36 +01:00
Andreas Schmitt
198ef11a2b Force the pathfinder to build serpentine roads 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
bd41cb618a Allow using and building trivial foundations
(3 corners raised and 2 opposite corners raised)
2021-06-19 13:02:36 +01:00
Jonathan G Rennison
0f336bba57 Give bridges over the sea a more generous length limit 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
bfdabf4cb2 Allow building on coast tiles 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
63534f97bd Make bridges and tunnels significantly more costly 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
a6f7478873 Adjust comment for BASE_COST_PER_TILE 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
d182b0b138 Remove "using namespace std" 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
1647f9a616 Avoid redundant calls to DistanceManhattan in town_network_distance 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
e95447edac Avoid unnecessarily converting lambda to std::function 2021-06-19 13:02:36 +01:00
Jonathan G Rennison
1732e0a366 Remove trailing whitespace 2021-06-19 13:02:36 +01:00
Andreas Schmitt
ac8da77d0b Fixing a stupid error 2021-06-19 13:02:36 +01:00
Andreas Schmitt
35a98fae7d Try and fix another assertion failure 2021-06-19 13:02:36 +01:00
Andreas Schmitt
a6dae1426c Re-implement the cost function 2021-06-19 13:02:36 +01:00
Andreas Schmitt
5d51909c36 Reorganize file 2021-06-19 13:02:36 +01:00
Andreas Schmitt
2b1d73cb3d Fix tunnel glitch 2021-06-19 13:02:36 +01:00
Andreas Schmitt
44fe1ca00b Tweak the bridge generation 2021-06-19 13:02:36 +01:00
Andreas Schmitt
a1df69be87 Check for overlaps and intersections of planned bridges and tunnels 2021-06-19 13:02:36 +01:00
Andreas Schmitt
1899b1877d Improve performance even more 2021-06-19 13:02:36 +01:00
Andreas Schmitt
7b7b74e21e Adjust values 2021-06-19 13:02:36 +01:00
Andreas Schmitt
b89afbdff3 Reintroduce base cost to make A* admissible 2021-06-19 13:02:36 +01:00
Andreas Schmitt
b3044cc482 Improve performance 2021-06-19 13:02:36 +01:00
Andreas Schmitt
953be43301 Prevent numeric overflow 2021-06-19 13:02:36 +01:00
Andreas Schmitt
af29085e42 Only build bridges over water 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
4542410b41 Revert "Replace original algorithm with a simpler one"
This reverts commit 8cb3d80402f626034c08a162b8956dce03eb79f6.
2021-06-19 13:02:36 +01:00
Andreas Schmitt
83ea6e9fd8 Replace original algorithm with a simpler one 2021-06-19 13:02:36 +01:00
Andreas Schmitt
150e502cf9 Add generation of public roads linking towns 2021-06-19 13:02:36 +01: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
Charles Pigott
b9f3e45af7 Cleanup: Remove unused (and mostly duplicated) function 2021-01-08 16:43:51 +01:00
Jonathan G Rennison
7960db35f2 Merge branch 'master' into jgrpp
# Conflicts:
#	config.lib
#	projects/openttd_vs140.vcxproj
#	projects/openttd_vs140.vcxproj.filters
#	projects/openttd_vs141.vcxproj
#	projects/openttd_vs141.vcxproj.filters
#	projects/openttd_vs142.vcxproj
#	projects/openttd_vs142.vcxproj.filters
#	src/aircraft_cmd.cpp
#	src/base_station_base.h
#	src/core/pool_type.hpp
#	src/disaster_vehicle.cpp
#	src/economy.cpp
#	src/engine.cpp
#	src/group.h
#	src/group_cmd.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/network/network_command.cpp
#	src/network/network_server.cpp
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/road_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/station_sl.cpp
#	src/saveload/town_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/screenshot.cpp
#	src/screenshot.h
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train.h
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehiclelist.cpp
#	src/window_type.h
2020-01-06 18:45:51 +00:00
glx
d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
glx
1f6b3a37f9 Codechange: Replace FOR_ALL_ENGINES with range-based for loops 2019-12-21 20:13:03 +01:00
Jonathan G Rennison
cbdd9f84d8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_gui.cpp
#	src/lang/korean.txt
#	src/video/sdl2_v.cpp
#	src/video/sdl2_v.h
#	src/window.cpp
#	src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison
edfd378e93 Merge branch 'master' into jgrpp
# Conflicts:
#	source.list
#	src/blitter/32bpp_anim.cpp
#	src/linkgraph/linkgraphjob.cpp
#	src/order_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_type.h
2019-10-05 21:45:54 +01:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
Jonathan G Rennison
ba8ed880c1 Merge branch 'master' into jgrpp-nrt
Merge NRT feature

# Conflicts:
#	docs/landscape.html
#	docs/landscape_grid.html
#	src/bridge_map.h
#	src/build_vehicle_gui.cpp
#	src/company_base.h
#	src/company_cmd.cpp
#	src/misc_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_engine.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/npf/npf.cpp
#	src/road_cmd.cpp
#	src/road_func.h
#	src/road_gui.cpp
#	src/road_map.h
#	src/road_type.h
#	src/roadveh_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/company_sl.cpp
#	src/script/api/script_bridge.cpp
#	src/table/newgrf_debug_data.h
#	src/tile_cmd.h
#	src/town_cmd.cpp
#	src/tunnel_map.h
#	src/tunnelbridge_cmd.cpp
2019-07-11 19:45:56 +01:00