Commit Graph

2664 Commits (c79dd3656f68d5b653f2f16d35a8819c0fa12bff)

Author SHA1 Message Date
Rubidium c5ff61c5f2 Add: script specific Randomizer instances 1 year ago
Rubidium bcfe0fb076 Codechange: introduce GetMainWindow() to properly account for nullptr checks
Some nullptr checks have been removed as they were not triggered with nullptr
with the null video driver and in dedicated server mode.
1 year ago
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.
1 year ago
Jonathan G Rennison 85fc077637 Add setting flag to enable upstream mode load when patx_name set 1 year ago
Jonathan G Rennison adf2210bc8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/genworld_gui.cpp
#	src/lang/afrikaans.txt
#	src/lang/arabic_egypt.txt
#	src/lang/basque.txt
#	src/lang/belarusian.txt
#	src/lang/brazilian_portuguese.txt
#	src/lang/bulgarian.txt
#	src/lang/catalan.txt
#	src/lang/croatian.txt
#	src/lang/czech.txt
#	src/lang/danish.txt
#	src/lang/dutch.txt
#	src/lang/english.txt
#	src/lang/english_AU.txt
#	src/lang/english_US.txt
#	src/lang/esperanto.txt
#	src/lang/estonian.txt
#	src/lang/faroese.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/frisian.txt
#	src/lang/gaelic.txt
#	src/lang/galician.txt
#	src/lang/german.txt
#	src/lang/greek.txt
#	src/lang/hebrew.txt
#	src/lang/hungarian.txt
#	src/lang/icelandic.txt
#	src/lang/indonesian.txt
#	src/lang/irish.txt
#	src/lang/italian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/latin.txt
#	src/lang/latvian.txt
#	src/lang/lithuanian.txt
#	src/lang/luxembourgish.txt
#	src/lang/malay.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/norwegian_nynorsk.txt
#	src/lang/persian.txt
#	src/lang/polish.txt
#	src/lang/portuguese.txt
#	src/lang/romanian.txt
#	src/lang/russian.txt
#	src/lang/serbian.txt
#	src/lang/simplified_chinese.txt
#	src/lang/slovak.txt
#	src/lang/slovenian.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/lang/swedish.txt
#	src/lang/tamil.txt
#	src/lang/thai.txt
#	src/lang/traditional_chinese.txt
#	src/lang/turkish.txt
#	src/lang/ukrainian.txt
#	src/lang/vietnamese.txt
#	src/lang/welsh.txt
#	src/saveload/afterload.cpp
1 year ago
PeterN c18a171028
Fix #10331: Starting new company during load must happen after AI start. (#10332)
This situation occurs when loading a savegame in single-player which only
has AI companies.
1 year ago
Jonathan G Rennison 62d524eaef Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/station_sl.cpp
#	src/saveload/town_sl.cpp
#	src/spritecache.cpp
#	src/timetable_gui.cpp
1 year ago
Rubidium 3c54344825 Fix: comparison of narrow type with wide type in loop condition
Technically this can't be triggered with the currently returned values though.
1 year ago
Rubidium 375a5b8e3f Codechange: refactor FindClosestDepot to not use pointers, but return a struct 2 years ago
Jonathan G Rennison 24b744f7c8 Merge branch 'master' into jgrpp
# Conflicts:
#	bin/ai/CMakeLists.txt
#	bin/game/CMakeLists.txt
#	src/saveload/saveload.h
2 years ago
Michael Lutz 150f05dc15
Change: Heading for 14 now. (#10302) 2 years ago
Jonathan G Rennison 1a5b485b41 Road stops: Use a struct for road stop tile data 2 years ago
Jonathan G Rennison 2c65b050e4 Saveload: Add SLEG_CONDVARVEC macros 2 years ago
Jonathan G Rennison a1f6aaa58f Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/korean.txt
#	src/saveload/afterload.cpp
#	src/saveload/ai_sl.cpp
#	src/saveload/game_sl.cpp
#	src/script/script_instance.cpp
2 years ago
Loïc Guilloux fe30f66570
Fix #9720: Delay start of GS/AI to after loading of savegame (#9745) 2 years ago
Jonathan G Rennison 64c210f770 Merge branch 'master' into jgrpp
# Conflicts:
#	src/build_vehicle_gui.cpp
#	src/engine.cpp
#	src/engine_func.h
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/newgrf.cpp
#	src/saveload/oldloader_sl.cpp
#	src/timetable_cmd.cpp
#	src/timetable_cmd.h
#	src/timetable_gui.cpp
2 years ago
PeterN 961e66df30
Fix #10224: Don't fiddle with fast-forward when saving. (#10230)
The original comment about saving with fast-forward on was written 18 years
ago, and predates lots of changes to how saveload work.
2 years ago
Peter Nelson cbf48c4dd9 Change: Add extra random seed to StartupEngines().
This means that calling reset_engines will rerandomise introduction dates
and reliability.

Probably not necessary.
2 years ago
Peter Nelson 3485709f53 Add: Additional vehicle flags to control variants. 2 years ago
Jonathan G Rennison 3435e74c0c Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	os/macosx/Info.plist.in
#	src/fileio.cpp
#	src/landscape.cpp
#	src/league_cmd.h
#	src/saveload/ai_sl.cpp
#	src/saveload/game_sl.cpp
#	src/saveload/league_sl.cpp
#	src/saveload/saveload.cpp
2 years ago
Jonathan G Rennison e0cb31ff07 Fix #10214: Header and footer missing from league table saveload 2 years ago
Jonathan G Rennison 3877bb31ef Changing day length or date no longer changes time in minutes
Add offset variables for scaled date ticks.
Adjust offset when changing day length or date, such that scaled
date ticks remain the same.
Store _scaled_tick_counter and scaled date ticks offset in the savagame.
2 years ago
Loïc Guilloux 4f9893cc98
Fix 55a1171: Restore skipping of "colour" character (#10244) 2 years ago
Loïc Guilloux 2848483810
Fix #10206: Disable scripts in intro game (#10241) 2 years ago
Jonathan G Rennison 5c2d5782a4 Fixes incorrect link graph edge travel times with non-unity day length
Change vehicle last_loading_tick to be relative to _scaled_tick_counter
2 years ago
Jonathan G Rennison 37a270e65c Add header and footer to league table saveload descriptor
See: https://github.com/OpenTTD/OpenTTD/issues/10214
2 years ago
Jonathan G Rennison ce0dddc714 Saveload: Fix load and load check mixup with upstream chunks
Fixes 690ef6cc
2 years ago
Jonathan G Rennison e647075870 Change LinkGraph::EdgeMatrix to a sparse storage format
Use a btree_map instead of a SmallMatrix.
This avoids excessive storage requirements for large graphs,
and overly expensive edge matrix resize operations.
Remove next_edge iteration mechanism.
2 years ago
Loïc Guilloux 13d2d11fa8
Fix #10216: Initialise RoadStop caches before using them and don't try to teleport crashed vehicles (#10217) 2 years ago
dP c91033ac5e Feature: [GS] Scriptable league tables (#10001)
(cherry picked from commit 5e14a20b3b)
2 years ago
Jonathan G Rennison 690ef6cc22 Saveload: Add support for using upstream save/load for specific chunks 2 years ago
dP 5e14a20b3b
Feature: [GS] Scriptable league tables (#10001) 2 years ago
Jonathan G Rennison 3d7e5d5369 Avoid unnecessary viewport redraws for unused tile loop house triggers 2 years ago
Jonathan G Rennison 1e769d050f Leave PLYP chunk unchanged when loading/saving server saves in non-MP 2 years ago
Jonathan G Rennison dc03bac241 Saveload: Change SlLoadFromBuffer to take a template functor 2 years ago
Jonathan G Rennison aa4501747f Merge branch 'master' into jgrpp
# Conflicts:
#	src/base_station_base.h
#	src/lang/german.txt
#	src/saveload/station_sl.cpp
#	src/station.cpp
#	src/station_cmd.cpp
2 years ago
Peter Nelson 22803f997b Codechange: Use std::vector for station speclist
This removes manual memory allocation, although we still manage the list
size in roughly the same way.
2 years ago
Jonathan G Rennison 0bf1c9bb9d Merge tag '13.0-beta1' into jgrpp 2 years ago
Nicolas Chappe a43a1902bb Feature: [Linkgraph] Prioritize faster routes for passengers, mail and express cargo
Passengers usually prefer fast paths to short paths.
Average travel times of links are updated in real-time for use in Dijkstra's algorithm,
and newer travel times weigh more, just like capacities.

(cherry picked from commit 977604ef08)
2 years ago
Jonathan G Rennison 49bda05fb5 Set adjacent crossings setting to false when loading pre v300 trunk savegames 2 years ago
Jonathan G Rennison aba8e88d8c Enable loading of upstream savegames up to version 302 2 years ago
Tyler Trahan c19abebf8d
Feature: Multi-track level crossings (#9931) 2 years ago
Nicolas Chappe f8a7b76675 Fix #9665: [Linkgraph] Fix travel times of non-direct journeys 2 years ago
Jonathan G Rennison a8361cd608 Allow overriding town settings on a per-town basis
Add a setting for whether this is allowed for non-privileged
multiplayer clients
2 years ago
Jonathan G Rennison 38c2fa3b66 Add a change counter value special order type 2 years ago
Jonathan G Rennison 0818ce4ae7 Merge branch 'master' into jgrpp (SLV_U64_TICK_COUNTER)
# Conflicts:
#	src/date.cpp
#	src/date_func.h
#	src/newgrf.cpp
#	src/newgrf_animation_base.h
#	src/saveload/gamelog_sl.cpp
#	src/saveload/misc_sl.cpp
#	src/saveload/saveload.h
#	src/stdafx.h
2 years ago
Jonathan G Rennison 12eb23f0ab Clear old tree counter in map array on load of old savegames
See: https://github.com/OpenTTD/OpenTTD/pull/10018
2 years ago
Jonathan G Rennison 9e24414033 In ReloadNewGRFData recompute prices before reiniting windows
Avoid crash if land info window is open during reload
2 years ago
dP 548f0496a9
Change: Make _tick_counter 64bit to avoid wrapping (#10035) 2 years ago
Jonathan G Rennison bc3b928d34 Fix improved breakdowns being enabled after loading old/other savegame 2 years ago
Jonathan G Rennison 7c4c75d181 Add tracerestrict conditional on direction of order target from signal 2 years ago
Jonathan G Rennison 5a39734a1c Allow station cargo histories to record larger values than 64k
See: #414
2 years ago
Jonathan G Rennison 23fa7cd239 Improve handling of company sales
Avoid conflicts between bankruptcy and manual company sale paths
2 years ago
Jonathan G Rennison 22a1fdff5e Log error message to console in LoadWithFilter exception handler
See: #412
2 years ago
Jonathan G Rennison aa49e17e39 Remove road vehicles during load which are uncorrectably invalid 2 years ago
Jonathan G Rennison 4e8a8a5e0a Add conditional order to test if last/next dispatch slot is first/last 2 years ago
Jonathan G Rennison c6ae82b611 Fix 9ff161e4 boosting lookahead braking stats but not actual brake forces 2 years ago
Jonathan G Rennison 6a69a5495f Add tracerestrict action to set combined normal/shunt signal mode
Add associated conditional to get reservation end tile
2 years ago
Jonathan G Rennison a451b76c45 Remove unused extern declaration 2 years ago
Jonathan G Rennison 04da11b668 Store signal style GRF to local map in savegame
Update existing signal style IDs as necessary
2 years ago
Jonathan G Rennison a73bc141a1 Remove unneeded calls to GetOtherTunnelBridgeEnd in AfterLoadCompanyStats 2 years ago
Jonathan G Rennison 92723d4f5c Remove tunnel/bridge spacing setting, use usual signal drag spacing 2 years ago
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
2 years ago
Jonathan G Rennison bdd73a19a1 Add signal style flag for unconditional reserve through
Add map bits for unconditional reserve through
Adjust signal aspect/state handling
2 years ago
Jonathan G Rennison 7ae06124ae Add signal style flag for no aspect increase behaviour (banner repeater) 2 years ago
Jonathan G Rennison 6e4c4b35e7 Initial implementation of NewGRF custom signal styles 2 years ago
Jonathan G Rennison b37209c3af Tracerestrict: Programs maintain a list of signals referencing them 2 years ago
Jonathan G Rennison 99ee4b13ce Realistic braking: Cache train overall z position
Refresh cache at a variable rate depending on train length and
weight distribution
2 years ago
Jonathan G Rennison af270a63ad Industry: Apply anim tile masking when loading prior version saves 2 years ago
Jonathan G Rennison 42e20d3d99 Industry: Determine which tiles in industry layouts are not animated
Do not set these as animated tiles for new industries
2 years ago
Tyler Trahan ec90fb4c99 Fix #6544: Don't join AI company when loading network game in singleplayer 2 years ago
Jonathan G Rennison ed30542acf Cache highest snowline value 2 years ago
Rubidium c73f578e8c Codechange: replace magic numbers and C-style arrays with C++-style array for share owners 2 years ago
Jonathan G Rennison 92142e5684 Add routing restriction action to make exempt from speed adaptation 2 years ago
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
2 years ago
Jonathan G Rennison 909b20ee68 Implement train speed adaptation on signalled tunnels/bridges
See: #373
2 years ago
Niels Martin Hansen e68bf58989 Codechange: Use anonymous union for vehicle orders/old orders list 2 years ago
Jonathan G Rennison 23c472d2a0 Add support for road stop animation, availability callback
Add animation, callback mask, general flags properties
Add animation frame variables
2 years ago
Jonathan G Rennison 1084bb8566 Initial support for NewGRF road stops (bus and lorry stops) 2 years ago
Jonathan G Rennison d4f11eca42 Add NewGRF object properties to set viewport map mode/smallmap tile type 2 years ago
Jonathan G Rennison d0d7d97691 Use static extended feature versions for SlIsObjectCurrentlyValid 2 years ago
Jonathan G Rennison fd3ea0dcd5 Fix upstream savegame loader not initialising non-upstream settings
See: #367
2 years ago
Jonathan G Rennison dacdb1137a Add extended feature array with static current version values 2 years ago
Jonathan G Rennison bffff8e357 Add feature array as parameter to SlXvIsFeaturePresent methods 2 years ago
Jonathan G Rennison c69ed1711d Allow road vehicle go to station/waypoint orders to have a direction 2 years ago
Jonathan G Rennison b4fc0b4dc5 Initial implementation of road waypoints 2 years ago
Jonathan G Rennison ace75f6864 Widen station type field in map array 2 years ago
Jonathan G Rennison 2e7f8d2e1e Add inclined foundation option to object edge foundation mode
Bump feature version
2 years ago
Jonathan G Rennison d81cbc25b8 Add setting to allow hiding viewport labels of inidivudal waypoints 2 years ago
Jonathan G Rennison 26fb0940c6 Add client setting for whether to sync locale settings with server in multiplayer 2 years ago
Jonathan G Rennison 904ff6757d Add slot support to road vehicles, ships and aircraft 2 years ago
Jonathan G Rennison ff3473fe6a Add support for multiple scheduled dispatch schedules per order list 2 years ago
Yourself 7823c81597 Add: Through load speed limit setting 3 years ago
Jonathan G Rennison 7e313d120c Fix narrowing conversion warnings 3 years ago
Jonathan G Rennison a14df8dfe2 Merge PR #351 into jgrpp 3 years ago
Jonathan G Rennison e993afcd99 Store encrypted company password hashes in server saves
Restore when loading back into the server if server has required secret
3 years ago
Jonathan G Rennison 1f50106466 Saveload: Add functions to save/load to arbitrary buffers 3 years ago
Jonathan G Rennison 89181ea9fd Add setting to increase cost/distance of aircraft linkgraph links 3 years ago
Michael Lutz b0990fcff7 Codechange: Make TileIndex a "strong" typedef to give it a distinct type.
This is accomplished by changing it to a single member struct with the
appropriate operator overloads to make it all work with not too much
source modifications.
3 years ago
Jonathan G Rennison 762b656b53 Fix #9740: Fix loading of gamelog change items from savegame ver >= 294 3 years ago
Jonathan G Rennison 77d3be3d3b Fix loading of gamelog revision text in upstream savegame loader 3 years ago
Jonathan G Rennison 3d0b1a3b12 Fix loading of gamelog change items from savegame ver >= 294
See: https://github.com/OpenTTD/OpenTTD/issues/9740
3 years ago
Jonathan G Rennison 2d71ec1c5a Bump savegame for object ground types 3 years ago
Jonathan G Rennison 0691b25e17 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/afterload.cpp
3 years ago
Charles Pigott cf16f452da
Fix #9680: Recalculating aircraft positions before map array updates caused crashes (#9699) 3 years ago
Jonathan G Rennison 74bfe4e6d2 Allow placing routing restrictions on tunnel/bridge entrance/exit signals
No reserve through support
3 years ago
Jonathan G Rennison 3308edf792 Try to extend reservation when passing sighting distance of non-end signal 3 years ago
Jonathan G Rennison 3d4261a33a Merge branch 'master' into jgrpp
# Conflicts:
#	src/order_cmd.cpp
#	src/table/settings/news_display_settings.ini
3 years ago
Dmitry Erlikh 33ef34189e
Fix #9648: add missing commas in crash message 3 years ago
Jonathan G Rennison 486e69f1f8 Fix use of optional from wrong namespace 3 years ago
Jonathan G Rennison 9e946d4c5d Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/command.cpp
#	src/console_cmds.cpp
#	src/group_gui.cpp
#	src/lang/catalan.txt
#	src/lang/czech.txt
#	src/lang/danish.txt
#	src/lang/greek.txt
#	src/lang/hungarian.txt
#	src/lang/irish.txt
#	src/lang/japanese.txt
#	src/lang/luxembourgish.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/romanian.txt
#	src/lang/russian.txt
#	src/lang/serbian.txt
#	src/lang/simplified_chinese.txt
#	src/lang/slovak.txt
#	src/lang/spanish_MX.txt
#	src/lang/swedish.txt
#	src/lang/tamil.txt
#	src/lang/traditional_chinese.txt
#	src/lang/turkish.txt
#	src/lang/ukrainian.txt
#	src/lang/vietnamese.txt
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_func.h
#	src/network/network_internal.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/saveload/afterload.cpp
#	src/saveload/newgrf_sl.cpp
#	src/saveload/saveload.h
#	src/script/script_instance.cpp
#	src/toolbar_gui.cpp
#	src/toolbar_gui.h
#	src/vehicle_gui.cpp
#	src/widgets/rail_widget.h
#	src/widgets/vehicle_widget.h
#	src/window.cpp
3 years ago
Jonathan G Rennison 3cff5e53e4 Add train cached_curve_speed_mod to VENC, cache checks and debug window 3 years ago
Jonathan G Rennison faf32200cf Merge tag '12.0-beta1' into jgrpp-beta
# Conflicts:
#	CMakeLists.txt
#	bin/ai/CMakeLists.txt
#	bin/game/CMakeLists.txt
#	src/build_vehicle_gui.cpp
#	src/console_cmds.cpp
#	src/core/overflowsafe_type.hpp
#	src/fios.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/polish.txt
#	src/network/core/game_info.cpp
#	src/network/core/game_info.h
#	src/network/core/tcp_game.cpp
#	src/network/core/tcp_game.h
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_coordinator.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf_engine.cpp
#	src/openttd.cpp
#	src/rev.cpp.in
#	src/settings_type.h
#	src/train.h
#	src/train_cmd.cpp
3 years ago
Jonathan G Rennison f764fcfb1f Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/console_cmds.cpp
#	src/debug.cpp
#	src/lang/vietnamese.txt
#	src/network/core/address.cpp
#	src/network/core/address.h
#	src/network/core/config.h
#	src/network/core/os_abstraction.cpp
#	src/network/core/os_abstraction.h
#	src/network/core/tcp_listen.h
#	src/network/core/udp.cpp
#	src/network/core/udp.h
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_gamelist.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf.cpp
#	src/openttd.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/settings_table.cpp
#	src/settings_type.h
#	src/table/settings/network_settings.ini
3 years ago
Jonathan G Rennison 62afd94b47 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/company_cmd.cpp
#	src/economy.cpp
#	src/lang/swedish.txt
#	src/network/network_command.cpp
#	src/news_gui.cpp
#	src/saveload/saveload.h
#	src/script/api/script_list.cpp
#	src/video/cocoa/cocoa_v.mm
#	src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison d1f1a6942a Add support for loading trunk savegames versions 293 - 299 (12.0)
Use modified upstream saveload implementation for these versions
Re-arrange headers to support multiple saveload implementations
3 years ago
SamuXarick 0563c0e308 Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594)
(cherry picked from commit e404d16929)
3 years ago
Loïc Guilloux a84feb3444 Fix 39e90ec: Integers for scripts are 64bit, but saved as 32bit (#9415)
(cherry picked from commit ddafc0de05)
3 years ago
Jonathan G Rennison fb8020916a Add upstream savegame version fields 3 years ago
Jonathan G Rennison 5ec1573ccd Add separate max load savegame version, set savegame version values 3 years ago
Jonathan G Rennison 61cc60099a Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
3 years ago
Jonathan G Rennison 6ba53a9a68 Add ifdef around 32 bit length limit check in SlSetLength 3 years ago
Jonathan G Rennison 81290df946 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/lang/spanish.txt
#	src/network/core/tcp_content_type.h
#	src/network/network_content.cpp
#	src/saveload/cheat_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_internal.h
#	src/table/settings.h.preamble
#	src/table/settings/company_settings.ini
#	src/table/settings/currency_settings.ini
#	src/table/settings/gameopt_settings.ini
#	src/table/settings/misc_settings.ini
#	src/table/settings/settings.ini
#	src/table/settings/win32_settings.ini
#	src/table/settings/window_settings.ini
3 years ago
Jonathan G Rennison 53139c2405 Add current day/month to tracerestrict and conditional order conditionals 3 years ago
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
3 years ago
Jonathan G Rennison ec8512e2ea When declining to buy a company, ask the next company immediately 3 years ago
Loïc Guilloux f2c03a77f0
Change: Don't store not to be activated newGRFs in savegames (#9627) 3 years ago
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
3 years ago
Jonathan G Rennison 784fcbd1e7 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
3 years ago
Jonathan G Rennison b00d5e07d2 Fix fb0549ea: Incorrect cherry-pick removed end marker 3 years ago
Jonathan G Rennison 781aaa4fe5 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/company_settings.ini
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/table/win32_settings.ini
#	src/table/window_settings.ini
3 years ago
Tyler Trahan fb0549ea59 Feature: Configurable subsidy duration
(cherry picked from commit d09210e1c6)
3 years ago
Jonathan G Rennison 4042480806 Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/company_settings.ini
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/table/win32_settings.ini
#	src/table/window_settings.ini
3 years ago
Patric Stout 573ab48e9c Fix 81062163: for (really) old games, station bus/truck station cache was not updated (#9366)
(cherry picked from commit 1e432fbd71)
3 years ago
Patric Stout 3411203e5d Fix: compatible NewGRFs in crash-log reported wrong md5 (#9340)
The text suggests it reports the original md5, but it does in fact
report the replaced md5. Now it reports both.

(cherry picked from commit f997eb6ca4)
3 years ago
Jonathan G Rennison 6f16655e6e Add "special events" log. Add console command, include in crash logs. 3 years ago
Jonathan G Rennison 2e022d5194 Move game events to new event_logs header/cpp files 3 years ago
Jonathan G Rennison c99eaf72b7 Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594)
See: https://github.com/OpenTTD/OpenTTD/issues/9591
See: https://github.com/OpenTTD/OpenTTD/pull/9594

Non-extended savegame bump to be applied later

(cherry picked from commit e404d16929)

# Conflicts:
#	src/object_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
3 years ago
SamuXarick e404d16929
Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594) 3 years ago
Jonathan G Rennison 96ea775b24 Avoid undefined behaviour in saveload chunk handlers
Use data() instead of &[0] to avoid issues with empty vectors
3 years ago
Jonathan G Rennison fd605e3cf3 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/commit-checker.yml
#	src/company_cmd.cpp
#	src/console_cmds.cpp
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/indonesian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/swedish.txt
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/mcf.cpp
#	src/network/core/tcp.cpp
#	src/network/core/tcp.h
#	src/network/core/tcp_game.h
#	src/network/core/udp.h
#	src/network/network.cpp
#	src/network/network_admin.cpp
#	src/network/network_admin.h
#	src/network/network_chat_gui.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_func.h
#	src/network/network_internal.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf.cpp
#	src/newgrf_station.cpp
#	src/order_gui.cpp
#	src/rail_cmd.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/currency_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/terraform_cmd.cpp
#	src/timetable_gui.cpp
#	src/train_cmd.cpp
#	src/tree_cmd.cpp
#	src/water_cmd.cpp
3 years ago
Loïc Guilloux 38a64eb2aa
Change: Allow all tiles around docks to be docking tiles (#9578) 3 years ago
Patric Stout 394c749b6b
Change: Heading for 13 now (#9573) 3 years ago
Jonathan G Rennison 0b0d154788 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/ci-build.yml
#	src/lang/german.txt
#	src/lang/romanian.txt
#	src/lang/slovak.txt
#	src/lang/turkish.txt
#	src/network/core/address.cpp
#	src/network/core/tcp.h
#	src/network/core/udp.cpp
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/network/network_udp.cpp
#	src/openttd.cpp
#	src/saveload/newgrf_sl.cpp
#	src/tree_cmd.cpp
#	src/video/video_driver.hpp
#	src/window.cpp
#	src/window_gui.h
3 years ago
Jonathan G Rennison 0dcb04f450 Fix #320: Misspelling of SLXI chunk name 3 years ago
Jonathan G Rennison e7480620af Include liblzma error code in message 3 years ago
Jonathan G Rennison 54e2d1b851 Log SLXI version label at level sl=2 3 years ago
Jonathan G Rennison 0748d540e8 Implement improved breakdown speed reductions for ships 3 years ago
Jonathan G Rennison 5d351a14d2 Add new signal type: no-entry signal
This is only passable in one direction, but does not have a signal
or show an aspect in the opposite direction

Add a setting for whether this is shown in the signal UI.
Off by default.
3 years ago
Jonathan G Rennison 16f2ef227b Store tunnel/bridge signal spacing on tile, adjust spacing to fit length 3 years ago
Jonathan G Rennison b2ef6c0de8 Add implementation of multi-aspect signalling and GRF support
Requires realistic braking

See: #247
3 years ago
Jonathan G Rennison 13603cb8e1 Block signals into blocks with junctions now default to red with realistic braking 3 years ago
Nicolas Chappe 977604ef08 Feature: [Linkgraph] Prioritize faster routes for passengers, mail and express cargo
Passengers usually prefer fast paths to short paths.
Average travel times of links are updated in real-time for use in Dijkstra's algorithm,
and newer travel times weigh more, just like capacities.
3 years ago
Jonathan G Rennison b8d5113c5a Tracerestrict: Add slot action mode, try to acquire (only on reserve) 3 years ago
Jonathan G Rennison 71dfd2900a Add depot order flag for specific depot
Use upper half of order flags for extra depot flags

See: #302
3 years ago
Jonathan G Rennison 6a009686c9 Fix #299: Add estimated max speed (full) to template windows 3 years ago
Jonathan G Rennison 4174fe727c Add NewGRF feature: Extra station name strings
These are used when all the default names have been used up,
instead of "Town Station #NNN".
3 years ago
Loïc Guilloux 460991ecf4
Feature: Persistant rotation of numbered auto/netsave after restart (#9397)
It was always starting from 0 on openttd restart.
Now the most recent auto/netsave number will be used as a base to generate the next filename.
3 years ago
Rubidium ede3f79475 Codechange: use the name string in SaveLoad for the name of the Setting as well 3 years ago
Rubidium 01139d3368 Codechange: access the name of a setting via an accessor function 3 years ago
Rubidium 94881f5a34 Codechange: name a few unnamed settings as to not to have to check for that being empty 3 years ago
Stephan a70aa5df49
Add #9188: netsave now keeps multiple version around, similar to autosave (#9395) 3 years ago
Patric Stout 8f5d0ecde3
Codechange: split settings.ini over several files (#9421)
This reduced the load on compilers, as currently for example MacOS
doesn't like the huge settings-tables.

Additionally, nobody can find settings, as the list is massive and
unordered. By splitting it, it becomes a little bit more sensible.
3 years ago
Patric Stout c1f13e0372
Fix: reduce the amount of debug messages on -dsl=2 (#9420)
LoadCheck makes it sound like something is really broken while
loading savegames, while it really is perfectly normal, as most
chunks do not implement LoadCheck.
3 years ago
glx22 7bcc7e11ff Codechange: Use a common sub-class for NewGRFMapping chunks 3 years ago
glx22 6e627f35ac Cleanup: Remove now unneeded ChunkHandler members 3 years ago
glx22 2c941cd8b3 Codechange: Use ChunkHandlers sub-classes 3 years ago
glx22 c1a9fe6fbd Codechange: Use static array of references to ChunkHandler 3 years ago
glx22 f371a5ad70 Codechange: Preparation for ChunkHandler subclassing 3 years ago
Rubidium 7e7a4aad72 Codechange: split off the settings saveload code from the main settings handling logic 3 years ago
Loïc Guilloux ddafc0de05
Fix 39e90ec: Integers for scripts are 64bit, but saved as 32bit (#9415) 3 years ago
Jonathan G Rennison 158608442c Merge pull request #281 from VacuumBreather/train_speed_adaptation
# Conflicts:
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/extended_ver_sl.h
3 years ago
Jonathan G Rennison 9edc13b889 Make sure setting set correctly on loading existing saves 3 years ago
Loïc Guilloux 0fa2007560
Fix cdb3dd049: GOAL chunk was not using the header for loading (#9409) 3 years ago
Patric Stout 3e3049fd0e Codechange: make savegame-version checks more obvious in SlCompanyLiveries::Load
num_liveries indirectly contained the same information, but this
makes reading these things pretty difficult. So use IsSavegameVersionBefore()
like everywhere else instead.
3 years ago
Patric Stout 4e645ce749 Codechange: using "until" in function names can be confusing
IsSavegameVersionUntil() did a [0, N] check, not [0, N) as the
name suggests.

Until can be a confusing word, where people consider it to be
including the upperbound. Dictionary states it means "before",
excluding the upperbound. There are long debates about who is right.

So, simply remove away from this ambiguity, and call it "before"
and "before or at". This makes the world easier for everyone.
3 years ago
Patric Stout 1ed2405907 Cleanup: remove SLE_NULL and friends
We no longer need them. If you want to remove a field .. just
remove it! Because of the headers in the savegame, on loading,
it will do the right thing and skip the field.

Do remember to bump the savegame version, as otherwise older
clients can still load the game, but will reset the field you
have removed .. that might be unintentially.
3 years ago
Patric Stout 3826703bc3 Add: store headers for chunks with SL_STRUCTLIST 3 years ago
Patric Stout cdb3dd0493 Add: store headers for most savegame chunks
When a header is added, the chunk changes from CH_ARRAY type to
CH_TABLE type.
3 years ago
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.
3 years ago
Jonathan G Rennison 0f73fe765f
Merge pull request #293 from VacuumBreather/station_cargo_history
Add station cargo history
3 years ago
Jonathan G Rennison b438380a1e Add station cargo history save/load support 3 years ago
Jonathan G Rennison 5698507d0b Change station cargo history storage format
Use uint16 to avoid truncation issues
Don't reserve memory for unused cargoes
Store history as ring buffer
Update history graph immediately on storage date
Show total waiting cargo
3 years ago
Jonathan G Rennison c4a596b756 Fix missing file from fb0403dc 3 years ago
Jonathan G Rennison fb0403dcee Add save/load support for train speed adaptation 3 years ago
Jonathan G Rennison 4d0cda12bd Fix saving one byte at a time in Save_SPRG 3 years ago
rubidium42 f7f1d530b8 Codechange: instead of "naked" initializer lists, declare the type in the saveload macros
This to help variant's constructor to be able to resolve the constructor of the setting
3 years ago
Andreas Schmitt 9b1783809d Add station cargo history 3 years ago
Andreas Schmitt e1214a6d8b Fix some type conversion warnings 3 years ago
Jonathan G Rennison 3e66ffead0 Saveload: Allow threaded saves in network server mode 3 years ago
Jonathan G Rennison 87948d8029 Thread: Adjust checks for whether current thread is the game thread 3 years ago
Rubidium 281a65b3e1 Cleanup: simplify some boolean expressions 3 years ago
Rubidium 357af686dc Cleanup: use true/false instead of 1/0 where applicable 3 years ago
Patric Stout 8e91527251 Codechange: mark chunks that are not stored as CH_READONLY
This makes it easier to spot chunks that have a save_proc that
is a nullptr, but also prevents confusion, where it looks like
the CH_ type of a chunk has influence on how it is being read.
It is not, it is only used for saving.
3 years ago
Patric Stout 4c4b55ecbd Change: rework GLOG chunk to be more like the rest
Basically it is very similar to Vehicles, where there first is
a type field, followed by data of that type. So this commit makes
it looks like how Vehicles solved that.
This removes a lot of custom "keeping track of length" stuff.
3 years ago
Patric Stout 88edfd4ef1 Change: rework several CH_RIFF chunks to use CH_ARRAY instead
This adds two byte extra to those chunks, and might feel a bit
silly at first. But in later changes we will prefix CH_ARRAY with
a table header, and then this change shines.

Without this, we could still add headers to these chunks, but any
external reader wouldn't know if the CH_RIFF has them or not. This
way is much more practical, as they are now more like any other
chunk.
3 years ago
Patric Stout b9ab9e4d05 Codechange: add the ability to save/load a std::vector
std::vector<bool> is not possible, as .. that is a nice special
case in C++.

This new type will be used in next commit.
3 years ago
Patric Stout 97b94bdc9a Change: prefix SL_ARR with the length of the array
This means that during loading we can validate that what is saved
is also that what is expected. Additionally, this makes all list
types similar to how they are stored on disk:
First a gamma to indicate length, followed by the data.
The size still depends on the type.
3 years ago
Patric Stout f67af5cbe5 Codechange: make it more obvious SlArray supports SLE_VAR_NULL
In the end, the code was already doing the right thing, but a few
functions deep, and not really obvious. When validating what objects
can handle SLE_VAR_NULL, it is nicer to just have this obvious.
3 years ago
Patric Stout d5cda58158 Codechange: use SL_NULL if you want to store null-bytes or load to nothing
Using SL_ARR for this gives us a bit of trouble later on, where we
add a length-field to SL_ARR. This of course is not the intention
of SLE_CONDNULL. So better seperate it.
3 years ago