Commit Graph

155 Commits

Author SHA1 Message Date
Jonathan G Rennison
6244f5b929 Avoid nullptr reference undefined behaviour in saveload when discarding table string on load 2024-06-20 00:09:19 +01:00
Jonathan G Rennison
ffbc5aff6d Fix various formatting and spelling issues 2024-06-13 21:47:36 +01:00
Jonathan G Rennison
fff46974fd Scheduled dispatch: Allow naming departure slot tags 2024-06-13 19:32:42 +01:00
Jonathan G Rennison
c67f14dc88 Merge branch 'master' into jgrpp
# Conflicts:
#	src/fileio.cpp
#	src/fileio_func.h
#	src/industry_cmd.cpp
#	src/ini.cpp
#	src/openttd.cpp
#	src/os/windows/win32_main.cpp
#	src/settingsgen/settingsgen.cpp
#	src/strgen/strgen.cpp
#	src/strings.cpp
2024-06-10 22:38:23 +01:00
Jonathan G Rennison
56356bb761 Change container type for several uses of std::map/std::set 2024-05-30 18:16:13 +01:00
Jonathan G Rennison
cb1e41fc88 Remove use of memcmp in CheckCaches 2024-05-29 18:30:54 +01:00
Jonathan G Rennison
1e9fb74451 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-windows.yml
#	src/autoreplace_gui.cpp
#	src/cargotype.cpp
#	src/company_base.h
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/currency.h
#	src/date_gui.cpp
#	src/dropdown.cpp
#	src/dropdown_func.h
#	src/dropdown_type.h
#	src/game/game_gui.cpp
#	src/genworld.cpp
#	src/genworld_gui.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/house.h
#	src/industry_gui.cpp
#	src/network/network_client.cpp
#	src/network/network_server.cpp
#	src/network/network_type.h
#	src/newgrf_class_func.h
#	src/newgrf_house.cpp
#	src/newgrf_roadstop.h
#	src/openttd.cpp
#	src/order_gui.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/screenshot_gui.cpp
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/slider.cpp
#	src/smallmap_gui.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/survey.cpp
#	src/tile_map.h
#	src/town_cmd.cpp
#	src/town_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
2024-05-28 20:33:35 +01:00
Jonathan G Rennison
18a42664fc Merge branch 'master' into jgrpp
Remove 'byte' typedef
2024-05-07 17:21:50 +01:00
Jonathan G Rennison
d90c540f9e Enable economy day length scaling in wallclock timekeeping mode 2024-04-30 18:04:04 +01:00
Jonathan G Rennison
c5cd598217 Debug: Log number of GRFs at level sl=2 when loading a game
Add helper to get the number of non-static GRFs in a GRF config
2024-04-29 20:14:37 +01:00
Jonathan G Rennison
674642f9cc Add a priority field to TimerGameTick::TPeriod
Use this as the primary sort key for TimerGameTick::TPeriod,
to avoid container sort order changes on timer period saveload.
2024-04-20 21:29:21 +01:00
Jonathan G Rennison
71227f61d8 Use MoveFileExW to implement FioRenameFile on Windows
This is to allow renaming over an existing file
2024-04-20 20:55:21 +01:00
Jonathan G Rennison
3712b84d2e Fix narrowing conversion warnings 2024-04-09 21:31:08 +01:00
Jonathan G Rennison
28e74005d0 Remove various uses of lengthof on std::array 2024-04-08 19:55:58 +01:00
Jonathan G Rennison
d31359f4d2 Saveload: Fix doc comment for SlXvGetFeatureName 2024-03-30 16:31:31 +00:00
Jonathan G Rennison
98f1fb2722 Saveload: Fix NGRF chunks being saved with incorrect table SL_ARR format
Array length prefix was missing

See also: https://github.com/OpenTTD/bananas-api/pull/456
2024-03-30 10:16:26 +00:00
Jonathan G Rennison
8e9600991a Clear vehicle unit number on load for non-primary vehicles 2024-03-26 17:46:56 +00:00
Jonathan G Rennison
e9c8c36af7 Add missing include to src/sl/saveload.cpp 2024-03-24 10:59:06 +00:00
Jonathan G Rennison
16577279a1 Saveload: Save to temporary file name and rename to target on success 2024-03-21 17:27:27 +00:00
Jonathan G Rennison
4d0af08aad Saveload: Log number of bytes/blocks serialised during save 2024-03-20 19:11:14 +00:00
Jonathan G Rennison
26cb47935e Saveload: Raise error if fclose fails in FileWriter 2024-03-20 18:15:40 +00:00
Peter Nelson
64bc95722b Codechange: Cache train curve speed limit can be stored in 16 bits.
Cache curve speed modifier and max curve speed are both 16 bit values so can be stored in 16 bit types instead of 32 bit types.

(cherry picked from commit 3fc7b3b9a0)
2024-03-18 17:58:36 +00:00
Jonathan G Rennison
20b8cb3059 Add setting to use object land ground for purchased land
Default on
2024-03-17 12:31:50 +00:00
Jonathan G Rennison
041e71ec05 Merge branch 'master' into jgrpp
# Conflicts:
#	src/crashlog.cpp
#	src/gfx.cpp
#	src/network/network_client.cpp
#	src/openttd.cpp
#	src/openttd.h
#	src/saveload/saveload.cpp
#	src/survey.cpp
2024-03-16 18:06:09 +00:00
Jonathan G Rennison
9f205727bf Extend industry production/transported totals to 32 bits 2024-03-12 17:49:48 +00:00
Jonathan G Rennison
fe730bce31 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/codeql.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-windows.yml
#	src/map.cpp
#	src/music/midifile.hpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/pathfinder/yapf/yapf_rail.cpp
#	src/pbs.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
#	src/saveload/vehicle_sl.cpp
#	src/script/api/script_text.cpp
#	src/ship_cmd.cpp
#	src/train_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_func.h
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/viewport.cpp
#	src/waypoint_cmd.cpp
2024-03-12 17:44:28 +00:00
Jonathan G Rennison
ba79f7b2ba Merge branch 'master' into jgrpp
# Conflicts:
#	src/base_station_base.h
#	src/newgrf_roadstop.cpp
#	src/newgrf_station.cpp
#	src/object_gui.cpp
#	src/saveload/settings_sl.cpp
#	src/saveload/station_sl.cpp
#	src/settings.cpp
#	src/settings_internal.h
#	src/timer/timer_game_calendar.cpp
2024-03-09 20:10:57 +00:00
Jonathan G Rennison
9d65fd9c2a Adjust handling of vehicles introduced before vehicle expiry stop year
See: #646
2024-03-02 20:09:37 +00:00
Jonathan G Rennison
828d2146eb Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	bin/ai/CMakeLists.txt
#	bin/game/CMakeLists.txt
#	src/ai/ai_info.cpp
#	src/company_base.h
#	src/economy.cpp
#	src/game/game_info.cpp
#	src/gfx_type.h
#	src/linkgraph/linkgraph_gui.cpp
#	src/palette.cpp
#	src/palette_func.h
#	src/saveload/saveload.h
#	src/saveload/vehicle_sl.cpp
#	src/ship_cmd.cpp
#	src/train_cmd.cpp
#	src/vehicle_base.h
#	src/window.cpp
#	src/window_func.h
2024-02-26 18:19:34 +00:00
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
528aae3f3b Saveload: Remove unused engine save/load desc 2024-02-25 03:27:45 +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
593a81d421 Saveload: Rename IsSavegameVersionUntil to IsSavegameVersionBeforeOrAt
To match upstream
2024-02-21 23:27:12 +00:00
Jonathan G Rennison
53b06a3d04 Add event flag for removing invalid RVs during load 2024-02-21 22:21:59 +00:00
Jonathan G Rennison
f52d56249d Saveload: Use table format for industry build data chunks 2024-02-21 20:22:24 +00:00
Jonathan G Rennison
0e262620d2 Saveload: Use table format for NewGRF/ID mapping chunks 2024-02-21 20:22:24 +00:00
Jonathan G Rennison
b3bd1bb5ad Use upstream load for non-table script chunks 2024-02-21 20:22:24 +00:00
Jonathan G Rennison
a92377fe98 Use upstream save/load for various unchanged chunks 2024-02-21 20:22:24 +00:00
Jonathan G Rennison
b178be36f3 Saveload: Maintain map of chunk ID to (first byte) block mode 2024-02-21 20:22:24 +00:00
Jonathan G Rennison
dadbad2bfc Saveload: Log changes in SlExecWithSlVersion 2024-02-21 19:53:34 +00:00
Jonathan G Rennison
6dec7a5b35 Saveload: Add PeekByte method to ReadBuffer 2024-02-21 19:23:05 +00:00
Jonathan G Rennison
bd2358f6cc Saveload: Tidy up logging of chunk IDs
Add helper to dump chunk IDs as strings
Avoid duplicate logging of load steps for upstream load paths
2024-02-21 19:23:05 +00:00
Jonathan G Rennison
ba1fa3ad29 Saveload: Fix SlNullPointers with upstream chunks 2024-02-21 19:22:16 +00:00
Jonathan G Rennison
b58ecb0cd8 Saveload: Remove unnecessary auto-length use for tracerestrict 2024-02-21 19:18:55 +00:00
Jonathan G Rennison
8e8d698b24 Fix comment spelling errors 2024-02-21 19:10:31 +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
4097fc4e33 Saveload: Enable upstream mode SlAutolength
Use non-upstream implementation for SlCopyBytes
2024-02-19 18:58:32 +00:00
Jonathan G Rennison
8a85055c68 Saveload: Use std::span for autosave temporary buffer view 2024-02-19 18:58:32 +00:00
Jonathan G Rennison
1040f9612f Saveload: Tag duplicate detection in SlTableHeader as maybe unused 2024-02-19 04:26:42 +00:00