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
Jonathan G Rennison
1f5de8b82c
Auto separation: Remove circular linked list, use new algorithm
2020-07-09 02:15:16 +01:00
Jonathan G Rennison
5243cfd6d0
Use TinyString for custom name fields which are almost always empty
2020-05-22 00:10:09 +01:00
Jonathan G Rennison
f8d6e781ba
Merge branch 'master' into jgrpp
...
# Conflicts:
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj.filters
# src/base_consist.h
# src/company_base.h
# src/newgrf_config.cpp
# src/newgrf_config.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/settings.cpp
# src/signs_base.h
# src/string.cpp
# src/string_func.h
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/town_cmd.cpp
# src/vehicle.cpp
# src/vehicle_cmd.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/null_v.cpp
2020-05-21 22:24:01 +01:00
Michael Lutz
63ccb36ef3
Codechange: Use std::string for most of the user-settable custom names.
2020-05-21 20:02:34 +02:00
Jonathan G Rennison
7960db35f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# config.lib
# projects/openttd_vs140.vcxproj
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj
# projects/openttd_vs142.vcxproj.filters
# src/aircraft_cmd.cpp
# src/base_station_base.h
# src/core/pool_type.hpp
# src/disaster_vehicle.cpp
# src/economy.cpp
# src/engine.cpp
# src/group.h
# src/group_cmd.cpp
# src/group_gui.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/network/network_command.cpp
# src/network/network_server.cpp
# src/openttd.cpp
# src/order_cmd.cpp
# src/road_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/cargopacket_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/station_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/screenshot.cpp
# src/screenshot.h
# src/settings_gui.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/table/settings.ini
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train.h
# src/train_cmd.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehiclelist.cpp
# src/window_type.h
2020-01-06 18:45:51 +00:00
Jonathan G Rennison
4936b3ba51
Add support for loading ChillPP v8 savegames
2020-01-03 00:08:33 +00:00
Jonathan G Rennison
5dc1027c6b
Add initial support for loading ChillPP v14.7 savegames
2020-01-01 23:14:00 +00:00
Jonathan G Rennison
d56d4ea51f
Add initial support for loading JokerPP savegames
...
See #123
2019-12-28 13:10:32 +00:00
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
1f6b3a37f9
Codechange: Replace FOR_ALL_ENGINES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
ddabfed1cd
Codechange: Replace station related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
Jonathan G Rennison
0704fb81a3
Fix narrowing cast error in Load_VESR() in MSVC
2019-12-18 20:35:06 +00:00
Jonathan G Rennison
aa8aae9a62
Initial implementation of tracerestrict speed restriction feature
2019-12-06 21:15:07 +00:00
Jonathan G Rennison
cbdd9f84d8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_gui.cpp
# src/lang/korean.txt
# src/video/sdl2_v.cpp
# src/video/sdl2_v.h
# src/window.cpp
# src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Jonathan G Rennison
0a1c1809ab
Save/load: Pre-filter SaveLoad descriptor arrays for current version/mode, for chunks with many objects
2019-10-01 02:13:33 +01:00
Jonathan G Rennison
1365600bed
Merge branch 'jgrpp' into jgrpp-nrt
2019-07-13 20:35:17 +01:00
Jonathan G Rennison
ba8ed880c1
Merge branch 'master' into jgrpp-nrt
...
Merge NRT feature
# Conflicts:
# docs/landscape.html
# docs/landscape_grid.html
# src/bridge_map.h
# src/build_vehicle_gui.cpp
# src/company_base.h
# src/company_cmd.cpp
# src/misc_gui.cpp
# src/newgrf.cpp
# src/newgrf_engine.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/npf/npf.cpp
# src/road_cmd.cpp
# src/road_func.h
# src/road_gui.cpp
# src/road_map.h
# src/road_type.h
# src/roadveh_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/script/api/script_bridge.cpp
# src/table/newgrf_debug_data.h
# src/tile_cmd.h
# src/town_cmd.cpp
# src/tunnel_map.h
# src/tunnelbridge_cmd.cpp
2019-07-11 19:45:56 +01:00
Jonathan G Rennison
97221a67f2
Merge branch 'template_train_replacement' into jgrpp
...
# Conflicts:
# src/saveload/vehicle_sl.cpp
2019-07-11 03:16:29 +01:00
Jonathan G Rennison
bba36aef1b
TBTR: Check for mixed virtual/non-virtual consists on load
2019-07-11 03:15:40 +01:00
Jonathan G Rennison
f78b72989b
Merge branch 'template_train_replacement' into jgrpp
...
# Conflicts:
# src/saveload/vehicle_sl.cpp
# src/train.h
2019-07-03 22:25:47 +01:00
Jonathan G Rennison
f1946af707
TBTR: Delete leftover virtual trains on non-network client load
2019-07-03 22:22:50 +01:00
Jonathan G Rennison
829c635add
Add road layout change counter, add to road veh path caches
...
Update layout counter when non-leaf road bits are added or removed
2019-05-26 11:35:18 +01:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Jonathan G Rennison
674732cd68
Merge: Codechange: Use null pointer literal instead of the NULL macro
2019-04-11 18:14:13 +01:00