Commit Graph

590 Commits

Author SHA1 Message Date
Jonathan G Rennison
7aef72b946 Add static_assert for length of _command_proc_table 2023-05-30 00:49:35 +01:00
Jonathan G Rennison
02fe4af934 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-windows.yml
#	src/company_base.h
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/economy.cpp
#	src/economy_cmd.h
#	src/fios.h
#	src/goal.cpp
#	src/group_gui.cpp
#	src/network/core/config.h
#	src/network/network_admin.cpp
#	src/newgrf_config.cpp
#	src/os/windows/win32.cpp
#	src/saveload/afterload.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload_error.hpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/stdafx.h
#	src/story.cpp
#	src/story_base.h
#	src/string.cpp
#	src/table/settings/economy_settings.ini
#	src/tests/CMakeLists.txt
#	src/tests/math_func.cpp
2023-05-30 00:49:24 +01:00
Jonathan G Rennison
cd9930542d GS: Add GSAsyncMode(bool) class to set async mode of script DoCommands
In asynchronous mode, don't wait for result of executed command,
just fire-and-forget, and return estimated cost/result
2023-05-23 22:21:19 +01:00
Jonathan G Rennison
a25e674f06 Add "command" debug category to log commands 2023-05-23 21:35:07 +01:00
Jonathan G Rennison
8e2319ad68 Scheduled dispatch: Add button to adjust departure slots 2023-05-09 20:16:36 +01:00
Jonathan G Rennison
8f92668e22 Scheduled dispatch: Add menu item to append schedules from another vehicle 2023-05-07 20:06:47 +01:00
Jonathan G Rennison
62ecad1b63 Scheduled dispatch: Add menu item to duplicate current schedule 2023-05-07 14:02:37 +01:00
Jonathan G Rennison
31f476220d Allow converting track by individual track pieces instead of whole tiles
Ctrl-click on convert button

See: #509
2023-05-06 16:20:23 +01:00
Jonathan G Rennison
211c1ba61d Allow naming scheduled dispatch schedules 2023-04-29 12:19:28 +01:00
Patric Stout
f5fad88723 Change: base autosaves intervals on real time (instead of game time) (#10655)
There are two fundamental issues with autosave:
- When fast-forwarding, it saves way too often
- When paused, it never saves

Both makes no sense. Autosaves are meant to prevent you from
accidentally losing your work. The emphasis on "your" work.

To solve both issues, the autosave now works on real time. You
can select every 10 / 30 / 60 / 120 minutes, which are similar to
what the setting was in game-months.

When you pause, autosaving will stop. Unless you make any change
to the game; then it will continue to make autosaves, even so
the game is paused. Unpausing / pausing resets this mechanism.
2023-04-27 15:21:29 +00:00
Patric Stout
7aa2b9ab0a Codechange: move all date-related variables inside the timer (#10706) 2023-04-24 15:56:01 +00:00
Jonathan G Rennison
87fabe99df Allow exchanging a station's name with another station in the same town 2023-04-11 19:22:15 +01:00
Jonathan G Rennison
1707f74d60 TBTR: Refactor template replacement code
Adjust conditions for re-using existing engines in depot
Reduce cost of searching for existing engines in depot
Reduce cost of vehicle chain membership tests
Improve replacement command error handling
Tidy up code in general
2023-03-22 22:19:01 +00:00
Jonathan G Rennison
ae7c86c49d Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	src/industry_cmd.cpp
#	src/industry_cmd.h
#	src/network/core/http_curl.cpp
#	src/network/core/tcp_http.cpp
#	src/network/core/tcp_http.h
#	src/network/network_content.h
#	src/script/api/script_goal.cpp
#	src/script/api/script_industry.cpp
#	src/script/api/script_league.cpp
#	src/script/api/script_story_page.cpp
#	src/script/api/script_town.cpp
#	src/train.h
#	src/train_cmd.cpp
2023-03-04 01:17:27 +00:00
Tyler Trahan
44848f4edf Add: CommandCost supports an optional second error string 2023-03-03 17:11:14 -05:00
Jonathan G Rennison
5e398d9478 Add GUI/command support for >255 station types per station class 2023-02-16 22:33:34 +00:00
Jonathan G Rennison
ae9b416684 Merge branch 'master' into jgrpp
# Conflicts:
#	src/ai/ai_core.cpp
#	src/ai/ai_gui.cpp
#	src/ai/ai_instance.cpp
#	src/console_cmds.cpp
#	src/engine_type.h
#	src/game/game_gui.cpp
#	src/game/game_instance.cpp
#	src/goal.cpp
#	src/goal_cmd.h
#	src/lang/english.txt
#	src/lang/estonian.txt
#	src/network/network_client.cpp
#	src/newgrf.cpp
#	src/newgrf_generic.h
#	src/openttd.cpp
#	src/saveload/saveload.h
#	src/script/api/script_log.cpp
#	src/script/api/script_town.cpp
#	src/settings_table.cpp
#	src/station_cmd.cpp
#	src/station_cmd.h
#	src/station_map.h
#	src/strings.cpp
#	src/table/settings/difficulty_settings.ini
#	src/table/settings/gui_settings.ini
#	src/tbtr_template_gui_main.h
#	src/timetable_cmd.cpp
#	src/timetable_cmd.h
#	src/timetable_gui.cpp
#	src/town_gui.cpp
#	src/train_gui.cpp
#	src/water_cmd.cpp
2023-02-11 23:05:22 +00:00
Jonathan G Rennison
17f1d92072 Template replacement: Allow naming templates
See: #481
2023-02-06 23:48:46 +00:00
Jonathan G Rennison
5c134e6dd0 Command: Use auxiliary data for league command strings 2022-12-07 21:14:34 +00:00
Jonathan G Rennison
f32733ef22 Command: Replace binary_length field with auxiliary data
Use for CMD_ADD_PLAN_LINE
2022-12-07 21:14:34 +00:00
dP
c91033ac5e Feature: [GS] Scriptable league tables (#10001)
(cherry picked from commit 5e14a20b3b)
2022-12-03 22:28:49 +00:00
Jonathan G Rennison
44c4cc80a1 Fix whitespace in DumpSubCommandLog 2022-12-03 22:28:49 +00:00
Jonathan G Rennison
a608a2592d Add a CommandCost result data field
Allow inlining one of extra_message, tile, result without aux allocation
2022-12-03 22:28:49 +00:00
Jonathan G Rennison
523cf75a7a Change CommandCost success bool to a flags field 2022-12-03 22:28:49 +00:00
dP
5e14a20b3b Feature: [GS] Scriptable league tables (#10001) 2022-11-26 18:03:03 +01:00
Jonathan G Rennison
1572b66ecf Debug: Show frame counter in command log when networking 2022-11-13 01:08:39 +00:00
Jonathan G Rennison
95a646d09b Fix #449: Town setting override not being allowed for MP admins
When the setting to enable for clients was not enabled
2022-10-31 18:59:08 +00:00
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
2022-10-23 22:07:51 +01:00
Jonathan G Rennison
e6e9a0c2f3 Show cost/income float over end tile of rail or road construction 2022-10-22 19:56:41 +01:00
Jonathan G Rennison
dd16df976c Include client IDs in network server command logs 2022-10-15 21:11:36 +01:00
Jonathan G Rennison
02cb1dc2c4 CommandCost: Add a tile auxiliary field 2022-10-13 20:52:30 +01:00
Jonathan G Rennison
135dc547e2 Split rarely used CommandCost fields into aux struct via unique_ptr
Move static text ref stack into aux struct
2022-10-13 20:52:30 +01:00
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
2022-10-08 00:46:22 +01:00
Jonathan G Rennison
839746d2bb Fix template train move/sell command category for build while paused 2022-09-16 13:06:08 +01:00
Jonathan G Rennison
5825fec5bf Fix #427: Recursive DoCommandP call issuing CMD_DECLINE_BUY_COMPANY
Ignore shift and pause states for CMD_DECLINE_BUY_COMPANY command
2022-09-14 21:57:37 +01:00
Jonathan G Rennison
bd2593ca48 Add function to enqueue a DoCommandP call 2022-09-14 21:55:28 +01:00
Jonathan G Rennison
5cb6d2240a Add command flag to disable shift-key estimate mode in DoCommandP 2022-09-14 21:42:39 +01:00
Michael Lutz
dd93244853 Fix: The first tile in commands received from a client wasn't validated properly. 2022-07-08 22:37:41 +02:00
Jonathan G Rennison
5b7db9d849 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/commit-checker.yml
#	src/command.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/crashlog.cpp
#	src/economy.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/misc_gui.cpp
#	src/newgrf_config.cpp
#	src/openttd.cpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/table/settings/gui_settings.ini
2022-05-15 13:54:13 +01:00
Charles Pigott
146827c458 Fix #9877: GS could trigger 'Cost: 0' cost message (#9878) 2022-05-05 19:51:56 +01:00
Jonathan G Rennison
1084bb8566 Initial support for NewGRF road stops (bus and lorry stops) 2022-02-14 00:31:14 +00:00
Jonathan G Rennison
b4fc0b4dc5 Initial implementation of road waypoints 2022-01-26 21:46:36 +00:00
Jonathan G Rennison
d81cbc25b8 Add setting to allow hiding viewport labels of inidivudal waypoints 2022-01-21 23:37:53 +00:00
Jonathan G Rennison
ff3473fe6a Add support for multiple scheduled dispatch schedules per order list 2022-01-13 19:46:43 +00:00
Jonathan G Rennison
ba97d0a827 Allow building waypoints with spec IDs >= 256
See: #349
2022-01-01 20:42:10 +00:00
Jonathan G Rennison
66ce6c5090 Scheduled dispatch: Add clear schedule GUI function
Add management dropdown box to window
2021-12-18 12:46:25 +00:00
Michael Lutz
2e39637db2 Codechange: Don't use a global for the 'not enough cash' message. 2021-12-16 22:28:32 +01:00
Michael Lutz
4f3ea3907e Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID). 2021-12-16 22:28:32 +01:00
Michael Lutz
ccefa76a46 Codechange: Template DoCommandPInternal. 2021-12-16 22:28:32 +01:00
Michael Lutz
0f64ee5ce1 Codechange: Template DoCommandP 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.
2021-12-16 22:28:32 +01:00