Commit Graph

195 Commits (jgrpp)

Author SHA1 Message Date
Jonathan G Rennison 817bc44a3e Initial implementation of tracerestrict counter mechanism 4 years ago
Jonathan G Rennison d2594ece79 Add routing restrictions action to control news reports about stuck trains 4 years ago
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
4 years ago
Jonathan G Rennison aa8aae9a62 Initial implementation of tracerestrict speed restriction feature 5 years ago
Jonathan G Rennison 030e8bf762 Rename programmable signals to programmable pre-signals
This is to make it less unclear what they actually are and do
5 years ago
Jonathan G Rennison 6d30809fc7 Tracerestrict: Add support for signalled tunnel/bridges to PBS entry signal conditional 5 years ago
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
5 years ago
Jonathan G Rennison 7332c0b673 Tracerestrict: Add load percentage conditional 5 years ago
Jonathan G Rennison 5fe784f520 Remove incorrect CDECL declaration from SlotNameSorter 5 years ago
Jonathan G Rennison 24458e9990 Add various missing override specifiers 5 years ago
Jonathan G Rennison 0d93ecb6bf Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/alloc_type.hpp
#	src/group_gui.cpp
#	src/newgrf.cpp
#	src/saveload/economy_sl.cpp
#	src/saveload/map_sl.cpp
#	src/station_cmd.cpp
5 years ago
Jonathan G Rennison 674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 5 years ago
Jonathan G Rennison f5747bf753 Merge branch 'master' into jgrpp
# Conflicts:
#	src/genworld_gui.cpp
#	src/group_gui.cpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/toolbar_gui.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_type.h
5 years ago
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
5 years ago
Jonathan G Rennison e3d167f9f0 Merge branch 'save_ext' into jgrpp
# Conflicts:
#	config.lib
#	src/misc_gui.cpp
#	src/network/network_gui.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/smallmap_gui.h
#	src/station_cmd.cpp
#	src/toolbar_gui.cpp
#	src/vehicle_gui.cpp
#	src/window.cpp
5 years ago
Jonathan G Rennison 8b1991983f Make reverse behind signal tracerestrict action an advanced feature in GUI 6 years ago
Jonathan G Rennison cd41683b9b Add tracerestrict feature reverse behind signal 6 years ago
Jonathan G Rennison a6596a6e34 Merge branch 'tracerestrict-sx' into jgrpp 6 years ago
Jonathan G Rennison 7877b40699 Fix missing switch-case break in tracerestrict GUI
Fixes #66
6 years ago
Jonathan G Rennison 3e50336079 Add trace restrict train status conditional 6 years ago
Jonathan G Rennison 2586096ef6 Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/pbs.cpp
#	src/saveload/extended_ver_sl.cpp
6 years ago
Jonathan G Rennison e9f5d80440 Trace restrict slots: Add support for slot operations at PBS end signal 6 years ago
Jonathan G Rennison 1b4db7d86c Trace restrict: Add wait at entrance PBS for reservation ending here 6 years ago
keldorkatarn 78588d8ce5 First implementation of conditional order checking slot occupancy
(cherry picked from commit 524e3e56cb4a357ba60335f91dce1e00cb8d22f2)

Some code adjustments: serialisation/storage, formatting

See: #40
6 years ago
Jonathan G Rennison 02328680a1 Merge branch 'tracerestrict-sx' into jgrpp 6 years ago
keldorkatarn f10840438e TraceRestrictSlots: Fix highlighting behavior. Marking group ALL_SLOTS didn't reset the selected slot and dragging from ALL to ALL threw an unnecessary error.
(cherry picked from commit c76b560134bd8d9869ead872f7a434e61a5c5a48)

Fixes: #38
6 years ago
Jonathan G Rennison 097cf9b0b1 Add UI setting to control whether cargo filter drop down is shown 7 years ago
Jonathan G Rennison f3c95dd9a7 Add cargo filter support to vehicle list and tracerestrict slot windows
Refactor out common code
7 years ago
Jonathan G Rennison 1d1718c226 Merge branch 'tracerestrict-sx' into jgrpp 7 years ago
Jonathan G Rennison 58a860c087 Fix selected item in dropdown for conditional to test slot occupancy state 7 years ago
Jonathan G Rennison 64d9cdd6f0 Merge branch 'tracerestrict-sx' into jgrpp 7 years ago
Jonathan G Rennison b004c1998f Merge branch 'tracerestrict' into tracerestrict-sx 7 years ago
Jonathan G Rennison 7986367c1f Tracerestrict: Add program append management action. 7 years ago
Jonathan G Rennison bfb8f6f32e Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/saveload/extended_ver_sl.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
7 years ago
Jonathan G Rennison c44141bad6 Add conditional to test slot occupancy state.
Bump tracerestrict version.
7 years ago
Jonathan G Rennison c94b7a6240 Add safeguard includes to tracerestrict files. 7 years ago
Jonathan G Rennison b8328ad21f Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/command.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/saveload/extended_ver_sl.cpp
#	src/settings_gui.cpp
#	src/tracerestrict.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/vehiclelist.cpp
#	src/window_type.h
7 years ago
Jonathan G Rennison 0772236986 Add a release slot at front of train slot action.
Distinguish from release slot at back.
Fix slot release and acquire at front when passing PBS from back.
7 years ago
Jonathan G Rennison 7dbf99fa33 Add UI setting to hide adv tracerestrict features from GUI
Hide wait at PBS and slot features.
7 years ago
Jonathan G Rennison 927323dcb1 Add trace restrict slot membership conditional. 7 years ago
Jonathan G Rennison 6417fb16c3 Initial implementation of trace restrict slots 7 years ago
Jonathan G Rennison 0430502faa Merge branch 'tracerestrict' into tracerestrict-sx 7 years ago
Jonathan G Rennison 5a2d482c28 Tracerestrict: Add wait at PBS signal action. 7 years ago
Jonathan G Rennison 8cf0f354d9 Merge branch 'tracerestrict-sx' into jgrpp 7 years ago
Jonathan G Rennison 87f583fd99 Merge branch 'tracerestrict' into tracerestrict-sx 7 years ago
Jonathan G Rennison 13f8de58c3 Add instruction move up/down buttons to GUI.
Has block and individual instruction move modes, depending on ctrl.
7 years ago
Jonathan G Rennison a2a8f7f7b7 Change goto signal button in GUI to have push-button behaviour. 7 years ago
Jonathan G Rennison f192865c27 Allow shallow-removing conditional blocks by use of ctrl+click. 7 years ago
Jonathan G Rennison 0ebfcc23a5 Implement instruction scroll-to for PBS entry signal conditional in GUI. 7 years ago
Jonathan G Rennison 1e8de54944 Merge branch 'tracerestrict-sx' into jgrpp 8 years ago
Jonathan G Rennison 15787545a0 Merge branch 'tracerestrict' into tracerestrict-sx 8 years ago
Jonathan G Rennison 78b7223272 Make tracerestrict GUI mouse-wheel scrollable. 8 years ago
Jonathan G Rennison 3ea652c4b9 Merge branch 'tracerestrict-sx' into jgrpp 8 years ago
Jonathan G Rennison 8482fc6aef Merge branch 'tracerestrict' into tracerestrict-sx 8 years ago
Jonathan G Rennison 3d6cbb76b4 Allow value of "PBS entry signal" conditional to be a rail depot. 8 years ago
Jonathan G Rennison f0fee802a9 Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/lang/english.txt
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/table/settings.ini
#	src/vehicle_gui.cpp
8 years ago
Jonathan G Rennison ed33a62bcd Merge branch 'tracerestrict' into tracerestrict-sx 8 years ago
Jonathan G Rennison 8ec1b2200e Change tracerestrict weight ratio properties to use decimals, and the weight unit.
Add {POWER_WEIGHT_RATIO} and {FORCE_WEIGHT_RATIO} string codes.
8 years ago
Jonathan G Rennison 80e3af6bf5 Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/lang/english.txt
#	src/saveload/extended_ver_sl.cpp
#	src/tracerestrict.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
8 years ago
Jonathan G Rennison e4b932d53a Merge branch 'tracerestrict' into tracerestrict-sx 8 years ago
Jonathan G Rennison f942de699c Add power/weight and max TE/weight ratio tracerestrict conditionals.
Minor refactorings.
8 years ago
Jonathan G Rennison 2c6f74a982 Move header definition for unit conversion functions to own header. 8 years ago
Jonathan G Rennison b5531975da Add train weight, power, and max TE tracerestrict conditionals.
Minor refactorings.
8 years ago
Jonathan G Rennison 0d26da998b Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/group_cmd.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/saveload/extended_ver_sl.cpp
#	src/tracerestrict.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
8 years ago
Jonathan G Rennison 9ed3dc2581 Merge branch 'tracerestrict' into tracerestrict-sx 8 years ago
Jonathan G Rennison 213b0e7e3a Tracerestrict: Add a group membership conditional. 8 years ago
Jonathan G Rennison 73e8c32a5d Merge branch 'tracerestrict-sx' into jgrpp
Conflicts:
	src/saveload/extended_ver_sl.cpp
	src/tracerestrict.h
	src/tracerestrict_gui.cpp
	src/train_cmd.cpp
8 years ago
Jonathan G Rennison 4fdc495eea Merge branch 'tracerestrict' into tracerestrict-sx 8 years ago
patch-import 82cab7f31c Tracerestrict: Import "Long Reserve" feature.
https://github.com/KeldorKatarn/OpenTTD_PatchPack

Minor code de-duplications.
8 years ago
Jonathan G Rennison 0c29f9f9a0 Merge branch 'tracerestrict-sx' into jgrpp 9 years ago
Jonathan G Rennison feeae4a200 Merge branch 'tracerestrict' into tracerestrict-sx 9 years ago
Jonathan G Rennison b5b06351ac Tracerestrict: Fix GUI issue with picker button raise/lower states.
When a picker button was selected, clicking on a different picker button
would cause both buttons to be raised, instead of just the previous.
9 years ago
Jonathan G Rennison 7673436d3a Trace restrict: add train ownership conditional.
Infra sharing whitespace fix.
9 years ago
Jonathan G Rennison ecbbc03794 Merge branch 'tracerestrict' into tracerestrict-sx 9 years ago
Jonathan G Rennison 9c5189b212 Handle double instructions correctly when deleting stations/depots/etc.
Fix some whitespace and comment typos.
9 years ago
Jonathan G Rennison 8f4c216b3f Merge branch 'tracerestrict' into tracerestrict-sx 9 years ago
Jonathan G Rennison e2435c7169 Only run trace restrict programs if they contain relevant actions.
Only run in pathfinder case if deny or penalty are present.
Only run in is safe waiting tile case is reserve through is present.
Presence is determined at program validation time and cached in the
program structure.
Validator now checks for unknown non-conditional instructions.
9 years ago
Jonathan G Rennison 06a1d7c5c9 Add reserve through action to trace restrict programs.
This only changes the behaviour of PBS reservations which
would otherwise terminate at a PBS signal.
If the signal restriction sets the reserve through state,
the reservation continues through the signal, and the signal
is set to green.
9 years ago
Jonathan G Rennison 06cc930e47 Improve insertion and removal of 'or if' conditionals.
Allow inserting an 'or if' immediately after 'if', 'else if', 'or if'.
Removing an 'or if' no longer removes the associated block.
9 years ago
Jonathan G Rennison c4565f6bb0 Merge branch 'tracerestrict' into tracerestrict-sx 9 years ago
Jonathan G Rennison 76707fb72a Change pf penalty restriction value button to preset values and a custom option.
Preset values are 'small', 'medium' and 'large'.
Change default to 'small' preset.
9 years ago
Jonathan G Rennison 09f8ff420f Merge branch 'tracerestrict' into tracerestrict-sx
Conflicts:
	src/tracerestrict_gui.cpp
9 years ago
Jonathan G Rennison a0520b8937 Initial implementation of PBS entry signal condition variable.
TODO: see how the efficiency of this can be improved.
9 years ago
Jonathan G Rennison 116bd41101 Initial support for multi-item instructions.
This involves various changes to instruction modification actions,
and the GUI code.
9 years ago
Jonathan G Rennison 804cfad053 Add override keywords for tracerestrict GUI code 9 years ago
Jonathan G Rennison 5474ee3e40 Add entry direction condition variable. 9 years ago
Jonathan G Rennison 3dd51e96b8 Bulk documentation update, and a few style fixes. 9 years ago
Jonathan G Rennison 75869cae41 Add train can carry cargo condition variable. 9 years ago
Jonathan G Rennison 3a7a81e02f Add GUI support for else if, or if and else blocks.
Add another drop-down to change between these.
Opening if blocks cannot be converted to/from these.
9 years ago
Jonathan G Rennison fedf618978 Add last visited station condition. 9 years ago
Jonathan G Rennison 2296fc85e6 Add next order condition variable. 9 years ago
Jonathan G Rennison ffed0c194a Add current order (station, waypoint or depot) condition variable.
Adjust item bit allocations:
* Increase cond flags from 2 bits to 3 bits, for future expansion.
* Use 2 bits remaining in adjacent gap for an auxiliary type field.
  This is used for the type (station, waypoint, etc.) of order tests.
Perform a linear scan of the program pool when deleting a station,
waypoint or depot.
9 years ago
Jonathan G Rennison 0be3b053d5 Add maximum train speed condition variable. 9 years ago
Jonathan G Rennison 627288277e Implement reset, copy, share and unshare of trace restrict programs.
Add documentation on data storage model, wrt lookup, mapping and sharing.
9 years ago
Jonathan G Rennison 5f1b148cf9 Initial minimal working tracerestrict implementation.
This is a port of the tracerestrict/routing restrictions feature
from TTDPatch.
At present this implements if tests (train length only),
and pathfinder deny and penalty actions.
This requires the use of YAPF. Note that restrictions are only evaluated
within the YAPF lookahead distance.
9 years ago