summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-11Fix 50e08f333a: Creating a cargo subsidy with town as source did not ↵SamuXarick
consider min population. (#7493)
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-10Fix #7494: std::sort() and qsort() use different comparators (#7495)glx22
2019-04-10Update: Translations from eintstranslators
luxembourgish: 17 changes by Phreeze spanish (mexican): 2 changes by njn
2019-04-09Fix: Crash due to use of invalid iterator in ClientNetworkContentSocketHandlerJonathan G Rennison
In particular this crash can be observed when using the bootstrap GUI to download the base graphics. In ClientNetworkContentSocketHandler::OnReceiveContentInfo ClientNetworkContentSocketHandler::callbacks is iterated, using an iterator cb->OnReceiveContentInfo() is called (cb is of type BootstrapAskForDownloadWindow) This calls new BootstrapContentDownloadStatusWindow() This inherits from BaseNetworkContentDownloadStatusWindow The constructor of which calls _network_content_client.AddCallback(this) This reallocates the std::vector which is being iterated in ClientNetworkContentSocketHandler::OnReceiveContentInfo This results in iter being invalid, and an assertion failure occurs shortly afterwards due to its use in the next iteration of cb->OnReceiveContentInfo() Adjust all locations where ClientNetworkContentSocketHandler::callbacks is iterated to avoid problematic behaviour
2019-04-09Remove: AutoFreeSmallVector.Michael Lutz
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-09Codechange: If something is a vector of strings, use a vector of strings ↵Michael Lutz
instead of an AutoFreeSmallVector.
2019-04-09Codechange: Switch DropDownList to directly use std::vector, thus making ↵Michael Lutz
AutoDeleteSmallVector obsolete. DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate copy-free code for most situations.
2019-04-09Codechange: Use std::vector instead of AutoDeleteSmallVector in GS text ↵Michael Lutz
handling.
2019-04-09Codechange: Replace AutoDeleteSmallVector with direct std::vector use in ↵Michael Lutz
text layout code.
2019-04-09Codechange: Store text layout runs directly as values in a std::vector ↵Michael Lutz
instead of heap allocated. This reduces memory allocations and heap fragmentation.
2019-04-09Fix: Forgotten override keywords for DropDownListIconItem.Michael Lutz
2019-04-09Codechange: Use override specifier for text layout classes.Michael Lutz
2019-04-09Fix: Don't crash if reading a GS string file from disk produces an error.Michael Lutz
The raw_strings vector may not include NULLs as no consumer can deal with it.
2019-04-09Update: Translations from eintstranslators
luxembourgish: 20 changes by Phreeze
2019-04-08Fix #7478: Don't remove NewGRF objects on company take-over. (#7483)PeterN
2019-04-08Fix #6222: Advanced sprite layout sometimes showed incorrect railtype ground ↵kiwitreekor
tile
2019-04-07Fix: [Windows] OpenTTD window may be inactive when an error happens (#7482)glx22
2019-04-06Codechange: C++11 STL has a function for getting the number of CPU cores.Michael Lutz
2019-04-06Codechange: Use platform independent C++11 function for sleeping on a thread.Michael Lutz
2019-04-06Codechange: Use atomic variables for thread synchronization where useful.Michael Lutz
2019-04-06Codechange: Replace custom thread code with C++11 thread objects.Michael Lutz
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-06Codechange: Replace custom mutex code with C++11 mutex'es.Michael Lutz
A conforming compiler with a valid <mutex>-header is expected. Most parts of the code assume that locking a mutex will never fail unexpectedly, which is generally true on all common platforms that don't just pretend to be C++11. The use of condition variables in driver code is checked.
2019-04-06Fix: [OSX] .mm files are C++ files, not C files.Michael Lutz
2019-04-05Fix: [MSVC] don't force SDK version (#7474)glx22
2019-04-05Fix #7439: don't overwrite CompanyRemoveReason with ClientID (#7465)glx22
2019-04-05Cleanup 3f32711: Don't apply forbid 90 deg turn settings for ships.Samu
2019-04-04Fix #7469: Desync when using build and refit feature.peter1138
2019-04-05Update: documentation updates from 1.9 branchPatric Stout
2019-04-02Update: Translations from eintstranslators
french: 3 changes by glx croatian: 17 changes by VoyagerOne
2019-04-02Fix #7440: Remove town sign when deleting town, not add it once moreNiels Martin Hansen
2019-04-01Update: Translations from eintstranslators
dutch: 2 changes by JanWillem french: 19 changes by glx
2019-03-31Update: Translations from eintstranslators
english (us): 3 changes by Supercheese spanish (mexican): 18 changes by Absay hungarian: 2 changes by Brumi latin: 33 changes by Supercheese
2019-03-31Codechange: Remove ship max order distance from script API.peter1138
2019-03-31Change: Remove ship max order distance.peter1138
It is skipped when NPF is in use. It is trivial to work around by adding and removing dummy orders. It is mostly alleviated by the ship path cache in YAPF.
2019-03-31Fix #7062, Revert 7af53d7588: Don't test ship max order distance when ↵peter1138
pathfinding.
2019-03-31Fix 6fc60d8c4f: forgot to update API changelogglx
2019-03-31Change: Shorten engine rail type drop down in autoreplace window. (#7448)PeterN
In the autoreplace window, the rail type drop down is for choosing engines of the given time. Many rail types do not have engines specifically designed for them, and are merely compatible with other rail types. This list is thus unwieldy and many options have no engines available. As this drop down is for choosing _engine_ rail type rather than compatible rail types, we can list just the rail types explicitly listed by engines.
2019-03-30Codechange: Check airport layout would fit within map bounds before ↵PeterN
iterating tiles. (#7429)
2019-03-30Fix aa7ca7fe6: Linkgraph node index order must be maintained due to other ↵PeterN
references. (#7431) Linkgraph nodes require a specific order that was maintained by swapping just the last element for the node to be removed. std::vector::erase() changed this to removing the node is then shuffling the remain items down, which upsets other references to this indices. This is fixed by switching back to the original swap & pop method.
2019-03-30Change: adjust Violet smallmap colour 1 shade darker, to compensate for ↵Andy
legibility against darker blue of sea introduced by #7436
2019-03-30Fix #7433: don't use AirportSpec substitute if it's not set (#7435)glx22
2019-03-30Fix: Fluidsynth should not try to lock sample data in memoryNiels Martin Hansen
2019-03-30Change: [SDL] Do not offer video smaller than 640x480Niels Martin Hansen
2019-03-30Fix #7447, 3357cac847: Action 4 has feature 48 'original strings'. (#7449)frosch
2019-03-30Update: Translations from eintstranslators
italian: 25 changes by lorenzodv portuguese: 3 changes by JayCity
2019-03-29Change: Dark Blue company and water were indistinguishable in small map. (#7436)SamuXarick
2019-03-29Update: Translations from eintstranslators
korean: 14 changes by telk5093
2019-03-29Codechange: Distance between town and airport has already just been found, ↵PeterN
so use it. (#7427) Previously the distance was thrown away, only to be expensively recalculated again.
2019-03-29Fix #7434: Incorrect use of vector iterator. (#7437)PeterN