Commit Graph

552 Commits (5b7db9d849df52c7144434ed57ff5664572d6eac)

Author SHA1 Message Date
Jonathan G Rennison 39b7dc7b2a Use aux command log for sign commands 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 63d3f33fd2 Add display setting for income/cost text effects 4 years ago
Jonathan G Rennison 6e17f9bf5d Use p3 for order indices which don't fit into p1
Fix insert/modify order overflowing p1
Don't use text field for change timetable
4 years ago
Jonathan G Rennison bbbda0739b Add third DoCommand parameter p3 4 years ago
Jonathan G Rennison 0949a4e0a4 Command log: Do not set text flag for binary data 4 years ago
Jonathan G Rennison 6dd7b2869c Increase per-vehicle order limit to 64k
See: #110
4 years ago
Jonathan G Rennison cce6d731a1 TBTR: Delete orphaned virtual trains on client disconnection 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 7cb9493314 Deduplicate command log entries where possible 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 f0f5ce5840 Fix bulk land purchasing removing structures and water 4 years ago
Jonathan G Rennison 817bc44a3e Initial implementation of tracerestrict counter mechanism 4 years ago
Yourself 3927ec08c6 Feature: GSMarine.BuildRiver function 4 years ago
TechGeekNZ cf8ea74733 Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake 4 years ago
frosch d8182b7e15 Change: Allow command cost-estimation while paused. 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 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
4 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
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
Niels Martin Hansen f401622149 Feature: Script API to change town rating of companies 4 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 edfd378e93 Merge branch 'master' into jgrpp
# Conflicts:
#	source.list
#	src/blitter/32bpp_anim.cpp
#	src/linkgraph/linkgraphjob.cpp
#	src/order_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_type.h
5 years ago
JMcKiern 04f659e768 Fix: Some typos found using codespell 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
Max Maton e4414471dd Add: Allow GameScript to demolish without a company
This allows GameScripts to shrink towns as well as grow them.
5 years ago
glx22 b3fd787959 Fix #7188: check the validity of command callback for scripts (#7701) 5 years ago
Jonathan G Rennison 04ef407ddf Merge branch 'jgrpp' into jgrpp-nrt
# Conflicts:
#	.ottdrev-vc
#	README.md
#	jgrpp-changelog.md
#	src/ship_cmd.cpp
5 years ago
Jonathan G Rennison f1df81bdd8 Increase company ID field widths in command log dump 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
Jonathan G Rennison 36eb4165b8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/bridge_map.h
#	src/crashlog.cpp
#	src/industry.h
#	src/linkgraph/linkgraph_type.h
#	src/order_type.h
#	src/saveload/afterload.cpp
#	src/settings.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/stdafx.h
#	src/table/settings.h.preamble
#	src/train.h
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/viewport_func.h
#	src/widgets/station_widget.h
#	src/zoom_func.h
#	src/zoom_type.h
5 years ago
Jonathan G Rennison ec2291fdb4 Store some desync messages in a ring buffer, append to log on desync 5 years ago
Jonathan G Rennison 6bfbd638ac Check whether DoCommand test execution changes the random seed 5 years ago
Jonathan G Rennison 002f5ca70e Adjust desync log format and add company events to log 5 years ago
peter1138 c02ef3e456 Feature: Add NotRoadTypes (NRT) 5 years ago
Charles Pigott 5b34c8019f Codechange: Remove Company/OwnerByte types 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 4bf4862674 Add AI/game script DoCommand calls to command log 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
Henry Wilson bfd79e59dc Codechange: Replace SmallVector::Clear() with std::vector::clear() 5 years ago
Patric Stout e3c639a09f Remove: ENABLE_NETWORK switch
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.

Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.

A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.

With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.

All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
5 years ago
Jonathan G Rennison ac54a2c28c Log type/length of text param in DoCommand/DoCommandP scope info 5 years ago
Jonathan G Rennison 1340392497 Verify length of binary data in CmdBuildVehicle and CmdAddPlanLine 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 e735c1a51a Merge branch 'master' into jgrpp
# Conflicts:
#	src/aircraft_cmd.cpp
#	src/autoreplace_cmd.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_rail.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/script_station.hpp
#	src/track_func.h
#	src/vehicle_base.h
6 years ago
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 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 cff61bac96 Merge branch 'progsig-sx' into jgrpp
# Conflicts:
#	src/command.cpp
6 years ago
Jonathan G Rennison e01ea3e629 Change progsig command type from landscape to other management 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 90f89770c2 Set CMD_NO_TEST flag for plan commands
(cherry picked from commit 8709fdade3)
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 8709fdade3 Set CMD_NO_TEST flag for plan commands 6 years ago
Jonathan G Rennison 9e1e074c2b Update existing assertions to log tile information where suitable 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
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 4979309094 TBTR: Fix build and refit of template trains. 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 2fbeb29277 Merge branch 'crashlog_improvements' into jgrpp
# Conflicts:
#	src/misc.cpp
#	src/openttd.cpp
7 years ago
Jonathan G Rennison 349ddd90b7 Maintain a circular buffer of recent commands, add to crashlog.
Add console command to dump command log.
Increase max crashlog size.
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 8e6569c11f Include tick skip counter in all desync debug output.
Change message format to make field identification easier.
Update desync message reader to support tick skip counter.
8 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
keldorkatarn 5cc56d6ad9 Make 32 instead of 16 rail types possible. by using one free bit of m1 in the map array.
(cherry picked from commit b44843800880cdc186f5183301ee0f42afbb5f84)

Also set non-rail type M3 bits to 0 where applicable.
Change savegame versioning to SLXI format.
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 4722c81e88 Merge branch 'crashlog_improvements' into jgrpp 8 years ago
Jonathan G Rennison 0062881a46 Avoid using malloc in scope guard logger.
Use a temporary object with its own buffer, which lives on the stack.

Reformat SCOPE_INFO_FMT to not be all on one line.
Other minor reformatting.
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 ae6e43c5fa Initial uses of scope guard logging. 8 years ago
Jonathan G Rennison 48e4c35fdc Add support for verbose asserts.
Use for test/exec DoCommand mismatches.
8 years ago
Jonathan G Rennison 0779c7b7a9 Merge branch 'template_train_replacement-sx' into jgrpp
# Conflicts:
#	src/build_vehicle_gui.cpp
#	src/saveload/afterload.cpp
8 years ago
Jonathan G Rennison 5850bcf699 TBTR: Fix crash and issues when using a no longer available engine type.
Show error messages when cloning a vehicle to a template
or virtual vehicle fails.
Handle failed clones gracefully.
Bypass engine availability check when doing a template edit action.
Show correct error message if template replacement fails for
a non-money reason.
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
8 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.
8 years ago
Jonathan G Rennison cd23d17745 Merge branch 'auto_timetables-sx' into jgrpp
Conflicts:
	src/vehicle.cpp
9 years ago
Jonathan G Rennison d2b87485fb When clearing auto timetables, mark times as undefined rather than 0.
Fix unautomate timetable having reversed ctrl key behaviour,
update tooltip string with ctrl behaviour.
Minor comment/whitespace fixes.
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