Commit Graph

29171 Commits (1dfd0c19f498c89d5a822ef016ab75d116cb7104)
 

Author SHA1 Message Date
Rubidium 1dfd0c19f4 Fix: allow only 255 league tables, as 255 is the invalid id sentinel 2 months ago
Rubidium c377c4740d Codechange: replace cpp_lengthof with safe alternatives 2 months ago
Peter Nelson a1a01e21cf
Change: Use std::make_unique instead of passing new() (#12539) 2 months ago
Rubidium fc7f184dbd Codechange: move knowledge about 'packed' orders to the saveload code 2 months ago
Rubidium 1691b41b54 Codechange: use C++ containers for parsing the settings int lists 2 months ago
Rubidium 434c49a1f8 Codechange: remove now unused endof macro 2 months ago
Rubidium 8fe5fdf122 Codechange: use std::none_of to express clearer what the code does 2 months ago
Rubidium 8986fb0385 Codechange: replace C-style array-pointer methods with the appropriate C++ methods 2 months ago
Peter Nelson 2114888485
Change: De-template BaseSetTextfileWindow. (#12536)
The BaseSet type is not needed after the window is constructed, only the filename and name are required, which can be passed as parameters from `ShowBaseSetTextfileWindow()` instead.

This avoids compiling three instances of `BaseSetTextfileWindow`.
2 months ago
Rubidium e441033d68 Codechange: use std::array instead of C-style array for produced/accepts cargo 2 months ago
Peter Nelson 40fa45a76a Codechange: Emplace std::pair into vectors.
This creates the pair in the vector, instead of creating it then copying it in.
2 months ago
Peter Nelson ed2db80990 Codechange: Use map.emplace() instead of map.insert(std::pair).
This avoids a copy of the pair into the map.
2 months ago
Peter Nelson 57d7359b1a
Codechange: Remove old group liveries savegame conversion. (#12537)
Conversion to set default group livery is in the wrong place (not in `AfterLoadGame()`), however it is not necessary any more as `AfterLoadGame()` always calls the function `UpdateCompanyLiveries()` which will do the same thing.
2 months ago
Peter Nelson 699c7e4c9d
Fix 3de8853e29: Industries accept/produce no cargo for pre-SLV_78 saves. (#12508)
Industry accepted/produced was trimmed too early for original and pre-SLV_78 saves, as cargo type was not stored per slot so all slots look invalid to the trim function.
2 months ago
Peter Nelson 1c31e4b68c
Change: Disallow using Action A to load sprites above the baseset unless reserved. (#12435)
Using Action A above the baseset is error prone as the sprites are not fixed and can be moved around.

Any NewGRF doing so is likely to break in the future, so force it to break instead.
2 months ago
Peter Nelson e028c15555
Codechange: Use std::accumulate to get infrastructure total rail/road pieces. (#12442) 2 months ago
translators 08140fdca3 Update: Translations from eints
dutch: 4 changes by Afoklala
2 months ago
Peter Nelson 6cbb8d02cf Change: Use aspect ratio for shared order list button. 2 months ago
Peter Nelson 5df5e3f45c Change: Use aspect ratio for file home button. 2 months ago
Peter Nelson 2a833a8968 Change: Use aspect ratio for rail station platforms/tracks buttons. 2 months ago
Peter Nelson 7e049aa2b1 Change: Use aspect ratio for common left/right buttons. 2 months ago
Peter Nelson 16eb17418b Change: Use aspect ratios for some common widgets. 2 months ago
Peter Nelson 61c6ebaacc Change: Automatically set aspect ratio of common window decorations. 2 months ago
Peter Nelson d43ff8dc49 Change: Ability to set aspect ratio of a widget.
This allows setting the shape of a widget without dealing with absolute pixel sizes.
2 months ago
Peter Nelson f267b37a33
Codechange: Use std::initializer_list/array in framerate window. (#12441) 2 months ago
Peter Nelson a28ab8cac2
Codechange: Replace C-style casts to size_t with static_cast. (#12455)
* Codechange: Replace C-style casts to size_t with static_cast.

This touches only simple value-type casts.

* Codechange: Replace static_cast<size_t>(-1) with SIZE_MAX

Co-authored-by: Rubidium <rubidium@openttd.org>
2 months ago
Peter Nelson 6ee31a2a22
Codechange: Use string_view in IniItem/IniGroup/IniFile. (#12535)
This avoids making extra copies of strings.
2 months ago
Peter Nelson 3b80a8255f
Fix #12433: Width of unit number display was too narrow. (#12534)
Digit width was counted, but ignored the thousands separator.
2 months ago
translators 7848e80f71 Update: Translations from eints
english (us): 4 changes by 2TallTyler
korean: 11 changes by telk5093
2 months ago
dP 0d1fc47edb
Cleanup: Remove redundant break statement (#12527) 2 months ago
Peter Nelson 774f811217
Codechange: Use std::optional for town parent scope resolver. (#12530)
When resolving NewGRF, the parent town_scope is lazily initialised as it does not always need to be used.

Replace the manually managed pointer with std::optional to simplify. Using std::optional avoids extra memory allocation.
2 months ago
Peter Nelson 3b75d8bbf8 Fix: Use modern comparisons instead of memcmp in cache check.
This uses C++20 default operator<=> to provide comparisons of some objects.

This works properly with caches that containers.
2 months ago
Peter Nelson 21d11ee361 Codechange: Move cache check function to own file. 2 months ago
Peter Nelson db56499c01 Codechange: Use std::array for company infrastructure arrays. 2 months ago
Peter Nelson fe7bd3a266 Codechange: Use std::array for cached town zone radius. 2 months ago
Peter Nelson d57bf84196
Codechange: Remove some unnecessary c_str() when passing std::strings. (#12532)
Functions have been updated from `char *` to `std::string` since without removing `c_str()`.
2 months ago
Peter Nelson 45886e50b2
Codechange: Unify where rail station tile flags are set. (#12531)
This avoids repeating the logic in three places.
2 months ago
Patric Stout 04a3bf76e8
Codechange: upgrade Emscripten to 3.1.57 (#12526)
This also upgrades liblzma to 5.4.6, and uses the new ports.contrib
system Emscripten 3.1.56 introduced.
2 months ago
Patric Stout 08d05bf4c0
Doc: update release documentation with the latest (#12525) 2 months ago
Peter Nelson 4170c9923a
Fix: Inconsistent space between console history and current line. (#12528) 2 months ago
Tyler Trahan 78b83190cc
Fix: Mark vehicle status bars dirty when a vehicle leaves unbunching depot (#12516) 2 months ago
Patric Stout 715f8c0218
Codefix: cast to "CommandCallback *" in a way cast-function-type-mismatch doesn't mind (#12529) 2 months ago
translators c355e98c58 Update: Translations from eints
english (au): 4 changes by krysclarke
russian: 4 changes by Ln-Wolf
finnish: 7 changes by hpiirai
portuguese: 4 changes by azulcosta
portuguese (brazilian): 5 changes by pasantoro
polish: 4 changes by pAter-exe
2 months ago
Peter Nelson 63ce81570c Remove: Custom opendir implementation for Windows no longer needed.
std::filesystem::directory_iterator is now used instead.
2 months ago
Peter Nelson 42523379d9 Codechange: Use directory_iterator in ScanPath.
Replaces use of custom ttd_opendir.
2 months ago
Peter Nelson d7c547d0db Codechange: Use directory_iterator to list directories in file list windows.
This replaces use of custom ttd_opendir. Files are listed separately using ScanPath as that handles downloaded content.
2 months ago
Peter Nelson 5a523cf212 Codechange: Simplify FioCreateDirectory.
`std::filesystem` provides `create_directories()` as a cross-platform way to create a directory tree.
2 months ago
Peter Nelson 6458980413
Change: Draw group hierarchy tree lines. (#12522) 2 months ago
Jonathan G Rennison 83d99ec11d
Fix #12506: Update station/industry nearby lists in BuildOilRig (#12511) 2 months ago
Patric Stout f7bd080015
Codechange: improve desync documentation (#12521) 2 months ago