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