Commit Graph

1241 Commits

Author SHA1 Message Date
Jonathan G Rennison
93bf033107 Add whether the vehicle is non-front to the vehicle pool pointer tag
Add iteration filters which check this
2024-02-25 14:51:59 +00:00
Jonathan G Rennison
05e237f8d1 Add wrapper to iterate vehicle pool with vehicle type filter
Without needing to dereference vehicle pointers if using tagged pointers
2024-02-25 14:00:15 +00:00
Jonathan G Rennison
090656bd7f Adjust handling of year display in wallclock mode and company inauguration years
See: #657
2024-02-25 03:27:45 +00:00
Jonathan G Rennison
c7e95d5b03 Close graph windows when changing timekeeping mode 2024-02-22 23:34:52 +00:00
Jonathan G Rennison
33cbfc3e76 Cache current ticks per calendar day 2024-02-22 21:12:38 +00:00
Jonathan G Rennison
7581ce0010 Fix changing time keeping units incorrectly updating state ticks offset 2024-02-22 19:59:32 +00:00
Jonathan G Rennison
79388e4207 Include dates and tick counters in state checksum 2024-02-20 18:26:18 +00:00
Jonathan G Rennison
f32eef4f38 Allow changing time-keeping mode in-game 2024-02-20 18:11:03 +00:00
Jonathan G Rennison
a98a56669b Merge branch 'master' into jgrpp
# Conflicts:
#	regression/regression/result.txt
#	src/autoreplace_cmd.cpp
#	src/industry_gui.cpp
#	src/landscape.cpp
#	src/network/network_content.cpp
#	src/newgrf_roadstop.cpp
#	src/pathfinder/yapf/yapf_ship.cpp
#	src/road_gui.cpp
#	src/saveload/ai_sl.cpp
#	src/saveload/saveload.h
#	src/saveload/vehicle_sl.cpp
#	src/station.cpp
#	src/station_gui.cpp
#	src/video/cocoa/cocoa_ogl.h
#	src/video/sdl2_opengl_v.h
#	src/video/video_driver.hpp
#	src/video/win32_v.h
#	src/widget_type.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_type.h
#	src/window.cpp
2024-02-19 23:11:00 +00:00
Jonathan G Rennison
fdd666f66a Merge tag '14.0-beta1' into jgrpp
# Conflicts:
#	src/3rdparty/squirrel/squirrel/sqcompiler.cpp
#	src/aircraft.h
#	src/animated_tile.h
#	src/base_consist.h
#	src/cargotype.h
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/core/overflowsafe_type.hpp
#	src/engine_gui.cpp
#	src/industry_gui.cpp
#	src/lang/english.txt
#	src/music/extmidi.cpp
#	src/network/core/network_game_info.cpp
#	src/network/network_server.cpp
#	src/newgrf.cpp
#	src/newgrf_industries.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/order_type.h
#	src/os/macosx/misc_osx.cpp
#	src/os/windows/crashlog_win.cpp
#	src/rail_gui.cpp
#	src/rail_gui.h
#	src/roadveh.h
#	src/roadveh_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/saveload_error.hpp
#	src/script/api/script_town.cpp
#	src/settingsgen/settingsgen.cpp
#	src/ship.h
#	src/ship_cmd.cpp
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/stdafx.h
#	src/strgen/strgen.cpp
#	src/strgen/strgen.h
#	src/table/settings/script_settings.ini
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/town.h
#	src/town_cmd.cpp
#	src/town_cmd.h
#	src/town_gui.cpp
#	src/train.h
#	src/train_cmd.cpp
#	src/tree_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_cmd.cpp
#	src/vehicle_gui.cpp
#	src/vehiclelist.cpp
#	src/waypoint_base.h
#	src/widget.cpp
2024-02-18 22:22:29 +00:00
Jonathan G Rennison
838b166726 Merge branch 'master' into jgrpp
# Conflicts:
#	src/cheat_gui.cpp
#	src/command.cpp
#	src/command_func.h
#	src/company_base.h
#	src/debug.cpp
#	src/debug.h
#	src/economy.cpp
#	src/engine_type.h
#	src/graph_gui.cpp
#	src/misc_cmd.cpp
#	src/misc_cmd.h
#	src/network/core/os_abstraction.cpp
#	src/openttd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/settings_type.h
#	src/ship_cmd.cpp
#	src/stdafx.h
#	src/tests/bitmath_func.cpp
#	src/town_cmd.cpp
#	src/town_gui.cpp
2024-02-17 11:53:35 +00:00
Jonathan G Rennison
3ec77973df Fix setting callbacks when using setting_newgame console command
See: https://github.com/OpenTTD/OpenTTD/issues/12059
2024-02-16 18:25:47 +00:00
Jonathan G Rennison
bd74340416 Disable settings inapplicable for the current timekeeping mode 2024-02-16 17:55:49 +00:00
Jonathan G Rennison
c45bfccc2e Always use 27ms/tick in wallclock timing mode 2024-02-16 17:55:49 +00:00
Jonathan G Rennison
450c6b76d6 Ensure tile loop counts and cargo scalers updated when day length changed 2024-02-16 17:55:49 +00:00
Jonathan G Rennison
86a6f63e2f Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/codeql.yml
#	.github/workflows/commit-checker.yml
#	.github/workflows/release-linux-legacy.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-windows-store.yml
#	.github/workflows/release-windows.yml
#	.github/workflows/upload-cdn.yml
#	.github/workflows/upload-gog.yml
#	.github/workflows/upload-steam.yml
#	src/console_cmds.cpp
#	src/core/math_func.hpp
#	src/fios.cpp
#	src/fios.h
#	src/intro_gui.cpp
#	src/network/network_server.cpp
#	src/openttd.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_table.cpp
#	src/settings_type.h
#	src/table/settings.h.preamble
#	src/table/settings/company_settings.ini
#	src/table/settings/currency_settings.ini
#	src/table/settings/difficulty_settings.ini
#	src/table/settings/economy_settings.ini
#	src/table/settings/game_settings.ini
#	src/table/settings/gui_settings.ini
#	src/table/settings/linkgraph_settings.ini
#	src/table/settings/locale_settings.ini
#	src/table/settings/misc_settings.ini
#	src/table/settings/multimedia_settings.ini
#	src/table/settings/network_private_settings.ini
#	src/table/settings/network_settings.ini
#	src/table/settings/news_display_settings.ini
#	src/table/settings/old_gameopt_settings.ini
#	src/table/settings/pathfinding_settings.ini
#	src/table/settings/script_settings.ini
#	src/table/settings/win32_settings.ini
#	src/table/settings/window_settings.ini
#	src/table/settings/world_settings.ini
#	src/viewport.cpp
#	src/viewport_func.h
#	src/window.cpp
2024-02-15 23:49:11 +00:00
Jonathan G Rennison
a48e15dce0 Add wallclock time settings 2024-02-15 20:31:09 +00:00
Jonathan G Rennison
fc40f485ff Fix changing the day length setting not immediately taking effect 2024-02-14 22:58:11 +00:00
Patric Stout
d02b1547f6 Remove: setting "no_http_content_downloads" (#12058)
As we now use HTTPS, it is very likely this will work on most systems.
For systems that do have HTTPS blocked, it will fail instantly,
and it will fallback to TCP anyway. That makes this setting no longer
very useful.
2024-02-11 14:48:12 +00:00
Jonathan G Rennison
3407b3edc0 Fix tile hash cache check warnings when loading very old savegames
See: #648
2024-02-10 23:17:08 +00:00
Jonathan G Rennison
60e59a8233 Saveload: Add wrapper to simplify conditionally upstream chunks
Where they're always saved as upstream and conditional on a feature
2024-02-10 16:58:48 +00:00
Jonathan G Rennison
db8b77a72e Remove empty DayLengthPreChange 2024-02-09 19:15:27 +00:00
Jonathan G Rennison
d39236d50c Store state ticks directly in savegame instead of the offset
Initialise the state ticks value to a constant for new games,
instead of using an implicit offset of 0
2024-02-07 20:05:11 +00:00
Jonathan G Rennison
0ea57528c9 Rename DateTicksScaled to StateTicks
Rename various other related/derived types and variables
2024-02-07 18:36:47 +00:00
Jonathan G Rennison
f966153ae2 Saveload: Remove use of randombytes in company passwords storage
Use RandomBytesWithFallback
Replace related key/data arrays with std::array
2024-02-06 19:17:57 +00:00
frosch
b1718478c8 Codechange: Replace old non-standard attributes with C++17/20 standard attributes. 2024-02-02 22:29:28 +01:00
Patric Stout
7acf78964f Remove: "generation_seed" from config, as it was a write-only value (#11927) 2024-01-30 17:02:35 +00:00
frosch
17dfc1a49a Codechange: Replace SF_GUI_NEGATIVE_IS_SPECIAL with a settings value callback. 2024-01-28 14:44:24 +01:00
frosch
9e9a8ca7f6 Codechange: Add callbacks to IntSettingDesc to support dynamic strings for title, help and values. 2024-01-28 14:44:24 +01:00
frosch
022b9e92d2 Codechange: Move settings string formatting into IntSettingDesc members. 2024-01-28 14:44:24 +01:00
Patric Stout
75f21065c9 Codechange: refactor DecodeHexText to a generic purpose ConvertHexToBytes (#11866)
DecodeHexText() does more than just decoding hex. ConvertHexToBytes()
now only does pure hex decoding. This required a bit of refactoring
for the code using DecodeHexText().
2024-01-22 19:42:47 +01:00
Rubidium
2d77cf9c80 Codechange: replace StrStartsWith/StrEndsWith with starts_with and ends_with 2024-01-17 19:48:22 +01:00
Jonathan G Rennison
3ab31f5518 Add settings for town/industry cargo production scaling modes 2024-01-16 19:12:10 +00:00
Jonathan G Rennison
1e0bb019a7 Change cargo scaling settings to be linear instead of logarithmic 2024-01-16 18:02:34 +00:00
Jonathan G Rennison
0df59defc4 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-linux.yml
#	.github/workflows/release.yml
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/script/api/script_rail.cpp
#	src/settings_gui.cpp
#	src/signal_type.h
#	src/video/sdl2_v.cpp
2024-01-16 01:15:58 +00:00
Jonathan G Rennison
55683c4350 Fix enabling map edge mode setting when void edge tiles were not flat 2024-01-13 13:33:01 +00:00
Jonathan G Rennison
78e08d5711 Add setting text/warnings about why YAPF is recommended for trains 2024-01-12 17:19:12 +00:00
Jonathan G Rennison
2ec4b2a8ca Return end of string pointer in SettingDesc formatters 2024-01-10 23:20:47 +00:00
Jonathan G Rennison
914b92b21f Merge branch 'master' into jgrpp
Bump savegame for water regions for ship pathfinder
Use ring_buffer for ShipPathCache
2024-01-09 18:36:47 +00:00
Jonathan G Rennison
14db9b2854 Fix loading of pre-selected AIs from config file 2024-01-09 17:48:44 +00:00
Jonathan G Rennison
97e6f3062e Adding of _t to (u)int types, and WChar to char32_t
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
a573d065e1 Add missing IsDefaultValue to SettingDesc, from upstream 2024-01-05 22:35:20 +00:00
Jonathan G Rennison
f6a1f64efb Adjust chunnel water distance limits and associated texts 2024-01-04 02:34:08 +00:00
Jonathan G Rennison
decfab153a Settings: Fix duplication of PLYX save field table 2023-12-29 00:57:10 +00:00
Jonathan G Rennison
d5a7a67b8c Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	src/ai/ai_gui.cpp
#	src/blitter/32bpp_optimized.cpp
#	src/blitter/32bpp_simple.cpp
#	src/blitter/32bpp_sse2.cpp
#	src/blitter/8bpp_optimized.cpp
#	src/blitter/8bpp_simple.cpp
#	src/blitter/null.cpp
#	src/blitter/null.hpp
#	src/company_gui.cpp
#	src/game/game_gui.cpp
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/gfx_func.h
#	src/graph_gui.cpp
#	src/industry_gui.cpp
#	src/linkgraph/linkgraphjob.cpp
#	src/network/network_gui.cpp
#	src/newgrf_debug_gui.cpp
#	src/openttd.cpp
#	src/pathfinder/npf/aystar.h
#	src/road_gui.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/script/api/script_log.cpp
#	src/script/api/script_town.cpp
#	src/script/script_gui.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_table.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/sortlist_type.h
#	src/spritecache.cpp
#	src/spriteloader/grf.cpp
#	src/spriteloader/grf.hpp
#	src/spriteloader/spriteloader.hpp
#	src/station_cmd.cpp
#	src/station_cmd.h
#	src/station_gui.cpp
#	src/strings.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/town_gui.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/video/opengl.cpp
#	src/video/opengl.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_type.h
#	src/window_gui.h
2023-12-23 13:26:55 +00:00
Jonathan G Rennison
378a545dd4 Add setting for map edge behaviour, and how to display area outside map 2023-12-22 17:32:44 +00:00
Jonathan G Rennison
e9599fd4be Scheduled dispatch: Remove scheduled_dispatch_start_full_date_fract
Use DateTicksScaled
2023-12-17 23:00:45 +00:00
Jonathan G Rennison
2267badd28 Remove "Show cargo type filter in vehicle lists" setting 2023-12-17 00:37:17 +00:00
Peter Nelson
54d45a6047 Codechange: Don't keep autosave_interval in std::chrono::minutes.
This variable is saved as a setting which requires the variable type to be known, but std::chrono::minutes may vary depending on system type.

Instead, keep as uint32_t and convert to std::chrono::minutes only when setting the timer.
2023-12-09 08:13:03 +00:00
Jonathan G Rennison
48cc6a686b Change settings for using default signal graphics and signal recolouring 2023-12-08 21:53:52 +00:00