Commit Graph

165 Commits

Author SHA1 Message Date
Jonathan G Rennison
f3614c419d Fix savegames with incorrect signal always reserve through bits
See: #620
2023-12-30 15:16:25 +00:00
Jonathan G Rennison
6ccd097d94 Don't maintain unused new signal style mappings when there are no signals
(Except for network clients)

Avoid unnecessary style remapping and signal recalculation operations
2023-12-05 18:21:42 +00:00
Jonathan G Rennison
4f8a7382ca Ensure new signal style mapping array is zero-inited 2023-12-05 17:55:03 +00:00
Jonathan G Rennison
c929f7075e Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/SourceList.cmake
#	src/build_vehicle_gui.cpp
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/depot_base.h
#	src/elrail.cpp
#	src/network/core/udp.cpp
#	src/network/network_admin.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/newgrf.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_railtype.cpp
#	src/newgrf_railtype.h
#	src/newgrf_storage.h
#	src/os/unix/crashlog_unix.cpp
#	src/rail.h
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_cmd.cpp
#	src/road_map.h
#	src/saveload/labelmaps_sl.cpp
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/sl/oldloader_sl.cpp
#	src/station_cmd.cpp
#	src/station_gui.cpp
#	src/table/settings/world_settings.ini
#	src/tests/test_script_admin.cpp
#	src/textfile_gui.cpp
#	src/toolbar_gui.cpp
#	src/train_cmd.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle_gui.cpp
#	src/widget.cpp
#	src/window.cpp
#	src/window_gui.h
#	src/window_type.h
2023-11-19 13:00:21 +00:00
Jonathan G Rennison
1183476182 Allow custom signal styles to disable aspect-limited mode
By setting style_lookahead_extra_aspects to 255
2023-08-14 23:56:21 +01:00
Jonathan G Rennison
4ec6a99dd8 Add GetTileTrackStatus wrapper for when red signals part is not needed 2023-03-04 02:01:40 +00:00
Jonathan G Rennison
7e452d6341 Normal/shunt mode signals default to shunt mode for depot routes 2022-10-15 17:21:28 +01:00
Jonathan G Rennison
9ee3bf7fcf Fix normal/shunt signal mode with intermediary shunt signals 2022-10-15 17:20:50 +01:00
Jonathan G Rennison
edd8b29794 Don't trigger signal state/style desync message in GM_MENU mode
This occurs when loading a network savegame fails and the menu
game is reloaded
2022-08-27 21:59:40 +01:00
Jonathan G Rennison
bd28d5a239 Use order state at reservation time for signal mode tracerestrict eval 2022-07-01 00:33:59 +01:00
Jonathan G Rennison
a5fb39b388 Use shunt for combined shunt/normal for routes into a bay with shunt exit 2022-06-30 22:19:36 +01:00
Jonathan G Rennison
c19bd4473f Add signal style flag to require realistic braking 2022-06-30 21:20:43 +01:00
Jonathan G Rennison
e399853f2c Fix aspect propagation issues with combined shunt/normal signals 2022-06-29 23:28:53 +01:00
Jonathan G Rennison
e6a6b50675 Include signal combined/normal style mask in aspect cfg hash 2022-06-28 18:18:42 +01:00
Jonathan G Rennison
1422cc871c Fix signal aspect re-calculation in bidi signal blocks with no junctions 2022-06-28 18:18:16 +01:00
Jonathan G Rennison
e747f96c78 Fix signal aspect re-calculation with combined normal/shunt 2022-06-28 18:17:55 +01:00
Jonathan G Rennison
6a69a5495f Add tracerestrict action to set combined normal/shunt signal mode
Add associated conditional to get reservation end tile
2022-06-28 01:16:57 +01:00
Jonathan G Rennison
78ae295dfe Add combined normal and shunt aspect signal style flag 2022-06-27 18:51:26 +01:00
Jonathan G Rennison
fa89036a27 Add function to get maximum signal aspect 2022-06-25 23:45:50 +01:00
Jonathan G Rennison
04da11b668 Store signal style GRF to local map in savegame
Update existing signal style IDs as necessary
2022-06-25 14:33:47 +01:00
Jonathan G Rennison
2f7664fc93 Move signal style mask variables into a single struct 2022-06-25 10:18:48 +01:00
Jonathan G Rennison
a311f12615 Add signals_style_lookahead_single_signal_only signal style property 2022-06-25 01:29:08 +01:00
Jonathan G Rennison
fcae909839 Add signal style flag for drawing on the opposite side 2022-06-22 23:45:44 +01:00
Jonathan G Rennison
175c5d4d50 Add signal style flag to limit lookahead extra aspect 2022-06-19 12:46:56 +01:00
Jonathan G Rennison
bdd73a19a1 Add signal style flag for unconditional reserve through
Add map bits for unconditional reserve through
Adjust signal aspect/state handling
2022-06-19 04:15:27 +01:00
Jonathan G Rennison
7ae06124ae Add signal style flag for no aspect increase behaviour (banner repeater) 2022-06-19 02:08:38 +01:00
Jonathan G Rennison
d56f7e7060 Fix wrong signal aspects when track built up to rear of tunnel/bridge entrance 2022-01-08 21:35:26 +00:00
Jonathan G Rennison
25a467730e Fix signals on approach to tunnel/bridge entrance showing wrong aspect
When signal change propagated outward from the tunnel/bridge,
such as in tunnel/bridge signal add/change.
2021-11-16 02:49:44 +00:00
Jonathan G Rennison
62afd94b47 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/company_cmd.cpp
#	src/economy.cpp
#	src/lang/swedish.txt
#	src/network/network_command.cpp
#	src/news_gui.cpp
#	src/saveload/saveload.h
#	src/script/api/script_list.cpp
#	src/video/cocoa/cocoa_v.mm
#	src/video/sdl2_v.cpp
2021-11-01 18:54:43 +00:00
Jonathan G Rennison
5be32627b7 Fix extra aspects variable not being set for newly generated maps 2021-09-12 17:36:47 +01:00
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
Rubidium
281a65b3e1 Cleanup: simplify some boolean expressions 2021-06-17 16:18:30 +02:00
rubidium42
55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02: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