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