Michael Lutz
c558936ec3
Fix 63ccb36ef3: Crash trying to load TTO/TTD savegames. ( #8356 )
2020-12-06 00:29:27 +01:00
dP
452e1e3328
Codechange #8258 : Remove unused town cargo caches from the savegame
2020-07-27 17:32:00 +01:00
TechGeekNZ
a10013dd00
Codechange: Spell 'Viewport' consistently
...
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
2020-07-27 17:31:29 +01:00
dP
7045186594
Change #8159 : Remove now unused town cargo caches without bumping the savegame version
2020-06-28 18:23:59 +02:00
dP
ca2604c4e2
Revert #8157 : Redundant change
2020-06-28 18:23:59 +02:00
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.
2020-06-28 15:32:53 +02:00
Jonathan G Rennison
54237b0e98
Codechange: Move SlSkipBytes to saveload.h
2020-06-28 15:32:53 +02:00
Charles Pigott
64b1c70fdd
Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings that followed
2020-06-27 14:51:14 +01:00
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.
2020-06-22 08:02:42 +02:00
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.
2020-06-05 19:36:05 +02:00
Michael Lutz
63ccb36ef3
Codechange: Use std::string for most of the user-settable custom names.
2020-05-21 20:02:34 +02:00
Michael Lutz
9b6f5e3bb8
Codechange: Store GS lang texts in std::strings.
2020-05-21 20:02:34 +02:00
glx22
cca613e3b8
Fix #8142 , 5aa6351: Buoy owner and tile owner can be different ( #8143 )
2020-05-12 15:22:58 +02:00
glx
5aa6351042
Fix #8132 : Corrupted savegame crashing OpenTTD on load
2020-05-10 20:03:41 +01:00
glx
0ed00ae111
Fix: Stop any gamelog action when recovering from SlError()
2020-05-10 20:02:55 +01:00
glx
bc8333723c
Fix #8021 : limit savegame range for docking tiles fixing
2020-05-06 23:12:59 +02:00
Yexo
64278fd598
Fix: reset roadtype/streetcartype info for non-road bridges
2020-05-06 22:10:08 +02:00
Yexo
19dc31e0b3
Fix #8108 : always update tile_hash after updating v->tile
2020-05-04 23:26:50 +02:00
SamuXarick
8edbb42fe8
Fix c01a2e2: crash on loading old savegames with invalid animated tile information
2020-05-04 21:21:06 +02:00
SamuXarick
c01803cd42
Fix #8108 : possible crash on loading TTD savegames with phantom oil rigs
2020-05-04 21:21:06 +02:00
SamuXarick
57553cd809
Fix #8020 : Add missing docking tiles around industry neutral stations
2020-03-30 08:21:40 +02:00
glx
9116b22386
Fix #8011 , f5381798: Dock tile in TTD savegame was only 2 bytes
2020-02-19 17:45:42 +01:00
glx
2f264f2c92
Change: Heading for 1.11 now
2020-02-08 23:38:49 +01:00
Johannes E. Krause
107283748a
Feature: SLF_HEX to print hexadecimal numbers in the config file
2020-02-06 21:00:30 +00:00
Jonathan G Rennison
c3223903ed
Codechange: Cache resolved town, station and industry name strings
2020-01-12 19:37:43 +00:00
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.
2020-01-12 19:08:38 +01:00
Charles Pigott
d1cead7f25
Fix: When loading old timetabled saves, also reset cached timetable duration
2020-01-05 20:51:26 +00:00
Charles Pigott
cddb8a4605
Fix #7587 : Crash when loading saves with waypoints with invalid locations
2020-01-05 20:51:26 +00:00
Niels Martin Hansen
2fd871e2af
Feature: Configurable game ending year
...
Functionally reverts 683b65ee1
2019-12-28 12:27:39 +01:00
glx
ee7a8eebca
Codechange: Replace FOR_ALL_TOWNS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
0b489f9924
Codechange: Replace FOR_ALL_SUBSIDIES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
847e5f33d4
Codechange: Replace story related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
869581eb23
Codechange: Replace FOR_ALL_SIGNS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
b91abd3af9
Codechange: Replace FOR_ALL_ROADSTOPS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
514565fad6
Codechange: Replace FOR_ALL_OBJECTS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
11f178a312
Codechange: Replace FOR_ALL_STORAGES 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
09fa39c5b5
Codechange: Replace linkgraph related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
00c2a98cf3
Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
4ae829cb27
Codechange: Replace FOR_ALL_GROUPS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
f58ce3db19
Codechange: Replace FOR_ALL_GOALS 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
1c92ba8ebe
Codechange: Replace FOR_ALL_CARGO_PAYMENTS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
fa9769f81a
Codechange: Replace FOR_ALL_DEPOTS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
5fce5fa300
Codechange: Replace FOR_ALL_CARGOPACKETS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
60e3cf8aff
Codechange: Replace FOR_ALL_ENGINE_RENEWS 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
glx
3a14cea068
Codechange: Replace FOR_ALL_COMPANIES with range-based for loops
2019-12-21 20:13:03 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Jack Baron
e4f08f2880
Fix: Bump savegame version
2019-10-19 20:31:44 +01:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
peter1138
f538179878
Feature: Multi-tile docks and docking points.
2019-06-30 16:46:32 +02:00
Niels Martin Hansen
140a96b3a0
Change: Limit memory allocations for each Squirrel instance
...
This can avoid out-of-memory situations due to single scripts using up the entire address space.
Instead, scripts that go above the maximum are killed.
The maximum is default 1 GB per script, but can be configured by a setting.
2019-05-11 15:34:33 +02:00
PeterN
83c1678f9e
Fix #7577 : Check if linkgraph station index is valid before dereferencing. ( #7583 )
2019-05-10 21:36:03 +01:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Charles Pigott
63a7df027d
Fix 5db883f: Railtype bits were moved too late, leading to rails under bridges losing their type
2019-04-29 17:46:28 +01:00
Charles Pigott
d9f9a64389
Fix #6507 : Don't try to load invalid depots from older savegames
2019-04-29 17:46:28 +01:00
Charles Pigott
3299d6540b
Cleanup: Delete GetSavegameType function since it's been commented out since 2005
2019-04-29 17:46:28 +01:00
Charles Pigott
9da1c5bb0b
Fix: Crash when attempting to load old save game with GRFs set
...
GroupStatistics pool was not initialised before trying to delete vehicles (specifically, trams with no tram track)
2019-04-29 17:46:28 +01:00
Charles Pigott
327ff89808
Codechange: Remove PauseModeByte
2019-04-29 17:40:22 +01:00
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
2019-04-29 17:40:22 +01:00
Charles Pigott
931d32f414
Codechange: Remove RailTypeByte type
2019-04-29 17:40:22 +01:00
Charles Pigott
f20b75d712
Codechange: Remove TownLayoutByte type
2019-04-29 17:40:22 +01:00
Charles Pigott
96a4787710
Codechange: Set ZoomLevel's base type to byte instead of using ZoomLevelByte
2019-04-29 17:40:22 +01:00
Michael Lutz
4e85ccf3c0
Codechange: Replace SmallStackSafeStackAlloc with std::array.
...
The only port that ever used it to make heap allocations instead of stack ones was the NDS port, which got thrown out some time ago.
2019-04-15 22:52:50 +01:00
peter1138
4f052fc2a4
Cleanup: Fix alignment after NULL -> nullptr change.
2019-04-13 20:35:10 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Michael Lutz
8b1880187a
Remove: AutoFreeSmallVector.
...
The last use was for storing a list of memory blocks. As the way these lists are accessed is very
specific, it is easier to just write an explicit destructor instead of trying to exactly match the behaviour.
2019-04-09 22:45:15 +02:00
Michael Lutz
e804173595
Codechange: If something is a vector of strings, use a vector of strings instead of an AutoFreeSmallVector.
2019-04-09 22:45:15 +02:00
Michael Lutz
d3e113eb5f
Codechange: Use std::vector instead of AutoDeleteSmallVector in GS text handling.
2019-04-09 22:45:15 +02:00
Michael Lutz
94c5269fa7
Codechange: Use atomic variables for thread synchronization where useful.
2019-04-06 11:27:39 +02:00
Michael Lutz
05bc2ed7cb
Codechange: Replace custom thread code with C++11 thread objects.
...
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
2019-04-06 11:27:39 +02:00
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01:00
Henry Wilson
cc62f4163f
Cleanup: Remove unused size template parameters from SmallMap and Auto[Free|Delete]SmallVector
2019-03-26 20:15:57 +00:00
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
f3938fdb83
Codechange: Replaced SmallVector::Reset() with std::vector::clear() + shrink_to_fit()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
2019-03-26 20:15:57 +00:00
Peter Nelson
f6264e5212
Change: Bump savegame version for tree tile water class conversion.
2019-03-24 15:16:54 +00:00
Peter Nelson
76e77aefad
Fix #7400 : Water class for tree tiles was not converted for old saves preventing industry creation.
...
As the information is always available from the tree ground type, unconditionally
update the map array for tree tiles.
2019-03-24 15:16:54 +00:00
Henry Wilson
af7d9020a1
Codechange: Use override specifer for overriding member declarations
...
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.
Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
2019-03-24 16:10:04 +01:00
Charles Pigott
fe448a2616
Remove: OPF
2019-03-16 22:30:11 +00:00
Patric Stout
7adae09897
Codechange: liblzma is called liblzma, how ever strange that might be
...
It is the only library we use that calls itself with 'lib' in the
name. This might be confusing, but with the arrival of cmake a lot
of these things are automated. And detection will find 'liblzma',
not 'lzma', like with 'lzo', 'zlib', ..
2019-03-11 10:16:00 +01:00
Niels Martin Hansen
e8d397e4ee
Codechange: Make a merged k-d tree index of all viewport signs
2019-03-09 20:27:11 +01:00
Niels Martin Hansen
d84b67e54d
Codechange: Make a k-d tree index of stations
2019-03-09 20:27:11 +01:00
Niels Martin Hansen
7b56be0f3a
Codechange: Make a k-d tree index of towns
2019-03-09 20:27:11 +01:00
Peter Nelson
8b1b3fd0f9
Feature: Non-rectangular sparse station catchment area.
2019-03-09 16:33:47 +00:00
PeterN
6c6971fb43
Add: Road vehicle path cache. ( #7261 )
2019-03-08 23:52:45 +00:00
PeterN
dd20ccee88
Feature: Industries with neutral stations (e.g. Oil Rig) only supply/accept cargo to/from their neutral station. ( #7234 )
...
This change is a controlled by a game setting, located under Environment ->
Industries which allows toggling the behaviour. It defaults to enabled.
"Company stations can serve industries with attached neutral stations"
When enabled, industries with attached neutral station (such as Oil Rigs) may
also be served by company-owned stations built nearby. This is the traditional
behaviour.
When disabled, these industries may only be served by their neutral station.
Any nearby company-owned stations won't be able to serve them, nor will the
neutral station serve anything else other than the industry.
2019-03-08 18:30:44 +00:00
Peter Nelson
b8a0107ad1
Change: Add configurable curve penalty for ships.
2019-03-08 16:52:08 +01:00
Niels Martin Hansen
52572cafa6
Add: Option for population-linear town cargo generation
...
Introduce a new default algorithm for town cargo generation (passengers and mail), and a game setting to choose between the new and original algorithm.
The original town cargo generation algorithm has the property of the generated amount relating to the square of each building's population, meaning large towns easily produce more cargo than can realistically be transported. The problem is excessive cargo is amplified if playing with cargodist.
The new algorithm introduced instead has a linear relation to the population. The result is that smaller towns will produce slightly more cargo, while the largest towns will produce about a fourth of what they would with the original algorithm.
Existing savegames will use the original algorithm, while new games will default to the new algorithm.
2019-03-04 20:19:44 +01:00
frosch
a67ee02529
Change: Heading for 1.10 now ( #7319 )
2019-03-03 20:51:57 +01:00
PeterN
c0c8fb25fb
Change: Use SlErrorCorrupt() on pool index error when loading a savegame, instead of terminating. ( #7219 )
2019-02-13 09:01:49 +00:00
Gabda
37bb2c9308
Codechange: Make the style of MakeVoid calls uniform ( #7192 )
2019-02-08 23:05:25 +00:00
Peter Nelson
64878320cc
Fix #6803 : CargoMonitorID bit packing updated to handle 64 cargo types.
...
This requires a saveload bump to change the bitpacking on loading older saves.
2019-02-04 20:43:14 +00:00
Peter Nelson
0b10678050
Change: Make ships stop in locks to move up/down instead of following the slope.
2019-02-04 20:20:49 +00:00
Peter Nelson
33e3f49161
Fix #7119 : When rotating a ship, apply an additional offset to avoid movement glitch.
2019-02-04 00:19:48 +00:00