Commit Graph

133 Commits

Author SHA1 Message Date
Jonathan G Rennison
5d351a14d2 Add new signal type: no-entry signal
This is only passable in one direction, but does not have a signal
or show an aspect in the opposite direction

Add a setting for whether this is shown in the signal UI.
Off by default.
2021-09-04 11:39:54 +01:00
Jonathan G Rennison
b08cc3cf38 Reduce screen re-draw area for tunnel/bridge end signal updates 2021-08-30 03:09:30 +01:00
Jonathan G Rennison
f6c2a81f72 Reduce screen re-draw area for bridge middle signal updates 2021-08-30 01:46:40 +01:00
Jonathan G Rennison
50f1c25ff5 Fix redrawing of bridge signals more than 2 middle signals need updating
On exit signal aspect change, with 5+ aspect signalling
2021-08-30 01:00:32 +01:00
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
13603cb8e1 Block signals into blocks with junctions now default to red with realistic braking 2021-08-24 17:30:06 +01:00
Jonathan G Rennison
1002c6d9d2 Fix various compiler warnings
See: #267
2021-06-11 22:54:27 +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
6c3e5642f8 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/fileio.cpp
#	src/fileio_func.h
#	src/fios_gui.cpp
#	src/ini_load.cpp
#	src/ini_type.h
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/network/network_client.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/os/windows/win32.cpp
#	src/road_cmd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/settings.ini
#	src/tree_cmd.cpp
#	src/tree_gui.cpp
#	src/vehicle_base.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/cocoa/event.mm
#	src/video/cocoa/wnd_quartz.mm
#	src/viewport.cpp
#	src/widgets/tree_widget.h
2021-01-31 01:08:35 +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
860c270c73 Codechange: Replace assert_compile macro with static_assert 2020-12-27 10:55:42 +00:00
Jonathan G Rennison
5edb080deb Fix PBS detection outwards from PBS tunnel/bridge exit 2020-10-14 02:15:51 +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
abb7b69861 Add slot and counter support to programmable pre-signals 2020-09-01 18:37:53 +01:00
Jonathan G Rennison
5b78090a61 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/saveload/town_sl.cpp
#	src/screenshot.h
#	src/script/api/ai/ai_date.hpp.sq
#	src/script/api/ai/ai_marine.hpp.sq
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_date.hpp.sq
#	src/script/api/game/game_marine.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/game/game_window.hpp.sq
#	src/script/api/script_window.hpp
#	src/script/api/template/template_window.hpp.sq
#	src/signal.cpp
#	src/statusbar_gui.cpp
#	src/toolbar_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
2020-08-27 18:31:09 +01:00
TechGeekNZ
c0bf7cc840 Fix: GCC warns about possibly uninitialized data in signal.cpp
When compiling with '-Og', GCC warns about variables that are
initialized by reference in the condition of a 'while' loop.

This commit silences the warning by explicitly initializing the
variables in question to their respective 'invalid value' markers,
which will most likely be optimized out when the compiler realizes
the values are never used.
2020-07-27 17:25:58 +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
030e8bf762 Rename programmable signals to programmable pre-signals
This is to make it less unclear what they actually are and do
2019-12-05 18:13:35 +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
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
ba34ec7ade Merge branch 'master' into jgrpp
Replace build and refit, and group collapse implementations
Fix template creation build and refit

# Conflicts:
#	Makefile.bundle.in
#	config.lib
#	src/animated_tile.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_base.hpp
#	src/blitter/8bpp_base.hpp
#	src/blitter/null.hpp
#	src/build_vehicle_gui.cpp
#	src/command.cpp
#	src/command_func.h
#	src/console_gui.cpp
#	src/core/smallstack_type.hpp
#	src/date.cpp
#	src/debug.cpp
#	src/genworld_gui.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/lang/korean.txt
#	src/linkgraph/linkgraph_gui.h
#	src/main_gui.cpp
#	src/misc_gui.cpp
#	src/network/core/game.h
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
#	src/network/core/udp.h
#	src/network/network_content.cpp
#	src/network/network_type.h
#	src/network/network_udp.cpp
#	src/newgrf_house.h
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/osk_gui.cpp
#	src/pathfinder/opf/opf_ship.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/smallmap_gui.h
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/gameopt_settings.ini
#	src/table/newgrf_debug_data.h
#	src/table/settings.ini
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/vehiclelist.cpp
#	src/viewport.cpp
#	src/widgets/dropdown.cpp
#	src/window_gui.h
2019-03-27 18:12:04 +00:00
Jonathan G Rennison
848a92e0d9 Fix signal state propagation from the back side of tunnel/bridge tiles 2018-08-07 08:24:06 +01: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
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
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
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
f34833f111 Merge branch 'improved_breakdowns' into jgrpp
# Conflicts:
#	src/vehiclelist.cpp
2017-08-15 19:26:26 +01:00
frosch
b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
frosch
a47fb85cd8 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +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
f82feb160f Merge branch 'signal_tunnels_bridges' into jgrpp
# Conflicts:
#	projects/openttd_vs100.vcxproj
#	projects/openttd_vs100.vcxproj.filters
#	projects/openttd_vs140.vcxproj
#	projects/openttd_vs140.vcxproj.filters
#	projects/openttd_vs80.vcproj
#	projects/openttd_vs90.vcproj
#	source.list
#	src/misc.cpp
#	src/openttd.cpp
#	src/pbs.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/saveload.cpp
#	src/signal.cpp
#	src/train_cmd.cpp
#	src/tunnelbridge_map.h
2016-09-18 20:07:48 +01:00
Jonathan G Rennison
0d2e9f91bf Adjust signal on bridge/tunnel map bits, rename accessors, add docs.
Use same bit to store red/green state for entrances and exits.
No longer re-use exit bit to store red/green state of entrance.
Avoid modifying the M2 of tunnel entrances/exits.
Rename and rationalise map accessor functions.
Document bits used in landscape HTML docs.
2016-09-18 20:06:39 +01:00
Jonathan G Rennison
d08b162119 Merge branch 'signal_tunnels_bridges-sx' into jgrpp
# Conflicts:
#	src/saveload/afterload.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/signal.cpp
#	src/train_cmd.cpp
2016-02-21 12:16:11 +00:00
Jonathan G Rennison
35b93a42ac Enable bridge/tunnel exit signals to be one-way PBS.
Add signal conversion support.
2016-02-20 23:49:06 +00:00
Jonathan G Rennison
2b4dbf582a Show tunnel/bridge exit signal facing correct way with correct colour. 2016-02-20 23:38:33 +00:00
Jonathan G Rennison
6c5b86bd21 Merge branch 'progsig-sx' into jgrpp 2015-10-03 14:34:01 +01:00
Jonathan G Rennison
b2b9c0a070 Progsig: Fix various issues with removing program dependencies.
Fix RemoveProgramDependencies using one parameter for both source
and target, and rename the parameters to something sensible.
Update program window when invalidating in RemoveProgramDependencies.
Make SignalStateCondition::IsSignalValid const and add CheckSignalValid
for non-const validaty checking.
2015-10-03 14:15:58 +01:00
Jonathan G Rennison
1823deae7d Programmable signals: Fix whitespace issues. 2015-10-03 13:51:35 +01:00
Jonathan G Rennison
4c6dc11c16 Merge branch 'infrastructure_sharing-sx' into jgrpp
Conflicts:
	src/lang/english.txt
	src/saveload/extended_ver_sl.cpp
	src/saveload/extended_ver_sl.h
	src/signal.cpp
	src/table/settings.ini
	src/vehicle.cpp
2015-08-06 23:11:49 +01:00
Jonathan G Rennison
a4ad4130a6 Merge branch 'master' into infrastructure_sharing
Conflicts:
	src/aircraft_cmd.cpp
	src/economy.cpp
	src/lang/english.txt
	src/order_gui.cpp
	src/roadveh_cmd.cpp
	src/saveload/saveload.cpp
	src/settings.cpp
	src/settings_gui.cpp
	src/train_cmd.cpp
2015-08-06 22:55:09 +01:00
patch-import
ee791055f9 Import infrastructure sharing patch
Strip trailing whitespace
Remove a leftover line form settings.ini

http://www.tt-forums.net/viewtopic.php?p=1008843#p1008843
2015-08-06 22:24:28 +01:00
Jonathan G Rennison
7ed93f9211 Merge branch 'enhanced_viewport_overlay-sx' into jgrpp
town_gui.cpp updated due to struct CommandContainer change.

Conflicts:
	src/command.cpp
	src/command_type.h
	src/gfxinit.cpp
	src/openttd.cpp
	src/pbs.cpp
	src/saveload/extended_ver_sl.cpp
	src/saveload/extended_ver_sl.h
	src/saveload/saveload.cpp
	src/stdafx.h
	src/train_cmd.cpp
	src/viewport_type.h
	src/window_type.h
2015-08-05 21:54:11 +01:00
patch-import
536a95dfd0 Import combined Enhanced viewport: zoom out, overlays & tooltips (r53_27127) patch
https://www.tt-forums.net/viewtopic.php?f=33&t=53394
2015-08-05 21:24:30 +01:00
Jonathan G Rennison
27c70542da Merge branch 'signal_tunnels_bridges-sx' into jgrpp
Conflicts:
	src/saveload/extended_ver_sl.cpp
	src/saveload/extended_ver_sl.h
	src/settings_type.h
	src/signal.cpp
2015-08-02 18:45:32 +01:00