Rubidium
0fdabca605
Codechange: use std::span instead of custom span in TGP
2024-04-26 06:15:29 +02:00
Peter Nelson
f44d8fa2e4
Codechange: Remove CDECL from filter functions. ( #12578 )
...
These functions are not passed to qsort()...
2024-04-25 22:13:23 +01:00
Peter Nelson
0075a95278
Codefix: Make three _filter_funcs definitions distinct. ( #12573 )
...
Rename the GUIList function lists defined as the same symbol.
2024-04-25 21:01:15 +01:00
Peter Nelson
5bc9854be2
Codechange: Make sort list function lists safer. ( #12574 )
...
GUIList has a pointer only to the start of each sort/filter func list, which has the potential for UB as it is unable to validate that the selected sort or filter type is in range.
Use a std::span instead and check if the selected type is in range before using it.
2024-04-25 21:00:49 +01:00
Jonathan G Rennison
9b747a173d
Fix #12509 : Maintain timer sort invariants when changing period
2024-04-25 20:08:24 +02:00
Jonathan G Rennison
11ec156b64
Codechange: Add a priority field to TimerGameTick::TPeriod
...
Use this as the primary sort key for TimerGameTick::TPeriod,
to avoid container sort order changes on timer period saveload.
See: #12509
2024-04-25 20:08:24 +02:00
André Cheng
57f5d27427
Doc: Fix documentation of GetDefaultValueCallback
2024-04-25 20:07:54 +02:00
André Cheng
ceb0053dd9
Codechange: Correct return type of GetDefaultValueCallback
2024-04-25 20:07:54 +02:00
André Cheng
339b0ea0ff
Change: Show correct default value and unit for vehicle service interval setting
2024-04-25 20:07:54 +02:00
André Cheng
fd80a1ec66
Fix #11345 : Use correct default button value for vehicle service interval setting
2024-04-25 20:07:54 +02:00
André Cheng
a4071b78d7
Codechange: Add callback to IntSettingDesc to support more default values
2024-04-25 20:07:54 +02:00
translators
e8d25d68b9
Update: Translations from eints
...
russian: 2 changes by George-VB
2024-04-25 04:42:18 +00:00
Peter Nelson
e8249e9075
Codechange: Pass buffers for TarFile's ExtractString as span. ( #12567 )
...
ExtractString does not need to find a string terminator as StrMakeValid already does this, so simply pass the full bounds of the buffer.
Removes lengthof, array indices, and needs only the buffer as a parameter.
2024-04-24 21:34:21 +01:00
Peter Nelson
5159aa81d4
Codechange: Use iterators when enabling industries. ( #12569 )
...
Removes lengthof and array indices.
2024-04-24 21:33:49 +01:00
Peter Nelson
26bb87ebf1
Codechange: Replace SaveLoad var length arrays with switch block and sizeof. ( #12570 )
...
SlCalcConvMemLen(), SlCalcConfFileLen() and CalcOldVarLen() follow a pattern of looking up part of a value in an array.
These function returns the size of bytes of a variable type, but is not very clear. Replace with a switch block instead.
Removes lengthof, array indices, and magic numbers.
2024-04-24 21:33:29 +01:00
Peter Nelson
1dc94d0670
Codechange: Construct string_view with first+last. ( #12568 )
...
Avoids needing to calculate size when we already have last.
2024-04-24 21:29:33 +01:00
Peter Nelson
6a3f50aa72
Codechange: Replace separate EffectVehicle arrays. ( #12565 )
...
Combine 3 separate arrays into a single struct. This keeps related data together, and avoids needing to check that each array is same length.
Use of constexpr construct ensures data in the array is not default-initialised.
Removes lengthof.
2024-04-24 21:29:12 +01:00
Peter Nelson
e20f48799e
Codechange: Make StringToContentType() clearer. ( #12566 )
...
Decouples string to ContentType mapping from position within enum.
Slightly less efficient, but removes lengthof, array indices, and casting.
2024-04-24 21:26:31 +01:00
Peter Nelson
5e689ce25e
Codechange: Store cursor sprites in vector. ( #12564 )
...
Combine two separate fixed length arrays to allow simpler iteration.
No need to check that arrays are all the same length.
No need to separately store the number of sprites to draw.
Removes the upper limit of the number of sprites that can be drawn.
Removes lengthof and array indices.
2024-04-24 21:26:07 +01:00
translators
9121770582
Update: Translations from eints
...
korean: 3 changes by telk5093
catalan: 3 changes by J0anJosep
french: 7 changes by ottdfevr
polish: 7 changes by pAter-exe
2024-04-24 04:40:54 +00:00
Peter Nelson
ac6a945e26
Revert 2408a68910: Remove work around for an MSVC bug from 17 years ago. ( #12557 )
2024-04-23 17:05:08 +01:00
Koen Bussemaker
bef11941c6
Change: Allow rail and road depot overbuilding in current orientation in order to connect to rail or road
2024-04-23 13:11:31 +02:00
translators
95de90dd4e
Update: Translations from eints
...
norwegian (bokmal): 7 changes by eriksorngard
danish: 7 changes by bscargo
portuguese (brazilian): 4 changes by pasantoro
2024-04-23 04:40:32 +00:00
Peter Nelson
3814adaba8
Codechange: Simplify GetScrolledItemFromWidget() ( #12556 )
...
Return `auto`, which allows working with const containers, and use std::next instead of std::advance.
2024-04-22 19:00:14 +00:00
translators
c82a2575d7
Update: Translations from eints
...
english (au): 3 changes by krysclarke
english (us): 3 changes by 2TallTyler
greek: 3 changes by gh658804
russian: 3 changes by Ln-Wolf
finnish: 5 changes by hpiirai
turkish: 7 changes by BeratSJ
portuguese: 3 changes by azulcosta
portuguese (brazilian): 3 changes by pasantoro
2024-04-22 04:40:33 +00:00
Rubidium
ded4d63db2
Codechange: simplify access to the current screenshot format
2024-04-21 21:07:05 +02:00
Peter Nelson
d465257dd0
Fix 952d111: Houses and industry tiles could accept incorrect cargo. ( #12547 )
...
Default cargo label was not cleared (set to CT_INVALID) when using older 3-slot acceptance properties for house and industry tiles.
Missed in #12053 and #12062 .
2024-04-21 19:46:05 +01:00
Peter Nelson
3b01d31280
Fix 8746be8: Reinstate current order test when removing road stop. ( #12552 )
...
#12144 replaced pool iteration with FindVehiclesWithOrder, however the test for current_order being OT_GOTO_STATION was erroneously removed.
2024-04-21 19:41:25 +01:00
translators
c073165e34
Update: Translations from eints
...
greek: 5 changes by gh658804
finnish: 2 changes by hpiirai
catalan: 4 changes by J0anJosep
2024-04-21 04:42:00 +00:00
Rubidium
aa895535e6
Fix 5008706: improved scenario editor tooltips in map generation stages are out of place
2024-04-20 21:56:27 +02:00
Peter Nelson
959ced71bb
Codechange: Add constants for original input/output cargo counts. ( #12548 )
...
This replaces some magic 3s and 2s.
2024-04-20 20:50:48 +01:00
Peter Nelson
b4e00fa738
Codechange: Replace C-casts in pool functions. ( #12541 )
2024-04-20 16:50:13 +01:00
Loïc Guilloux
c5ef47ee09
Codechange: [Script] Use std::unique_ptr for Company::ai_instance ( #12544 )
2024-04-20 16:58:46 +02:00
Rubidium
1dfd0c19f4
Fix: allow only 255 league tables, as 255 is the invalid id sentinel
2024-04-20 16:53:04 +02:00
Rubidium
c377c4740d
Codechange: replace cpp_lengthof with safe alternatives
2024-04-20 13:36:19 +02:00
Peter Nelson
a1a01e21cf
Change: Use std::make_unique instead of passing new() ( #12539 )
2024-04-20 11:20:49 +01:00
Rubidium
fc7f184dbd
Codechange: move knowledge about 'packed' orders to the saveload code
2024-04-20 11:58:07 +02:00
Rubidium
1691b41b54
Codechange: use C++ containers for parsing the settings int lists
2024-04-20 11:57:45 +02:00
Rubidium
434c49a1f8
Codechange: remove now unused endof macro
2024-04-20 11:30:46 +02:00
Rubidium
8fe5fdf122
Codechange: use std::none_of to express clearer what the code does
2024-04-20 11:30:46 +02:00
Rubidium
8986fb0385
Codechange: replace C-style array-pointer methods with the appropriate C++ methods
2024-04-20 11:30:46 +02:00
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`.
2024-04-20 10:30:29 +01:00
Rubidium
e441033d68
Codechange: use std::array instead of C-style array for produced/accepts cargo
2024-04-20 11:29:55 +02:00
Peter Nelson
40fa45a76a
Codechange: Emplace std::pair into vectors.
...
This creates the pair in the vector, instead of creating it then copying it in.
2024-04-20 10:25:20 +01:00
Peter Nelson
ed2db80990
Codechange: Use map.emplace() instead of map.insert(std::pair).
...
This avoids a copy of the pair into the map.
2024-04-20 10:25:20 +01:00
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.
2024-04-20 10:25:04 +01:00
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.
2024-04-20 10:24:35 +01:00
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.
2024-04-20 10:23:36 +01:00
Peter Nelson
e028c15555
Codechange: Use std::accumulate to get infrastructure total rail/road pieces. ( #12442 )
2024-04-20 10:22:19 +01:00
translators
08140fdca3
Update: Translations from eints
...
dutch: 4 changes by Afoklala
2024-04-20 04:41:21 +00:00
Peter Nelson
6cbb8d02cf
Change: Use aspect ratio for shared order list button.
2024-04-19 22:11:16 +01:00
Peter Nelson
5df5e3f45c
Change: Use aspect ratio for file home button.
2024-04-19 22:11:16 +01:00
Peter Nelson
2a833a8968
Change: Use aspect ratio for rail station platforms/tracks buttons.
2024-04-19 22:11:16 +01:00
Peter Nelson
7e049aa2b1
Change: Use aspect ratio for common left/right buttons.
2024-04-19 22:11:16 +01:00
Peter Nelson
16eb17418b
Change: Use aspect ratios for some common widgets.
2024-04-19 22:11:16 +01:00
Peter Nelson
61c6ebaacc
Change: Automatically set aspect ratio of common window decorations.
2024-04-19 22:11:16 +01:00
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.
2024-04-19 22:11:16 +01:00
Peter Nelson
f267b37a33
Codechange: Use std::initializer_list/array in framerate window. ( #12441 )
2024-04-19 22:07:56 +01:00
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>
2024-04-19 20:34:36 +01:00
Peter Nelson
6ee31a2a22
Codechange: Use string_view in IniItem/IniGroup/IniFile. ( #12535 )
...
This avoids making extra copies of strings.
2024-04-19 13:54:22 +01:00
Peter Nelson
3b80a8255f
Fix #12433 : Width of unit number display was too narrow. ( #12534 )
...
Digit width was counted, but ignored the thousands separator.
2024-04-19 08:19:31 +01:00
translators
7848e80f71
Update: Translations from eints
...
english (us): 4 changes by 2TallTyler
korean: 11 changes by telk5093
2024-04-19 04:40:34 +00:00
dP
0d1fc47edb
Cleanup: Remove redundant break statement ( #12527 )
2024-04-18 20:54:20 -04:00
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.
2024-04-18 22:14:16 +01:00
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.
2024-04-18 22:13:55 +01:00
Peter Nelson
21d11ee361
Codechange: Move cache check function to own file.
2024-04-18 22:13:55 +01:00
Peter Nelson
db56499c01
Codechange: Use std::array for company infrastructure arrays.
2024-04-18 22:13:55 +01:00
Peter Nelson
fe7bd3a266
Codechange: Use std::array for cached town zone radius.
2024-04-18 22:13:55 +01:00
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()`.
2024-04-18 22:13:13 +01:00
Peter Nelson
45886e50b2
Codechange: Unify where rail station tile flags are set. ( #12531 )
...
This avoids repeating the logic in three places.
2024-04-18 18:54:10 +01:00
Peter Nelson
4170c9923a
Fix: Inconsistent space between console history and current line. ( #12528 )
2024-04-18 17:45:41 +01:00
Tyler Trahan
78b83190cc
Fix: Mark vehicle status bars dirty when a vehicle leaves unbunching depot ( #12516 )
2024-04-18 12:45:00 -04:00
Patric Stout
715f8c0218
Codefix: cast to "CommandCallback *" in a way cast-function-type-mismatch doesn't mind ( #12529 )
2024-04-18 16:41:36 +00:00
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
2024-04-18 04:40:27 +00:00
Peter Nelson
63ce81570c
Remove: Custom opendir implementation for Windows no longer needed.
...
std::filesystem::directory_iterator is now used instead.
2024-04-18 01:41:14 +01:00
Peter Nelson
42523379d9
Codechange: Use directory_iterator in ScanPath.
...
Replaces use of custom ttd_opendir.
2024-04-18 01:41:14 +01:00
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.
2024-04-18 01:41:14 +01:00
Peter Nelson
5a523cf212
Codechange: Simplify FioCreateDirectory.
...
`std::filesystem` provides `create_directories()` as a cross-platform way to create a directory tree.
2024-04-18 01:41:14 +01:00
Peter Nelson
6458980413
Change: Draw group hierarchy tree lines. ( #12522 )
2024-04-17 21:55:19 +01:00
Jonathan G Rennison
83d99ec11d
Fix #12506 : Update station/industry nearby lists in BuildOilRig ( #12511 )
2024-04-17 22:38:11 +02:00
Patric Stout
f7bd080015
Codechange: improve desync documentation ( #12521 )
2024-04-17 20:36:08 +00:00
Patric Stout
07b162ffc4
Codechange: skip all commands of the past during desync replay ( #12520 )
2024-04-17 20:05:45 +00:00
Patric Stout
a0636d8200
Codechange: use infinite-fast-forward when rerunning command-log ( #12519 )
2024-04-17 20:01:58 +00:00
Patric Stout
a09749f6a6
Codefix: don't send desync=0 log messages to commands.log ( #12517 )
...
They are only used during replay, and you want to see those in
the console; not in the log.
2024-04-17 19:51:36 +00:00
Patric Stout
1005c86c62
Codechange: record cache warnings with a "warning" prefix ( #12518 )
2024-04-17 19:49:55 +00:00
Tyler Trahan
a02da5476e
Fix: Don't show train waiting for unbunching as waiting for free path ( #12515 )
2024-04-17 15:04:16 -04:00
Tyler Trahan
5878d09ef2
Fix: Smooth outliers in unbunching round trip calculations ( #12513 )
2024-04-17 15:03:53 -04:00
Tyler Trahan
824687d1f0
Codefix: Don't mix signed and unsigned ints in unbunching calculations ( #12514 )
2024-04-17 14:42:49 -04:00
Jonathan G Rennison
0b9029b69c
Fix: Station/industry nearby list checks in CheckCaches
2024-04-17 20:33:49 +02:00
Peter Nelson
ef8eb66a2b
Fix c38df2d58: Use VehicleID instead of pointer in map of vehicles to replace. ( #12512 )
...
This affects the sort order, VehicleID is deterministic, Vehicle * is not.
2024-04-17 18:54:50 +01:00
Paco Esteban
b477a8458c
Codechange: Use arc4random_buf on random_func.cpp for OpenBSD
2024-04-17 19:29:26 +02:00
translators
018326321c
Update: Translations from eints
...
english (us): 5 changes by 2TallTyler
latvian: 1 change by lexuslatvia
2024-04-17 04:40:56 +00:00
Koen Bussemaker
257d312a58
Fix #12228 , Fix #12231 : CheckShipReverse only restricts path when it has to
2024-04-16 20:21:18 +02:00
Rubidium
b2218e75d4
Codefix: missing space between close parenthesis and open curly brace
2024-04-16 19:28:09 +02:00
Peter Nelson
48eb9b8bc9
Add: Check that towns can build roads before generating map. ( #12503 )
2024-04-16 15:25:07 +00:00
translators
8e2ccddd77
Update: Translations from eints
...
portuguese (brazilian): 2 changes by pasantoro
2024-04-16 04:40:57 +00:00
Peter Nelson
3ad143c43a
Codechange: Use `x = y` instead of `x{y}` for value-type member initialisation. ( #12501 )
...
This is easier to read and less likely to look like an array definition.
2024-04-15 23:07:36 +01:00
ladysadie
727392e0b3
Codechange: Remove per font AA settings. ( #12413 )
...
OpenTTD will use the global AA font setting for all fonts from now on.
2024-04-15 21:44:33 +02:00
Peter Nelson
a1b03ee69e
Codechange: Replace platform-specific calls with std::filesystem::last_write_time. ( #12487 )
2024-04-15 18:10:19 +00:00
dP
f5a50a874f
Codechange: Update doxygen comment to reflect removed parameter ( #12499 )
2024-04-15 12:40:50 +02:00