Commit Graph

165 Commits

Author SHA1 Message Date
Jonathan G Rennison
b2ef6c0de8 Add implementation of multi-aspect signalling and GRF support
Requires realistic braking

See: #247
2021-08-28 12:54:18 +01:00
Jonathan G Rennison
55c4fe7d45 Add helper functions to get tunnel/bridge entrance/exit trackdirs 2021-08-27 23:39:20 +01:00
Jonathan G Rennison
1002c6d9d2 Fix various compiler warnings
See: #267
2021-06-11 22:54:27 +01:00
Jonathan G Rennison
ba2e6087b2 Add train cache flag for whether train using realistic braking physics 2021-04-15 20:56:45 +01:00
Jonathan G Rennison
b514d29db1 Replace TrainCache::cached_tilt with a flags field 2021-04-15 20:56:45 +01:00
Jonathan G Rennison
8fd4f65a85 Validate lookahead reservation end OK before calling FollowTrainReservation 2021-04-01 00:36:13 +01: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
5c569b1880 Validate TB exit tile when TRLF_TB_EXIT_FREE set in FollowTrainReservation 2021-03-30 23:10:26 +01:00
Jonathan G Rennison
8646506127 Prevent lookahead init for wrong way movement on signalled tunnel/bridge 2021-03-30 22:53:45 +01:00
Jonathan G Rennison
b9413ea250 Remove assert from UpdateSignalsOnSegment that globset is empty
Just do the right thing if it isn't empty instead of asserting
2021-03-17 20:35:48 +00:00
Jonathan G Rennison
fb64e29c6c Fix assertion failure when command triggers PBS tunnel/bridge unreserve
In the case where the signal update buffer is not currently empty
2021-03-16 03:23:00 +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
03f95322ae Fix CheckCurveLookAhead applying curves just beyond the train length
Fix vehicle spacing logic
2021-02-05 21:45:44 +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
43b0ddc558 Use tile railtype for curve speed look ahead
See: 0f91cb04
2021-01-31 01:08:47 +00:00
Jonathan G Rennison
b711f94d1c Fix FollowTrainReservation following outwards from end depot 2021-01-28 23:25:07 +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
Jonathan G Rennison
65d5d13a08 Avoid unnecessary viewport redrawing when (un)reserving signalled bridges 2021-01-06 17:13:35 +00:00
Jonathan G Rennison
92ca965ef7 Fix PBS rail type handling with incorrect GRF rail type compatibility 2020-10-15 20:37:57 +01: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
4108672cf6 Use separate tile hash for each vehicle type 2020-03-03 06:57:50 +00:00
Jonathan G Rennison
5240b46d1d Reduce viewport invalidation area of signal state changes 2020-02-25 21:31:29 +00:00
Jonathan G Rennison
c13ff2a1d3 Reduce viewport invalidation area of track reservation changes 2020-02-20 00:16:51 +00:00
Jonathan G Rennison
6d30809fc7 Tracerestrict: Add support for signalled tunnel/bridges to PBS entry signal conditional 2019-11-16 14:52:05 +00: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
f0ffb52f2f Fix per-railtype 90 deg turn setting with dual rail type tiles 2019-05-26 11:35:18 +01:00
Jonathan G Rennison
674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 2019-04-11 18:14:13 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Jonathan G Rennison
5e6d283463 Merge branch 'master' into jgrpp
Remove the viewport sign cache as this is now superseded by the kd tree
implementation

# Conflicts:
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/misc.cpp
#	src/pathfinder/follow_track.hpp
#	src/pbs.cpp
#	src/rail_cmd.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/station.cpp
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/thread/thread_morphos.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
#	src/waypoint.cpp
2019-03-13 03:38:26 +00:00
Michael Lutz
cc5f175615 Feature: Railtype flags to allow/disallow 90 degree curves. (#7352) 2019-03-10 08:12:47 +00:00
Jonathan G Rennison
e8b45f0ae4 Ensure correct rail type used in FollowTrainReservation 2019-03-07 22:58:05 +00:00
Jonathan G Rennison
9e1e074c2b Update existing assertions to log tile information where suitable 2018-07-26 19:13:35 +01:00
Jonathan G Rennison
e67cd04596 Merge branch 'custom_bridgeheads' into jgrpp
# Conflicts:
#	src/train_cmd.cpp
2018-07-13 03:14:31 +01:00
Jonathan G Rennison
a7e767d766 Fix 90° turns being wrongly detected across bridges of non-zero length
This prevented reservations
2018-07-13 03:01:08 +01:00
Jonathan G Rennison
6740a9a470 Merge branch 'custom_bridgeheads' into jgrpp
# Conflicts:
#	docs/landscape.html
#	src/bridge_map.h
#	src/pbs.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/settings_type.h
#	src/signal.cpp
#	src/train_cmd.cpp
#	src/tunnel_map.h
#	src/tunnelbridge_cmd.cpp
#	src/tunnelbridge_map.h
#	src/vehicle.cpp
#	src/viewport.cpp
2018-07-08 23:04:30 +01:00
Jonathan G Rennison
77362b829a Initial support for rail custom bridge heads 2018-07-08 23:03:42 +01:00
Jonathan G Rennison
3330e4cef8 Merge branch 'cargo_type_order' into jgrpp
# Conflicts:
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/station_sl.cpp
#	src/track_func.h
2018-07-02 21:04:06 +01:00
J0anJosep
4189cb85ba Codechange: Use HasTracks with TrackStatus. 2018-06-27 23:14:30 +02:00
Jonathan G Rennison
2586096ef6 Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/pbs.cpp
#	src/saveload/extended_ver_sl.cpp
2018-06-17 23:24:22 +01:00
Jonathan G Rennison
e9f5d80440 Trace restrict slots: Add support for slot operations at PBS end signal 2018-06-17 21:13:53 +01:00
Jonathan G Rennison
1b4db7d86c Trace restrict: Add wait at entrance PBS for reservation ending here 2018-06-17 18:55:33 +01:00
Jonathan G Rennison
e82ccad052 Merge branch 'signal_tunnels_bridges' into jgrpp
# Conflicts:
#	src/pbs.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/signal.cpp
#	src/table/settings.ini
#	src/train_cmd.cpp
#	src/tunnelbridge.h
2018-06-17 09:35:18 +01:00
Jonathan G Rennison
814f9f7e0f Implement bidirectional mode for signals on bridges/tunnels 2018-06-17 04:27:03 +01:00
Jonathan G Rennison
d03139b241 Use separate bits for signals on bridge/tunnel entrance/exit red/green states 2018-06-17 04:01:31 +01:00
Jonathan G Rennison
1fce82ac04 Merge branch 'tracerestrict-sx' into jgrpp 2018-03-03 18:08:20 +00:00
Jonathan G Rennison
a9596b45aa Fix incorrect tile and trackdir in reserve through program execution 2018-03-03 18:07:57 +00:00
Jonathan G Rennison
0acb4fdd2f Safer level crossings: add setting to improve RV level crossing safety. 2017-05-07 19:33:59 +01:00
Jonathan G Rennison
5e30d389af Merge branch 'signal_tunnels_bridges' into jgrpp 2016-12-28 15:07:11 +00:00
Jonathan G Rennison
08062096ab Make back of bridge/tunnel PBS exit a line-end safe waiting point. 2016-12-28 15:07:03 +00:00