Commit Graph

2881 Commits

Author SHA1 Message Date
Jonathan G Rennison
a99e6b5082 Delay vehicle cache init to after map upgrades in load
Split AfterLoadVehicles into two functions.
Vehicle cache init and other functionality requiring an upgraded and
valid map is now performed later in the load process.

Re-order load update for SLV_139, it is no longer required to be
performed before the first phase of vehicle updates
2024-07-02 00:45:07 +01:00
Jonathan G Rennison
e53998ec01 Merge branch 'master' into jgrpp
# Conflicts:
#	src/cheat_gui.cpp
#	src/industry_gui.cpp
#	src/linkgraph/linkgraphschedule.cpp
#	src/misc/getoptdata.h
#	src/music/dmusic.cpp
#	src/network/core/os_abstraction.cpp
#	src/newgrf_engine.cpp
#	src/openttd.cpp
#	src/order_gui.cpp
#	src/os/windows/win32.cpp
#	src/pathfinder/npf/queue.cpp
#	src/smallmap_gui.cpp
#	src/strgen/strgen.cpp
2024-06-08 22:57:36 +01:00
Jonathan G Rennison
f09f412c43 Add hash table index to EngineOverrideManager
Use for EngineOverrideManager::GetID lookups
2024-05-31 22:57:16 +01:00
Jonathan G Rennison
556722399a Move EngineOverrideManager to separate header 2024-05-31 22:57:16 +01:00
Jonathan G Rennison
853ed272be Merge branch 'master' into jgrpp
# Conflicts:
#	src/airport_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/build_vehicle_gui.cpp
#	src/company_gui.cpp
#	src/crashlog.cpp
#	src/dropdown.cpp
#	src/dropdown_type.h
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/main_gui.cpp
#	src/newgrf_debug_gui.cpp
#	src/news_gui.cpp
#	src/news_type.h
#	src/openttd.cpp
#	src/order_gui.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/signs.cpp
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/spriteloader/grf.cpp
#	src/texteff.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/video/opengl.cpp
#	src/viewport.cpp
#	src/waypoint_cmd.cpp
#	src/zoom_type.h
2024-05-30 17:54:01 +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
b81da24a64 Fix setting default value for industry cargo scaling mode in old saves 2024-05-14 17:14:14 +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
e17c6da46a Fix industry cargoes when loading newer vanilla savegames 2024-04-17 17:35:01 +01:00
Rubidium
4f2412a272 Codechange: range based for loops instead of C-style for loops 2024-04-11 07:05:04 +02:00
Rubidium
df8eeb1b10 Codechange: use C++ algorithms to determine the SaveLoadFormat 2024-04-09 23:36:39 +02:00
Jonathan G Rennison
28e74005d0 Remove various uses of lengthof on std::array 2024-04-08 19:55:58 +01:00
Peter Nelson
c5b854a422 Codechange: Avoid lengthof() on std::array.
(cherry picked from commit 295508fc53)
2024-04-08 18:36:26 +01:00
Rubidium
4e6d4fcf32 Codechange: replace for loops with endof with range-based for loops 2024-04-08 07:00:55 +02:00
Peter Nelson
9854553e10 Codechange: ZOOM_LVL_SHIFT/BASE are not actually ZOOM_LVLs.
Rename to ZOOM_BASE_SHIFT and ZOOM_BASE respectively, and derive from ZOOM_LVL instead of numeric value.
2024-04-04 22:27:03 +01:00
Peter Nelson
f79ec7955a Codechange: Explicitly reset old industry data before loading games. 2024-04-01 21:35:20 +01:00
Peter Nelson
3de8853e29 Codechange: Store accepted and produced cargo in vector instead of array.
Most industries do not use the full 16 slots, so this can save a little memory and iteration time.
2024-04-01 21:35:20 +01:00
Peter Nelson
bd2a92331b Codechange: Use inline and std::array for old industry structures.
This avoids separate declaration/definition, and less C-style arrays.
2024-04-01 21:35:20 +01:00
Peter Nelson
00e0021e3a Codechange: Don't assume accepted/produced slot exists. 2024-04-01 21:35:20 +01:00
Peter Nelson
295508fc53 Codechange: Avoid lengthof() on std::array. 2024-04-01 21:35:20 +01:00
merni-ns
6f36f3d714 Fix #11055: Make saveload failure error messages consistent with others (#12247)
The save/load error messages were combined using string parameters, rather than using the built-in functionality of error dialogs.
2024-04-01 17:57:03 +01:00
Peter Nelson
df2ee7b06c Cleanup: Remove old SaveLoad workarounds for MS VS 2017. (#12355) 2024-03-23 00:12:35 +00:00
Patric Stout
a3cfd23cf9 Codechange: rename byte to uint8_t (#12308) 2024-03-16 23:59:32 +01: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
Patric Stout
3e625b5b1a Add: track savegame size to report with survey (#12304) 2024-03-16 08:58:56 +01: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
Rubidium
27eadc13ec Codechange: rename TILE_ADD(XY) to TileAdd(XY) 2024-03-10 15:50:24 +01:00
Rubidium
bab5a8a787 Codechange: use std::source_location over __FILE__ and __LINE__ for Backup 2024-03-10 10:14:20 +01:00
Jonathan G Rennison
0e76f774eb Merge branch 'master' into jgrpp
# Conflicts:
#	src/landscape.cpp
#	src/landscape.h
#	src/misc_gui.cpp
#	src/newgrf_commons.cpp
#	src/order_cmd.cpp
#	src/pathfinder/yapf/yapf_base.hpp
#	src/station_cmd.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle.cpp
#	src/water_cmd.cpp
#	src/window.cpp
2024-03-09 21:44:36 +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
Tyler Trahan
32b0fb9f6e Fix #12010: Use economy timer for vehicle stats minimum age, not calendar (#12142) 2024-03-09 09:38:52 -05:00
Loïc Guilloux
845b894fd8 Remove: [Script] random_deviation from setting description table (#12221) 2024-03-05 12:41:04 +01:00
Peter Nelson
8172e25273 Codechange: Use range-for when iterating station speclists. (#12212)
This replaces indexed access.
2024-03-03 16:41:02 +00:00
Peter Nelson
cff48c0f63 Codechange: Templatise SlStationSpecList to reduce duplication.
SlStationSpecList now handles both StationSpec and RoadStopSpec, and replaces indexed array access with range-for and reserve/emplace_back pattern.
2024-03-02 21:16:15 +00:00
Peter Nelson
41b3314d76 Codechange: Replace separate Station/RoadStopSpecList with template struct.
Reduces duplication and simplifies reuse.

Additionally naming an item that is used in a list as a ...List was
pretty weird.
2024-03-02 21:16:15 +00:00
Patric Stout
8f22066b9a Fix #12147: reset all saved settings to their default before loading a game (#12210) 2024-03-02 16:05:43 +01:00
Jonathan G Rennison
b04a356f53 Merge branch 'master' into jgrpp
# Conflicts:
#	src/vehicle.cpp
2024-03-01 23:36:16 +00:00
Jonathan G Rennison
9e807d2072 Fix desync after joining a server with flood_from_edges setting enabled 2024-03-01 18:40:00 +00:00
Peter Nelson
f0a891c4f7 Cleanup: Remove unused last_num_specs from SlRoadStopTileData. (#12198)
Inadvertently copy & pasted from another Sl handler.
2024-03-01 02:00:13 +00:00
Jonathan G Rennison
f403d99c90 Saveload: Add helper to iterate orders from order lists and vehicles 2024-02-28 19:54:39 +00:00
Loïc Guilloux
fad77261ea Fix f6dd505: Missing savegame conversion for current_order (#12188) 2024-02-27 21:25:49 +01:00
Jonathan G Rennison
567e235883 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/saveload.h
2024-02-26 17:15:09 +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
Peter Nelson
56cf89d189 Change: Use bitmap for free unit ID generation. (#12165)
This improves performance of finding the next free unit number for a vehicle.

Based loosely on pool's used slot bitmap.
2024-02-25 12:36:13 +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
Rubidium
4c117dd2d8 Revert #11993: new number format system does not and cannot work for CJK languages
There are too many intricacies that I am unaware of that are popping up after
asking whether things are right or not.
I do not want to keep playing whack-a-mole, so just revert the whole thing.

This reverts:
15be383b93
360fe8b0b6
1aa9a5c0ab
59f56941e5
7e2eefb91f
b741b2ba6f
609d0071d5
9f8fd80112
a253205b93
819c6c756e
2024-02-22 20:40:12 +01:00