Patric Stout
aa02bf27f6
Codechange: use as much of STNN code for STNS as possible
...
There was a lot of code duplication for no real reason. Now with
SLEG_STRUCT support, we can just re-use the code, hopefully making
it easier for future-us to make changes to this, without breaking
everything for old games.
2021-06-14 21:58:05 +02:00
Patric Stout
0bdca02bdf
Codechange: use SLE_STRUCT(LIST) for Station chunks
2021-06-14 21:58:05 +02: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
glx22
38c97e1492
Codechange: Replace TILE_AREA_LOOP with range-based for loops
2021-05-13 00:13:54 +02: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
07c9621fcf
Merge branch 'master' into jgrpp
2020-05-07 20:57:47 +01:00
glx
bc8333723c
Fix #8021 : limit savegame range for docking tiles fixing
2020-05-06 23:12:59 +02:00
Jonathan G Rennison
d210bc4d14
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/korean.txt
# src/saveload/afterload.cpp
Recalculate docking tile cache due to 57553cd8
2020-04-01 00:32:45 +01:00
SamuXarick
57553cd809
Fix #8020 : Add missing docking tiles around industry neutral stations
2020-03-30 08:21:40 +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
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
b91abd3af9
Codechange: Replace FOR_ALL_ROADSTOPS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
9892d90b26
Codechange: Replace order related FOR_ALL 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
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
b6e9817edb
Link graph: Explicitly flag invalidated flow stats instead of minimising their flows
...
Entirely exclude invalidated flow stats from link stats
Delete invalidated flow stats if they stay invalid for 32 link graph jobs
This is to prevent large numbers of invalidated flow stats from
unduly influencing link statistics
2019-10-20 07:46:21 +01:00
Jonathan G Rennison
0246d59c8d
FlowStat: Replace btree_map with flat map which is inlined in small case
...
Inline storage for size <= 2
Size = 1 is ~90%
Size = 2 is ~9%
Size >=3 is ~1% and gets a separate allocation
2019-10-01 02:34:15 +01:00
Jonathan G Rennison
90550d9642
FlowStatMap: Replace RB-tree with btree-indexed vector
2019-10-01 02:13:33 +01: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
1391f8fc59
Use insert hints for station flow/share map insertion
2019-09-25 02:54:07 +01:00
Jonathan G Rennison
d3e0c3787f
Merge branch 'master' into jgrpp-nrt
...
Merge trunk multiple docks implementation
# Conflicts:
# docs/landscape_grid.html
# src/order_cmd.cpp
# src/pathfinder/npf/npf.cpp
# src/pathfinder/yapf/yapf_ship.cpp
# src/rail_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/oldloader_sl.cpp
# src/saveload/station_sl.cpp
# src/script/api/script_order.cpp
# src/ship_cmd.cpp
# src/station.cpp
# src/station_base.h
# src/station_cmd.cpp
# src/tunnelbridge_cmd.cpp
2019-07-13 20:34:52 +01:00
peter1138
f538179878
Feature: Multi-tile docks and docking points.
2019-06-30 16:46:32 +02:00
Jonathan G Rennison
0d93ecb6bf
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/alloc_type.hpp
# src/group_gui.cpp
# src/newgrf.cpp
# src/saveload/economy_sl.cpp
# src/saveload/map_sl.cpp
# src/station_cmd.cpp
2019-04-16 18:03:08 +01:00
peter1138
4f052fc2a4
Cleanup: Fix alignment after NULL -> nullptr change.
2019-04-13 20:35:10 +01:00
Jonathan G Rennison
674732cd68
Merge: Codechange: Use null pointer literal instead of the NULL macro
2019-04-11 18:14:13 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Jonathan G Rennison
2142452305
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# Makefile.src.in
# findversion.sh
# projects/determineversion.vbs
# src/gamelog.cpp
# src/gamelog_internal.h
# src/lang/german.txt
# src/lang/korean.txt
# src/network/core/config.h
# src/network/network.cpp
# src/network/network_udp.cpp
# src/rev.h
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/saveload/depot_sl.cpp
# src/saveload/gamelog_sl.cpp
# src/saveload/misc_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/station_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/table/settings.ini
# src/viewport.cpp
2019-02-04 18:32:44 +00:00
Peter Nelson
e21ade375e
Codechange: Change from numeric to descriptive SLV enum labels for last entries.
2019-02-02 21:39:06 +00:00
Peter Nelson
9de12521ec
Codechange: Convert saveload numbers to enum values.
...
(This was mostly achieved with a few in-place regexes)
2019-02-02 21:39:06 +00:00
Peter Nelson
ea4ea62816
Codechange: Make saveload version upper bound exclusive, i.e. version object was removed instead of version object last appeared.
2019-02-02 21:39:06 +00:00
Jonathan G Rennison
255b6adfc9
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/vehicle_cmd.cpp
2019-01-31 02:04:02 +00:00
Peter Nelson
67633606b0
Codechange: Remove value mangling and field misuse in SLE_WRITEBYTE.
...
The original translation functionality hasn't been used since 2007.
2019-01-30 17:11:40 +00:00
Jonathan G Rennison
191afd93c1
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/settings.cpp
# src/station_cmd.cpp
# src/table/settings.ini
# src/vehicle_base.h
# src/widgets/dropdown.cpp
2019-01-21 19:28:29 +00:00
Jonathan G Rennison
6bcc705c7c
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/saveload/saveload.cpp
2018-09-20 08:32:56 +01:00
Michael Lutz
4b0b4e0643
Feature: [NewGRF] Increase size of persistent storage to 256.
2018-09-02 21:31:15 +02:00
Jonathan G Rennison
3330e4cef8
Merge branch 'cargo_type_order' into jgrpp
...
# Conflicts:
# src/pathfinder/yapf/yapf_common.hpp
# src/saveload/extended_ver_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/station_sl.cpp
# src/track_func.h
2018-07-02 21:04:06 +01:00
PeterN
11ab3c4ea2
Change: Increase cargo type limit to 64.
2018-06-26 13:32:58 +01:00
Jonathan G Rennison
777151c34d
Station rating: Track last visited vehicle type separately per-cargo
2018-06-01 19:12:53 +01:00
Jonathan G Rennison
e6e93d40e8
Station flow stat save/load performance improvement
...
Avoid use of SlObject in inner loop
2018-05-29 00:53:25 +01:00
Jonathan G Rennison
be37aad470
Update multiple docks to use savegame framework, fix merge conflicts
2017-09-20 19:50:53 +01:00
keldorkatarn
1d3cf59d8a
Allow building multiple docks per station.
...
(cherry picked from commit 0110c4a35d383e0be2cbb53cbe9cbe6784abb3e9)
# Conflicts:
# src/station_cmd.cpp
2017-09-20 19:11:48 +01:00