Commit Graph

2446 Commits (098bb74ed203a4f3f9405830a9a7d1a701b9f6c8)

Author SHA1 Message Date
Milek7 aade177d79
Fix: Corrupted savegame could cause heap corruption by writing outside link graph edge matrix. (#9046) 3 years ago
Milek7 da55286c2c
Fix: Corrupted savegame could crash the game by providing invalid gamelog enums. (#9045) 3 years ago
Jonathan G Rennison b514d29db1 Replace TrainCache::cached_tilt with a flags field 3 years ago
Jonathan G Rennison cb5c6902db Fix order dest refcount mismatch warning when loading very old savegames 3 years ago
Jonathan G Rennison 9e3ac646fa Fix desync warning messages when loading game with non-matching train braking model 3 years ago
Jonathan G Rennison e623560120 Fix 4c2e42fa: Wrong town caches when loading pre more-houses savegame 3 years ago
Jonathan G Rennison 7faa279250 Fix 26a123b7: Wrong variable size in VENC chunk saver 3 years ago
Jonathan G Rennison 6c62bce1ac Bump water flooding savegame version and clear states on load 3 years ago
Jonathan G Rennison 737b538492 Bump savegame version, copy town to city multipliers for old savegames 3 years ago
Jonathan G Rennison d7b23733b3 Bump realistic braking savegame version 3 years ago
Jonathan G Rennison 5d88030feb
Merge pull request #238 from reldred/newhouses_limits_tweaks
Extra House IDs
3 years ago
Jonathan G Rennison 4c2e42fae0 Add savegame conversion and version bump for more house IDs 3 years ago
Jonathan G Rennison f1cab62140 Add cheat to fix station ratings at 100% 3 years ago
Jonathan G Rennison f39b6f4ba3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/cheat_gui.cpp
#	src/genworld_gui.cpp
#	src/landscape.cpp
#	src/lang/english.txt
#	src/saveload/afterload.cpp
#	src/screenshot.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/table/settings.ini
#	src/tile_type.h
#	src/widgets/genworld_widget.h
3 years ago
Jonathan G Rennison 5e14b54a0c Merge branch 'master' into jgrpp 3 years ago
Jonathan G Rennison 26a123b708 Realistic braking: Cache offset of centre of mass of train 3 years ago
Jonathan G Rennison 912c62d749 Add timetable lateness/earliness conditional order 3 years ago
Patric Stout 13a5264438 Fix: store the recent new game_creation settings in savegames
This allows us to later on see what someone did, and makes sure
that "restart" command still knows how the game was created.
3 years ago
Patric Stout 1a1049bc0d Change: rename setting "max_heightlevel" to "map_height_limit"
This better reflects what it is, and hopefully removes a bit of
the confusion people are having what this setting actually does.

Additionally, update the text on the setting to better inform
users what it is doing exactly, so they can make an educated
decision on how to change it.

Next commit will introduce an "auto" value, which should be the
new default. The rename has as added benefit that everyone will
start out on the "auto" value.
3 years ago
Jonathan G Rennison a670e369db Add setting for no vehicles introduced after given year 3 years ago
Patric Stout 9bfa7198fd
Change: Heading for 1.12 now (#8862) 3 years ago
Jonathan G Rennison 4361a6dbf4 Avoid undefined behaviour const_casting std::string c_str()
Use non-const data() instead

See: #224
3 years ago
Jonathan G Rennison a7ed477185 Log savegame compression format used at debug level sl 3 3 years ago
Jonathan G Rennison edeced8fce Zstd: Enable zstd for autosaves
See also: https://github.com/OpenTTD/OpenTTD/pull/8773
3 years ago
Jonathan G Rennison c2ae7580e0 Zstd: Use zstd for network joins if supported at both ends
See also: https://github.com/OpenTTD/OpenTTD/pull/8773
3 years ago
Jonathan G Rennison 922e8554de Zstd: Fix infinite loop when input exhausted 3 years ago
Jonathan G Rennison ee7f5ad44f Zstd: Indentation fixes 3 years ago
dP b284d34277 Add: Support Zstandard(zstd) savegame compression
(cherry picked from commit 6f0aeaf2c5436550c93205e704624957e9abc969)
3 years ago
Patric Stout f183ded9fe Add: settings to limit your fast-forward game speed
By default this setting is set to 2500% normal game speed.

(cherry picked from commit c3dc27e37e)

# Conflicts:
#	src/gfx.cpp
#	src/gfx_func.h
#	src/settings_type.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/video_driver.cpp
#	src/video/win32_v.cpp
3 years ago
Patric Stout c3dc27e37e Add: settings to limit your fast-forward game speed
By default this setting is set to 2500% normal game speed.
3 years ago
Jonathan G Rennison c37beb78ee Check for broken custom bridge head states, and bump save version 3 years ago
Jonathan G Rennison 2e20da40ed Cache current value of snow line height 3 years ago
Jonathan G Rennison f595696e97 Add map bit to suppress water flooding checks
Set if all neighbour tiles are also water
This reduces the overhead of flood checks on large maps
3 years ago
Michael Lutz 7845434270 Codechange: Don't use cpp_offsetof in the save/load code.
Many of the member variables that are used in save/load are inside types
that are not standard layout types. Using pointer arithmetics to determine
addresses of members inside types that are not standard layout is generally
undefined behaviour. If we'd use C++17, it is conditionally supported, which means
each compiler may or may not support it. And even then using it for individual
array elements is syntactically not supported the the standard offsetof function.

Unfortunately, the trickery employed for saving linkgraph settings causes quite some
clutter in the settings ini files.
3 years ago
Michael Lutz 9c9292949f Codechange: Don't use cpp_offsetof in the TTO/TTD savegame loader.
Many of the member variables that are used in the oldloader are inside types
that are not standard layout types. Using pointer arithmetics to determine
addresses of members inside types that are not standard layout is generally
undefined behaviour. If we'd use C++17, it is conditionally supported, which means
each compiler may or may not support it. And even then using it for individual
array elements is syntactically not supported the the standard offsetof function.
3 years ago
Jonathan G Rennison aff89b61f5 Add tracerestrict reserved tiles ahead conditional 3 years ago
Jonathan G Rennison 35d720b0ad Add tracerestrict PBS end signal conditional
This is for realistic braking long reserve
3 years ago
Jonathan G Rennison a0e9baac54 Bump more_cond_orders savegame version due to 8a814bbf 3 years ago
Jonathan G Rennison d42ad99688 Add conditional order for current time/date 3 years ago
Jonathan G Rennison 650d5e014e Merge branch 'master' into jgrpp
# Conflicts:
#	src/ai/ai_gui.cpp
#	src/company_cmd.cpp
#	src/lang/estonian.txt
#	src/lang/german.txt
#	src/lang/hungarian.txt
#	src/lang/korean.txt
#	src/lang/slovak.txt
#	src/main_gui.cpp
#	src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison 7154f8859d Merge tag '1.11.0-beta1' into jgrpp
# Conflicts:
#	src/console_cmds.cpp
#	src/gfx_func.h
#	src/industry.h
#	src/lang/czech.txt
#	src/lang/estonian.txt
#	src/lang/german.txt
#	src/lang/indonesian.txt
#	src/lang/japanese.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/russian.txt
#	src/lang/slovak.txt
#	src/saveload/saveload.h
#	src/station_gui.cpp
#	src/town_gui.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/waypoint_gui.cpp
3 years ago
Jonathan G Rennison b7ddd486cf Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/cargopacket.cpp
#	src/cheat_gui.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/core/pool_func.hpp
#	src/date.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/ground_vehicle.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/industry_cmd.cpp
#	src/lang/dutch.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/mcf.cpp
#	src/network/network_content.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_station.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/station_cmd.cpp
#	src/station_kdtree.h
#	src/string_func.h
#	src/table/settings.ini
#	src/tgp.cpp
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/tree_gui.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
#	src/viewport.cpp
#	src/viewport_sprite_sorter_sse4.cpp
#	src/window.cpp
3 years ago
Jonathan G Rennison d978ffcb59 Fix train braking model not being set to original on load 3 years ago
Jonathan G Rennison 6c3e5642f8 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/fileio.cpp
#	src/fileio_func.h
#	src/fios_gui.cpp
#	src/ini_load.cpp
#	src/ini_type.h
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/network/network_client.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/os/windows/win32.cpp
#	src/road_cmd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/settings.ini
#	src/tree_cmd.cpp
#	src/tree_gui.cpp
#	src/vehicle_base.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/cocoa/event.mm
#	src/video/cocoa/wnd_quartz.mm
#	src/viewport.cpp
#	src/widgets/tree_widget.h
3 years ago
Jonathan G Rennison 33d9e48bcf Add setting for inflation dates mode 3 years ago
Jonathan G Rennison 39df1c49a1 Merge branch 'master' into jgrpp
# Conflicts:
#	src/fileio.cpp
#	src/group_gui.cpp
#	src/industry.h
#	src/lang/korean.txt
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphjob.h
#	src/linkgraph/linkgraphschedule.cpp
#	src/linkgraph/linkgraphschedule.h
#	src/openttd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/town_cmd.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
3 years ago
Jonathan G Rennison 43980639de Merge branch 'master' into jgrpp
# Conflicts:
#	.gitignore
#	CMakeLists.txt
#	src/3rdparty/optional/optional.hpp
#	src/group_cmd.cpp
#	src/industry_cmd.cpp
#	src/misc_gui.cpp
#	src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison ed0ffb6220 Add feature: realistic train braking
Add setting to select train braking model.
3 years ago
glx22 6b8ad5a9b1 Change: Apply some consistency to singleplayer related comments 3 years ago
dP bab7de6cf2 Feature: Allow GameScripts to add additional text to Industry view window 3 years ago
Michael Lutz a190b00af1 Fix #8589, 653e7fa548: Motion counter is NewGRF-visible but not saved, leading to desyncs. (#8591)
(cherry picked from commit 7da224d29d)
4 years ago
Michael Lutz 7da224d29d
Fix #8589, 653e7fa548: Motion counter is NewGRF-visible but not saved, leading to desyncs. (#8591) 4 years ago
Matt Kimber 40d5fe1631
Fix eeb88e8: Trains reversed while paused do not correctly update sprite bounds (#8540) 4 years ago
Jonathan G Rennison 515aeb04e0 TBTR: Add support for vehicle reversed flag 4 years ago
Patric Stout ef6b17baf7 Fix 2fd871e2af5: load correct ending-year for old (pre 0.7) savegames
Despite what it looked like, you could never really change the
ending-year (it was always reset to 2050 on start-up). See commit
683b65ee1 for details. As a side-effect, the variable that was
suppose to store the ending-year was just zero, never containing
a real ending-year.
4 years ago
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 4 years ago
Matt Kimber 9b28b15e67 Codechange: create MutableSpriteCache to remove the need to cast Vehicle to a mutable type in render methods 4 years ago
Patric Stout 8596b43b2b
Codechange: move some DEBUG-levels and remove some others in saveload routine (#8474)
When running with -dsl=2 it is very easy to miss important information
as there was a lot of noise in between too. This tunes the debug
levels a bit to be less noisy while keeping the important bits.
4 years ago
Jonathan G Rennison 5721790c5d Fix assert failure in DoStartupNewCompany when called from AfterLoadGame 4 years ago
Pavel Stupnikov f39a00d676 Feature: Set exclusive access to industry from GS (#8115)
(cherry picked from commit 9a45a0f535)
4 years ago
Niels Martin Hansen 4d97fbc814 Feature: Influence industry production changes from GS (#7912)
(cherry picked from commit b7751c483e)
4 years ago
Patric Stout 488187a423 Fix: next 67 savegame versions are used in PatchPacks; skip them (#8411)
Various of PatchPacks (Spring 2013, Joker, ChillPP) used versions
slightly higher than ours. Of course, as time went by, this
caught up with us, and we are now almost pushing a new version
that would conflict with them. To avoid users creating unneeded
issues about "why can I not load my savegame", lets be ahead of
the curve and flat-out refuse to load them.

Version-wise, this is totally fine. We have ~32k versions to go
before we run out (0x8000 is masked by JGRPP; we should avoid
using that). At the rate we bump savegames, this is not going to
happen in any sane reality.

(cherry picked from commit d8c8f4e72d)
4 years ago
Michael Lutz b408fe77f7 Codechange: Use std::string in file scanners. 4 years ago
Michael Lutz 5cbb2da794 Codechange: Even more std::string usage in file IO. 4 years ago
Michael Lutz 65f65ad2ad Codechange: Convert some more FIO functions to take std::string. 4 years ago
Charles Pigott 860c270c73 Codechange: Replace assert_compile macro with static_assert 4 years ago
cirdan 395a5d9991 Cleanup: Remove unused ChunkType flag CH_AUTO_LENGTH
CH_AUTO_LENGTH is no longer used anywhere, so remove all code
that depends on it.
4 years ago
cirdan 46ff7d918b Cleanup: Remove save-only autolength flag from economy chunk handlers
CH_AUTO_LENGTH is only used when saving chunks; it makes no sense
to set it for chunks without a save handler.
4 years ago
glx22 d8605ad18d Codechange: Replace FOR_VEHICLE_ORDERS with range-based for loops 4 years ago
Jonathan G Rennison 78b06ddc40 TBTR: Fix palette recolouring of templates
Fix group overrides affecting template image when cloning vehicle
Update template when changing company colours

Update template images on demand instead of at load
4 years ago
Jonathan G Rennison 0c5dc5d41e Change: [Linkgraph] Pause the game when linkgraph jobs lag (#6470)
Check if the job is still running two date fract ticks before it is due
to join, and if so pause the game until its done.
When loading a game, check if the game would block immediately due to
a job which is scheduled to be joined within two date fract ticks,
and if so pause the game until its done.
This avoids the main thread being blocked on a thread join, which appears
to the user as if the game is unresponsive, as the UI does not repaint
and cannot be interacted with.
Show if pause is due to link graph job in status bar, update network
messages.
This does not apply for network clients.
4 years ago
Pavel Stupnikov 9a45a0f535
Feature: Set exclusive access to industry from GS (#8115) 4 years ago
Niels Martin Hansen b7751c483e
Feature: Influence industry production changes from GS (#7912) 4 years ago
Patric Stout d8c8f4e72d
Fix: next 67 savegame versions are used in PatchPacks; skip them (#8411)
Various of PatchPacks (Spring 2013, Joker, ChillPP) used versions
slightly higher than ours. Of course, as time went by, this
caught up with us, and we are now almost pushing a new version
that would conflict with them. To avoid users creating unneeded
issues about "why can I not load my savegame", lets be ahead of
the curve and flat-out refuse to load them.

Version-wise, this is totally fine. We have ~32k versions to go
before we run out (0x8000 is masked by JGRPP; we should avoid
using that). At the rate we bump savegames, this is not going to
happen in any sane reality.
4 years ago
Jonathan G Rennison 8ac436f507 Add setting to scale primary industry cargo production 4 years ago
Jonathan G Rennison f0c3a4b42e Saveload: Store NewGRF name in savegame, include in missing GRF message 4 years ago
Jonathan G Rennison 207c79a736 Saveload: Fix SLE*_CONDSSTR* macros 4 years ago
Patric Stout d15dc9f40f Add: support for emscripten (play-OpenTTD-in-the-browser)
Emscripten compiles to WASM, which can be loaded via
HTML / JavaScript. This allows you to play OpenTTD inside a
browser.

Co-authored-by: milek7 <me@milek7.pl>
4 years ago
Michael Lutz 79240eab1e Codechange: Make use of the improved C++17 emplace_back function. 4 years ago
Jonathan G Rennison 840e459601 Revert "Fix 63ccb36ef3: Crash trying to load TTO/TTD savegames. (#8356)"
This is not necessary due to 5243cfd6d0.

This reverts commit c558936ec3.
4 years ago
Jonathan G Rennison 4436da7436 Saveload: Skip GetVariableAddress asserts if _DEBUG not defined 4 years ago
Jonathan G Rennison 4da3cfcf56 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/bootstrap_gui.cpp
4 years ago
Patric Stout 731af1f1f3 Codechange: don't do work GetVariableAddress() is already doing 4 years ago
Patric Stout c98717cb45 Fix: do not add an offset to a nullptr
This is, by specs, undefined behaviour. See
https://reviews.llvm.org/D67122

In cases where this is done, optimizations done by LLVM can
generate code that causes crashes.

GetVariableAddress() had two (legit) ways this could happen:
- For SaveLoad set to global
- For SaveLoad set to SLE_VAR_NULL, where sld->address is always
  a nullptr, and object could or could not be a nullptr.
4 years ago
Michael Lutz c558936ec3
Fix 63ccb36ef3: Crash trying to load TTO/TTD savegames. (#8356) 4 years ago
Jonathan G Rennison 3e1ab88323 Fix NRT road/tram type conversion on savegame load from JokerPP v1.27 4 years ago
Jonathan G Rennison 270a748b64 Tracerestrict: Add time/date conditional 4 years ago
Jonathan G Rennison 2ad446369d Cache animated tile speed, use btree map for animated tiles 4 years ago
Jonathan G Rennison 1f54c8a018 Send vehicle caches to network clients to prevent desyncs due to bad GRFs 4 years ago
Jonathan G Rennison 9efeb3551a Tunnel/bridge signal simulation spacing is now a company setting 4 years ago
Jonathan G Rennison 0902243ab3 Allow changing the colour of plans 4 years ago
Jonathan G Rennison 57d47b9bae Add support for overtaking inside (non-custom) bridges/tunnels 4 years ago
Jonathan G Rennison ffe3c769a3 Add road tile cached one way state, one way road section detection 4 years ago
Jonathan G Rennison 3a75f13874 Allow drive-through road stops to be one-way 4 years ago
Jonathan G Rennison de5fb361ad Fix crash when saving order backups 4 years ago
Jonathan G Rennison e1aca1ab34 Extend Order::flags to 16 bits, fixes conditional order target field size
Adjust order packing and CmdInsertOrder

See: #198
4 years ago
Jonathan G Rennison b9f7db9c7e Jump counter is no longer a separate field 4 years ago
Jonathan G Rennison 1716083a30 Use saveload object filtering for order chunks 4 years ago
Jonathan G Rennison bb862100af Fix operator typo in 6dd7b286 in oldloader_sl.cpp 4 years ago
Jonathan G Rennison 6dd7b2869c Increase per-vehicle order limit to 64k
See: #110
4 years ago
Jonathan G Rennison cce6d731a1 TBTR: Delete orphaned virtual trains on client disconnection 4 years ago
Jonathan G Rennison 3b47b7b091 Plans: Improve performance of viewport plan rendering 4 years ago
Jonathan G Rennison 84dd35b685 Add drive-through train depot emulation (default off) 4 years ago
Jonathan G Rennison 4763f441f6 On load, use previous local company or first usable company
Instead of always using the first company slot
4 years ago
Jonathan G Rennison 2ea3a7d6f4 Add setting for default road/tram types, to match default rail type setting 4 years ago
Jonathan G Rennison 2d350d26db Add rate limit for object construction 4 years ago
Jonathan G Rennison ff12051ee1 Only show ship is lost messages if lost for a significant time 4 years ago
Jonathan G Rennison 825190db0c Remove programmable pre-signal calls to DebugPrintProgram 4 years ago
Jonathan G Rennison abb7b69861 Add slot and counter support to programmable pre-signals 4 years ago
Jonathan G Rennison 9ee8091ecc Add conditional order which tests counter value 4 years ago
Jonathan G Rennison 817bc44a3e Initial implementation of tracerestrict counter mechanism 4 years ago
Jonathan G Rennison d2594ece79 Add routing restrictions action to control news reports about stuck trains 4 years ago
Jonathan G Rennison beaeda2990 TBTR: Show empty and full train weights in GUI, and weight ratios if enabled 4 years ago
Jonathan G Rennison e2de103d82 Skip GRF compatibility check when using -K/-q switches 4 years ago
Jonathan G Rennison 5b78090a61 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/saveload/town_sl.cpp
#	src/screenshot.h
#	src/script/api/ai/ai_date.hpp.sq
#	src/script/api/ai/ai_marine.hpp.sq
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_date.hpp.sq
#	src/script/api/game/game_marine.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/game/game_window.hpp.sq
#	src/script/api/script_window.hpp
#	src/script/api/template/template_window.hpp.sq
#	src/signal.cpp
#	src/statusbar_gui.cpp
#	src/toolbar_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
4 years ago
Jonathan G Rennison 2b9c633d50 Add leave early if any/all cargoes fully loaded timetable modes 4 years ago
Jonathan G Rennison 1fd9c929ef Increase church/stadium count field size, fix save/load
Fix too many error message
4 years ago
Jonathan G Rennison b7118b60fe Add setting to enable multiple churches/stadiums in scenario editor
See: #177
4 years ago
dP 452e1e3328 Codechange #8258: Remove unused town cargo caches from the savegame 4 years ago
TechGeekNZ a10013dd00 Codechange: Spell 'Viewport' consistently
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
4 years ago
Jonathan G Rennison 1f5de8b82c Auto separation: Remove circular linked list, use new algorithm 4 years ago
Jonathan G Rennison 53f9fa139d Remove redundant year/month date globals 4 years ago
Jonathan G Rennison 6288abae56 Saveload: Improve error messages for loading unsupported versions 4 years ago
Jonathan G Rennison f4cf966167 Saveload: Add version label feature to SLXI chunk 4 years ago
Jonathan G Rennison 3adeff1883 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	cmake/CompileFlags.cmake
#	src/bridge_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/town_sl.cpp
#	src/screenshot.cpp
#	src/screenshot.h
#	src/toolbar_gui.cpp
#	src/town.h
#	src/town_cmd.cpp
4 years ago
Jonathan G Rennison d6f785d125 Merge branch 'pr-163' into jgrpp 4 years ago
Jonathan G Rennison 1aefc9d010 Use malloc instead of calloc for MemoryDumper::AllocateBuffer 4 years ago
TechGeekNZ cf8ea74733 Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake 4 years ago
dP 7045186594 Change #8159: Remove now unused town cargo caches without bumping the savegame version 4 years ago
dP ca2604c4e2 Revert #8157: Redundant change 4 years ago
Jonathan G Rennison 7a09413a1a Fix: Incorrect save/load array size of Town::cargo_accepted
In 11ab3c4e the number of cargo types was changed from 32 to 64.
The save/load of Town::cargo_accepted was not updated, such that
only half of the data structure is saved/loaded in savegame versions
199 to 218.
Discard and regenerate data from all savegame versions prior to 219.
4 years ago
Jonathan G Rennison 54237b0e98 Codechange: Move SlSkipBytes to saveload.h 4 years ago
Charles Pigott 64b1c70fdd Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings that followed 4 years ago
Jonathan G Rennison 27b92c3526 Fix #159: Incorrect display date on load for savegame versions < 31 4 years ago
Jonathan G Rennison f5e9805b10 Store time display settings both in savegame and client, add setting 4 years ago
Jonathan G Rennison e6f3e15c32 Fix 63ccb36e: Incorrect string type for OrderBackup::name save/load
In 63ccb36e BaseConsist::name was changed from a malloced char*
to a std::string.
OrderBackup inherits from BaseConsist.
The saveload of OrderBackup::name was not updated.
4 years ago
Patric Stout 56d54cf60e Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
4 years ago
Jonathan G Rennison 5243cfd6d0 Use TinyString for custom name fields which are almost always empty 4 years ago
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
4 years ago
Michael Lutz 63ccb36ef3 Codechange: Use std::string for most of the user-settable custom names. 4 years ago
Michael Lutz 9b6f5e3bb8 Codechange: Store GS lang texts in std::strings. 4 years ago
Jonathan G Rennison ea06a0670d Add rail ground type support for rail custom bridge heads
See: #146
4 years ago
Jonathan G Rennison 77673b731c Merge branch 'master' into jgrpp
# Conflicts:
#	src/industry_cmd.cpp
#	src/openttd.cpp
#	src/station_cmd.cpp
#	src/station_func.h
4 years ago
glx22 cca613e3b8
Fix #8142, 5aa6351: Buoy owner and tile owner can be different (#8143) 4 years ago
Jonathan G Rennison 763a2826b6 Merge branch 'master' into jgrpp
# Conflicts:
#	src/gamelog.cpp
4 years ago
Jonathan G Rennison 0202211514 Conditional orders: Add slot acquire modes to train in slot conditional 4 years ago
glx 5aa6351042 Fix #8132: Corrupted savegame crashing OpenTTD on load 4 years ago
glx 0ed00ae111 Fix: Stop any gamelog action when recovering from SlError() 4 years ago
Jonathan G Rennison 0100ea4e32 Conditional orders: Add mode to check waiting station cargo via next node 4 years ago
Jonathan G Rennison 07c9621fcf Merge branch 'master' into jgrpp 4 years ago
glx bc8333723c Fix #8021: limit savegame range for docking tiles fixing 4 years ago
Yexo 64278fd598 Fix: reset roadtype/streetcartype info for non-road bridges 4 years ago
Yexo 19dc31e0b3 Fix #8108: always update tile_hash after updating v->tile 4 years ago
SamuXarick 8edbb42fe8 Fix c01a2e2: crash on loading old savegames with invalid animated tile information 4 years ago
SamuXarick c01803cd42 Fix #8108: possible crash on loading TTD savegames with phantom oil rigs 4 years ago
Jonathan G Rennison eef6ad7b2a Crash log: Save config file in new crash save chunk 4 years ago
Jonathan G Rennison 1506479f56 Cheat: Add cheats to set inflation income and cost factors
See: #124
4 years ago
Jonathan G Rennison 3e7618f519 Save/load: Add extra cheats savegame chunk 4 years ago
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
4 years ago
SamuXarick 57553cd809 Fix #8020: Add missing docking tiles around industry neutral stations 4 years ago
Jonathan G Rennison ba65a79d09 Enable allowing/disallowing supply to a station, per cargo
Ctrl-click station cargo rating
4 years ago
Jonathan G Rennison 8956b1ab02 Improve performance of tunnel rendering in viewport map mode 4 years ago
Jonathan G Rennison b96e7f78fb Merge branch 'master' into jgrpp 4 years ago
glx 9116b22386 Fix #8011, f5381798: Dock tile in TTD savegame was only 2 bytes 4 years ago
Jonathan G Rennison babe98cdb1 Merge branch 'master' into jgrpp
# Conflicts:
#	src/network/network_server.h
#	src/pathfinder/yapf/yapf_road.cpp
#	src/viewport.cpp
4 years ago
glx 2f264f2c92 Change: Heading for 1.11 now 4 years ago
Johannes E. Krause 107283748a Feature: SLF_HEX to print hexadecimal numbers in the config file 4 years ago
Jonathan G Rennison 76f68c48f5 Cache whether vehicle is currently drawn: Vehicle::IsDrawn() 4 years ago
Jonathan G Rennison dd99fd646d Merge branch 'master' into jgrpp
# Conflicts:
#	src/base_station_base.h
#	src/industry.h
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/lang/korean.txt
#	src/os/macosx/crashlog_osx.cpp
#	src/station_cmd.cpp
#	src/town.h
#	src/town_cmd.cpp
#	src/town_gui.cpp
5 years ago
Jonathan G Rennison 09b13dd484 Add conditional orders for cargo load percentage and waiting cargo amount
See: #90
5 years ago
Jonathan G Rennison bb363695fc YAPF: Prevent user for configuring signal penalties to negative values
Warn if signal penalty polynomial goes negative, and clamp to non-negative
5 years ago
Jonathan G Rennison 424813446f TBTR: Avoid unnecessary iterations of template replacement pool 5 years ago
Jonathan G Rennison c3223903ed Codechange: Cache resolved town, station and industry name strings 5 years ago
frosch a4be4514c9 Fix #7925: Reset temporary saveload data at the start of loading a savegame instead of at the end.
Otherwise temporary data may be passed from an aborted load action to the next load action.
5 years ago
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
5 years ago
Charles Pigott d1cead7f25 Fix: When loading old timetabled saves, also reset cached timetable duration 5 years ago
Charles Pigott cddb8a4605 Fix #7587: Crash when loading saves with waypoints with invalid locations 5 years ago
Jonathan G Rennison 6f75d9119d ChillPP: Add support for loading compatible linkgraph settings 5 years ago
Jonathan G Rennison c681a9d5de Fix vehicle timetable automate flag from ChillPP v8 savegames 5 years ago
Jonathan G Rennison b8b84a9a0b Fix leftover PBS reservation on signalled tunnel/bridge entrances in ChillPP savegames 5 years ago
Jonathan G Rennison 4936b3ba51 Add support for loading ChillPP v8 savegames 5 years ago
Jonathan G Rennison 5dc1027c6b Add initial support for loading ChillPP v14.7 savegames 5 years ago
Jonathan G Rennison b4453fac23 Saveload: Log chunk sizes when load fails due to chunk size mismatch 5 years ago
Jonathan G Rennison 796a878b90 Fix town growth rates when loading JokerPP v1.27 savegames
See #123
5 years ago
Jonathan G Rennison ec0b43f231 Clear rail ageing data when loading JokerPP savegames
See #123
5 years ago
Jonathan G Rennison f0754b007e Fix road/tram type handling when loading JokerPP v1.27 savegames
See #123
5 years ago
Jonathan G Rennison 6f7ed57fbd Fix loading of ORDX chunk from JokerPP savegames
See #123
5 years ago
Jonathan G Rennison d56d4ea51f Add initial support for loading JokerPP savegames
See #123
5 years ago
Niels Martin Hansen 2fd871e2af Feature: Configurable game ending year
Functionally reverts 683b65ee1
5 years ago
Jonathan G Rennison c75ed00f0f Saveload: Allow discarding chunks with a load handler 5 years ago
glx ee7a8eebca Codechange: Replace FOR_ALL_TOWNS with range-based for loops 5 years ago
glx 0b489f9924 Codechange: Replace FOR_ALL_SUBSIDIES with range-based for loops 5 years ago
glx 847e5f33d4 Codechange: Replace story related FOR_ALL with range-based for loops 5 years ago
glx 869581eb23 Codechange: Replace FOR_ALL_SIGNS with range-based for loops 5 years ago
glx b91abd3af9 Codechange: Replace FOR_ALL_ROADSTOPS with range-based for loops 5 years ago
glx 514565fad6 Codechange: Replace FOR_ALL_OBJECTS with range-based for loops 5 years ago
glx 11f178a312 Codechange: Replace FOR_ALL_STORAGES with range-based for loops 5 years ago
glx d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 5 years ago
glx 9892d90b26 Codechange: Replace order related FOR_ALL with range-based for loops 5 years ago
glx 09fa39c5b5 Codechange: Replace linkgraph related FOR_ALL with range-based for loops 5 years ago
glx 00c2a98cf3 Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops 5 years ago
glx 4ae829cb27 Codechange: Replace FOR_ALL_GROUPS with range-based for loops 5 years ago
glx f58ce3db19 Codechange: Replace FOR_ALL_GOALS with range-based for loops 5 years ago
glx 1f6b3a37f9 Codechange: Replace FOR_ALL_ENGINES with range-based for loops 5 years ago
glx 1c92ba8ebe Codechange: Replace FOR_ALL_CARGO_PAYMENTS with range-based for loops 5 years ago
glx fa9769f81a Codechange: Replace FOR_ALL_DEPOTS with range-based for loops 5 years ago
glx 5fce5fa300 Codechange: Replace FOR_ALL_CARGOPACKETS with range-based for loops 5 years ago
glx 60e3cf8aff Codechange: Replace FOR_ALL_ENGINE_RENEWS with range-based for loops 5 years ago
glx ddabfed1cd Codechange: Replace station related FOR_ALL with range-based for loops 5 years ago
glx 3a14cea068 Codechange: Replace FOR_ALL_COMPANIES with range-based for loops 5 years ago
Jonathan G Rennison 0704fb81a3 Fix narrowing cast error in Load_VESR() in MSVC 5 years ago
Jonathan G Rennison aa8aae9a62 Initial implementation of tracerestrict speed restriction feature 5 years ago
Jonathan G Rennison 030e8bf762 Rename programmable signals to programmable pre-signals
This is to make it less unclear what they actually are and do
5 years ago
Jonathan G Rennison bbd487a2a7 Revert "Avoid unnecessary calls to SettingsDisableElrail in AfterLoadGame"
This reverts commit 5008a09fe9.

This seems to cause regressions with some older savegames/GRF configurations.
5 years ago
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
5 years ago
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
Jonathan G Rennison e568100407 Fix SlError exception handling in threaded load mode 5 years ago
Jonathan G Rennison 785eed2958 Fix loading of savegames which use LZO compression 5 years ago
Jonathan G Rennison ca3c72438e Merge branch 'master' into jgrpp
# Conflicts:
#	Makefile.bundle.in
#	src/os/macosx/string_osx.cpp
#	src/station_cmd.cpp
5 years ago
Jonathan G Rennison 91ca46c774 Fix -Wdeprecated-copy and -Wclass-memaccess warnings on GCC 9 5 years ago
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
5 years ago
Jack Baron e4f08f2880 Fix: Bump savegame version 5 years ago
Jonathan G Rennison 2deadabc97 Saveload: Improve SpringPP savegame detection
Trunk savegames will soon reach the range of versions used by SpringPP
5 years ago
Jonathan G Rennison 1bbfd69657 Bump tracerestrict version due to 7332c0b6 5 years ago
Jonathan G Rennison 3b178b6f07 Scheduled dispatch: Add order backup support 5 years ago
Jonathan G Rennison edfd378e93 Merge branch 'master' into jgrpp
# Conflicts:
#	source.list
#	src/blitter/32bpp_anim.cpp
#	src/linkgraph/linkgraphjob.cpp
#	src/order_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_type.h
5 years ago
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
5 years ago
Jonathan G Rennison 90550d9642 FlowStatMap: Replace RB-tree with btree-indexed vector 5 years ago
Jonathan G Rennison 0a1c1809ab Save/load: Pre-filter SaveLoad descriptor arrays for current version/mode, for chunks with many objects 5 years ago
JMcKiern 04f659e768 Fix: Some typos found using codespell 5 years ago
Jonathan G Rennison 5008a09fe9 Avoid unnecessary calls to SettingsDisableElrail in AfterLoadGame 5 years ago
Jonathan G Rennison b6d755221a Add load filter to perform savegame decompression in a separate thread 5 years ago
Jonathan G Rennison 1391f8fc59 Use insert hints for station flow/share map insertion 5 years ago
Jonathan G Rennison a30638bc4a Merge branch 'jgrpp' into jgrpp-nrt 5 years ago
Jonathan G Rennison 6792495705 Add -K switch to write savegame debug data and exit 5 years ago
Jonathan G Rennison 04ef407ddf Merge branch 'jgrpp' into jgrpp-nrt
# Conflicts:
#	.ottdrev-vc
#	README.md
#	jgrpp-changelog.md
#	src/ship_cmd.cpp
5 years ago
Jonathan G Rennison a1d36b02f0 Network: Add state checksum which is check in network sync 5 years ago
Jonathan G Rennison bc0de9b6ef Rebuild total cargo acceptance on load even for empty acceptance area 5 years ago
Jonathan G Rennison 1365600bed Merge branch 'jgrpp' into jgrpp-nrt 5 years ago
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
5 years ago
Jonathan G Rennison dbc5f1baed Merge branch 'master' into jgrpp-nrt
# Conflicts:
#	src/fontcache.cpp
#	src/game/game_text.cpp
#	src/lang/korean.txt
#	src/os/macosx/crashlog_osx.cpp
#	src/os/windows/crashlog_win.cpp
#	src/station_cmd.cpp
#	src/viewport.cpp
5 years ago
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
5 years ago
Jonathan G Rennison eab5db9769 Fix corruption of conditional order targets when loading SpringPP savegames 5 years ago
Jonathan G Rennison 97221a67f2 Merge branch 'template_train_replacement' into jgrpp
# Conflicts:
#	src/saveload/vehicle_sl.cpp
5 years ago
Jonathan G Rennison bba36aef1b TBTR: Check for mixed virtual/non-virtual consists on load 5 years ago
Jonathan G Rennison 0f6c5ee622 Fix saveload exception handling when gamelog action in progress 5 years ago
Jonathan G Rennison 36eb4165b8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/bridge_map.h
#	src/crashlog.cpp
#	src/industry.h
#	src/linkgraph/linkgraph_type.h
#	src/order_type.h
#	src/saveload/afterload.cpp
#	src/settings.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/stdafx.h
#	src/table/settings.h.preamble
#	src/train.h
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/viewport_func.h
#	src/widgets/station_widget.h
#	src/zoom_func.h
#	src/zoom_type.h
5 years ago
Jonathan G Rennison f78b72989b Merge branch 'template_train_replacement' into jgrpp
# Conflicts:
#	src/saveload/vehicle_sl.cpp
#	src/train.h
5 years ago
Jonathan G Rennison f1946af707 TBTR: Delete leftover virtual trains on non-network client load 5 years ago
peter1138 f538179878 Feature: Multi-tile docks and docking points. 5 years ago