Commit Graph

332 Commits (1e5c96ef8783d1a05f8050a2e3b6dd6457deb8d0)

Author SHA1 Message Date
Jonathan G Rennison a8361cd608 Allow overriding town settings on a per-town basis
Add a setting for whether this is allowed for non-privileged
multiplayer clients
2 years ago
Jonathan G Rennison e6e9a0c2f3 Show cost/income float over end tile of rail or road construction 2 years ago
Tyler Trahan 3d45bc4abe Feature: Build objects by area 2 years ago
Jonathan G Rennison 02cb1dc2c4 CommandCost: Add a tile auxiliary field 2 years ago
Jonathan G Rennison 135dc547e2 Split rarely used CommandCost fields into aux struct via unique_ptr
Move static text ref stack into aux struct
2 years ago
Jonathan G Rennison d61fbb977e Add order management dropdown, add duplicate order and move jump target
Add setting to control if order management button shown

Move order list management to order management dropdown if enabled

See: #439
2 years ago
Jonathan G Rennison 839746d2bb Fix template train move/sell command category for build while paused 2 years ago
Jonathan G Rennison 5cb6d2240a Add command flag to disable shift-key estimate mode in DoCommandP 2 years ago
Jonathan G Rennison b4fc0b4dc5 Initial implementation of road waypoints 2 years ago
Jonathan G Rennison fcc581fba9 Add static assert that number of commands does not exceed limit 2 years ago
Jonathan G Rennison d81cbc25b8 Add setting to allow hiding viewport labels of inidivudal waypoints 2 years ago
Jonathan G Rennison ff3473fe6a Add support for multiple scheduled dispatch schedules per order list 2 years ago
Michael Lutz b11bd185e3 Fix #9756: Network command unpack proc was not generated in all cases.
The case where the callback proc takes all command results but not any of
the command parameters was not handled properly.
3 years ago
Jonathan G Rennison 66ce6c5090 Scheduled dispatch: Add clear schedule GUI function
Add management dropdown box to window
3 years ago
Michael Lutz 3e85e833a7 Codechange: Add support for additional command result values. 3 years ago
Michael Lutz 8503854655 Codechange: Pass unpacked command arguments to command callbacks (except Script). 3 years ago
Michael Lutz 13528bfcd0 Codechange: Un-bitstuff all remaining commands. 3 years ago
Michael Lutz eab18f06a4 Codechange: Pass additional data as byte stream to command callbacks. 3 years ago
Michael Lutz e740c24eb7 Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
3 years ago
Michael Lutz 996b16de70 Codechange: Use lambdas instead of CommandContainer to manage station picker commands. 3 years ago
Michael Lutz a05fd7aa50 Change: [Network] Transfer command data as serialized byte stream without fixed structure.
The data will be transmitted as the length followed by the serialized data. This allows the command
data to be different for every command type in the future.
3 years ago
Michael Lutz 4fc055d6e9 Codechange: Align parameter order of command callbacks to command handlers. 3 years ago
Michael Lutz 7048e1522f Codechange: Move flags in CommandProc in front of the command arguments. 3 years ago
Michael Lutz 33ca4f2b99 Codechange: Let the compile generate the master command table out of templated command traits.
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
3 years ago
Michael Lutz a38bbefe1b Codechange: Untangle command code, flags and error string for DoCommand*. 3 years ago
Jonathan G Rennison ec8512e2ea When declining to buy a company, ask the next company immediately 3 years ago
Jonathan G Rennison a026d82c6b Allow cloning trains directly from the template train list
See: #312
3 years ago
rubidium42 ef991b1772 Codechange: [Network] Use std::string in CommandPacket 3 years ago
rubidium42 2e136285e1 Codechange: move from C-string to std::string for DoCommand 3 years ago
Jonathan G Rennison 253772e9af Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	COMPILING.md
#	src/console.cpp
#	src/console_cmds.cpp
#	src/console_internal.h
#	src/rev.cpp.in
3 years ago
peter1138 c56fce70b4 Codechange: Replace CMD_SET_GROUP_REPLACE_PROTECTION with generic CMD_SET_GROUP_FLAG. 3 years ago
Jonathan G Rennison 3f4333bcc8 Add setting to enable non-admin multiplayer clients to rename towns 3 years ago
Jonathan G Rennison f9956d88c3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/aircraft_cmd.cpp
#	src/company_gui.cpp
#	src/lang/arabic_egypt.txt
#	src/lang/czech.txt
#	src/lang/esperanto.txt
#	src/lang/faroese.txt
#	src/lang/finnish.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/latvian.txt
#	src/lang/malay.txt
#	src/lang/polish.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/lang/unfinished/urdu.txt
#	src/main_gui.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_cmd.cpp
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/table/settings.ini
3 years ago
Patric Stout bb28ff7226
Codechange: DC_NO_RAIL_OVERLAP is a remnant of the OldAI. (#8496)
The OldAI was removed in 2009. Pretty sure we can remove this flag
now too.
4 years ago
Niels Martin Hansen 4d97fbc814 Feature: Influence industry production changes from GS (#7912)
(cherry picked from commit b7751c483e)
4 years ago
Niels Martin Hansen b7751c483e
Feature: Influence industry production changes from GS (#7912) 4 years ago
Jonathan G Rennison 0902243ab3 Allow changing the colour of plans 4 years ago
Jonathan G Rennison 9984f39c96 Add feature to reverse the order of an order list
See: #120
4 years ago
Jonathan G Rennison bbbda0739b Add third DoCommand parameter p3 4 years ago
Jonathan G Rennison 946442ab6b GRF: Add extra road/tram type flag: towns cannot modify tiles 4 years ago
Jonathan G Rennison 5e409c19f0 Debug: Use two command logs instead of one
Log uninteresting GS commands in secondary log
4 years ago
Jonathan G Rennison f44d75eaf5 Allow building objects by area (1x1 objects only)
Add setting (default on)
4 years ago
Jonathan G Rennison 11a9a4dc0c Fix no error message when attaching new template/virtual vehicle fails
See: #187
4 years ago
Jonathan G Rennison 817bc44a3e Initial implementation of tracerestrict counter mechanism 4 years ago
Jonathan G Rennison 14e7d43c62 Merge branch 'master' into jgrpp 4 years ago
Niels Martin Hansen 800ade7702
Feature: Push-buttons on storybook pages (#7896)
Allow more direct player-initiated interaction for Game Scripts, by letting the GS put push-buttons on storybook pages. These buttons can either trigger an immediate event, or require the player to first select a tile on the map, or a vehicle.

Additionally this reworks how the storybook pages are layouted and rendered, to allow for slightly more complex layouts, and maybe speeding drawing up a bit.
4 years ago
Jonathan G Rennison ab99c16601 Add support for money cheat in multiplayer
Add a setting for whether this is permitted by multiplayer clients
4 years ago
Jonathan G Rennison b209b37db9 Add new CommandFlags value: CMD_SERVER_NS 4 years ago
Jonathan G Rennison 86b6e9727f Cheats: Enable setting magic bulldozer, tunnels and jet crashes in multiplayer 4 years ago
Jonathan G Rennison ba65a79d09 Enable allowing/disallowing supply to a station, per cargo
Ctrl-click station cargo rating
4 years ago
Jonathan G Rennison dd99fd646d Merge branch 'master' into jgrpp
# Conflicts:
#	src/base_station_base.h
#	src/industry.h
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/lang/korean.txt
#	src/os/macosx/crashlog_osx.cpp
#	src/station_cmd.cpp
#	src/town.h
#	src/town_cmd.cpp
#	src/town_gui.cpp
5 years ago
Pavel Stupnikov d7a928a08b Feature: GS method to control engine availability for a specific company (#7791)
* Feature: GS method to allow company to use an engine before its introduction date

* Feature: GS method to retire an engine early for a specific company
5 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
5 years ago
Niels Martin Hansen f401622149 Feature: Script API to change town rating of companies 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
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
Jonathan G Rennison 1f535915d1 Merge branch 'master' into jgrpp-nrt
# Conflicts:
#	config.lib
#	src/core/bitmath_func.hpp
#	src/lang/korean.txt
#	src/main_gui.cpp
#	src/order_gui.cpp
#	src/script/api/script_object.cpp
#	src/station_cmd.cpp
#	src/video/cocoa/wnd_quartz.mm
5 years ago
glx22 b3fd787959 Fix #7188: check the validity of command callback for scripts (#7701) 5 years ago
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
5 years ago
peter1138 c02ef3e456 Feature: Add NotRoadTypes (NRT) 5 years ago
Jonathan G Rennison 674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 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 b0284c8d9e Improve type and length safety of commands taking binary data 5 years ago
Jonathan G Rennison 2fdcc52321 Merge branch 'save_ext' into jgrpp
# Conflicts:
#	Makefile.src.in
#	findversion.sh
#	projects/determineversion.vbs
#	src/lang/dutch.txt
#	src/lang/korean.txt
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/rail.cpp
#	src/rail_cmd.cpp
#	src/saveload/afterload.cpp
#	src/ship_cmd.cpp
#	src/toolbar_gui.cpp
#	src/vehicle.cpp
5 years ago
Peter Nelson b1e40b6b56 Fix #7151: Hang when concurrently starting AIs in multiplayer, or with shift pressed. 5 years ago
Jonathan G Rennison ddf31702a2 Merge branch 'master' into jgrpp
# Conflicts:
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/saveload/saveload.cpp
#	src/widgets/group_widget.h
5 years ago
PeterN 23960d0f2c Feature: Group liveries, and livery window usability enhancements. (#7108)
* Change: Replace checkbox in livery selection window with Default option in drop down selection.

This reduces clutter in the UI and allows for primary/secondary colours to independently follow the default scheme if desired.

* Feature: Add vehicle group liveries.
5 years ago
Jonathan G Rennison 10320747a9 Allow purchasing a region of tile at once, by dragging 6 years ago
Jonathan G Rennison 989577d40c Add support for adding a third error line to the error GUI
Add support for a second error string ID to CommandCost
6 years ago
Jonathan G Rennison ee00a28717 Merge branch 'template_train_replacement' into jgrpp
# Conflicts:
#	src/saveload/extended_ver_sl.cpp
6 years ago
Jonathan G Rennison c4f5c8e789 TBTR: Add option to replace only old vehicles 6 years ago
Jonathan G Rennison d8b9e2953e Merge branch 'enhanced_viewport_overlay' into jgrpp
# Conflicts:
#	src/command.cpp
#	src/saveload/extended_ver_sl.cpp
6 years ago
keldorkatarn 98da7019d6 Plans: Make it possible to give plans a name.
(cherry picked from commit d9b553f130a6eda36e2eea217785f829d3d8624e)
6 years ago
Jonathan G Rennison 940314a3c7 Use std::string for CommandContainer text instead of giant static buffer
Use move semantics for CommandContainer instance where feasible
6 years ago
Jonathan G Rennison cecbf257bc Merge branch 'save_ext' into template_train_replacement
# Conflicts:
#	src/saveload/saveload.cpp
#	src/vehicle_gui.cpp
6 years ago
Jonathan G Rennison 1fe0bb76b9 Merge branches 'crashlog_improvements', 'save_ext', 'version_utils' into jgrpp 6 years ago
Jonathan G Rennison f42cc19aad Merge branch 'cpp-11' into crashlog_improvements
# Conflicts:
#	Makefile.src.in
#	src/crashlog.cpp
#	src/crashlog.h
6 years ago
Pavel Stupnikov 8e4bce58ea Feature: GS methods to scroll viewport for players (#6745) 6 years ago
Jonathan G Rennison 4db69283c1 Add setting to disable removing sea/rivers 7 years ago
innocenat 0b8f0e64ec Scheduled Dispatch feature
Code is tested and run well on small-ish train network. Not tested extensively.
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 6417fb16c3 Initial implementation of trace restrict slots 7 years ago
Jonathan G Rennison fba4268127 Build and refit vehicle test no longer needs to match exec command. 7 years ago
Jonathan G Rennison 4c5173b6bf Merge branch 'auto_timetables-sx' into jgrpp
# Conflicts:
#	src/lang/english.txt
#	src/saveload/afterload.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/table/company_settings.ini
#	src/vehicle.cpp
8 years ago
Jonathan G Rennison d59252d15b Timetable auto separation is now per vehicle, with a company default.
Remove global on-off setting.
Add button to timetable GUI.
Add company setting to control default for new vehicles.

Fix automate, start date, change time and autofill buttons
being shown enabled for other companies' vehicles.
8 years ago
Jonathan G Rennison ca9f6411cc Implement adding a vehicle list to a new group. 8 years ago
Jonathan G Rennison c0cc72ad96 Implement change timetable waiting time for all stations.
Loosely based on http://www.tt-forums.net/viewtopic.php?f=32&t=50274
8 years ago
Jonathan G Rennison 5dba89c783 Merge branch 'crashlog_improvements' into jgrpp
# Conflicts:
#	source.list
#	src/openttd.cpp
#	src/stdafx.h
#	src/vehicle.cpp
8 years ago
Jonathan G Rennison 48e4c35fdc Add support for verbose asserts.
Use for test/exec DoCommand mismatches.
8 years ago
Jonathan G Rennison 580b2f7584 Merge branch 'template_train_replacement-sx' into jgrpp
Remove a duplicated declaration.

# 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/group_gui.cpp
#	src/lang/english.txt
#	src/network/network_command.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/extended_ver_sl.h
#	src/saveload/saveload.cpp
#	src/train_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/window_type.h
8 years ago
Jonathan G Rennison 6be2efc084 Update from KeldorKatarn branch
This approximately corresponds to 971ba4928a5c7c7916fea55d91a3b6dd5bba140c,
excluding the different virtual train build GUI, but including the basic
changes to the original train build GUI for multiplayer to work.

Fixup
9 years ago
Jonathan G Rennison 2c9029703b Add menu item to vehicle list to change order target.
Allow moving depot/station/waypoint orders to a different depot/etc.
9 years ago
Jonathan G Rennison 9bd32e76bd Merge branch 'progsig-sx' into jgrpp
Conflicts:
	src/command.cpp
9 years ago
Jonathan G Rennison 769b8ae096 progsig: Fix remove and clone program functions being completely broken.
Remove function only removed instructions from the local machine, and
was therefore not MP safe.
Clone function failed to work correctly for non-trivial cases,
and sometimes caused an array out of bounds assertion.

These are replaced by a new commandproc which does each operation
as a single action, which is therefore MP safe.

Remove an unused struct field.
9 years ago
Jonathan G Rennison f6a8f27501 Make server and all clients run desync checks if a client desyncs. 9 years ago
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
9 years ago
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
9 years ago
Jonathan G Rennison ba4e5dd62f Merge branch 'auto_timetables-sx' into jgrpp
Conflicts:
	src/lang/english.txt
	src/saveload/extended_ver_sl.cpp
	src/saveload/extended_ver_sl.h
	src/settings_gui.cpp
	src/vehicle.cpp
9 years ago
Jonathan G Rennison 0ebf8b6b0b Fixes to auto timetable patch: move new VehicleFlags to end,
whitespace & style, fix lang strings.
9 years ago