Jonathan G Rennison
929dd46fcf
Add upstream savegame load support for versions 313 and 314
2023-06-06 19:48:59 +01:00
Michael Lutz
e5654a0414
Codechange: Use a dedicated variable for disaster vehicle action state. ( #10798 )
...
(cherry picked from commit 72c7536325 )
2023-06-06 19:59:10 +01:00
Jonathan G Rennison
2ed248a61d
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release-linux.yml
# src/aircraft_cmd.cpp
# src/airport_gui.cpp
# src/articulated_vehicles.cpp
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/genworld_gui.cpp
# src/gfx_layout.cpp
# src/misc_gui.cpp
# src/newgrf.cpp
# src/newgrf_config.h
# src/newgrf_engine.cpp
# src/news_gui.cpp
# src/order_gui.cpp
# src/roadveh_cmd.cpp
# src/saveload/saveload.h
# src/saveload/vehicle_sl.cpp
# src/ship_cmd.cpp
# src/statusbar_gui.cpp
# src/table/settings/network_private_settings.ini
# src/table/settings/network_settings.ini
# src/toolbar_gui.cpp
# src/train_cmd.cpp
# src/vehicle_gui.cpp
2023-05-31 23:21:38 +01:00
Peter Nelson
7ccdefa1c1
Change: Increase vehicle random data from 8 to 16 bits.
2023-05-04 21:42:28 +01:00
Jonathan G Rennison
cfc6b1b302
Debug: Log values when VENC chunk vehicle cache mismatch detected
2023-04-11 21:59:40 +01:00
PeterN
ce046f6d17
Fix: Abort loading savegame if road vehicle is on invalid road type. ( #10622 )
...
This can happen if NewGRFs are missing so that engine or road type definitions are wrong.
2023-04-10 19:23:18 +01:00
Jonathan G Rennison
2028472253
Saveload: Skip VENC/TNNC chunks entirely on non network server saves
2023-03-21 19:18:10 +00:00
Jonathan G Rennison
211fdd62b2
Initial support for multi-part (pseudo-articulated) ships
2023-03-15 19:44:26 +00:00
Jonathan G Rennison
8dca681c8c
Use btree_multimap for pending speed restrictions
...
Avoid unnecessary iteration when saving VESR chunk
2023-03-07 00:31:14 +00:00
Jonathan G Rennison
796924ec32
Change type of extended feature versions arrays
2023-02-15 23:49:40 +00:00
Jonathan G Rennison
1bfd96c7f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/3rdparty/fmt/core.h
# src/command_type.h
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/landscape.cpp
# src/network/network.cpp
# src/newgrf_object.h
# src/object_cmd.cpp
# src/order_gui.cpp
# src/saveload/vehicle_sl.cpp
# src/script/api/script_industrytype.cpp
# src/script/api/script_object.hpp
# src/script/api/script_town.cpp
# src/table/object_land.h
# src/timetable_cmd.cpp
# src/tree_cmd.cpp
# src/vehicle_gui.cpp
# src/window.cpp
2023-01-15 19:28:37 +00:00
Rubidium
9c70c38c5e
Fix: check for the existence of shadow and rotor vehicles for aircraft
...
Instead of just assuming that it exists in the savegame that got loaded.
2023-01-14 21:15:23 +01:00
Jonathan G Rennison
0bf1c9bb9d
Merge tag '13.0-beta1' into jgrpp
2022-11-05 19:12:42 +00:00
Nicolas Chappe
f8a7b76675
Fix #9665 : [Linkgraph] Fix travel times of non-direct journeys
2022-10-29 18:39:03 +02:00
Jonathan G Rennison
aa49e17e39
Remove road vehicles during load which are uncorrectably invalid
2022-08-07 20:00:40 +01:00
Jonathan G Rennison
c6ae82b611
Fix 9ff161e4 boosting lookahead braking stats but not actual brake forces
2022-07-01 23:39:02 +01:00
Jonathan G Rennison
22caac6529
Add game setting to limit train lookahead to signal aspect
...
In realistic braking mode when multi-aspect signalling enabled by GRF
2022-06-19 12:44:15 +01:00
Jonathan G Rennison
99ee4b13ce
Realistic braking: Cache train overall z position
...
Refresh cache at a variable rate depending on train length and
weight distribution
2022-06-03 00:41:41 +01:00
Jonathan G Rennison
e5a421b65a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/economy.cpp
# src/linkgraph/refresh.cpp
# src/order_cmd.cpp
# src/saveload/vehicle_sl.cpp
# src/station.cpp
# src/station_base.h
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehicle_cmd.cpp
2022-03-04 18:17:44 +00:00
Niels Martin Hansen
e68bf58989
Codechange: Use anonymous union for vehicle orders/old orders list
2022-02-15 20:01:10 +01:00
Jonathan G Rennison
bffff8e357
Add feature array as parameter to SlXvIsFeaturePresent methods
2022-02-04 21:27:20 +00:00
Jonathan G Rennison
904ff6757d
Add slot support to road vehicles, ships and aircraft
2022-01-19 00:10:49 +00:00
Jonathan G Rennison
3308edf792
Try to extend reservation when passing sighting distance of non-end signal
2021-11-12 01:02:29 +00:00
Jonathan G Rennison
3cff5e53e4
Add train cached_curve_speed_mod to VENC, cache checks and debug window
2021-11-02 22:37:34 +00:00
Jonathan G Rennison
ffef1c9e44
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/saveload/cargopacket_sl.cpp
# src/saveload/cheat_sl.cpp
# src/saveload/company_sl.cpp
# src/saveload/engine_sl.cpp
# src/saveload/map_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/stdafx.h
# src/table/settings/settings.ini
# src/town_cmd.cpp
# src/vehicle.cpp
2021-10-25 18:10:15 +01:00
Jonathan G Rennison
544da99102
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/cargopacket.h
# src/lang/korean.txt
# src/linkgraph/linkgraph.h
# src/linkgraph/linkgraphjob.h
# src/linkgraph/linkgraphschedule.h
# src/network/network_admin.h
# src/network/network_func.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/order_base.h
# src/rail_cmd.cpp
# src/saveload/company_sl.cpp
# src/saveload/depot_sl.cpp
# src/saveload/economy_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/map_sl.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/signs_sl.cpp
# src/saveload/station_sl.cpp
# src/saveload/subsidy_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/script/api/script_object.cpp
# src/settings.cpp
# src/string.cpp
# src/string_func.h
# src/table/CMakeLists.txt
# src/table/settings/settings.ini
# src/viewport_sprite_sorter_sse4.cpp
2021-10-18 18:01:27 +01:00
Jonathan G Rennison
0748d540e8
Implement improved breakdown speed reductions for ships
2021-09-11 23:50:04 +01:00
glx22
6e627f35ac
Cleanup: Remove now unneeded ChunkHandler members
2021-07-06 22:29:08 +02:00
glx22
2c941cd8b3
Codechange: Use ChunkHandlers sub-classes
2021-07-06 22:29:08 +02:00
glx22
c1a9fe6fbd
Codechange: Use static array of references to ChunkHandler
2021-07-06 22:29:08 +02:00
Patric Stout
3826703bc3
Add: store headers for chunks with SL_STRUCTLIST
2021-07-02 22:21:58 +02:00
Patric Stout
7dd5fd6ed4
Feature: framework to make savegames self-descriptive
...
We won't be able to make it fully self-descriptive (looking at you
MAP-chunks), but anything else can. With this framework, we can
add headers for each chunk explaining how each chunk looks like
in detail.
They also will all be tables, making it a lot easier to read in
external tooling, and opening the way to consider a database
(like SQLite) to use as savegame format.
Lastly, with the headers in the savegame, you can freely add
fields without needing a savegame version bump; older versions
of OpenTTD will simply ignore the new field. This also means
we can remove all the SLE_CONDNULL, as they are irrelevant.
The next few commits will start using this framework.
2021-07-02 22:21:58 +02:00
Jonathan G Rennison
fb0403dcee
Add save/load support for train speed adaptation
2021-06-27 04:41:46 +01:00
Patric Stout
4e4720f217
Codechange: remove the special station/vehicle code from SaveLoad
...
With the new SLEG_STRUCT it is much easier to embed a struct
in a struct, where the sub-struct has limitations on when it is
being used.
This makes both the code easier to read (less magic) and avoids
the SaveLoad needing to know all these things about Stations
and Vehicles.
2021-06-14 21:58:05 +02:00
Jonathan G Rennison
1002c6d9d2
Fix various compiler warnings
...
See: #267
2021-06-11 22:54:27 +01:00
Patric Stout
8f323855b1
Codechange: rename SL_LST to SL_REFLIST to highlight the "reference" part
...
You can easily mistake SlList / SL_LST to be a list of SL_VAR, but
it is a list of SL_REF. With this rename, it hopefully saves a few
people from "wtf?" moments.
2021-06-10 19:18:24 +02:00
glx22
c27afdf3f6
Codechange: Remove FOR_ALL_CHUNK_HANDLERS
...
Co-Authored-By: Patric Stout <truebrain@openttd.org >
2021-06-06 19:35:06 +02:00
Patric Stout
9fff00ba20
Codechange: C++-ify lists for SaveLoad ( #9323 )
...
Basically, this changes "SaveLoad *" to either:
1) "SaveLoadTable" if a list of SaveLoads was meant
2) "SaveLoad &" if a single entry was meant
As added bonus, this removes SL_END / SLE_END / SLEG_END. This
also adds core/span.hpp, a "std::span"-lite.
2021-05-31 22:26:44 +02:00
Jonathan G Rennison
b514d29db1
Replace TrainCache::cached_tilt with a flags field
2021-04-15 20:56:45 +01:00
Jonathan G Rennison
7faa279250
Fix 26a123b7: Wrong variable size in VENC chunk saver
2021-04-14 19:36:10 +01:00
Jonathan G Rennison
26a123b708
Realistic braking: Cache offset of centre of mass of train
2021-04-03 21:25:04 +01:00
Jonathan G Rennison
ed0ffb6220
Add feature: realistic train braking
...
Add setting to select train braking model.
2021-01-28 19:03:18 +00:00
Michael Lutz
a190b00af1
Fix #8589 , 653e7fa548: Motion counter is NewGRF-visible but not saved, leading to desyncs. ( #8591 )
...
(cherry picked from commit 7da224d29d )
2021-01-18 20:59:54 +00:00
Michael Lutz
7da224d29d
Fix #8589 , 653e7fa548: Motion counter is NewGRF-visible but not saved, leading to desyncs. ( #8591 )
2021-01-18 21:11:38 +01:00
Matt Kimber
40d5fe1631
Fix eeb88e8: Trains reversed while paused do not correctly update sprite bounds ( #8540 )
2021-01-17 19:57:16 +01:00
Matt Kimber
9b28b15e67
Codechange: create MutableSpriteCache to remove the need to cast Vehicle to a mutable type in render methods
2021-01-05 11:42:25 +01:00
Jonathan G Rennison
1f54c8a018
Send vehicle caches to network clients to prevent desyncs due to bad GRFs
2020-11-22 11:41:50 +00:00
Jonathan G Rennison
e1aca1ab34
Extend Order::flags to 16 bits, fixes conditional order target field size
...
Adjust order packing and CmdInsertOrder
See: #198
2020-10-17 17:25:44 +01:00
Jonathan G Rennison
6dd7b2869c
Increase per-vehicle order limit to 64k
...
See: #110
2020-10-12 23:48:54 +01:00
Jonathan G Rennison
ff12051ee1
Only show ship is lost messages if lost for a significant time
2020-09-07 18:24:49 +01:00