Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-06-03 | Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways ↵ | Patric Stout | |
we had While at it, replace OTTD_ASSERT with WITH_ASSERT, as this is always set if assert() is valid. No matter if NDEBUG is set or not. | |||
2021-05-31 | Codechange: C++-ify lists for SaveLoad (#9323) | Patric Stout | |
Basically, this changes "SaveLoad *" to either: 1) "SaveLoadTable" if a list of SaveLoads was meant 2) "SaveLoad &" if a single entry was meant As added bonus, this removes SL_END / SLE_END / SLEG_END. This also adds core/span.hpp, a "std::span"-lite. | |||
2021-05-27 | Codechange: pass large parameter by reference instead of value, especially ↵ | rubidium42 | |
in a recursive function | |||
2021-04-21 | Cleanup: Replace single-use Pair struct with std::pair. | Peter Nelson | |
This struct is defined in geometry_type but not used by any geometry-related code, only for subsidy code where both parameters are cast from int to NewsReferenceType. | |||
2021-04-01 | Fix: building on Raspberry Pi failed because of const vs constexpr (#8924) | Patric Stout | |
2021-02-17 | Fix: [SDL2] simplify what to redraw to prevent tearing (#8685) | Patric Stout | |
When there are a lot of rects to redraw, of which one of the last ones is almost the full screen, visual tearing happens over the vertical axis. This is most visible when scrolling the map. This can be prevented by using less rects. To simplify the situation, and as solutions like OpenGL need this anyway, keep a single rect that shows the biggest size that updates everything correctly. Although this means it needs a bit more time redrawing where it is strictly seen not needed, it also means less commands have to be executed in the backend. In the end, this is a trade-off, and from experiments it seems the approach of this commit gives a better result. | |||
2021-01-08 | Codechange: Remove min/max functions in favour of STL variants (#8502) | Charles Pigott | |
2020-12-27 | Codechange: Replace assert_compile macro with static_assert | Charles Pigott | |
2020-12-15 | Codechange: Make use of the improved C++17 emplace_back function. | Michael Lutz | |
2020-07-03 | Fix: Globally apply preprocessor directive coding style | TechGeekNZ | |
Global; except for the 32-bit SSE blitter, which has some #DEFINEs in not-very-nice places. | |||
2020-06-05 | Add: introduce CMake for project management | Patric Stout | |
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-05-21 | Codechange: Replace SmallPair with std::pair. | Michael Lutz | |
std::pair is already the smallest possible pair, and it already handles non-POD types correctly. | |||
2020-02-11 | Fix: OpenBSD endianness detection | Charlène | |
2020-01-07 | Codechange: Remove std::function from Pool iteration wrapper | Jonathan G Rennison | |
Add a separate template wrapper for filtered iteration | |||
2019-12-21 | Fix: unused variable warnings | glx | |
2019-12-21 | Cleanup: remove FOR_ALL_ITEMS | glx | |
2019-12-21 | Add: Allow iteration of pools in range-based for loops | glx | |
2019-11-10 | Cleanup: Removed SVN headers | S. D. Cloudt | |
2019-10-08 | Codechange: Performance improvement in k-d tree FindNearest() | Gabda | |
2019-09-29 | Fix: Some typos found using codespell | JMcKiern | |
2019-08-31 | Codechange: math functions - use cpp-style casts | Nikolas Nyby | |
2019-08-17 | Add #6887: Option to show zone inside local authority boundary of towns | Gabda | |
Can be found at town information > local authority window Layout for button is same as Graph Keys Turn on/off for every town individually | |||
2019-05-04 | Remove: grow() helper function | glx | |
2019-04-29 | Remove: (Simple)TinyEnumT | Charles Pigott | |
2019-04-21 | Codechange: Use std::underlying_type for DECLARE_POSTFIX_INCREMENT. | peter1138 | |
2019-04-21 | Fix: Replace int with std::underlying_type in DECLARE_ENUM_AS_BIT_SET. | peter1138 | |
This fixes 64 bit uses of this macro. | |||
2019-04-18 | Cleanup: remove core/sort_func.hpp as it's not used anymore | glx | |
2019-04-18 | Codechange: use std::vector for _resolutions | glx | |
2019-04-15 | Codechange: No need for AutoFreePtr if there's std::unique_ptr. | Michael Lutz | |
2019-04-15 | Codechange: 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-13 | Fix 801cbea9c: operator< is not always the best idea | glx | |
Also removes unused and anyway broken SmallMap::SortByKey() function. | |||
2019-04-13 | Codechange: use std::sort() for all std::vector types | glx | |
2019-04-10 | Codechange: Use null pointer literal instead of the NULL macro | Henry Wilson | |
2019-04-09 | Remove: 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-09 | Codechange: If something is a vector of strings, use a vector of strings ↵ | Michael Lutz | |
instead of an AutoFreeSmallVector. | |||
2019-04-09 | Codechange: 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-06 | Codechange: 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-03-28 | Fix #7165: Const overload SmallMap::Contains(key) compared wrong types. | Michael Lutz | |
Const and non-const Find() have different return types. | |||
2019-03-28 | Fix #7165: SmallMap::Erase(key) does not work correctly | stormcone | |
2019-03-28 | Fix: MSVC warnings (#7423) | glx22 | |
2019-03-27 | Fix #7421: Don't (directly) dereference std::vector::end() in SmallMap | Charles Pigott | |
2019-03-26 | Codechange: Use range-based for-loop in Auto[Free|Delete]SmallVector | Henry Wilson | |
2019-03-26 | Cleanup: Remove unused size template parameters from SmallMap and ↵ | Henry Wilson | |
Auto[Free|Delete]SmallVector | |||
2019-03-26 | Codechange: Removed SmallVector completely | Henry Wilson | |
2019-03-26 | Codechange: Declare SmallVector as an alias for std::vector | Henry Wilson | |
2019-03-26 | Codechange: Replaced SmallVector::[Begin|End]() with std alternatives | Henry Wilson | |
2019-03-26 | Codechange: Replaced SmallVector::Include() with include() | Henry Wilson | |
2019-03-26 | Codechange: Replaced SmallVector::Find() with std::find() | Henry Wilson | |
2019-03-26 | Codechange: Removed SmallVector::Insert() | Henry Wilson | |
2019-03-26 | Codechange: Replaced SmallVector::Append() with ↵ | Henry Wilson | |
std::vector::[push|emplace]_back() |