summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-18Codechange: use std::vector to sort _all_grfs linked listglx
2019-04-18Codechange: use std::vector for _language_dropdownglx
2019-04-18Codechange: use std::vector for _resolutionsglx
2019-04-18Codechange: use std::vector for _sorted_railtypesglx
2019-04-18Codechange: use std::vector for _sorted_cargo_specsglx
2019-04-17Update: Translations from eintstranslators
indonesian: 9 changes by fanioz
2019-04-16Fix #7235: Ensure catchment area of neutral station covers entire industry. ↵PeterN
(#7518)
2019-04-16Update: Translations from eintstranslators
indonesian: 6 changes by fanioz
2019-04-15Codechange: No need for AutoFreePtr if there's std::unique_ptr.Michael Lutz
2019-04-15Codechange: Replace SmallStackSafeStackAlloc with std::array.Michael Lutz
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-15Fix: Typos. (#7517)stormcone
2019-04-15Update: Translations from eintstranslators
luxembourgish: 1 change by Phreeze
2019-04-13Cleanup: Fix alignment after NULL -> nullptr change.peter1138
2019-04-13Fix 801cbea9c: operator< is not always the best ideaglx
Also removes unused and anyway broken SmallMap::SortByKey() function.
2019-04-13Fix: Industry coverage area is no longer rectangular. (#7464)PeterN
AIs test station catchment in reverse to how players see station catchment. This did not take account of non-rectangular station catchment areas, so AIs could end up placing stations in locations that did not accept/deliver cargo.
2019-04-13Codechange: Replace duplicated code with TileArea::Expand() (#7467)PeterN
2019-04-13Codechange: use std::sort() for all std::vector typesglx
2019-04-13Codechange: use std::sort() to sort file listsglx
2019-04-13Codechange: use std::sort() in EngList_Sort[Partial]()glx
2019-04-13Codechange: use std::sort() in GUIListglx
2019-04-13Change: Always report error when ordering a road vehicle to wrong type of ↵PeterN
road stop. (#7316) This was inconsistent before, depending on road/tram and articulated/single vehicle status.
2019-04-11Codechange: Replace NULL with nullptr in squirrel interface.peter1138
2019-04-11Codechange: NULL -> nullptr in settings files.peter1138
2019-04-11Fix #7491: Send company update admin message when bankruptcy counter changes.peter1138
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