1
0
Fork 0
Commit Graph

23359 Commits (5dc02a686f63d74dfd1463d526c0f47f1d5ce8e8)

Author SHA1 Message Date
translators 65c9df49d9 Update: Translations from eints
chinese (simplified): 8 changes by XiaoJi-Game
catalan: 3 changes by J0anJosep
2024-05-02 04:41:51 +00:00
Fen 2559bdfa6f
Fix 2d27e8e: Update numpad keycodes for SDL2, making it usable (#12596)
* Fix 2d27e8e: Update numpad keycodes for SDL2, making it usable

* Cleanup: List sdl2 numpad mappings individually
2024-05-01 23:10:01 +02:00
Jonathan G Rennison 9647fe1d05 Change: [Linkgraph] Improve distance scaling algorithm in demand scaler
Improve scaling at values other than 0% and 100%
Fix erratic scaling and increase effect size at large setting values
2024-05-01 22:40:17 +02:00
Peter Nelson f146680121
Codechange: Use vector for industry random sounds. (#12606)
Use a vector to store the list of random sounds played for an industry.

The removes manual memory allocation, flags to control memory management, a separate count member, and a try/catch block.
2024-05-01 19:55:00 +00:00
Peter Nelson 7147fe9e7a
Codechange: Use range-for when loading NewGRF deterministic sprite groups. (#12605) 2024-05-01 18:59:46 +00:00
Peter Nelson 532ce1a907
Codechange: Use Recv/Send_bytes for md5sum. (#12602)
Use existing functions to handle serialisation of arrays instead of indexed for-loop.
2024-05-01 18:55:54 +01:00
Peter Nelson 1424a184d8
Codechange: Use vector/span when loading wagon overrides. (#12604)
Replaces manual memory allocation and passing pointer with size.
2024-05-01 18:23:27 +01:00
translators 96d82b4363 Update: Translations from eints
chinese (simplified): 1 change by WenSimEHRP
greek: 52 changes by KyriakosMich
german: 3 changes by Wuzzy2
basque: 36 changes by Porrumentzio
danish: 3 changes by bscargo
2024-05-01 04:41:08 +00:00
translators 4df44fea38 Update: Translations from eints
swedish: 3 changes by joeax910
galician: 63 changes by pvillaverde
2024-04-30 04:40:35 +00:00
Peter Nelson cc6e4768a9
Fix: Out-of-order window set up due to deferred window resize. (#12592)
Deferred window resize was being applied to the initial window resize event, resulting in some window state (e.g. scroll bar capacity) not being initialised when expected.
2024-04-29 17:05:35 +01:00
translators b852a3f408 Update: Translations from eints
english (us): 3 changes by 2TallTyler
korean: 3 changes by telk5093
hungarian: 2 changes by meskobalazs
2024-04-29 04:40:19 +00:00
rubidium42 fd4cf699e5
Codefix 37a03b5: the return value of maxdim should always be assigned (#12590) 2024-04-28 17:42:58 +00:00
Rubidium 98d37338df Codechange: use ranged for loop instead of one with lengthof 2024-04-28 19:42:44 +02:00
Rubidium 24b6ec80a9 Codechange: use ranged for loop and vector to determine the disaster to deploy 2024-04-28 19:42:44 +02:00
Rubidium 87dbd4a833 Codechange: use ranged for loop to determine widest title 2024-04-28 19:42:44 +02:00
Rubidium d183d8e587 Codechange: remove INVALID_STRING_ID now drop down uses spans 2024-04-28 18:47:31 +02:00
Rubidium 37a03b513f Codechange: refactor string list dimension finding into a separate function 2024-04-28 18:47:31 +02:00
Rubidium 546a996d95 Codechange: pass options to ShowDropDownMenu using a span 2024-04-28 18:47:31 +02:00
Rubidium ad50c4f298 Codechange: inline sorter name definitions and use proper static accessor instead of (implying) this-> 2024-04-28 18:47:31 +02:00
Peter Nelson ef55cc7979
Codechange: Remove support for links in tar files. (#12571)
This was a feature to support the original 32bpp sprite system and is no longer relevant.
2024-04-28 15:18:24 +01:00
Loïc Guilloux 99b74c1064
Fix #12584: Improved error handling during tar scan (#12586) 2024-04-28 16:08:32 +02:00
Rubidium 826deaee57 Codechange: refactor CalcHeightdiff to remove some magic numbers 2024-04-28 16:05:21 +02:00
Rubidium 97a34bf06e Codechange: use C++ containers for the colour schemes 2024-04-28 16:04:54 +02:00
translators ee9895a970 Update: Translations from eints
norwegian (bokmal): 3 changes by eriksorngard
french: 3 changes by ottdfevr
portuguese: 3 changes by azulcosta
2024-04-28 04:41:11 +00:00
Peter Nelson 440a633fcc Codechange: Remove shrink_to_fit for more lists.
A comment about "will actually do nothing" is out of date as that is not the case with std::vector.

These lists are always short lived (either within a command handler or in a window) so don't shrink_to_fit.
2024-04-27 19:25:34 +01:00
Peter Nelson 33aedc43a5 Codechange: Shrink GUIList vectors less often, reserve before use.
After sorting and filter lists for GUI, we often shirnk them to reduce size. However this has very little benefit:

1) The memory has already been allocated, so it doesn't prevent that memory being required.
2) It causes a new allocation and copy when the vector is shrunk, actually using more memory.
3) The list is in window state, so the lifetime is only while the window is open.
4) When a filter is clearer, the original size will be needed again, which will cause another allocation.

In fact it is beneficial to reserve to the known maximum in most cases, so do that instead.
2024-04-27 19:25:34 +01:00
translators 8308998388 Update: Translations from eints
english (au): 3 changes by krysclarke
russian: 3 changes by Ln-Wolf
finnish: 6 changes by hpiirai
dutch: 6 changes by Afoklala
portuguese (brazilian): 4 changes by pasantoro
polish: 3 changes by pAter-exe
2024-04-27 04:40:44 +00:00
Peter Nelson bf8de188ec
Codechange: Use member initialization of GRFFilePropsBase. (#12581)
Don't blame compilers for our sloppy initialisation.

Removes memset, and lengthof.
2024-04-26 22:58:54 +01:00
Peter Nelson 72c55128d2
Codechange: Remove write-only spec_id from RoadStopSpec. (#12582)
Comment is incorrect about its value too.
2024-04-26 21:56:30 +01:00
Peter Nelson a6d401debf
Fix: Properly test for presence of waypoint in NewGRF resolver. (#12579)
Test whether the BaseStation itself a Station or Waypoint, instead of by the station class ID assigned to it.
2024-04-26 17:47:53 +01:00
translators a60a81f34e Update: Translations from eints
swedish: 7 changes by joeax910
vietnamese: 15 changes by anmatngu
greek: 31 changes by gh658804, 2 changes by KyriakosMich
hungarian: 2 changes by egri-nagy
portuguese (brazilian): 2 changes by pasantoro
2024-04-26 04:41:25 +00:00
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
translators cd108fd9e4 Update: Translations from eints
greek: 10 changes by gh658804
2024-04-15 04:44:34 +00:00
Peter Nelson 839f486074
Codechange: Use directory_iterator to find language files. (#12495)
This avoids using custom ttd_opendir, along with C-style string comparisons against file names.
2024-04-14 23:57:26 +01:00
Peter Nelson 4eaeccdaeb
Codechange: Introduce FioRemove() to remove files. (#12491)
New function FioRemove() handles OTTD2FS conversion, and uses std::filesystem::remove instead of unlink, all in one location.
2024-04-14 23:43:50 +01:00
translators 29e932e087 Update: Translations from eints
ukrainian: 13 changes by imlystyi
lithuanian: 19 changes by dziugas1959
french: 7 changes by ottdfevr
portuguese (brazilian): 14 changes by pasantoro
2024-04-14 05:02:47 +00:00
translators 090c3b3abf Update: Translations from eints
danish: 5 changes by bscargo
dutch: 5 changes by Afoklala
portuguese (brazilian): 7 changes by pasantoro
2024-04-13 04:40:27 +00:00
Peter Nelson e83e2df023
Fix: Build industry window did not take width of count into account. (#12476) 2024-04-12 23:07:31 +01:00
Peter Nelson 12125bad82
Fix 3de8853e: Industry cargo types callback no longer functioned due to container change. (#12489)
Use defined INDUSTRY_NUM_INPUTS/INDUSTRY_NUM_OUTPUTS values instead of container size, which is now empty at this point.
2024-04-12 23:07:07 +01:00
Peter Nelson c1520cf682
Fix 25aeb1c: Driver parameter documentation was not updated. (#12486) 2024-04-12 17:01:40 +00:00
Peter Nelson ca73f03334
Codechange: Use std::filesystem::remove/rename in settingsgen. (#12483) 2024-04-12 14:32:35 +01:00
Peter Nelson 44b8210037
Codechange: settingsgen's CopyFile actually appends. (#12485) 2024-04-12 13:01:16 +01:00
Peter Nelson 003906becb
Codechange: std::filesystem::rename does not need remove first. (#12484) 2024-04-12 12:51:42 +01:00
translators bb9b8b90c7 Update: Translations from eints
swedish: 6 changes by sereneavatar
portuguese (brazilian): 11 changes by pasantoro
2024-04-12 04:41:30 +00:00
Peter Nelson 9915c1f032
Fix #12477: Use std::filesystem::rename instead of Windows Shell API call. (#12478) 2024-04-11 21:35:40 +01:00
Rubidium eda10abc8c Codechange: pass command line arguments as std::span to openttd_main 2024-04-11 21:57:53 +02:00
Peter Nelson 3316b27496
Fix: Signature validation did not close its file. (#12479) 2024-04-11 13:37:29 +00:00
Rubidium afd7878de0 Codechange: internally use a span of arguments for GetOptData 2024-04-11 12:00:36 +02:00
Rubidium 5592b4409b Codechange: use ranged for loop and separate function instead of goto 2024-04-11 12:00:36 +02:00
Rubidium e8a56db21d Codechange: use designated initializers for OptionData and pass as span 2024-04-11 12:00:36 +02:00
Rubidium 4f2412a272 Codechange: range based for loops instead of C-style for loops 2024-04-11 07:05:04 +02:00
Rubidium 2587a21400 Codechange: use zero-initialization instead of C-style loop 2024-04-11 07:05:04 +02:00
Rubidium ff27b9e76a Codechange: use std::any_of instead of custom loop 2024-04-11 07:05:04 +02:00
translators 6cade18053 Update: Translations from eints
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by pAter-exe
2024-04-11 04:41:57 +00:00
rubidium42 442daf58da Codechange: replace lengthof with std::size in Windows specific code 2024-04-10 23:17:13 +02:00
Peter Nelson 6bc4a62c27 Codechange: Pass std::string_view from blitters instead of char *. 2024-04-10 22:02:04 +01:00
Peter Nelson 332cbca36e Codechange: Pass std::string_view from drivers instead of char *. 2024-04-10 22:02:04 +01:00
Peter Nelson a42aa1a086
Codechange: Remove cargo_suffix C-array from GetIndustryString. (#12472)
The information is pushed onto a vector, so string ownership can be moved there instead of using a pointer into to the CargoSuffix array.
2024-04-10 21:32:21 +01:00
Peter Nelson 144bcbbaf1
Fix: Use clear() to clear std::string. (#12471) 2024-04-10 17:27:30 +00:00
Rubidium 21b640b5ff Codechange: simplify president name generation 2024-04-10 18:57:53 +02:00
translators f0f97c698b Update: Translations from eints
norwegian (bokmal): 11 changes by eriksorngard
russian: 5 changes by Ln-Wolf
spanish: 5 changes by MontyMontana
portuguese (brazilian): 7 changes by pasantoro
2024-04-10 04:40:30 +00:00
Peter Nelson 1773c5b810
Change: Increase object/station/roadstop class limit. (#12094)
The class limit is arbitrary and not stored in game state.

This change prevents all entities in classes after the 255th class from being dumped into the first class.
2024-04-09 23:16:20 +01:00
Rubidium df8eeb1b10 Codechange: use C++ algorithms to determine the SaveLoadFormat 2024-04-09 23:36:39 +02:00
Peter Nelson 77f27e0804 Change: Expose NewGRF classes and specs as spans and simplify iteration.
This replaces some index-based loops with range loops.
2024-04-09 21:46:59 +01:00
Peter Nelson 052f421327 Change: Use vector/iterators/algorithms instead of C-array/loops for NewGRF classes. 2024-04-09 21:46:59 +01:00
Peter Nelson 34758d0921 Change: Allow string mapping by function instead of pointer.
This allows mapping of strings to objects that may be moved between loading stages.
2024-04-09 21:46:59 +01:00
Peter Nelson 90ca3515da
Fix #12459, f6a88e4: Crashes when deleting news messages. (#12460)
The updated logic in f6a88e4 for deleting news messages did things in the wrong order.
2024-04-09 21:46:29 +01:00
Peter Nelson 2976a46d06
Fix 54be756: Terminating NUL byte was not skipped in ReadString(). (#12462) 2024-04-09 15:15:09 +01:00
Rubidium 883d3e7a9f Codechange: use std::span instead of pointer + length 2024-04-09 10:11:50 +02:00
Peter Nelson 54be756aae
Codechange: Pass NewGRF strings as std::string_view instead of char *. (#12461) 2024-04-09 08:40:27 +01:00
Peter Nelson dc7c2bb30d
Fix: Draw continuation lines for engine variant hierarchy tree. (#12434) 2024-04-09 08:35:12 +01:00
Peter Nelson de4e00c93f
Codechange: Pass by reference to UpdateWidgetSize. (#12457)
These parameters are always provided and not optional.
2024-04-09 08:34:45 +01:00
translators b5ad28022d Update: Translations from eints
english (au): 5 changes by krysclarke
chinese (simplified): 1 change by WenSimEHRP
catalan: 7 changes by J0anJosep
portuguese (brazilian): 27 changes by pasantoro
2024-04-09 04:40:33 +00:00
Peter Nelson 1b127628cb
Codechange: Use dynamic_cast with FindWindowById. (#12458)
Missed from 74e09ab.
2024-04-08 22:32:57 +01:00
Peter Nelson 7e28605830 Fix: Use reinterpret_cast instead of C-style cast to align pointers. 2024-04-08 18:21:42 +01:00
Peter Nelson 4daf95b878 Fix: Use static_cast instead of C-cast to avoid hidden errors. 2024-04-08 18:21:42 +01:00
Peter Nelson cdfffb551c Fix: sym->sym accidentally changed to sym prevented keys working with SDL. 2024-04-08 18:21:42 +01:00
Peter Nelson 74e09abf76
Codechange: Use dynamic_cast instead of C-cast after FindWindowById. (#12448)
dynamic_cast was used in most places, but not all.
2024-04-08 13:26:19 +01:00
Rubidium 4e6d4fcf32 Codechange: replace for loops with endof with range-based for loops 2024-04-08 07:00:55 +02:00
translators 095bdf32fe Update: Translations from eints
greek: 5 changes by gh658804
finnish: 7 changes by hpiirai
ukrainian: 56 changes by Quantom2, 14 changes by imlystyi
latvian: 14 changes by lexuslatvia
portuguese: 14 changes by azulcosta
portuguese (brazilian): 10 changes by pasantoro
polish: 5 changes by pAter-exe
2024-04-08 04:41:24 +00:00
Rubidium 62f5c595f3 Codechange: use range-based for loops and let count be correct count 2024-04-07 23:08:33 +02:00
rubidium42 4718971ccc Codechange: use std::size instead of lengthof for town names 2024-04-07 23:08:07 +02:00
Peter Nelson 995fca58a2
Codechange: Use begin/end instead of endof for some industry arrays. (#12447) 2024-04-07 22:01:46 +01:00
Rubidium d7fa614a9d Codechange: use range-based for loop for debug levels and fix global variable naming 2024-04-07 22:17:57 +02:00
Rubidium 1fcf1a136d Codechange: use single function returning std::span over two functions that return size and begin 2024-04-07 22:02:16 +02:00
translators 0f6bf90731 Update: Translations from eints 2024-04-07 04:41:19 +00:00
Peter Nelson eb094a953c
Codefix: Social Plugins widget parts were not constexpr. (#12443)
Widget lists were made constexpr except these.
2024-04-06 22:32:26 +00:00
Peter Nelson 34ba969c74
Change: Display more useful information in sprite aligner than sprite ID. (#12439)
Sprite IDs are not useful information given they change don't refer to anything outside the loaded game.

Instead, include the filename and nfo line at minimum, and include action A or action 5 sprite replacement information if applicable.
2024-04-06 21:16:02 +01:00
Peter Nelson fbdf26800b
Codechange: Use std::initializer_list and range-for for credits window. (#12431)
Replaces C-style array, indexed looping, and char * strings.
2024-04-06 19:30:23 +01:00
Peter Nelson a4c2f0778a
Codechange: Use range-for to iterate keycode-to-name lookups. (#12429)
Replaces C-style looping.
2024-04-06 19:30:01 +01:00
Peter Nelson b905209421
Fix: Viewport signs assume small font is smaller than normal font. (#12422)
If the small font is set to a larger size than the normal font for some reason, viewport signs would be drawn incorrect as the area marked dirty only considered the normal size font.
2024-04-06 19:29:41 +01:00
Peter Nelson 830c9e2de8 Codechange: Simplify iteration of framerate performance elements. 2024-04-06 19:28:51 +01:00
Rubidium 97bea563d7 Codechange: let lengthof fail when anything that isn't a C-style array is passed 2024-04-06 07:21:31 +02:00
Rubidium c544a2be0a Fix: do not use lengthof() for non C-style arrays 2024-04-06 07:21:31 +02:00
translators eaafc57de6 Update: Translations from eints
swedish: 6 changes by joeax910
norwegian (bokmal): 2 changes by eriksorngard
chinese (simplified): 2 changes by WenSimEHRP
dutch: 2 changes by Afoklala
2024-04-06 04:41:24 +00:00
Peter Nelson 8e881471c1 Codechange: Pass replacement blitter name as string_view instead char *. 2024-04-05 23:23:33 +01:00
Peter Nelson 6771dbe62b Codechange: Use range-for to find replacement blitter. 2024-04-05 23:23:33 +01:00
Peter Nelson a866166673
Codechange: Use initializer_list and range-for for OpenTTD title. (#12430)
Replaces C-style array and looping.
2024-04-05 21:52:50 +01:00
Peter Nelson 2cc700d606
Codechange: Replace colour_dropdown array with StringID arithmetic. (#12426)
This assumes that the string colours are in order, but that is already assumed elsewhere.

Removes old C-style array access.
2024-04-05 21:51:36 +01:00
Peter Nelson 83da886093
Fix: Aircraft crash counter was too low to reach ground. (#12425)
Aircraft can float above the ground when crashed as the counter limit to reach the ground is too low.

Instead reset the counter until the aircraft reaches the ground, then continue the timer.
2024-04-05 19:16:22 +01:00
Peter Nelson e8c78df39e
Fix #12233: Mini order list overlaps vehicle group name. (#12423)
Move mini order list down one line to make room.
2024-04-05 08:18:12 +01:00
Peter Nelson d11622b9a0
Fix #12114: Viewport coords of crashed aircraft not updated when falling. (#12424)
This results in the aircraft glitching as the wrong viewport area is drawn.
2024-04-05 08:17:42 +01:00
translators df3e5ade11 Update: Translations from eints
korean: 2 changes by telk5093
portuguese (brazilian): 1 change by pasantoro
2024-04-05 04:43:25 +00:00
Peter Nelson 7572cfd103 Codechange: Redefine ZOOM_LVL so that ZOOM_LVL_NORMAL is 1x zoom.
This matches expectations of what normal zoom means.
2024-04-04 22:27:03 +01:00
Peter Nelson 9854553e10 Codechange: ZOOM_LVL_SHIFT/BASE are not actually ZOOM_LVLs.
Rename to ZOOM_BASE_SHIFT and ZOOM_BASE respectively, and derive from ZOOM_LVL instead of numeric value.
2024-04-04 22:27:03 +01:00
Peter Nelson 3c94e81665 Codechange: Use ZOOM_LVL_MIN to refer to first zoom level.
Many uses of ZOOM_LVL_NORMAL actually just want the first zoom level slot, so use ZOOM_LVL_MIN to make this clearer.
2024-04-04 22:27:03 +01:00
Peter Nelson 7c322ebcf1 Codechange: Define a ZOOM_LVL for minimum text effect visibility. 2024-04-04 22:27:03 +01:00
Peter Nelson 197fb00d31
Fix #12395: Ensure president name widget is tall enough. (#12419) 2024-04-04 17:56:16 +01:00
Peter Nelson 338def1b06
Fix: Segfault when using -q without providing a . character. (#12418)
Use std::filesystem::path to find extension instead of strrchr.
2024-04-04 14:39:15 +01:00
Peter Nelson f6a88e40a4
Codechange: Use std::list for News Items. (#12338) 2024-04-04 07:53:14 +01:00
translators 08cf106fc6 Update: Translations from eints
english (us): 2 changes by 2TallTyler
finnish: 2 changes by hpiirai
ukrainian: 2 changes by Quantom2
danish: 2 changes by beruic
portuguese (brazilian): 22 changes by pasantoro
2024-04-04 04:41:30 +00:00
Loïc Guilloux 243c6bead3
Fix #12415, 9c49a61, df400ef: Aircraft::tile is valid only for front vehicle (#12416) 2024-04-03 23:16:36 +02:00
translators 931aa39018 Update: Translations from eints
english (au): 2 changes by krysclarke
swedish: 2 changes by joeax910
greek: 2 changes by gh658804
russian: 3 changes by its5Q
catalan: 2 changes by J0anJosep
spanish: 2 changes by MontyMontana
portuguese: 2 changes by azulcosta
portuguese (brazilian): 27 changes by pasantoro
polish: 2 changes by pAter-exe
2024-04-03 04:40:31 +00:00
Peter Nelson 9750826590
Fix a29766d: Wrong scrolling dropdown list position with RTL. (#12412) 2024-04-02 13:29:15 +01:00
translators 72b5c6a591 Update: Translations from eints
vietnamese: 1 change by KhoiCanDev
greek: 83 changes by gh658804
german: 3 changes by Wuzzy2
ukrainian: 54 changes by Quantom2
spanish: 4 changes by MontyMontana
portuguese (brazilian): 2 changes by pasantoro
2024-04-02 04:41:36 +00:00
Peter Nelson 2047c27445 Codechange: Move drop down list item definitions to separate header.
This reduces the scope of the definitions which are no longer needed to create the common lists.
2024-04-01 22:33:16 +01:00
Peter Nelson 56cac21086 Codechange: Use functions to create common drop down list items. 2024-04-01 22:33:16 +01:00
Loïc Guilloux 11aa3694fa
Fix: [Win32] Force font mapper to only use TrueType fonts (#12406) 2024-04-01 22:59:13 +02:00
Peter Nelson 3de8853e29 Codechange: Store accepted and produced cargo in vector instead of array.
Most industries do not use the full 16 slots, so this can save a little memory and iteration time.
2024-04-01 21:35:20 +01:00
Peter Nelson 00e0021e3a Codechange: Don't assume accepted/produced slot exists. 2024-04-01 21:35:20 +01:00
Peter Nelson 295508fc53 Codechange: Avoid lengthof() on std::array. 2024-04-01 21:35:20 +01:00
Peter Nelson f79ec7955a Codechange: Explicitly reset old industry data before loading games. 2024-04-01 21:35:20 +01:00
Peter Nelson bd2a92331b Codechange: Use inline and std::array for old industry structures.
This avoids separate declaration/definition, and less C-style arrays.
2024-04-01 21:35:20 +01:00
Peter Nelson f6b38e8e06 Codechange: Remove optional MakeCargo() parameters that are never changed.
Default values are always used, so don't need to be parameters.
2024-04-01 18:46:29 +01:00
Peter Nelson e4fc8ef595 Codechange: Use std::span for industry cargo window instead of pointer + length. 2024-04-01 18:46:29 +01:00
merni-ns 6f36f3d714
Fix #11055: Make saveload failure error messages consistent with others (#12247)
The save/load error messages were combined using string parameters, rather than using the built-in functionality of error dialogs.
2024-04-01 17:57:03 +01:00
merni-ns 92a171c3e0
Doc: Improve the output and documentation of the font command. (#12392)
Now that the default font =/= sprite font, there is a different way to invoke the sprite font, and default size applies to default (not sprite).
Also, interface scaling now affects the font size.
2024-04-01 17:55:44 +01:00
Peter Nelson d68e5159e1
Feature: Allow base sounds set to be changed mid-game. (#12399) 2024-04-01 17:54:42 +01:00
translators 3d2a8fb60c Update: Translations from eints
welsh: 5 changes by Ansbaradigeidfran
ukrainian: 11 changes by StepanIvasyn
catalan: 1 change by J0anJosep
portuguese (brazilian): 69 changes by pasantoro
2024-04-01 04:40:15 +00:00
Peter Nelson d683ec0183
Codechange: Move dropdown and slider out of widgets directory. (#12403)
Also shuffle headers to place widget includes near end.

This leaves the widgets directory solely for defining Widget IDs.
2024-03-31 19:37:16 +01:00
Rubidium d5e28a904d Fix fb9d4af: use different nonces for key exchange and stream encryption 2024-03-31 15:14:16 +02:00
translators 9954187680 Update: Translations from eints
greek: 172 changes by gh658804
ukrainian: 18 changes by StepanIvasyn
portuguese (brazilian): 9 changes by pasantoro
2024-03-31 04:41:01 +00:00
Patric Stout 77f02faf15
Codefix 977aba73be: also update comment about removal of is_random (#12400) 2024-03-30 13:29:51 +01:00
translators 340c2802da Update: Translations from eints
ukrainian: 14 changes by StepanIvasyn
dutch: 3 changes by Afoklala
portuguese (brazilian): 34 changes by pasantoro
2024-03-30 04:40:28 +00:00
Patric Stout c0308acb03
Fix: "-q" displays NewGRF IDs in the wrong byte-order (#12397) 2024-03-29 23:26:24 +01:00
Peter Nelson 8d312b305b
Codechange: Replace currency macros with functions. (#12396) 2024-03-29 14:49:48 +00:00
translators e21c12afeb Update: Translations from eints
finnish: 39 changes by hpiirai
ukrainian: 23 changes by StepanIvasyn
danish: 1 change by bscargo
french: 1 change by Lishouuu
portuguese: 1 change by azulcosta
portuguese (brazilian): 100 changes by pasantoro
2024-03-29 04:41:18 +00:00
Peter Nelson e16b982b6a Codechange: Use iteration when dealing with all HouseSpecs. 2024-03-28 23:23:00 +01:00
Peter Nelson 3e83dcedfd Codechange: Allocate houses dynamically instead of from a fixed array.
This uses vectors for HouseSpecs and global/town building counts.
2024-03-28 23:23:00 +01:00
Peter Nelson 8746be8bf2
Codechange: Use FindVehiclesWithOrder when removing a road stop. (#12144) 2024-03-28 23:22:37 +01:00
frosch 907cb4fc53
Fix: [Script] ScriptSubsidy::GetExpireDate should return an economy-date (#12372) 2024-03-28 23:21:20 +01:00
Michael Lutz 8fb7d74dfe Fix eabb9db: Drag building of road stops should not allow mixing z levels. 2024-03-28 22:28:48 +01:00
Michael Lutz 69acc132ca Fix #12387, eabb9db: [NewGRF] Wrong tile offset passed to rail station CB 149 (slope check) 2024-03-28 22:28:48 +01:00
translators ca53e134be Update: Translations from eints
swedish: 14 changes by sereneavatar
finnish: 2 changes by hpiirai
ukrainian: 18 changes by StepanIvasyn
latvian: 4 changes by lexuslatvia
portuguese (brazilian): 13 changes by pasantoro
2024-03-28 04:40:56 +00:00
Jonathan G Rennison 433484cda3
Fix #12388: Vehicle::CopyVehicleConfigAndStatistics not releasing unit number (#12389) 2024-03-27 21:20:27 +01:00
translators b8b01818ca Update: Translations from eints
english (au): 1 change by krysclarke
norwegian (bokmal): 1 change by eriksorngard
spanish (mexican): 32 changes by rgonzalez-py
english (us): 3 changes by 2TallTyler
russian: 3 changes by Ln-Wolf
ukrainian: 18 changes by StepanIvasyn
lithuanian: 6 changes by dziugas1959
portuguese (brazilian): 11 changes by pasantoro
2024-03-27 04:43:49 +00:00
translators 575336ef43 Update: Translations from eints
swedish: 20 changes by joeax910
greek: 182 changes by gh658804
ukrainian: 11 changes by StepanIvasyn
slovak: 45 changes by puco
lithuanian: 14 changes by dziugas1959
portuguese (brazilian): 11 changes by pasantoro
2024-03-26 04:40:35 +00:00
Rubidium 8e12bd35ae Fix: server shutdown and newgame packets should be stable
The server sends shutdown and newgame (reboot) packets to any connected client.
This can be useful, so you can tell clients that are trying to join that the
server is restarting. However, that means that packets can be sent before a
version check has been done.
So, these packets should be in the stable packet range instead of the one that
is unstable and guarded by a version check.
2024-03-25 22:50:05 +01:00
Peter Nelson 4751179dc5
Codefix: Remove unused class member and extraneous spaces. (#12378) 2024-03-25 21:35:31 +00:00
Rubidium 9aa6669266 Fix: inconsistent check for client authorized status 2024-03-25 22:32:23 +01:00
Rubidium 84bbe235e4 Fix: do not send chat to clients that have not authorized yet 2024-03-25 22:32:23 +01:00
Tyler Trahan f71ada4f30
Fix #12268: Capitalize "Wait to unbunch" order string (#12375) 2024-03-25 13:46:03 -04:00
SamuXarick f845b4bbc3
Fix: Changing NPF max search nodes while in-game had no effect (#12194) 2024-03-25 17:28:16 +01:00
translators 40a75e0b8d Update: Translations from eints
swedish: 19 changes by joeax910
norwegian (bokmal): 2 changes by eriksorngard
ukrainian: 6 changes by StepanIvasyn
french: 3 changes by ottdfevr
portuguese (brazilian): 23 changes by pasantoro
polish: 1 change by pAter-exe
2024-03-25 04:40:35 +00:00
Peter Nelson 97c1738541
Fix #12368: Incorrect offset for click position within industry chain window. (#12370) 2024-03-24 18:35:33 +00:00
Peter Nelson eebfb83aa2
Fix 2fd9096: Label for fruit incorrectly changed to `FRUI` from `FRUT`. (#12367) 2024-03-24 15:53:26 +00:00
Tyler Trahan 8928f4979a
Change: Add dividers in vehicle group action dropdown (#12284) 2024-03-24 07:44:25 -04:00
Rubidium caa7c44052 Cleanup: remove checks for old MSVC versions 2024-03-24 10:09:15 +01:00
Rubidium d09b5aaeba Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity 2024-03-24 08:30:38 +01:00
Rubidium c01bf06ee1 Codefix: some minor errors in tcp-game protocol documentation 2024-03-24 06:40:38 +01:00
translators 018944dc20 Update: Translations from eints
english (au): 2 changes by krysclarke
vietnamese: 1 change by KhoiCanDev
chinese (simplified): 9 changes by WenSimEHRP
greek: 152 changes by gh658804
russian: 3 changes by Ln-Wolf
finnish: 2 changes by hpiirai
ukrainian: 9 changes by StepanIvasyn
danish: 2 changes by bscargo
portuguese: 5 changes by azulcosta
portuguese (brazilian): 35 changes by pasantoro
2024-03-24 04:41:07 +00:00
Peter Nelson 668186ca5b
Codechange: Remove macros involved with NewGRFClass. (#12363)
Use direct class instantiation instead.
2024-03-23 21:55:50 +00:00
Peter Nelson ff35288ddf
Fix: Don't let CT_INVALID map to valid cargo type. (#12364) 2024-03-23 20:18:31 +00:00
glx22 02c00f3e3e Change: [Script] Use economy time for ScriptDate 2024-03-23 21:17:40 +01:00
glx22 704e871a0e Revert bbdbf9a: ScriptTimeMode was not the best solution for economy/calendar support 2024-03-23 21:17:40 +01:00
frosch 603154899a
Add: [SDL2] Driver parameter 'no_mouse_capture' to ease interactive debugging (#12336) 2024-03-23 20:48:26 +01:00
Rubidium 0f25eaa271 Fix: crash to desktop when attempting to join a company while not joined (yet) 2024-03-23 13:33:41 +01:00
Jonathan G Rennison 515303b8be Fix #12092: Incorrect x-axis in cargo payment graph window 2024-03-23 13:33:29 +01:00
Tyler Trahan 2732b3d6c6
Change: Show unbunching action in timetable window (#12351) 2024-03-23 08:23:13 -04:00
Peter Nelson ea74ca0a76
Fix #12347: Crash attempting to find catchment tiles of a station with no catchment area. (#12348) 2024-03-23 13:03:59 +01:00
Rubidium f599108c16 Codechange: move 'months_empty' to CompanyProperties 2024-03-23 11:59:34 +01:00
translators 4321cca5fb Update: Translations from eints
vietnamese: 1 change by KhoiCanDev
chinese (simplified): 1 change by WenSimEHRP
ukrainian: 11 changes by StepanIvasyn
catalan: 1 change by J0anJosep
danish: 1 change by bscargo
dutch: 3 changes by Afoklala
portuguese (brazilian): 58 changes by pasantoro
2024-03-23 04:41:01 +00:00
Peter Nelson df2ee7b06c
Cleanup: Remove old SaveLoad workarounds for MS VS 2017. (#12355) 2024-03-23 00:12:35 +00:00
Rubidium e904122441 Codefix: follow coding style 2024-03-22 22:24:17 +01:00
merni-ns 7457f8d0ff
Codefix: Incorrect pluralisation in last service/service interval texts (#12352) 2024-03-22 19:19:29 +00:00
raddari 5751da7809
Fix #7982: Show existing coverage with unambiguous adjacent station (#12346)
When hovering a tile containing a station, show existing coverage for
that station even when adjacent to a different station.

Co-authored-by: Peter Nelson <peter@fuzzle.org>
2024-03-22 09:33:16 -04:00
translators e141734e54 Update: Translations from eints
english (au): 1 change by krysclarke
norwegian (bokmal): 1 change by eriksorngard
english (us): 1 change by 2TallTyler
korean: 3 changes by telk5093
german: 1 change by Wuzzy2
finnish: 3 changes by hpiirai
ukrainian: 12 changes by StepanIvasyn
portuguese (brazilian): 81 changes by pasantoro
polish: 1 change by pAter-exe
2024-03-22 04:41:18 +00:00
Jonathan G Rennison 2189607c34 Codechange: Reduce size of class WaterRegion
The tile patch array is 256 bytes and is not needed for the majority
of water regions, change it to be optional via std::unique_ptr
2024-03-21 21:14:30 +01:00
Jonathan G Rennison e42aec5a89 Fix #12305: Crash with large positive sprite x offset in engine preview window 2024-03-21 21:05:27 +01:00
translators 0eaeeaabb6 Update: Translations from eints
russian: 2 changes by Ln-Wolf
catalan: 2 changes by J0anJosep
portuguese (brazilian): 23 changes by pasantoro
2024-03-21 04:40:53 +00:00
Tyler Trahan 704d3b8a9b
Fix #12342: Add missing ellipsis to town generation error string (#12343) 2024-03-20 20:32:38 +00:00
translators 00a09af1fd Update: Translations from eints
english (us): 2 changes by 2TallTyler
vietnamese: 2 changes by KhoiCanDev
german: 2 changes by Wuzzy2
ukrainian: 2 changes by StepanIvasyn
portuguese (brazilian): 9 changes by pasantoro
2024-03-20 04:40:30 +00:00
translators 3a3d8f3b53 Update: Translations from eints
english (au): 2 changes by krysclarke
norwegian (bokmal): 2 changes by eriksorngard
chinese (simplified): 31 changes by lysinelai
greek: 7 changes by Xertoveizer
ukrainian: 14 changes by StepanIvasyn
danish: 2 changes by bscargo
lithuanian: 15 changes by dziugas1959
spanish: 2 changes by MontyMontana
french: 2 changes by glx22
portuguese (brazilian): 52 changes by pasantoro
polish: 2 changes by pAter-exe
2024-03-19 04:41:12 +00:00
Peter Nelson 737e3feaf0
Codechange: Don't delete news items or NewGRF window when EffectVehicle is deleted. (#12334)
EffectVehicles never create news and can't be debugged, so searching for news items and windows to delete just wastes time.
2024-03-18 23:39:42 +00:00
Rubidium 7580eac2d5 Codechange: create helper class for useful NetworkAuthorizedKeys functions 2024-03-18 22:56:58 +01:00
Peter Nelson 2485de9462
Codefix: Widget should be passed as WidgetID type. (#12332) 2024-03-18 20:32:38 +00:00
Peter Nelson 107c208d87
Codechange: Use single list for hierarchical group lists. (#12330)
Replace both group list implementations (vehicle group list and company colour group list) with a single implementation, using a struct to hold the group and indentation level instead of two separate lists. Parts that were previously duplicated are now shared.
2024-03-18 17:49:51 +00:00
translators ec3c8d3462 Update: Translations from eints
ukrainian: 12 changes by StepanIvasyn
portuguese (brazilian): 21 changes by pasantoro
polish: 52 changes by pAter-exe
2024-03-18 04:40:36 +00:00
Rubidium 4af089b9be Feature: console command to change authorized keys 2024-03-17 21:21:33 +01:00
Rubidium b7dfa3eb90 Feature: authorized key authentication for rcon 2024-03-17 20:36:25 +01:00
Rubidium 1cf8799810 Feature: encrypt the connection between game server and client 2024-03-17 19:48:34 +01:00
Rubidium d26629c15b Codechange: make encoded length of packet size and type more explicit 2024-03-17 19:48:34 +01:00
Rubidium 5706801ea7 Feature: authenticate to the server without sending the password
Either using password-authentication key exchange or via authorized keys
2024-03-17 19:09:22 +01:00
Rubidium dd532cbc77 Codechange: add setting for authorized/secret/public keys 2024-03-17 19:09:22 +01:00
Rubidium fb9d4afa5c Codechange: add set of classes providing authentication and encryption 2024-03-17 18:33:53 +01:00
Peter Nelson 88cf99017a
Fix #12302: Allow empty train engines to use an invalid cargo type. (#12325)
The cargo type will be forced to the first available type (usually passengers) instead of the engine being disabled.
2024-03-17 16:23:14 +00:00
Peter Nelson 322ca6ef54 Codechange: Shuffle members of Vehicle to reduce size.
This reduces space wasted due to member alignment.
2024-03-17 16:22:38 +00:00
Peter Nelson 3fc7b3b9a0 Codechange: Cache train curve speed limit can be stored in 16 bits.
Cache curve speed modifier and max curve speed are both 16 bit values so can be stored in 16 bit types instead of 32 bit types.
2024-03-17 16:22:38 +00:00
Patric Stout f08da1d373
Codechange: the "no revision detected" string is with four zeros (norev0000) (#12328) 2024-03-17 13:17:35 +00:00
Peter Nelson ab94c8b511
Codechange: Iterate order lists instead of vehicles to find if any vehicle visits a station. (#12315)
This reduces the search time as shared orders are only searched once and non-front vehicles are skipped.
2024-03-17 09:34:28 +00:00
translators 6c5a8f55df Update: Translations from eints
norwegian (bokmal): 58 changes by eriksorngard
vietnamese: 45 changes by KhoiCanDev
greek: 21 changes by Xertoveizer
ukrainian: 5 changes by StepanIvasyn
tamil: 24 changes by merni-ns
lithuanian: 7 changes by dziugas1959
portuguese (brazilian): 61 changes by pasantoro
polish: 21 changes by aefoes
2024-03-17 04:40:30 +00:00
frosch a886bd9666
Fix #12319, 3a676a5: Some SSE blitters were broken due to ODR violations (#12322) 2024-03-16 23:42:38 +00:00
Patric Stout a3cfd23cf9
Codechange: rename byte to uint8_t (#12308) 2024-03-16 23:59:32 +01:00
Peter Nelson 0058ebe472
Codechange: Check cheap station-facility-filter before expensive in-use-filter. (#12317) 2024-03-16 19:37:32 +00:00
Loïc Guilloux 818a57c9af
Codechange: Actually use LIT_NONE (#12314) 2024-03-16 16:41:58 +00:00
SamuXarick d7c5e9e8ab Codechange: Where the ship comes from is already known
This simplifies the handling of variables.

`ChooseShipTrack` is called upon entering `tile`, and looking further back to the caller, it can be deduced that `v->tile` matches `src_tile`. With that said, `enterdir` can also be removed, as it's not used anywhere else.

`CreateRandomPath` and `GetRandomFollowUpTrackdir` is being fed `src_tile` as it's 2nd parameter. This could be eliminated, as `v` is also being passed to it. Just use `v->tile` in those functions.
2024-03-16 17:02:19 +01:00
Patric Stout 5f4f9334ce
Codefix f1e999ec: use RandomRange(l) instead of _random.Next(l) (#12274) 2024-03-16 14:39:57 +00:00
Rubidium fe12d38024 Codechange: split initiating of joining and identification of the client 2024-03-16 13:35:41 +01:00
Rubidium 15d02f51ed Codechange: use span to send bytes to Packet and add span recv function 2024-03-16 12:27:06 +01:00
Rubidium b6c75dec3a Codechange: explicitly allow only one state in initial handshake/authorization 2024-03-16 11:35:44 +01:00
Rubidium 26d1d5d6e7 Codechange: move decision whether to check NewGRFs to SendNewGRFCheck, just like for sending game/company passwords 2024-03-16 11:35:44 +01:00
Rubidium 6eff879e49 Codechange: pass the socket handler that is going to send the packet into the packet 2024-03-16 10:39:22 +01:00
Rubidium 3c488e1eb8 Codechange: don't check things outside the lock, that could change while waiting on the lock 2024-03-16 10:39:22 +01:00
Rubidium ec4104ec6c Codechange: do not pass the socket when the receiver already knows it 2024-03-16 10:39:22 +01:00
Patric Stout 3e625b5b1a
Add: track savegame size to report with survey (#12304) 2024-03-16 08:58:56 +01:00
translators b394c20519 Update: Translations from eints
korean: 43 changes by telk5093
persian: 33 changes by CptMcWill
ukrainian: 4 changes by StepanIvasyn
dutch: 26 changes by Afoklala
portuguese (brazilian): 70 changes by pasantoro
2024-03-16 04:41:24 +00:00
SamuXarick a7625b8ae0 Fix #12280: Allow ships 90 degree turns if only choice
If there is no path found, a random path is created which forbids 90 degrees.
Allow 90 degrees if they're the only choice.
2024-03-15 08:04:08 +01:00
translators 9db285a32b Update: Translations from eints
norwegian (bokmal): 6 changes by eriksorngard
ukrainian: 3 changes by StepanIvasyn
dutch: 5 changes by RogierVC
portuguese (brazilian): 76 changes by pasantoro
2024-03-15 04:41:43 +00:00
translators 2d2191fbb3 Update: Translations from eints
norwegian (bokmal): 11 changes by eriksorngard
chinese (simplified): 1 change by WenSimEHRP
finnish: 23 changes by hpiirai
ukrainian: 21 changes by StepanIvasyn
danish: 32 changes by bscargo
spanish: 6 changes by MontyMontana
portuguese (brazilian): 50 changes by pasantoro
2024-03-14 04:41:11 +00:00
Ivan Fefer 23d733be95
Add: Basic autocompletion on tab for console commands (#12163) 2024-03-13 21:43:08 +01:00
Rubidium 24efdf6ac5 Codefix 363e251: incorrect trace debug message 2024-03-13 20:42:27 +01:00
SamuXarick 14d95ef1c9
Fix #12279: Update random path each step (#12286) 2024-03-13 11:22:52 -04:00
Loïc Guilloux 100c043599
Codechange: [Win32] Disable assert message box when no GUI (#12291) 2024-03-13 15:49:24 +01:00
translators 0cff40dd19 Update: Translations from eints
norwegian (bokmal): 203 changes by eriksorngard
italian: 45 changes by Rivarossi
german: 42 changes by Wuzzy2
ukrainian: 13 changes by StepanIvasyn
turkish: 25 changes by jnmbk
portuguese (brazilian): 25 changes by pasantoro
2024-03-13 04:41:24 +00:00
translators 1addeddc07 Update: Translations from eints
english (au): 45 changes by krysclarke
norwegian (bokmal): 256 changes by eriksorngard
welsh: 41 changes by Ansbaradigeidfran
english (us): 45 changes by 2TallTyler
russian: 11 changes by Ln-Wolf
finnish: 18 changes by hpiirai
ukrainian: 20 changes by StepanIvasyn
catalan: 167 changes by J0anJosep
danish: 11 changes by bscargo
spanish: 35 changes by lrlopez
french: 41 changes by ottdfevr
portuguese: 44 changes by jcteotonio
portuguese (brazilian): 168 changes by pasantoro
2024-03-12 04:41:20 +00:00
Rubidium a06814c173 Codechange: use std::source_location over __FILE__ and __LINE__ for Random 2024-03-11 20:30:33 +01:00
Koen Bussemaker 984202b101 Codechange: Remove outdated YAPF example code 2024-03-11 20:25:48 +01:00
Peter Nelson b9ca3ead8b
Change: Use (at least) standard toolbar button size for signal selection buttons. (#12265)
Signal selection buttons could be very narrow, with a very wide spacer, depending on loaded signal types and fonts.
2024-03-11 14:19:01 +00:00
Peter Nelson dc6305e8c1
Codechange: Use std::make_unique instead of passing new into a unique_ptr. (#12263)
std::make_unique will also initialise the data so MemSetT is not needed.
2024-03-11 08:09:44 +00:00
translators 95a8fab339 Update: Translations from eints
swedish: 7 changes by joeax910
norwegian (bokmal): 242 changes by eriksorngard
welsh: 609 changes by Ansbaradigeidfran
english (us): 3 changes by 2TallTyler
chinese (simplified): 1 change by WenSimEHRP
ukrainian: 21 changes by StepanIvasyn
latvian: 1 change by lexuslatvia
dutch: 1 change by Jaws3rd
esperanto: 53 changes by legoscia
portuguese (brazilian): 19 changes by pasantoro
2024-03-11 04:42:14 +00:00
Peter Nelson 8b60fc3d35
Codechange: Use vector for waypoint layout. (#12264)
This replaces manual new/delete of byte array, and matches how it is used for station layouts.
2024-03-10 17:15:34 +00:00
Rubidium 2f0fe22d63 Fix #12255: inconsistent punctuation in English 2024-03-10 16:51:21 +01:00
Peter Nelson 649c1cf14c
Fix: Off-by-one in EnsureVisibleCaption. (#12261)
An off-by-one in EnsureVisibleCaption causes the minimum visible caption height to be 13 scaled pixels and 1 unscaled pixel. At 1x interface scale, this 'happens' to be the complete height of a caption, but at other interface scales it is not.

Instead of using a scaled fixed value, correct the off-by-one and just use the window's actual caption height instead.
2024-03-10 14:53:41 +00:00
Rubidium ecf534522c Codechange: replace macro with function for TileAdd(XY) 2024-03-10 15:50:24 +01:00
Rubidium 27eadc13ec Codechange: rename TILE_ADD(XY) to TileAdd(XY) 2024-03-10 15:50:24 +01:00
Rubidium df461b0329 Codechange: simplify TileAdd by using simple asserts 2024-03-10 15:50:24 +01:00
Kuhnovic 005892bfdb
Fix #12250: YAPF Trivial rail pathfinding crashes due to #12217 (#12258) 2024-03-10 14:37:56 +00:00
Rubidium 86cb184eb4 Codechange: use std::source_location over __FILE__ and __LINE__ for WindowDesc 2024-03-10 10:14:20 +01:00
Rubidium e4b3f3f495 Codechange: use std::source_location over __FILE__ and __LINE__ for NOT_REACHED 2024-03-10 10:14:20 +01:00
Rubidium bab5a8a787 Codechange: use std::source_location over __FILE__ and __LINE__ for Backup 2024-03-10 10:14:20 +01:00
translators 738624ded4 Update: Translations from eints
english (au): 1 change by krysclarke
norwegian (bokmal): 545 changes by eriksorngard
chinese (traditional): 75 changes by wpi3
galician: 24 changes by pvillaverde
chinese (simplified): 1 change by WenSimEHRP
russian: 1 change by Ln-Wolf
finnish: 4 changes by hpiirai
ukrainian: 16 changes by StepanIvasyn
catalan: 1 change by J0anJosep
danish: 1 change by bscargo
french: 3 changes by ottdfevr
portuguese: 1 change by azulcosta
esperanto: 203 changes by legoscia
portuguese (brazilian): 21 changes by pasantoro
polish: 1 change by pAter-exe
2024-03-10 04:40:37 +00:00
Peter Nelson 55a328c586
Codechange: Replace type-punning with `std::bit_cast` in squirrel. (#12224) 2024-03-09 17:13:17 +00:00
Peter Nelson de8a840db5
Codefix: Fully initialise `MidiFile::DataBlock` to avoid gcc warning. (#12240) 2024-03-09 17:01:39 +00:00
Loïc Guilloux 82430a1086
Fix ab315d0: Don't show "insert order" errors in the console (#12245) 2024-03-09 16:33:44 +00:00
rubidium42 e0e0d5f8fb Revert #11606: Don't auto-build past tunnelbridge ends
This reverts commit 59f6c199bf.
2024-03-09 15:54:50 +01:00
Tyler Trahan 32b0fb9f6e
Fix #12010: Use economy timer for vehicle stats minimum age, not calendar (#12142) 2024-03-09 09:38:52 -05:00
Tyler Trahan ab315d0dc9
Fix #12118: When adding an unbunching order, properly check for unsafe conditions (#12136) 2024-03-09 08:28:05 -05:00
glx22 3a71f36393 Change: [Script] Match FormatString behaviour more closely 2024-03-09 12:15:03 +01:00
glx22 ae27ce12a7 Fix 0858377: [Script] Don't output parameters more than once 2024-03-09 12:15:03 +01:00
translators ce3d0097f6 Update: Translations from eints
chinese (simplified): 27 changes by WenSimEHRP
korean: 2 changes by telk5093
greek: 42 changes by Xertoveizer
indonesian: 32 changes by tsaqibfs
slovak: 184 changes by ApplePie420
danish: 2 changes by bscargo
latvian: 2 changes by lexuslatvia
dutch: 2 changes by Afoklala
portuguese: 16 changes by jcteotonio
portuguese (brazilian): 77 changes by pasantoro
2024-03-09 04:41:18 +00:00
Kuhnovic 08ff1ab93e
Fix #12236: Ship pathfinder causes crash when ship is already at destination (#12238) 2024-03-08 23:46:13 +01:00
Kuhnovic ab353f8ad5
Update: Developer credits (#12235) (#12235) 2024-03-08 18:31:58 +01:00
Michael Lutz 8b9f59d320 Codechange: Use references for non-optional in/out values of slope functions 2024-03-08 18:08:55 +01:00
Michael Lutz 8dda387f82 Codechange: Use std::tuple for slope functions with two return values 2024-03-08 18:08:55 +01:00
Tyler Trahan 5806c2aba4
Fix #12203: When unbunching at a depot, don't overlook implicit orders (#12220) 2024-03-08 10:19:50 -05:00
SamuXarick 0c432bdc4d Fix 3947453: GetNextDecisionNode ignored go to nearest depot when combined with stop at depot 2024-03-08 14:31:35 +01:00
SamuXarick ab52f7eecf Fix ccb4c37: Aircraft could route to hangars outside their range when stopping at them 2024-03-08 14:31:35 +01:00
merni-ns b8b80cb42e
Fix #12134: Use correct error messages if clearing drive-through road stops fails (#12139) 2024-03-08 14:29:04 +01:00
rubidium42 aef8a345b2
Codefix #12162, 3105d0b: Textbuf::Assign read beyond std::string_view (#12177) 2024-03-08 14:26:14 +01:00
jcteotonio 63b9284a7e
Add: Portuguese Escudo currency (#12108) 2024-03-08 14:25:01 +01:00
Peter Nelson a9de766fa6
Fix: Train running sounds should only be produced for engine parts. (#12229) 2024-03-08 14:23:48 +01:00
Kuhnovic 30e1a61c04
Fix: YAPF doesn't check destination for start nodes (#12217) 2024-03-08 14:23:33 +01:00
translators 216905ce1f Update: Translations from eints
chinese (simplified): 2 changes by WenSimEHRP
luxembourgish: 2 changes by phreeze83
hungarian: 2 changes by PstasDev
german: 2 changes by Wuzzy2
ukrainian: 10 changes by StepanIvasyn
slovak: 197 changes by ApplePie420
catalan: 2 changes by J0anJosep
portuguese (brazilian): 35 changes by pasantoro
2024-03-08 04:40:35 +00:00
Peter Nelson 25aeb1c5a5
Change: Use same audio buffer size (and config parameter) for all sound drivers. (#12227)
Windows drivers used a default buffer size of 8192 instead of 1024, which results in a considerable 186ms latency.
2024-03-07 23:19:59 +00:00
translators 8fb26612c0 Update: Translations from eints
english (au): 2 changes by krysclarke
vietnamese: 1 change by KhoiCanDev
estonian: 4 changes by RM87
russian: 8 changes by Ln-Wolf
ukrainian: 27 changes by StepanIvasyn
slovak: 34 changes by palsoft333
tamil: 41 changes by Aswn
spanish: 4 changes by MontyMontana
portuguese (brazilian): 72 changes by pasantoro
polish: 3 changes by pAter-exe
2024-03-07 04:40:51 +00:00
Loïc Guilloux ef40c5e240
Fix #12225, 977aba7: [Script] Missing AI:ResetConfig support for running AI config (#12226) 2024-03-06 21:16:07 +01:00
translators 634b67bf13 Update: Translations from eints
estonian: 66 changes by siimsoni
greek: 41 changes by gh658804
ukrainian: 6 changes by StepanIvasyn
slovak: 30 changes by palsoft333
portuguese (brazilian): 41 changes by pasantoro
2024-03-06 04:40:32 +00:00
Kuhnovic 1a2b54498b
Change: Show tile index as decimal number in land info window (#12104) 2024-03-05 21:32:29 +01:00
Peter Nelson 2d48829999
Codechange: Scan station catchment tiles when removing station from nearby towns/industries. (#12129)
Avoid iterating all towns and industries when updating station catchment, and scan a limited portion of the map instead.

This provides a modest performance benefit when many towns/industries exist.
2024-03-05 18:33:58 +00:00
Peter Nelson 00b442d6f9
Fix: Maximum permitted sound volume from NewGRF is 128. (#12222) 2024-03-05 18:31:04 +00:00
Peter Nelson bc3bd642b9
Fix: Relocate main toolbar and statusbar before other windows. (#12218)
When repositioning all windows, the main toolbar and statusbar need to already be in position to ensure that window captions are visible.
2024-03-05 18:30:25 +00:00
Loïc Guilloux 845b894fd8
Remove: [Script] random_deviation from setting description table (#12221) 2024-03-05 12:41:04 +01:00
translators 0fd576bfbc Update: Translations from eints
chinese (simplified): 2 changes by WenSimEHRP
russian: 1 change by Ln-Wolf
ukrainian: 9 changes by StepanIvasyn
portuguese (brazilian): 66 changes by pasantoro
2024-03-04 18:35:39 +00:00
translators 626ee4ab41 Update: Translations from eints
chinese (simplified): 6 changes by WenSimEHRP
serbian: 16 changes by nkrs
ukrainian: 1 change by StepanIvasyn
portuguese (brazilian): 234 changes by pasantoro
2024-03-03 18:34:58 +00:00
Peter Nelson 8172e25273
Codechange: Use range-for when iterating station speclists. (#12212)
This replaces indexed access.
2024-03-03 16:41:02 +00:00
Peter Nelson b2ca6e1ac8
Codefix: Remove no-longer used ship special-case. (#12192)
This special-case has not been triggered since multi-tile docks were introduced.
2024-03-03 09:31:04 +00:00
Peter Nelson cff48c0f63 Codechange: Templatise SlStationSpecList to reduce duplication.
SlStationSpecList now handles both StationSpec and RoadStopSpec, and replaces indexed array access with range-for and reserve/emplace_back pattern.
2024-03-02 21:16:15 +00:00
Peter Nelson 41b3314d76 Codechange: Replace separate Station/RoadStopSpecList with template struct.
Reduces duplication and simplifies reuse.

Additionally naming an item that is used in a list as a ...List was
pretty weird.
2024-03-02 21:16:15 +00:00
Peter Nelson 278c3a7db1 Codechange: Use reference instead of copy of NewGRF speclist item. 2024-03-02 21:16:15 +00:00
Kuhnovic c5afc9173c
Fix #12176: Ships are circling in one place (#12181) 2024-03-02 21:45:54 +01:00
Jonathan G Rennison f180262aee
Fix #12154: Incorrect calendar day lengths with minutes per year setting (#12158) 2024-03-02 21:45:30 +01:00
translators d7c485d4b9 Update: Translations from eints
estonian: 166 changes by siimsoni, 22 changes by RM87
chinese (simplified): 6 changes by WenSimEHRP
serbian: 172 changes by nkrs
ukrainian: 11 changes by StepanIvasyn
spanish: 1 change by MontyMontana
portuguese (brazilian): 149 changes by pasantoro
2024-03-02 18:34:44 +00:00
Patric Stout 8f22066b9a
Fix #12147: reset all saved settings to their default before loading a game (#12210) 2024-03-02 16:05:43 +01:00
Rubidium aff09306de Fix #12076: Do not allow 'join' command on dedicated servers 2024-03-02 14:35:26 +01:00
Loïc Guilloux 253ba0d354
Fix #12195: Reset cursor when no Object is selected (#12207) 2024-03-02 13:02:56 +01:00
Loïc Guilloux b53d79b1d2
Codechange: Don't use NOT_REACHED() when catching unhandled thread exceptions (#12199) 2024-03-02 00:07:43 +01:00
Peter Nelson a602845d0a
Fix #12202: Race condition when using sprite picker. (#12204)
When using the sprite picker the screen is redrawn so that the sprites under the mouse cursor can be captured. This redraw also caused the sprite aligner window to be redrawn before the OnInvalidateData event that updates its scrollbars with the list count.
2024-03-01 22:08:18 +00:00
Tyler Trahan 3fd5c33ae6
Fix f6dd505: Only reset unbunching departure data in the correct depot (#12155) 2024-03-01 21:29:55 +00:00
Patric Stout 7824ae5b59 Fix #12196: disable "select upgrade" button when filtering 2024-03-01 22:17:33 +01:00
Patric Stout b307541099 Fix #12196: always show selected content, even when filtering 2024-03-01 22:17:33 +01:00
Tyler Trahan 890040ceea
Update: Developer credits (#12173) 2024-03-01 15:47:10 -05:00
translators 667adf7df9 Update: Translations from eints
chinese (simplified): 26 changes by WenSimEHRP
korean: 5 changes by telk5093
dutch: 9 changes by Afoklala
portuguese (brazilian): 25 changes by pasantoro
2024-03-01 18:35:36 +00:00
Peter Nelson f0a891c4f7
Cleanup: Remove unused last_num_specs from SlRoadStopTileData. (#12198)
Inadvertently copy & pasted from another Sl handler.
2024-03-01 02:00:13 +00:00
translators c0b5510a94 Update: Translations from eints
portuguese (brazilian): 157 changes by pasantoro
polish: 5 changes by pAter-exe
2024-02-29 18:35:53 +00:00
translators c4f9479507 Update: Translations from eints
chinese (simplified): 19 changes by WenSimEHRP
ukrainian: 9 changes by StepanIvasyn
portuguese (brazilian): 43 changes by pasantoro
2024-02-28 18:35:37 +00:00
Loïc Guilloux fad77261ea
Fix f6dd505: Missing savegame conversion for current_order (#12188) 2024-02-27 21:25:49 +01:00
Peter Nelson d4f0f0e2c5
Codechange: Use `GetVisibleRangeIterators()` in more places. (#12190)
This replaces more first/last index calculation, along with indexed array/vector access, with iterator access instead.
2024-02-27 20:10:06 +00:00
translators 529d813496 Update: Translations from eints
hungarian: 96 changes by titanicbobo, 11 changes by pnpBrumi
ukrainian: 19 changes by StepanIvasyn
latvian: 1 change by lexuslatvia
spanish: 9 changes by MontyMontana
portuguese (brazilian): 94 changes by pasantoro
2024-02-27 18:35:58 +00:00
Peter Nelson e93d081a4a
Codechange: Use range-for instead of indexed loop. (#12191) 2024-02-27 18:18:57 +00:00
Peter Nelson 59420d57ec
Codechange: Use vehicle tile hash to build depot vehicle list. (#12186)
This avoids iterating the entire vehicle pool.
2024-02-27 17:19:17 +00:00
Peter Nelson a61311fcb0 Codefix: DrawEngineList does not accept EngineID.
Replace min/max parameters of DrawEngineList with scrollbar reference, and use iterators instead of indices.
2024-02-27 17:18:53 +00:00
Peter Nelson bf865dc536 Codechange: Add `GetVisibleRangeIterators()` to `Scrollbar`. 2024-02-27 17:18:53 +00:00
Loïc Guilloux f612bc6ee2
Fix bf4b6696: [Script] Broken ScriptText circular reference detection (#12187) 2024-02-27 18:16:21 +01:00
Kuhnovic 2fb1593550
Fix e38c3c5: Added missing return statement (#12185) 2024-02-27 12:55:42 +01:00
Patric Stout e775ef2b70
Fix: initialize _switch_mode_time so crash-logs before first game have a realistic time (#12184) 2024-02-27 02:41:59 +01:00
translators 149592e4dd Update: Translations from eints
english (us): 9 changes by 2TallTyler
chinese (simplified): 10 changes by WenSimEHRP
luxembourgish: 21 changes by phreeze83
greek: 11 changes by Xertoveizer
hungarian: 60 changes by titanicbobo
german: 37 changes by frosch123
french: 9 changes by Bulest
portuguese (brazilian): 74 changes by pasantoro
polish: 5 changes by pAter-exe
2024-02-26 18:45:02 +00:00
Patric Stout e939f59cbb
Codechange: replace "byte" with "uint8_t" in settings (#12179) 2024-02-26 07:49:26 -05:00
translators 7b1e3cfeb5 Update: Translations from eints
english (au): 1 change by krysclarke
swedish: 1 change by niklasva
chinese (simplified): 6 changes by WenSimEHRP
korean: 21 changes by telk5093
hungarian: 1 change by PstasDev
italian: 1 change by Rivarossi
belarusian: 7 changes by KorneySan
russian: 7 changes by Ln-Wolf, 3 changes by KorneySan
catalan: 9 changes by J0anJosep
danish: 7 changes by bscargo
french: 7 changes by ottdfevr
portuguese: 1 change by jcteotonio
hindi: 2 changes by michaelsmassey
portuguese (brazilian): 115 changes by pasantoro
polish: 1 change by pAter-exe
2024-02-25 18:35:26 +00:00
Peter Nelson 86be6d7e0b Codechange: Off-by-one in colour gradient initialisation.
Remap sprites start with a count byte followed by 256 entries, but
SetupColoursAndInitialWindow did not take account of this extra byte and
therefore started at palette index 0xC5 instead of 0xC6. This caused the
first colour of each gradient to be incorrect and all shades were actually
1 step lower in the gradient than indicated.
2024-02-25 12:38:07 +00:00
Peter Nelson 912d7bd80e Codechange: Give ColourShade values names instead of numbers. 2024-02-25 12:38:07 +00:00
Peter Nelson ae3390fe48 Codechange: Add ColourShade enum. 2024-02-25 12:38:07 +00:00
Peter Nelson 0463d4c198 Codechange: Remove direct access to _colour_gradient.
Access is now through GetColourGradient, which ensures parameters are in range.
2024-02-25 12:38:07 +00:00
Peter Nelson 56cf89d189
Change: Use bitmap for free unit ID generation. (#12165)
This improves performance of finding the next free unit number for a vehicle.

Based loosely on pool's used slot bitmap.
2024-02-25 12:36:13 +00:00
Peter Nelson 8afef45d4e
Fix d3c673e: Don't defer OnResize() after ReInit() (#12174)
Some windows resize themselves during painting and issue ReInit(). In this case deferred OnResize() causes a visible glitch as the event is handled on the next redraw.
2024-02-25 08:35:57 +00:00
translators ddb3914074 Update: Translations from eints
english (au): 6 changes by krysclarke
swedish: 19 changes by sereneavatar
estonian: 30 changes by RM87
chinese (simplified): 3 changes by Kevin-mao0721
hungarian: 60 changes by titanicbobo
italian: 6 changes by Rivarossi
russian: 3 changes by Ln-Wolf, 3 changes by KorneySan
finnish: 6 changes by hpiirai
ukrainian: 7 changes by StepanIvasyn
latvian: 6 changes by lexuslatvia
portuguese: 37 changes by azulcosta
portuguese (brazilian): 19 changes by pasantoro
polish: 6 changes by SzyZuu
2024-02-24 18:35:08 +00:00
Tyler Trahan 677ec70b0e
Fix fd9e72a: Helptext for timekeeping unit setting erroneously refers to vehicle movement (#12172) 2024-02-24 16:09:16 +00:00
Richard Wheeler c25d9f5c81
Fix: Make link graph node borders scale with GUI (#12167) 2024-02-23 19:04:34 -05:00
Jonathan G Rennison 222832f1d4
Fix #12166: Crash when opening tram road stop build window (#12168) 2024-02-23 15:02:59 -05:00
translators 7135330819 Update: Translations from eints
vietnamese: 3 changes by KhoiCanDev
chinese (simplified): 5 changes by WenSimEHRP
hungarian: 63 changes by titanicbobo
belarusian: 47 changes by KorneySan
finnish: 2 changes by hpiirai
ukrainian: 25 changes by StepanIvasyn
danish: 38 changes by bscargo
portuguese (brazilian): 158 changes by pasantoro
2024-02-23 18:35:31 +00:00
SamuXarick b22fb43cea
Fix #10490: Allow ships to exit depots if another is not moving at the exit point (#12161) 2024-02-23 08:08:16 -05:00
Peter Nelson 2b79e7cdf5
Fix b7630b0: Incorrect padding for text purchase list. (#12160)
Restore to original (and more normal) framerect padding.
2024-02-22 22:23:29 +00:00
frosch bb86023d50
Fix #12127, 555a379: Truncation ellipses rendered shadows even for black font without shadows (#12132) 2024-02-22 22:22:35 +00:00
Rubidium 4c117dd2d8 Revert #11993: new number format system does not and cannot work for CJK languages
There are too many intricacies that I am unaware of that are popping up after
asking whether things are right or not.
I do not want to keep playing whack-a-mole, so just revert the whole thing.

This reverts:
15be383b93
360fe8b0b6
1aa9a5c0ab
59f56941e5
7e2eefb91f
b741b2ba6f
609d0071d5
9f8fd80112
a253205b93
819c6c756e
2024-02-22 20:40:12 +01:00
translators 8015d96a50 Update: Translations from eints
english (au): 2 changes by krysclarke
spanish (mexican): 149 changes by Can202
estonian: 11 changes by RM87
chinese (simplified): 18 changes by WenSimEHRP
hungarian: 2 changes by PstasDev
italian: 195 changes by Rivarossi
serbian: 42 changes by nkrs
german: 2 changes by Wuzzy2
belarusian: 537 changes by KorneySan
russian: 25 changes by KorneySan
ukrainian: 21 changes by StepanIvasyn
turkish: 14 changes by jnmbk
latvian: 2 changes by lexuslatvia
dutch: 1 change by iamthedutchdude
spanish: 15 changes by MontyMontana
french: 2 changes by ottdfevr
portuguese: 2 changes by jcteotonio, 2 changes by azulcosta
portuguese (brazilian): 149 changes by pasantoro
polish: 2 changes by pAter-exe
2024-02-22 18:36:05 +00:00
Rubidium 5d2e6e4efa Fix #12148, fca8166: Do not draw decimals when number of digits is 0 2024-02-21 19:32:53 +01:00
Jonathan G Rennison ca146c8ddd Fix #12145: Incorrect date handling in date cheat in wallclock time-keeping mode 2024-02-21 18:43:05 +01:00
Jonathan G Rennison 409c073eca Codefix: Off by one in TimerGameEconomy::ConvertDateToYMD wallclock mode 2024-02-21 18:40:02 +01:00
merni-ns 7bab2c1cc3 Fix #12119: Remove red warning text when maximum loan is zero 2024-02-21 18:38:53 +01:00
Jonathan G Rennison c637d376d0
Fix cb588d8d: Ordering of command per tick limit and pause mode filtering (#12126)
The command per tick limit should be applied after the pause mode filter
2024-02-20 15:51:35 -05:00
translators bff69e192b Update: Translations from eints
english (us): 24 changes by 2TallTyler
vietnamese: 13 changes by KhoiCanDev
estonian: 7 changes by RM87
german: 16 changes by Wuzzy2
belarusian: 328 changes by KorneySan
russian: 6 changes by KorneySan, 5 changes by Ln-Wolf
ukrainian: 9 changes by StepanIvasyn
catalan: 18 changes by J0anJosep
danish: 61 changes by bscargo
french: 8 changes by ottdfevr
portuguese: 29 changes by jcteotonio, 12 changes by azulcosta
portuguese (brazilian): 185 changes by pasantoro
polish: 1 change by pAter-exe
2024-02-20 18:35:58 +00:00
Loïc Guilloux 25d1238907
Fix #12133: [Script] Don't crash when emergency saving (#12138) 2024-02-20 18:55:18 +01:00
Loïc Guilloux 2d7ad9f717
Fix: [Script] Only show debug script window at the end of savegame loading (#12135) 2024-02-20 16:08:26 +00:00
translators f1bf39f38b Update: Translations from eints
english (au): 12 changes by krysclarke
chinese (simplified): 84 changes by WenSimEHRP
russian: 13 changes by Ln-Wolf
finnish: 12 changes by hpiirai
ukrainian: 12 changes by StepanIvasyn
latvian: 19 changes by lexuslatvia
french: 1 change by ZarTek-Creole
portuguese (brazilian): 169 changes by pasantoro
polish: 12 changes by pAter-exe
2024-02-19 18:35:28 +00:00
Rubidium a4d4301a0c Codechange: We are heading to 15 2024-02-18 21:48:54 +01:00
translators 73bed054b8 Update: Translations from eints
english (au): 2 changes by krysclarke
korean: 5 changes by telk5093
russian: 2 changes by Ln-Wolf
tamil: 45 changes by Aswn
portuguese: 1 change by azulcosta
hindi: 85 changes by NisheshTyagi
portuguese (brazilian): 119 changes by pasantoro
2024-02-18 18:35:02 +00:00
Rubidium 15be383b93 Fix a253205: remove (now) unused currency separator 2024-02-18 16:56:52 +01:00
Tyler Trahan 4f1bc39bf7
Change: Show speed before destination in vehicle status bar (#11932) 2024-02-18 10:44:11 -05:00
Tyler Trahan 87a80c7ff2
Change: When adding orders, Ctrl+Click on a depot to unbunch, instead of service if required (#12023) 2024-02-18 10:43:44 -05:00
frosch 555a37930b
Fix: Shadows of individual character glyphs could be drawn over other characters (#12115) 2024-02-18 16:30:54 +01:00
Damian Laczak 49c3215751 Fix #10983: [AdminPort] Correct order of messages 2024-02-18 15:11:00 +01:00
Peter Nelson f20d241e81
Fix a258833: Don't invalidate station list on vehicle load/unload. (#12112)
a258833 fixed a bug but as a result causes the station list to be rebuilt every time (once per game tick) a vehicle loads/unloads.

Instead just mark the window for redraw.
2024-02-18 12:20:11 +00:00
Koen Bussemaker 8a1cea2ab6 Codechange: Skip non-water water region patches in neigbor search 2024-02-18 11:46:34 +01:00
Rubidium 360fe8b0b6 Fix a253205: division by zero when attempting to format some short currencies 2024-02-17 22:45:48 +01:00
translators 03e3553230 Update: Translations from eints
estonian: 15 changes by RM87
portuguese (brazilian): 42 changes by pasantoro
polish: 30 changes by pAter-exe
2024-02-17 18:35:04 +00:00
Peter Nelson 2ecc3c90f7
Change: Improve performance of finding free pool slots. (#12055)
Add a bitmap of used pool slots which allows finding a free pool slot without having to check if each index is already used or not.

Loosely based on a JGRPP patch.
2024-02-17 18:29:21 +00:00
Rubidium 1aa9a5c0ab Update: Use proper number formats and abbreviations for Chinese, Japanese, Korean and German 2024-02-17 14:33:16 +01:00
Rubidium 59f56941e5 Update: Number format configuration based on old digitsep and STR_CURRENCY_SHORT_* values 2024-02-17 14:33:16 +01:00
Rubidium 7e2eefb91f Cleanup: Remove digit group separators from strgen and languages 2024-02-17 14:33:16 +01:00
Rubidium b741b2ba6f Feature: Fully user configurable number format and abbreviations 2024-02-17 14:33:16 +01:00
Rubidium 609d0071d5 Change: Remove saving of digit group and decimal separator configurations from the savegame 2024-02-17 14:33:16 +01:00
Rubidium e67fc33172 Codechange: Add support for NULL strings in SaveLoadCompat 2024-02-17 14:33:16 +01:00
Rubidium 9f8fd80112 Feature: Fully customisable number abbreviations per translation 2024-02-17 14:33:16 +01:00
Rubidium a253205b93 Feature: Fully customisable number format per translation 2024-02-17 14:33:16 +01:00
Rubidium 819c6c756e Codechange: Add support for number format and abbreviations pragmas/attributes to strgen 2024-02-17 14:33:16 +01:00
Rubidium fca8166087 Codechange: Simplify FormatNumber by moving out zero fill and decimal support 2024-02-17 14:33:16 +01:00
Rubidium a44bd81280 Codechange: Move determining the decimal separator to a separate function 2024-02-17 14:33:16 +01:00
Rubidium f0c50ad529 Codechange: Add function to get the power of ten for a given number 2024-02-17 14:33:16 +01:00
rubidium42 8bccb5805a
Fix 0ca4b4e: Ctrl+Click style inconsistency in base language (#12099) 2024-02-17 06:26:09 +00:00
translators bb2446c058 Update: Translations from eints
welsh: 5 changes by Ansbaradigeidfran
estonian: 108 changes by siimsoni, 50 changes by RM87
luxembourgish: 276 changes by phreeze83
hungarian: 81 changes by PstasDev
indonesian: 6 changes by tsaqibfs
italian: 191 changes by AlphaJack
bulgarian: 118 changes by lamarin1
ukrainian: 16 changes by StepanIvasyn
tamil: 408 changes by Aswn
turkish: 43 changes by metsysma
esperanto: 103 changes by JadedCtrl
portuguese (brazilian): 57 changes by pasantoro
polish: 61 changes by pAter-exe
2024-02-16 18:35:10 +00:00
Peter Nelson adb796a21a Change: Show 6 or 2 orientation buttons in NewGRF road stop picker as appropriate.
This replaces the normal method of masking unusable buttons.
2024-02-15 22:28:58 +00:00
Peter Nelson 8c22690ce1 Codechange: Update window's widget lookup map when switching displayed plane. 2024-02-15 22:28:58 +00:00
translators 3d591c2094 Update: Translations from eints
swedish: 1 change by SpamixOfficial
welsh: 280 changes by Ansbaradigeidfran
vietnamese: 245 changes by myquartz
estonian: 1 change by siimsoni
czech: 64 changes by LubosKolouch, 29 changes by adamek0202
arabic (egypt): 17 changes by AviationGamerX
luxembourgish: 247 changes by phreeze83
hungarian: 9 changes by nemesbala
indonesian: 21 changes by tsaqibfs, 19 changes by K4smun1
italian: 13 changes by AlphaJack
hebrew: 20 changes by Boltyansky
bulgarian: 107 changes by lamarin1
finnish: 4 changes by lanurmi
ukrainian: 18 changes by StepanIvasyn
catalan: 1 change by arnaullv
turkish: 120 changes by metsysma, 43 changes by EndChapter
danish: 23 changes by mamure, 23 changes by bscargo
dutch: 1 change by Jaws3rd
french: 1 change by Lishouuu
portuguese (brazilian): 362 changes by pasantoro
polish: 60 changes by pAter-exe
2024-02-15 18:34:46 +00:00
SamuXarick 8584d1b5bb
Add: [Script] GetAirportNumHelipads (#12085)
Adds a function for Scripts to get the number of helipads of an airport type.
2024-02-14 21:38:32 +01:00
Peter Nelson a64ca2e0c5
Cleanup: Remove declaration of non-existent function. (#12091) 2024-02-14 20:28:03 +00:00
Peter Nelson 4ffe1da540
Fix: NewGRF roadstops were ignored if only in default class. (#12089)
If a NewGRF defines roadstops in the default class and no other classes are defined, they would be ignored and not selectable.
2024-02-14 19:21:13 +00:00
translators ac5eaecd15 Update: Translations from eints
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
czech: 74 changes by adamek0202
chinese (simplified): 3 changes by WenSimEHRP
luxembourgish: 42 changes by phreeze83
korean: 1 change by telk5093
german: 1 change by Wuzzy2
romanian: 19 changes by ALEX11BR
russian: 1 change by Ln-Wolf
finnish: 6 changes by lanurmi
ukrainian: 13 changes by StepanIvasyn
turkish: 26 changes by metsysma
danish: 18 changes by bscargo
latvian: 3 changes by lexuslatvia
portuguese: 1 change by azulcosta
portuguese (brazilian): 273 changes by pasantoro
2024-02-14 18:37:05 +00:00
Peter Nelson 1e82d75fa2
Fix f1144de: "knots" missing from settings units list. (#12082)
Knots were added as a setting but not included in the settings list so were saved as a number instead of string.
2024-02-13 20:19:45 +00:00
translators 4cea9a61ce Update: Translations from eints
swedish: 132 changes by sereneavatar
spanish (mexican): 31 changes by absay
english (us): 2 changes by 2TallTyler
czech: 6 changes by Caesar008
arabic (egypt): 76 changes by AviationGamerX
turkish: 91 changes by metsysma
danish: 9 changes by mamure
portuguese: 9 changes by azulcosta
portuguese (brazilian): 253 changes by pasantoro
polish: 14 changes by pAter-exe
2024-02-13 18:37:22 +00:00
Tyler Trahan f5126cba08
Fix: Accurately describe Ctrl+Clicking on a waypoint in Go To tooltip (#12081) 2024-02-13 11:41:25 -05:00
Florian 02b59920ed
Fix #12050: Add default size, shade and pin control buttons to company livery widget. (#12080) 2024-02-13 15:55:13 +00:00
Peter Nelson 14b31c8fed
Add: Show cargo icons on subsidy list window. (#12079) 2024-02-13 07:41:24 +00:00
Patric Stout 15c14a896f
Fix: survey-time seconds for clients was calculated wrong (#12078) 2024-02-12 21:56:27 +00:00
Patric Stout bad31f2d42
Fix #10079: don't render at 1000fps if HW acceleration + vsync is requested but not active (#12067) 2024-02-12 21:39:23 +00:00
Loïc Guilloux 79374bc003
Fix #12074: Don't allow "part" command for dedicated servers (#12075) 2024-02-12 19:28:30 +00:00
translators a3e6f82150 Update: Translations from eints
english (au): 2 changes by krysclarke
swedish: 307 changes by sereneavatar
galician: 127 changes by pvillaverde
romanian: 165 changes by bnegrut
spanish: 8 changes by MontyMontana
portuguese: 89 changes by azulcosta
portuguese (brazilian): 335 changes by pasantoro
2024-02-12 18:35:10 +00:00
Patric Stout 839f2e025c
Fix: visually also disable vsync when not using HW acceleration (#12066) 2024-02-12 03:19:08 +01:00
Jonathan G Rennison 5ab5f4ace7
Codefix df691eb3: Reloading GRFs destructed small UFO targeting road vehicle (#12072) 2024-02-12 00:51:18 +00:00
Peter Nelson 481fa7dbb5
Change: Show cargo icons on Industry View window. (#12071) 2024-02-12 00:50:58 +00:00
Loïc Guilloux 3ffa176870
Change: [Script] Store randomizers in savegame (#12063) 2024-02-12 01:22:57 +01:00
Peter Nelson d6f34a21e8
Codefix: Incorrect storage type in cargo field of industry cargo chains window. (#12051)
`supp_cargoes` and `cust_cargoes` actually contains a column index, however this index is always stored at the indexed position...

Replace with a bitmask instead, which stores if the column indices are linked.
2024-02-11 23:05:29 +00:00
Peter Nelson df691eb31e
Codechange: Don't scan vehicle pool to find targeting disaster vehicle when deleting any vehicle. (#12064)
* Codechange: Don't scan vehicle pool to find targeting disaster vehicle when deleting any vehicle.

When deleting a vehicle, the vehicle pool is scanned to find a targetting disaster vehicle. With lots of vehicles this can take some time, especially when deleting multiple consecutive vehicles.

Disasters vehicles can actually only target road vehicles. Store the DisasterVehicle index in the road vehicle, so that no pool scan is necessary.

* Change: Small UFOs no longer target a vehicle which is already a target.
2024-02-11 23:04:29 +00:00
Patric Stout fa6f270f23
Codefix 36e1b32: remove left-over debug statement (#12068) 2024-02-11 21:36:37 +00:00
Peter Nelson 58ed38be03 Change: Avoid adjacent fence fields.
This restores pre-r23168 behaviour of only a single fence between adjacent fields.
2024-02-11 22:10:46 +01:00
Peter Nelson d6c5efd795 Change: Draw north-side farm fences/hedges/walls on tile edge, instead of 1/16th in.
This matches original TTD drawing behaviour, which is what the original baseset sprites are designed for, and avoids alignment issues (which are more problematic with high detail 4x sprites.)
2024-02-11 22:10:46 +01:00
SamuXarick fa64fff4a5
Fix #10405, a3dd750: [Script] Test engine and vehicle type validity for ScriptGroup::GetNumEngines (#11887) 2024-02-11 22:09:23 +01:00
Patric Stout 5b3bfe4c4c
Fix fdfcb09: for content service, fallback to TCP downloads when HTTP stalls (#12056) 2024-02-11 20:24:28 +01:00
Loïc Guilloux 8d9fa0ea89
Change: [Script] Use company randomizer when adding random deviation (#12065) 2024-02-11 18:58:41 +00:00
translators 378dab3750 Update: Translations from eints
galician: 85 changes by pvillaverde
estonian: 1 change by RM87
czech: 7 changes by JakMel
chinese (simplified): 1 change by WenSimEHRP
korean: 10 changes by telk5093
german: 191 changes by Wuzzy2
romanian: 122 changes by bnegrut
russian: 29 changes by Ln-Wolf
catalan: 28 changes by J0anJosep
french: 6 changes by glx22
portuguese (brazilian): 252 changes by pasantoro
2024-02-11 18:34:45 +00:00
Joan Josep 1b33b4058e
Fix: Redraw orders when a station feature is added/removed. (#12061) 2024-02-11 12:47:49 -05:00
Peter Nelson 9ec9c8d8b5
Fix: Industry tiles and houses could accept incorrect cargo types. (#12062)
Ensure the default label is cleared when NewGRFs set industry tile or house acceptance.

This was missed by #12053.
2024-02-11 17:42:04 +00:00
Patric Stout d02b1547f6
Remove: setting "no_http_content_downloads" (#12058)
As we now use HTTPS, it is very likely this will work on most systems.
For systems that do have HTTPS blocked, it will fail instantly,
and it will fallback to TCP anyway. That makes this setting no longer
very useful.
2024-02-11 14:48:12 +00:00
Peter Nelson 8db08da148
Fix #12052: NewGRFs clearing industry cargo slots could fallback to default instead of empty. (#12053)
Ensure the default label is cleared when NewGRF sets a produced/accepted cargo slot, so that default fallback isn't used.
2024-02-11 00:43:13 +00:00
Tyler Trahan 7b32d9cff5 Fix #12019: Correctly highlight depot unbunch action in dropdown 2024-02-10 15:11:24 -05:00
Tyler Trahan 771615cb4b Fix #12020: Unbunch and service if needed should be mutually exclusive depot order types 2024-02-10 15:11:24 -05:00
translators 2f35a484fe Update: Translations from eints
swedish: 1 change by SpamixOfficial
english (us): 7 changes by 2TallTyler
galician: 123 changes by pvillaverde
estonian: 5 changes by RM87
czech: 46 changes by justidan4
romanian: 19 changes by ALEX11BR
russian: 13 changes by gisterecis
finnish: 6 changes by rikkerton
catalan: 188 changes by J0anJosep
turkish: 29 changes by densxd
latvian: 7 changes by lexuslatvia
portuguese: 33 changes by azulcosta
portuguese (brazilian): 546 changes by pasantoro
polish: 24 changes by pAter-exe
2024-02-10 18:35:13 +00:00
Loïc Guilloux 977aba73be
Change: Store running AI config inside Company (#12003) 2024-02-09 22:55:49 +01:00
Peter Nelson 466e6bb524
Fix #12037: Blurry OpenTTD font on Mac OS. (#12047) 2024-02-09 21:36:13 +01:00
Patric Stout 48e7dceb3c
Revert: Build signals to the next junction when dragging regardless of the Ctrl state (#12034)
This reverts commit b370ae1212.
2024-02-09 19:34:03 +01:00
Jonathan G Rennison bed3ef6f6b
Cleanup: Incorrect savegame number for SLV_DEPOT_UNBUNCHING constant (#12045) 2024-02-09 17:50:29 +00:00
Kuhnovic e38c3c59f3
Fix #11840: Ship pathfinder always returns a valid trackdir if one is available (#12031) 2024-02-09 12:31:38 -05:00
Loïc Guilloux b68d263d5f
Fix #12014: Remove water when area clearing ship depot (#12030) 2024-02-09 18:17:08 +01:00
Tyler Trahan 10bcf0172e
Fix #12022: Adjust economy date when changing timekeeping units in Scenario Editor (#12042) 2024-02-09 11:45:32 -05:00
Loïc Guilloux 165f92c00b
Fix #12041, 0c81579: Tarball extraction failing due to incorrect filename (#12044) 2024-02-09 17:25:56 +01:00
translators 9b323b4ef9 Update: Translations from eints
english (au): 7 changes by krysclarke
galician: 1 change by pvillaverde
chinese (simplified): 3 changes by WenSimEHRP
italian: 29 changes by Giredson
german: 53 changes by MagnumSociety
ukrainian: 37 changes by StepanIvasyn
dutch: 7 changes by rcpaul
spanish: 144 changes by MontyMontana
french: 4 changes by Lishouuu
portuguese: 48 changes by azulcosta
portuguese (brazilian): 156 changes by pasantoro
polish: 22 changes by azabost, 6 changes by pAter-exe
2024-02-08 18:34:34 +00:00
Tyler Trahan 16e6da020d
Cleanup: Remove unnecessary Trackdir casts (#12038) 2024-02-08 09:46:55 -05:00
Loïc Guilloux 82470f5c0d
Codechange 80ebcc7: OptionMenuEntries prefix is OME not ONE (#12036) 2024-02-08 00:22:01 +00:00
Patric Stout 11f5ac72a9
Fix #12029: don't show Sandbox Options in multiplayer (#12032) 2024-02-08 00:33:24 +01:00
Heikki Piirainen 42a88fc1d6
Fix: Finnish thousands separator (#12028)
In Finnish, the recommended digit group separator is a space rather than a dot.
2024-02-07 13:35:56 -05:00
translators d2a4f3123d Update: Translations from eints
galician: 25 changes by pvillaverde
czech: 182 changes by justidan4
hungarian: 31 changes by titanicbobo, 13 changes by Norodix
indonesian: 27 changes by tsaqibfs
german: 58 changes by UnsuspiciousGooball
russian: 18 changes by Ln-Wolf
finnish: 6 changes by hpiirai, 5 changes by lanurmi
ukrainian: 39 changes by StepanIvasyn
turkish: 3 changes by metsysma
danish: 55 changes by mamure, 6 changes by bscargo
dutch: 111 changes by Afoklala, 2 changes by robert5800
spanish: 196 changes by MontyMontana
portuguese: 4 changes by azulcosta
portuguese (brazilian): 148 changes by pasantoro
polish: 42 changes by pAter-exe, 16 changes by azabost
2024-02-07 18:34:54 +00:00
Peter Nelson 2c78146da5 Change: Limit cargo types in station cargo filter, with "More..." option to show all. 2024-02-07 17:13:37 +00:00
Peter Nelson e517e55620 Change: Include count of stations per cargo type in station cargo filter.
Cargo types with no stations are shaded to make the list clearer.
2024-02-07 17:13:37 +00:00
Peter Nelson 46da56b191 Change: Replace long list of cargo filter buttons with a multi-select dropdown list.
As before, hold ctrl while clicking on an item to toggle selections.
2024-02-07 17:13:37 +00:00
Peter Nelson 0ce30d05c8 Codechange: Add method to replace the content of a dropdown menu.
If necessary the dropdown list window will be resized and scrollbar enabled/disabled.
2024-02-07 17:13:37 +00:00
Peter Nelson ac44c001a4 Codechange: Expose `FindChildWindow()` as a method of `Window`. 2024-02-07 17:13:37 +00:00
Peter Nelson 4c44e1eae0 Codechange: Add parameter to persist dropdown menus.
If a dropdown menu is set to persist, it will not close when an item is selected. It will close as normal if the window loses focus.

Closing the list is the responsibility of the caller.
2024-02-07 17:13:37 +00:00
Peter Nelson b1c5e03df1
Fix: Don't issue autoreplace failed news message for command test mode. (#12026) 2024-02-07 12:07:00 +00:00
Peter Nelson 1f8533ebe0
Fix #12024: Autoreplace failed news message for trains must go to lead engine. (#12025) 2024-02-07 08:51:03 +00:00
Loïc Guilloux b0f3417025
Add: [Script] ScriptTileList_StationCoverage (#12015) 2024-02-06 20:22:18 +01:00
Loïc Guilloux 0858377e9e
Fix: [Script] Don't kill GS misusing GSText (#12009) 2024-02-06 19:58:30 +01:00
merni-ns 34b05465d5
Fix 5a88027: [Script] Avoid overflow in scripts when infinite money is enabled (#12016) 2024-02-06 19:54:38 +01:00
translators 02cdd5ba8b Update: Translations from eints
spanish (mexican): 7 changes by Skinazo
english (us): 4 changes by 2TallTyler
czech: 37 changes by justidan4
chinese (simplified): 1 change by WenSimEHRP
finnish: 50 changes by Finjet-cyber, 22 changes by hpiirai
spanish: 13 changes by MontyMontana
french: 4 changes by ottdfevr
portuguese (brazilian): 141 changes by pasantoro
polish: 68 changes by pAter-exe
2024-02-06 18:35:32 +00:00
Peter Nelson e9ea837311
Fix #12012: Crash when opening orders of another company. (#12013)
Orders window changes tooltip depending on vehicle type but did check if widget exists.
2024-02-06 12:53:23 +00:00
dP e2d36f626b
Fix: Focus hotkey in road/tram stop building window (#12008) 2024-02-05 18:14:21 -05:00
Peter Nelson ae30ad7802
Fix #12001: Use correct valid cargo check for old-style NewGRF town house 3rd cargo set up. (#12006) 2024-02-05 23:12:56 +00:00
Peter Nelson 5c630e10b7
Fix 2fd90960: Missing default vehicles and industry acceptance/production. (#12000)
* Fix 2fd90960: Missing default vehicles and industry acceptance/production.

Some default definitions are used across multiple climate types and relied on climate-independent cargo slot even though they specified a climate-dependent cargo type.

Add MixedCargoType that indirectly allows multiple labels to be specified for these.
2024-02-05 23:11:32 +00:00
Tyler Trahan b2b4cceb49
Fix #11997: Adjust economy date by 1920 when loading TTD/TTO savegames (#12007) 2024-02-05 18:09:29 -05:00
translators 05e23f8fc9 Update: Translations from eints
english (au): 4 changes by krysclarke
chinese (simplified): 21 changes by WenSimEHRP
korean: 4 changes by CoconutKR
finnish: 94 changes by hpiirai
catalan: 20 changes by J0anJosep
danish: 7 changes by bscargo
latvian: 4 changes by lexuslatvia
esperanto: 31 changes by JadedCtrl
portuguese (brazilian): 283 changes by pasantoro
polish: 75 changes by pAter-exe
2024-02-05 18:35:45 +00:00
Rubidium 3534214dfc Codechange: use reference instead of pointer for CommandPacket 2024-02-05 18:57:58 +01:00
Rubidium cb588d8d3f Codechange: use std::vector for the incoming command queue 2024-02-05 18:57:58 +01:00
Rubidium b3aa8a9c35 Codechange: use std::vector for the outgoing command "queues" 2024-02-05 18:57:58 +01:00
Peter Nelson 09a12f230f
Fix: Signals were incorrectly shifted by 1 pixel when selected. (#12005)
Most shifting when pressed was removed by 884b9e66.
2024-02-05 17:55:04 +00:00
Rubidium 63708609fb Codechange: define the size of the PacketType enumerations 2024-02-05 17:10:35 +01:00
Rubidium 6f77c2eaa2 Codechange: use size_t for the MTU limits and remove default parameter 2024-02-05 17:10:35 +01:00
Rubidium 72a44b0df6 Codechange: use references for handling received TCP packets 2024-02-05 16:30:49 +01:00
Rubidium 794f12dc24 Codechange: cascade through SendNeedGame/CompanyPassword functions, instead of duplicating logic for determining whether to call these functions 2024-02-05 16:30:49 +01:00
Rubidium 8add0bf8ec Codechange: use references for game info serialization 2024-02-05 16:30:49 +01:00
Rubidium 84623d2123 Codechange: use references for UDP packets 2024-02-05 16:30:49 +01:00
Rubidium 031a9d4e26 Codechange: use std::unique_ptr for the Packets created to send via TCP 2024-02-05 16:30:49 +01:00
Rubidium 36e1b32ccf Codechange: use std::deque of std::unique_ptr to queue packets 2024-02-05 16:30:49 +01:00
Rubidium c77a45ed86 Codechange: use std::unique_ptr for receiving network packets 2024-02-05 16:30:49 +01:00
Koen Bussemaker 35c89d57f8 Codechange: Added debug printing for Water Regions 2024-02-04 22:50:04 +01:00
Koen Bussemaker 4b94457bf1 Fix #11802: Made determining water region edge traversability more robust 2024-02-04 22:50:04 +01:00
translators 9cc17230e8 Update: Translations from eints
english (au): 11 changes by krysclarke
english (us): 11 changes by 2TallTyler
galician: 3 changes by pvillaverde
chinese (simplified): 17 changes by WenSimEHRP
korean: 14 changes by telk5093
german: 78 changes by SecretIdetity
russian: 11 changes by Ln-Wolf
catalan: 23 changes by J0anJosep
danish: 2 changes by bscargo
latvian: 229 changes by lexuslatvia
french: 29 changes by glx22
portuguese: 33 changes by azulcosta
portuguese (brazilian): 28 changes by pasantoro
2024-02-04 18:36:20 +00:00
Loïc Guilloux 64611a7d12
Fix #11975, 27a920c: Running AIs also occupy a slot (#11976) 2024-02-04 13:19:35 +01:00
dP ff618230fe
Codechange: Replace magic value with a variable (#11980) 2024-02-04 10:45:24 +00:00
Peter Nelson 2fd9096070
Change: Decouple and remove landscape-dependent cargo types. (#11719)
Cargo types of default engines, industries and houses are now specified in terms of label.
2024-02-04 10:16:08 +00:00
Peter Nelson 83d63464db
Fix #11966: Scrollbar may be incorrect on first opening of text file window. (#11981)
The scrollbar is set up before the true monospace is loaded, so reinitialise the window after loading.
2024-02-04 10:15:20 +00:00
Loïc Guilloux 75015cdad2
Fix 6f6f099: Signals exist only on plain rail tiles (#11977) 2024-02-04 10:39:06 +01:00
Peter Nelson d9461e52af
Fix #11972: Incorrect minimum width allocated to graph. (#11974)
Width was based on actual number of data points instead of possible number of data points.
2024-02-04 08:51:19 +00:00
Jonathan G Rennison cb13ee90ef Fix: Second colour vehicle-type default liveries not being updated
When changing company default second colour
2024-02-04 07:14:39 +01:00
Tyler Trahan d5e936c9d4
Fix #11968: Always set string parameters to avoid undefined behavior (#11973) 2024-02-04 07:07:47 +01:00
Tyler Trahan d0c753465d Fix f6dd505: Remove unneeded error when switching between depot actions 2024-02-03 17:32:25 -05:00
Tyler Trahan 80a704ba11 Fix f6dd505: Split depot action tooltip by vehicle type 2024-02-03 17:32:25 -05:00
Rubidium 7a740eefa0 Codechange: use std::unique_ptr for managing SaveLoadParams 2024-02-03 21:38:33 +01:00
Rubidium 4b372b6050 Codechange: use std::shared_ptr to manage saveload filters instead of manually trying to avoid double frees 2024-02-03 21:38:33 +01:00
translators bc4ed9085d Update: Translations from eints
english (au): 3 changes by krysclarke
english (us): 3 changes by 2TallTyler
chinese (simplified): 3 changes by WenSimEHRP
korean: 4 changes by telk5093
russian: 19 changes by Ln-Wolf
latvian: 67 changes by lexuslatvia
portuguese: 3 changes by azulcosta
portuguese (brazilian): 3 changes by pasantoro
2024-02-03 18:34:44 +00:00
Patric Stout 0dfba564ab
Add: "restart current" console command to regenerate the map based on current settings (#11963) 2024-02-03 14:48:54 +00:00
Peter Nelson 17d02ed45f
Feature: NewGRF properties to set town production effect and multiplier. (#11947)
Town production effect is modelled on town acceptance (growth) effect, and so takes an original cargo slot for behaviour instead of a direct value.

NewGRF feature 0x0B, property 0x1E, takes 1 byte.

Valid values are:
- 0x00 to behave like passengers
- 0x02 to behave like mail
- 0xFF to behave like other cargo (i.e. not produced.)

If not set, town production effect is set based on the cargo label ('PASS' or 'MAIL').

Town production multiplier allows adjusting the amount of cargo produces when Town Production Effect is set, without needing to use callbacks.

NewGRF feature 0x0B (cargo), property 0x1F, accepts a 2 byte (word) value, similar to the cargo capacity multiplier property. The default value is 256 which means 100%, i.e. normal rate.
2024-02-03 13:58:31 +00:00
Tyler Trahan f6dd5053a3
Feature: Order flag to unbunch vehicles at depot (#11945) 2024-02-03 08:04:24 -05:00
Patric Stout a0c480c4e4
Change: "restart" now uses your newgame settings, where "reload" uses the current settings (#11962) 2024-02-03 10:19:47 +00:00
Charles Pigott 59f6c199bf
Fix #11528: Don't auto-build past tunnelbridge ends (#11606) 2024-02-03 11:18:10 +01:00
kiwitreekor 8d62a8f0f0
Add: Station variable 6B to get extended station id of nearby tiles (#10953) 2024-02-03 11:17:49 +01:00
Patric Stout 849fd5ae03
Change: [Script] replace easy/medium/hard values with default value (#11959) 2024-02-03 09:15:03 +00:00
Loïc Guilloux 27a920c4a8
Change: Allow to configure AI slots above max_no_competitors (#11961) 2024-02-03 09:42:16 +01:00
Patric Stout fe4494ec11
Change: only open story-book in center when a GS does it (#11916) 2024-02-03 08:09:55 +01:00
Patric Stout 59a046de9c
Fix: don't use non-owning string pointer in StringParameter (#11952)
The string pointer can become invalid before the reference is
dropped, causing out-of-bound access in windows like ErrorWindow,
or News that copy 10 or 20 parameters for their internals.

Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
2024-02-02 23:01:54 +01:00
frosch b1718478c8 Codechange: Replace old non-standard attributes with C++17/20 standard attributes. 2024-02-02 22:29:28 +01:00
frosch 8a4f0c4b02 Codechange: Simplify error throwing/catching in squirrel compiler. 2024-02-02 22:29:28 +01:00
Tyler Trahan f2db624e85
Change: Add dividers between signal groups (#11897) 2024-02-02 15:52:20 -05:00
Tyler Trahan 6f6f09910d
Fix #10118: Cycle through current signal group, not just path signals (#11798) 2024-02-02 15:51:57 -05:00
Peter Nelson 2e6c6b719f Change: Link houses production on industry chain graph by TPE_PASSENGERS or TPE_MAIL cargo. 2024-02-02 20:37:49 +00:00
Peter Nelson 03b2640ea1 Change: Passenger subsidies are generated for any TPE_PASSENGER cargo type. 2024-02-02 20:37:49 +00:00
Peter Nelson 6d93fa649c Change: Towns generate cargo based on town production effect.
This replaces the fixed handling of passengers and mail.
2024-02-02 20:37:49 +00:00
Peter Nelson 8d69d0549d Codechange: Add town production effect type and assign to cargo types. 2024-02-02 20:37:49 +00:00
Peter Nelson 60dcf3b5e2 Codechange: Rename TownEffect to TownAcceptanceEffect.
This makes it clearer that TownEffect only affects acceptance behaviour.
2024-02-02 20:37:49 +00:00
translators 782cbe95d6 Update: Translations from eints
chinese (simplified): 49 changes by WenSimEHRP
russian: 47 changes by Ln-Wolf
catalan: 71 changes by J0anJosep
dutch: 114 changes by Afoklala
portuguese: 46 changes by azulcosta
portuguese (brazilian): 29 changes by pasantoro
2024-02-02 18:35:20 +00:00
Loïc Guilloux 4e26e33805
Change: Improve ScriptSettings windows (#11958) 2024-02-02 18:08:05 +00:00
Loïc Guilloux 0e738dda88
Fix #11948: [Win32] Convert error messages to utf8 (#11951) 2024-02-02 16:30:23 +01:00
Loïc Guilloux 3545decf2d
Cleanup e28edf6945: [Script] Left over CONFIG_RANDOM reference in documentation (#11954) 2024-02-02 14:28:02 +00:00
Loïc Guilloux a2f31c4e61
Change: Improve AIConfig window (#11949) 2024-02-02 14:34:49 +01:00
Jonathan G Rennison c0b8e58404 Codechange: Simplify SetBitIterator
Use FindFirstBit and KillFirstBit, allowing simpler iterator equality
Add simple test
2024-02-01 23:05:57 +01:00
Patric Stout dce7d5d9b0
Fix #8253: allow rendering graphs with values over 2**31 / 10 (#11915) 2024-02-01 22:53:30 +01:00
Patric Stout 770ca3a624
Fix #8253: don't use INVALID_DATAPOINT for a valid value (#11913) 2024-02-01 22:47:11 +01:00
dP 9a2f247de9 Fix: Display rank correcly with more than 15 companies in a league table 2024-02-01 20:17:31 +01:00
translators e1fbaf6f7f Update: Translations from eints
english (au): 5 changes by krysclarke
english (us): 5 changes by 2TallTyler
chinese (simplified): 8 changes by WenSimEHRP
korean: 5 changes by telk5093
russian: 14 changes by Ln-Wolf
latvian: 4 changes by lexuslatvia
portuguese: 11 changes by azulcosta
portuguese (brazilian): 5 changes by pasantoro
2024-02-01 18:36:06 +00:00
Loïc Guilloux ab1407fc43
Fix: [Script] Apply random deviation only at script start (#11944) 2024-02-01 10:48:40 +01:00
Patric Stout e28edf6945
Remove: [Script] CONFIG_RANDOM from AddSetting flags (#11942)
It had a very weird interaction, and was only ever used by a single
AI.
2024-01-31 22:24:36 +00:00
merni-ns ccaa383e85
Fix #11938: Check infinite money setting in cases where it was missed (#11939) 2024-01-31 20:11:48 +01:00
Patric Stout 363e251a10
Change: make -dnet=9 give traces of the details of the network protocol (#11931) 2024-01-31 19:36:41 +01:00
translators bbae16574a Update: Translations from eints
english (au): 10 changes by krysclarke
english (us): 10 changes by 2TallTyler
vietnamese: 10 changes by KhoiCanDev
chinese (simplified): 62 changes by WenSimEHRP, 4 changes by XiaoJi-Game
korean: 11 changes by telk5093
russian: 5 changes by Ln-Wolf
finnish: 32 changes by hpiirai
portuguese (brazilian): 12 changes by pasantoro
2024-01-31 18:34:42 +00:00
Patric Stout 3e6ed6f44a
Fix #9697: don't extend the Online Players window too wide on opening (#11936) 2024-01-31 19:03:07 +01:00
frosch 4d2fc28834 Codechange: wrap 'if' in macros into 'do { ... } while (false)', so it does not break on following 'else'. 2024-01-30 23:43:42 +01:00
frosch e0bd1dd42e Codechange: replace a macro with a lambda. 2024-01-30 23:43:42 +01:00
Patric Stout 46b1114c67
Change: forcefully enable prefixing logs with date (#11930)
Additionally, add the log-level to the log message.
2024-01-30 22:02:16 +00:00
Tyler Trahan 41f2eed425
Feature: Settings to scale cargo production of towns and industries (#10606) 2024-01-30 15:11:46 -05:00
merni-ns 96651b5ada
Cleanup: Use standard comment format (#11929) 2024-01-30 18:43:42 +00:00
translators 3e5ba614ab Update: Translations from eints
chinese (simplified): 7 changes by WenSimEHRP
russian: 24 changes by Ln-Wolf
finnish: 61 changes by hpiirai
spanish: 1 change by MontyMontana
french: 134 changes by glx22
portuguese: 22 changes by azulcosta
portuguese (brazilian): 57 changes by pasantoro
2024-01-30 18:36:34 +00:00
glx22 a502453033 Fix 48b6b18: Increase MAX_VALUATE_OPS to match the previous limit 2024-01-30 19:15:54 +01:00
dP 897b59c158
Add: [GS] Allow to set max loan for each company separately (#11224) 2024-01-30 19:15:19 +01:00
dP b370ae1212
Change: Build signals to the next junction when dragging regardless of the Ctrl state (#9637) 2024-01-30 19:14:26 +01:00
merni-ns 5a88027a19
Feature: Infinite money mode (#11902) 2024-01-30 18:01:02 +00:00
Patric Stout 7acf78964f
Remove: "generation_seed" from config, as it was a write-only value (#11927) 2024-01-30 17:02:35 +00:00
Patric Stout a05b7acec8
Change: position error window closer to cursor on large screens (#11923) 2024-01-30 14:57:49 +01:00
Tyler Trahan 2b1f78d2ca
Fix: Use alternate timekeeping units in savegame title (#11912) 2024-01-29 22:11:00 +00:00
Peter Nelson 435d48e182
Fix: Sandbox window does not reduce height when interface scale is reduced. (#11924)
line_height was only ever made larger, and icon.height ignored.
2024-01-29 22:01:22 +00:00
Patric Stout 4024bb5554
Fix #11910: use economy timer for dmp_cmds files (#11925) 2024-01-29 21:58:22 +00:00
Patric Stout f1842f9144
Add: {CURRENCY_SHORT} only did k / m suffix. Add bn / tn and make translatable. (#11921)
64bit numbers are REALLY large, but our compact method was build
for 32bit numbers. Extend it to 64bit.
2024-01-29 20:20:35 +00:00
translators 1d4b10a8b8 Update: Translations from eints
english (au): 86 changes by krysclarke
english (us): 105 changes by 2TallTyler
chinese (simplified): 29 changes by WenSimEHRP
korean: 156 changes by telk5093
russian: 4 changes by Ln-Wolf
danish: 1 change by bscargo
spanish: 132 changes by lrlopez
portuguese: 52 changes by azulcosta
portuguese (brazilian): 181 changes by pasantoro
2024-01-29 18:34:38 +00:00
dP acaceb45ba
Codechange: Make command constant names consistent with command proc (#11920) 2024-01-29 13:41:36 +01:00
Peter Nelson bf013097a7
Fix #11918: Houses should build only next to road stops, not any station type. (#11919) 2024-01-29 01:27:34 +00:00
translators 809b599c21 Update: Translations from eints
english (au): 48 changes by krysclarke
english (us): 32 changes by 2TallTyler
vietnamese: 10 changes by KhoiCanDev
chinese (simplified): 46 changes by WenSimEHRP, 2 changes by XiaoJi-Game
korean: 58 changes by telk5093
russian: 57 changes by Ln-Wolf
finnish: 22 changes by hpiirai
catalan: 30 changes by J0anJosep
danish: 12 changes by bscargo
dutch: 45 changes by Afoklala
spanish: 214 changes by lrlopez
french: 8 changes by glx22
portuguese: 23 changes by azulcosta
portuguese (brazilian): 30 changes by pasantoro
polish: 4 changes by pAter-exe
2024-01-28 15:00:40 +00:00
Koen Bussemaker 5a55c4a934 Feature: [NewGRF] Allow higher max speeds for ships 2024-01-28 14:54:51 +01:00
Loïc Guilloux 461d69a8f6
Fix #11907: Allow genders for time related {UNITS_XXX} (#11908) 2024-01-28 14:45:08 +01:00
frosch 17dfc1a49a Codechange: Replace SF_GUI_NEGATIVE_IS_SPECIAL with a settings value callback. 2024-01-28 14:44:24 +01:00
frosch 28c83089f6 Codechange: Remove TKM string code. 2024-01-28 14:44:24 +01:00
frosch 9344b50435 Codechange: Remove TKM from settings texts. 2024-01-28 14:44:24 +01:00
frosch 9e9a8ca7f6 Codechange: Add callbacks to IntSettingDesc to support dynamic strings for title, help and values. 2024-01-28 14:44:24 +01:00
frosch 022b9e92d2 Codechange: Move settings string formatting into IntSettingDesc members. 2024-01-28 14:44:24 +01:00
frosch a9d1078434 Codechange: Remove TKM from town action tooltips. 2024-01-28 14:44:24 +01:00
frosch abfeeea849 Codechange: Compose engine preview text from multiple strings. 2024-01-28 14:44:24 +01:00
frosch 68c64d2511 Codechange: Remove TKM string codes by duplicating strings. 2024-01-28 14:44:24 +01:00
frosch bd3d687bf9 Codechange: Merge all BaseGraphWindow widget enums into one.
Previously it relied on some enum entries using the same integer value.
2024-01-28 14:44:24 +01:00
frosch 69f47caf3f Codechange: Remove TKM from vehicle list sorting dropdowns. 2024-01-28 14:44:24 +01:00
frosch 9741510396 Fix: Wallclock setting should not affect percent-based service interval increments. 2024-01-28 14:44:24 +01:00
Tyler Trahan 86981c0983
Fix: Extra refit button when train/RV is in a depot (#11904) 2024-01-28 08:01:09 -05:00
Patric Stout 05b253b33b
Fix ea8c1d85: improve smoothness of smooth-scrolling for 60+Hz screens (#11884) 2024-01-28 09:56:21 +00:00
SamuXarick 0c4e509b60
Fix #10439: [GS] Validate story page button colour, flags, cursor and vehicle type (#11892)
Adds GSStoryPage::IsValidStoryPageButtonColour, GSStoryPage::IsValidStoryPageButtonFlags and GSStoryPage::IsValidStoryPageButtonCursor to the API.

Add missing enforced preconditions to validate parameters passed to MakePushButtonReference, MakeTileButtonReference and MakeVehicleButtonReference.
2024-01-28 00:29:10 +01:00
SamuXarick 76f0f9e386
Fix #10438: [GS] Validate story page element type for ScriptStoryPage::NewElement (#11888)
Fixes a crash that happens if an invalid StoryPageElementType is passed to ScriptStoryPage::NewElement.

Adds an enforced precondition that tests the validity of StoryPageElementType.

Adds GSStoryPage::IsValidStoryPageElementType to the API.
2024-01-27 22:11:02 +01:00
Peter Nelson 6d276698b6
Fix: Memory leak in ICUParagraphLayout::NextLine() (#11895)
This function calls icu::BreakIterator::createLineInstance() but does not clean up after it.

Instead use a static instance that is cloned (for thread-safety) and deleted as necessary.
2024-01-27 20:13:42 +00:00
Jonathan G Rennison 1df7b21ee3
Fix #11889: ConstructWindow not called from SurveyResultTextfileWindow constructor (#11903) 2024-01-27 19:44:10 +00:00
Peter Nelson d3c673e20b
Fix #11894: Defer window OnResize event to avoid processing multiple times per input tick. (#11900) 2024-01-27 18:44:27 +00:00
Patric Stout 8c5ad1ade7
Fix fd9e72a7: actually use the parameter value instead of the current date (#11898) 2024-01-27 17:34:04 +00:00
Peter Nelson fef0bfcfd3
Fix: TextfileWindow called virtual methods before constructor completed. (#11889)
SetStringParameters() was called during widget tree init in the constructor.

Calls within a constructor cannot call the derived classes methods. This would result in invalid data being passed to the string system, which could then crash.
2024-01-27 14:45:37 +00:00
Kuhnovic 8a4a99b7e8
Fix #5713: FindClosestShipDepot only considers depots that are actually reachable (#11768) 2024-01-27 15:06:14 +01:00
Patric Stout 89520f5665
Add: show in multiplayer the amount of hours a game has been unpaused (#11886) 2024-01-27 12:35:09 +01:00
Patric Stout 2bbc95cac3
Fix: update server as offline when unexpected disconnect during refresh (#11891) 2024-01-27 11:23:25 +01:00
Richard Wheeler 8770ef6bd9
Change: Make street lights transparent with houses (#11828) 2024-01-27 09:25:13 +00:00
Rubidium 7916e97c62 Update: opengl; glext header to 20231129, wglext header to 20231018 2024-01-27 09:57:25 +01:00
Rubidium a23cd4aef7 Update: nlohmann/json to 3.11.3 2024-01-27 09:57:25 +01:00
Rubidium 79b684b8ac Update: fmt to 10.2.0 2024-01-27 09:57:25 +01:00
Patric Stout 80ebcc72fb
Change: rebrand Cheats as Sandbox Options (#11874) 2024-01-26 19:56:01 +01:00
Tyler Trahan 28716548d2
Feature: Setting to automatically restart server based on hours played (#11142) 2024-01-26 10:25:25 -05:00
Loïc Guilloux 09b66751cf
Fix b38d3c2208: missing water regions invalidation when building locks (#11879) 2024-01-25 22:18:26 +00:00
Patric Stout 36579dd18b
Change: set smooth-scrolling on by default (#11860) 2024-01-25 11:07:36 +01:00
Patric Stout ea8c1d8597 Change: make for smooth-scrolling based on actual time
This means if rendering takes a bit longer, scrolling goes a bit
quicker, making travel time always about the same time for the
same distance.
2024-01-25 10:29:48 +01:00
Jonathan G Rennison cbb24b5d71
Codechange: Split bit numbers from values in RailTypeFlags, RoadTypeFlags enums (#11877) 2024-01-24 22:24:34 +01:00
Tyler Trahan 21581b6ab3
Feature: Setting for minutes per calendar year (#11428) 2024-01-23 18:33:54 -05:00
translators be8ed26db6 Update: Translations from eints
norwegian (nynorsk): 5 changes by translators
slovenian: 5 changes by translators
faroese: 5 changes by translators
hebrew: 5 changes by translators
afrikaans: 5 changes by translators
urdu: 5 changes by translators
persian: 5 changes by translators
bulgarian: 5 changes by translators
belarusian: 5 changes by translators
basque: 5 changes by translators
russian: 23 changes by Ln-Wolf
finnish: 1 change by hpiirai
malay: 5 changes by translators
scottish gaelic: 5 changes by translators
croatian: 5 changes by translators
latin: 5 changes by translators
french: 49 changes by glx22, 8 changes by ottdfevr
portuguese (brazilian): 80 changes by pasantoro
icelandic: 5 changes by translators
2024-01-23 18:40:53 +00:00
Tyler Trahan fd9e72a7e7
Feature: Use real-time "wallclock" timekeeping units (#11341) 2024-01-23 11:36:09 -05:00
Tyler Trahan bbdbf9a589
Add: AI/GS Time Mode to choose between economy (default) and calendar time (#11603) 2024-01-23 10:42:10 -05:00
Patric Stout a1487ce620
Add: list_[scenario|heightmap] and load_[scenario|height] console commands (#11867) 2024-01-23 14:01:25 +01:00
Tyler Trahan 76499b96fb
Fix fa479c4: Typo in vehicle list tooltip (#11871) 2024-01-22 23:17:26 +00:00
Patric Stout 090616b4c9
Add: allow loading heightmaps from command-line (#11870)
If you want to load a file from tar, you have to give the file
inside the tar in order for it to work:

<tar-file>/<dir-in-tar>/<file>.png
2024-01-22 22:35:25 +00:00
Kuhnovic bf3fd6526b
Fix: use correct size parameter type in TileArea constructors (#11869) 2024-01-22 22:06:42 +00:00
Patric Stout 11d4f1b2bd
Fix d3b2a576: LOAD_HEIGHTMAP / LOAD_SCENARIO are Scenario Editor modes (#11868) 2024-01-22 21:28:00 +00:00
Patric Stout d3b2a576de
Feature: Plugin framework for Social Integration with Steam, Discord, GOG, etc (#11628) 2024-01-22 19:22:45 +00:00
Patric Stout 75f21065c9
Codechange: refactor DecodeHexText to a generic purpose ConvertHexToBytes (#11866)
DecodeHexText() does more than just decoding hex. ConvertHexToBytes()
now only does pure hex decoding. This required a bit of refactoring
for the code using DecodeHexText().
2024-01-22 19:42:47 +01:00
translators 786cc85e86 Update: Translations from eints
english (au): 155 changes by krysclarke
norwegian (bokmal): 9 changes by v0nNemizez
english (us): 155 changes by 2TallTyler
chinese (simplified): 9 changes by WenSimEHRP
russian: 41 changes by Ln-Wolf
finnish: 1 change by hpiirai
2024-01-22 18:40:42 +00:00
Tyler Trahan 735abfe111
Codechange: Split dates and timers into Economy and Calendar time (#10700) 2024-01-22 09:04:34 -05:00
EmperorJake 419f48dfb3
Change: set amount of smoke/sparks to "realistic" by default (#11624) 2024-01-21 21:23:35 +00:00
Kuhnovic b38d3c2208
Change: simplified water region evaluation, removed savegame data (#11750) 2024-01-21 20:56:50 +00:00
Patric Stout 1985e7415b
Fix: smooth-scrolling large distances didn't got smoothly in one direction (#11861) 2024-01-21 20:52:44 +00:00
Peter Nelson c7d5cedc7b
Codechange: Replace C-style TICC/TOCC macros with C++ RAII implementation. (#11857)
Usage is more robust, and will always include timing when the TicToc object goes out of scope.
2024-01-21 18:38:40 +00:00
Peter Nelson 691c628b07
Codechange: Use named initialization for unscaled WidgetDimensions. (#11859)
Remove now-unused WD_* enums.
2024-01-21 18:10:49 +00:00
Patric Stout 0c81579363
Fix #6377: two tarballs with the same folder in them were considered as one (#11855) 2024-01-21 19:06:58 +01:00
SamuXarick 6588680ccc Revert #6923: start_date parameter is no longer in use
There was an issue with the start_date parameter for AIs. It did not let Random AIs to have their configure button clickable once the game has started, and this was due to the start_date not being pushed into the config.

But now that start_date is no longer in use since #10653, this workaround can be safely removed.
2024-01-21 18:49:08 +01:00
Patric Stout f35e257adc
Fix #9722: create vital windows as soon as local_company is set (#11858)
Many places use local_company to detect whether world generation is
done, and blindly assume all vital windows exists when local_company
is set.
2024-01-21 17:36:33 +00:00
Peter Nelson a9a0bfffc1
Change: Disable building rail infrastructure if train build limit is zero. (#11847)
This matches the behaviour of road, ship and aircraft infrastructure.
2024-01-21 16:51:23 +00:00
Peter Nelson 89474701bc
Codechange: Use templates to deduplicate goal widgets. (#11852) 2024-01-21 16:23:17 +00:00
Patric Stout fa8294ebe7
Remove: rdtsc and TIC/TOC based on CPU ticks (#11856)
Use TIC/TOC based on std::chrono instead. This information is also
easier to compare with others, as although it depends on CPU, it
means a bit more if "yours takes 4ms and mine takes 10ms".
2024-01-21 15:38:15 +00:00
Patric Stout fe035c306e
Codechange: prevent out-of-bound read (even if the result is never used) (#11853) 2024-01-21 14:25:00 +00:00
Peter Nelson 8797cc7ef2
Codechange: Replace GroupStatistics' num_engines with std::map. (#11849)
This removes manual memory management with calloc/free calls, and prevents potentially large arrays being allocated for each group.
2024-01-21 14:09:44 +00:00
Peter Nelson c0ab436077
Codechange: Store Colours in Colours type. (#11625)
This reduces casts, some magic numbers, and introduces a bit of type-safety.
2024-01-21 13:23:04 +00:00
Peter Nelson 0841978304
Codechange: Use vector and iterators to store old/new vehicles during autoreplace. (#11851)
This avoids malloc/free of 3 arrays along index counting, and the data for each part is kept together.
2024-01-21 09:21:22 +00:00
Rubidium 2d77f09a81 Codechange: use std::shared_ptr for vector of TCPConnecters 2024-01-20 23:03:44 +01:00
Patric Stout 71b8801b61
Fix bd85f61a: [Linux] don't include sys/random.h on older glibc systems (#11844) 2024-01-20 20:43:06 +00:00
Tyler Trahan fa479c4a7c
Cleanup: Describe modifier keys more consistently in tooltips (#11716) 2024-01-20 19:26:39 +00:00
Tyler Trahan 500870627d
Change: Rewrite a few main toolbar tooltips (#11717) 2024-01-20 13:49:34 -05:00
translators 4d79d86812 Update: Translations from eints
catalan: 18 changes by J0anJosep
2024-01-20 18:38:38 +00:00
Peter Nelson d6ccfdbbd9
Fix #11827: Make Layouter::GetCharPosition() aware of ligatures. (#11831)
When ligatures happen the precise individual character position is not known, so instead return the previous position (which is that of the ligature.)
2024-01-20 17:16:42 +00:00
Rubidium 086cbd0d72 Codechange: add constexpr to math functions where applicable 2024-01-20 17:30:36 +01:00
Rubidium dfe70181f1 Codechange: add constexpr to bitmath functions where applicable 2024-01-20 17:30:36 +01:00
Rubidium 4c51534b6a Remove: LeastCommonMultiple / GreatestCommonDivisor
Use std::lcm / std::gcd instead.
2024-01-20 16:45:21 +01:00
Rubidium 1403f24fa9 Codechange: replace LeastCommonMultiple with std::lcm 2024-01-20 16:45:21 +01:00
Patric Stout bd85f61a40 Change: use a stronger hash and actual random information to generate Uids 2024-01-20 14:23:03 +01:00
Patric Stout 37244bc8c5 Codechange: MacOS already has MIN/MAX macros defined
This is caused because we use PreCompile Headers, and one of them
includes a system headers which defines MIN/MAX.
2024-01-20 14:23:03 +01:00
Patric Stout 63a3d56b8a Add: monocypher 4.0.2
Monocypher will take care of all our encryption needs; as most
OSes and vcpkg doesn't have it available, we vendor it.
2024-01-20 14:23:03 +01:00
Rubidium 6b21368bc2 Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit 2024-01-19 21:10:39 +01:00
Rubidium 8faaedeff9 Codechange: replace hand written function to find first/last bit with C++ variant 2024-01-19 21:10:39 +01:00
Peter Nelson 903119115b
Fix 9602de4: FinaliseCargoArray did nothing. (#11839)
`CargoSpec::Iterate()` deliberately skips invalid cargo types, but `FinaliseCargoCarry()` is only interested in them.
2024-01-19 20:07:47 +00:00
translators db7697bcdf Update: Translations from eints
chinese (simplified): 22 changes by WenSimEHRP
romanian: 37 changes by bnegrut
2024-01-19 18:40:43 +00:00
Peter Nelson 9cf47af490
Change: Invalidate music volume when restarting music playback on Windows. (#11836) 2024-01-19 17:01:36 +00:00
Peter Nelson 6a2c37b4ed
Fix 09f585b: Crash if font name ends with comma or comma and whitespace on Linux. (#11838) 2024-01-19 08:03:32 +00:00
Rubidium 1c694e433d Codechange: use std::popcount instead of hand written loop 2024-01-19 06:48:55 +01:00
Peter Nelson ae575a7a5b Codechange: Store text run positions in vector of points.
This simplifies the interlaced vector of x/y positions.
2024-01-19 00:08:31 +00:00
Peter Nelson f7cc88f370 Codechange: Return vector references instead of pointer to first item. 2024-01-19 00:08:31 +00:00
Rubidium 2f8de227dc Remove: unused OTTD_ALIGNMENT define and ReadLE16(Un)aligned 2024-01-18 23:29:15 +01:00
Rubidium ee00c7b159 Codechange: use TO_LE16 directly when reading language file offsets 2024-01-18 23:29:15 +01:00
translators 32b99bf77c Update: Translations from eints
portuguese: 4 changes by azulcosta
2024-01-18 18:40:14 +00:00
Loïc Guilloux bf4b669628
Fix: [Script] Improve ScriptText validation (#11721)
The validation is now done in two steps:
 - First we get the list of parameters in the same order they used to be in encoded string
 - Then we validate the parameter types like FormatString would use them while encoding the string
2024-01-18 18:06:30 +01:00
Peter Nelson 28ef5146ba Fix #11646: Non-thread safe shared buffer returned from GetLogPrefix().
Return string from GetLogPrefix instead of shared string's buffer.
2024-01-18 17:40:25 +01:00
Patric Stout 2b599c9d00 Fix: [HarfBuzz] make HarfBuzz use the same glyphs as we render 2024-01-18 10:41:01 +01:00
Patric Stout a24c2bf10a Codechange: [HarfBuzz] hb-ft will set the scaling on its own 2024-01-18 10:41:01 +01:00
Peter Nelson 7faa3848de
Change: Mark whole screen dirty when toggling font AA. (#11825) 2024-01-17 23:04:07 +00:00
Rubidium 4cc97e04e6 Fix #11801, 51f1e93: CalcClosestTownFromTile needs the kd-tree to be valid 2024-01-17 23:40:19 +01:00
Peter Nelson 0be26f5856
Change: Remove extra padding from query text. (#11823)
This window uses 'modalpopup' padding so does not need extra padding on its text.
2024-01-17 22:17:14 +00:00
Rubidium 47c0184a0b Codechange: replace ROR/ROL with std::rotr/rotl 2024-01-17 23:05:40 +01:00
frosch f457be5a27
Fix #11819, aa5ba5b: Out-of-bounds access in linkgraph GUI. (#11821) 2024-01-17 22:26:33 +01:00
Rubidium 2d77cf9c80 Codechange: replace StrStartsWith/StrEndsWith with starts_with and ends_with 2024-01-17 19:48:22 +01:00
translators 384b804f9c Update: Translations from eints
english (au): 1 change by krysclarke
chinese (simplified): 21 changes by WenSimEHRP
danish: 4 changes by bscargo
french: 2 changes by ottdfevr
portuguese (brazilian): 5 changes by pasantoro
polish: 5 changes by pAter-exe
2024-01-17 18:39:56 +00:00
Peter Nelson 341bdabc70
Fix #11815, bb491127: Missing brackets prevented vehicles turning properly. (#11816) 2024-01-17 13:23:55 +00:00
Jonathan G Rennison fd0528a9b4 Fix: Excessive switching of horizontal scale for FPS graph 60 Hz categories 2024-01-17 06:34:17 +01:00
Jonathan G Rennison 17d47ba06f Fix 661bdae2: cargo_payment not cleared when aircraft loading cancelled 2024-01-17 06:33:54 +01:00
Patric Stout fd073a2810 Remove: replace custom span with std::span 2024-01-17 00:25:08 +01:00
Patric Stout bb49112784 Codechange: switch our codebase to C++20 2024-01-17 00:25:08 +01:00
Michael Lutz fd59393899
Fix #11791, e1f5be62: Run missing-glyph detection after toggling sprite font. (#11812) 2024-01-17 00:00:26 +01:00
Rubidium aa5ba5bd7f Codechange: allow certain enumeration to be added
Otherwise C++20 doesn't like it.
2024-01-16 23:30:23 +01:00
Peter Nelson 7737aa6640 Codechange: Make all NWidgetPart arrays constexpr.
This ensures that the arrays are not created at runtime and prevents using non-constexpr values.
2024-01-16 21:57:05 +00:00
Peter Nelson 71b7ba0daa Codechange: Allow constexpr NWidgetPart construction. 2024-01-16 21:57:05 +00:00
Peter Nelson a5b6e17556 Codechange: Make geometry methods constexpr. 2024-01-16 21:57:05 +00:00
Peter Nelson 68843e3a96 Codechange: Move WidgetDimensions::unscaled to header to allow const use. 2024-01-16 21:57:05 +00:00
Peter Nelson 7eecd7512f Codechange: Remove redundant struct keyword. 2024-01-16 21:57:05 +00:00
Patric Stout 6860a86d45
Codechange: remove all u8 prefix in favour of compile-time option (#11807) 2024-01-16 21:33:53 +00:00
Patric Stout 6550682b49
Codechange: minor bits and pieces related to fmt::format() (#11806)
- Don't make run-time formatting what can be done compile-time.
- Be explicit about run-time formatting.
- Fix datetime printing.
2024-01-16 21:10:34 +00:00
Patric Stout 0b7410d979
Codechange: compile-time validate the string format of IConsolePrint (#11804)
This means we can no longer use runtime picking what string to use.
2024-01-16 21:04:35 +00:00
Patric Stout 8b4c5a6269
Codechange: compile-time validate the string format of SlErrorCorruptFmt (#11805) 2024-01-16 20:58:55 +00:00
Peter Nelson d005e8f8bd
Fix 884b9e66: No need to include extra pixel for pressed state. (#11803) 2024-01-16 20:50:46 +00:00
translators 2efd897691 Update: Translations from eints
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
chinese (simplified): 8 changes by WenSimEHRP
korean: 4 changes by telk5093
russian: 4 changes by Ln-Wolf
finnish: 4 changes by hpiirai
french: 8 changes by ottdfevr
2024-01-16 18:39:39 +00:00
Rubidium 661bdae2e5 Fix #11785, cf16f45: when bumping aircraft into the air, remove them from the loading vehicle list again 2024-01-16 00:08:19 +01:00
Rubidium f99793547e Fix fbd71a9: for TTO savegames, getting the savegame type left the file pointing to the wrong location 2024-01-16 00:08:19 +01:00
Rubidium d5518f6263 Fix 36a0818: TTO did not save company shares 2024-01-16 00:08:19 +01:00
Rubidium 51f1e939e8 Change: be more resilient against missing towns in old loader 2024-01-16 00:08:19 +01:00
Rubidium 67b405d2f6 Fix #11783, 953445a: TTO savegames are not 65536 by 65536 2024-01-16 00:08:19 +01:00
Rubidium f5b320e502 Codechange: use range based for loop, instead of tile numbers 2024-01-16 00:08:19 +01:00
Rubidium b09a4384d9 Codechange: remove need to use separate array for old_map3 2024-01-16 00:08:19 +01:00
Peter Nelson 8510f7bd00
Fix: NWidgetParts must use unscaled dimensions. (#11794) 2024-01-15 23:02:25 +00:00
EmperorJake 64bc07ff4e
Change: Make "middle" the default stopping location for trains in platforms (#11605) 2024-01-15 22:10:27 +01:00
Patric Stout 375074577f
Fix: [SDL] remove hint to avoid hardware acceleration (#11790)
This hint was once needed because of the way we handled surfaces.
But as OpenGL already uses a hardware surface, we already had to
fix all the issues that comes with it. As that is generic code,
this hint is no longer actually needed. Further more, recent SDL
versions break because of it on Wayland.
2024-01-15 21:57:55 +01:00
Loïc Guilloux b18e78e21d
Change: Redesign script debug window (#11782) 2024-01-15 21:41:44 +01:00
Tyler Trahan 68814bd912
Codechange: Rename SIGTYPE_NORMAL to SIGTYPE_BLOCK (#11788) 2024-01-15 15:27:48 -05:00
Tyler Trahan 4a194482ea
Fix e1f5be6: Typo when selecting traditional sprite font (#11789) 2024-01-15 20:24:26 +00:00
translators a1690d5b7b Update: Translations from eints
portuguese (brazilian): 1 change by pasantoro
2024-01-15 18:39:20 +00:00
Jonathan G Rennison 94e74a45c2
Fix: Viewport virt coords not updated when sprite font toggled (#11784) 2024-01-15 19:16:04 +01:00
Peter Nelson 53fa54f8e9
Fix e1f5be62: Clear font cache when toggling sprite font. (#11780)
This is necessary for the sprite font height and ascender to be updated correctly.
2024-01-15 00:21:11 +00:00
Patric Stout 32fc740582
Fix: [SDL2] fullscreen always used the resolution of the first display (#11779) 2024-01-14 22:41:51 +00:00
Patric Stout 302ba93471
Fix: [SDL2] only resolutions of the first display were shown (#11778) 2024-01-14 22:25:54 +00:00
Michael Lutz e1f5be6244 Add: GUI options to select sprite font and AA mode for all fonts. 2024-01-14 22:50:56 +01:00
Michael Lutz 20f1a0dc57 Fix: [OSX] Spurious log message when a sprite glyph was layouted. 2024-01-14 22:50:56 +01:00
Michael Lutz 36cf6b1d13 Feature: Scalable OpenTTD TrueType font made by Zephyris.
This uses the normal variant for the small font, not the all-caps version.
2024-01-14 22:50:56 +01:00
Michael Lutz 6e766a2e81 Change: Allow TrueType fonts to provide our private-use glyphs. 2024-01-14 22:50:56 +01:00
Loïc Guilloux 37610af0e4
Fix: Don't replace stripped characters with '?' in console (#11777) 2024-01-14 21:49:42 +00:00
Rubidium 564441e822 Remove: Debug redirect over network
It does not work for dedicated servers because upon starting the process to
resolve the address to redirect to gets killed. Also with all the async going
on in the network code, the debug redirection will start very late in the
process.
2024-01-14 22:14:31 +01:00
Peter Nelson a6873ef7dd
Codechange: Avoid repeatedly calling virtual methods in text drawing loop. (#11774) 2024-01-14 19:06:50 +00:00
translators e8d6b496c2 Update: Translations from eints
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
chinese (simplified): 9 changes by WenSimEHRP
korean: 1 change by telk5093
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
danish: 2 changes by bscargo
french: 2 changes by ottdfevr
portuguese: 1 change by azulcosta
2024-01-14 18:39:10 +00:00
Peter Nelson f219557cf2
Codechange: List functions in gui.h under correct source file. (#11775) 2024-01-14 18:12:40 +00:00
Peter Nelson 71aaed860b
Codechange: Missing some conversions to WidgetID. (#11773) 2024-01-14 16:47:10 +00:00
Loïc Guilloux 93ba6d6776
Fix: compilation without precompiled headers (#11770) 2024-01-14 13:27:03 +01:00
Peter Nelson e3bb6497f7 Codechange: Don't assume game options widget is a dropdown list. 2024-01-14 11:41:11 +00:00
Peter Nelson 8ca867ef63 Codechange: Replace game options' style-breaking if-condition with switch. 2024-01-14 11:41:11 +00:00
translators 341d022024 Update: Translations from eints
chinese (simplified): 141 changes by WenSimEHRP
russian: 3 changes by Ln-Wolf
danish: 6 changes by bscargo
latvian: 10 changes by lexuslatvia
dutch: 16 changes by Afoklala
french: 2 changes by ottdfevr
2024-01-13 18:38:17 +00:00
Jonathan G Rennison b3f31a6523
Fix #11696: Graphics set parameters missing from survey data (#11764) 2024-01-12 21:53:31 +00:00
Jonathan G Rennison 479490d7e8
Codechange: Remove unnecessary vector for writing GRF parameter JSON (#11763) 2024-01-12 21:38:31 +00:00
Loïc Guilloux 54b57fbfeb
Codechange: [Script] Use ScriptList::FillList() in more locations (#11762) 2024-01-12 21:19:08 +01:00
Tyler Trahan 60da6b992e
Fix #4415: Land info build date is also renovation date (#11759)
Co-authored-by: Gadg8eer <64449092+Gadg8eer@users.noreply.github.com>
2024-01-12 14:27:33 -05:00
Loïc Guilloux 03df70ce8a
Fix #11752: [Win32] Wrong multi-line text layout due to incorrect partial run handling (#11761) 2024-01-12 19:40:08 +01:00
Loïc Guilloux 28efa65e0c
Revert a2edf52: SQOpsLimiter does a more precise job (#11754) 2024-01-12 17:04:43 +01:00
Jonathan G Rennison 1101b04371 Fix: Build button text when train purchase window using "Engines" filter 2024-01-12 16:34:39 +01:00
Rubidium 32ab765792 Fix #11485: new run on same line must not use last_space of previous run as cut-off point
Use the start of the next run instead as the location of the last space.
2024-01-12 16:31:29 +01:00
translators 94d31864b3 Update: Translations from eints
chinese (simplified): 16 changes by WenSimEHRP
arabic (egypt): 23 changes by AviationGamerX
korean: 1 change by telk5093
portuguese (brazilian): 10 changes by pasantoro
polish: 4 changes by pAter-exe
2024-01-11 18:39:13 +00:00
Patric Stout d3ee045c2d
Codechange: refactor the Windows-only DllLoader in a cross-platform LibraryLoader (#11751) 2024-01-10 21:38:58 +00:00
Loïc Guilloux f7bd70baec
Fix #11748: Incorrect clamping of negative service interval values (#11749) 2024-01-10 16:23:36 +01:00
Jonathan G Rennison 86b046cd26
Fix: Incorrect assertion in GetTileIndexFromLocalCoordinate (#11747) 2024-01-10 00:20:34 +00:00
Peter Nelson 8f2266f0ed
Codechange: Use range-for when validating and finalising industries. (#11744) 2024-01-09 22:36:09 +00:00
Jonathan G Rennison 09eefd6e95 Cleanup: Remove unused constant YAPF_SHIP_PATH_CACHE_LENGTH 2024-01-09 20:58:51 +01:00
Jonathan G Rennison c1b421c0c3 Fix: Clear one way state when removing road from road+tram tile 2024-01-09 20:57:53 +01:00
Peter Nelson 97e2bc612c Codechange: Rename and move SpriteGroup-specific cargo types into a namespace.
These 'cargo types' have special defined uses and must not be used elsewhere. This makes it clearer that they are special.
2024-01-09 18:56:05 +00:00
Peter Nelson 400ae65ff2 Codechange: Redefine some cargo-related values in terms of CargoID instead of CargoType.
Values used as special filter types are now defined as offsets from NUM_CARGO instead of confusingly reusing CARGO_NO_REFIT/CARGO_AUTO_REFIT types.
2024-01-09 18:56:05 +00:00
Peter Nelson 952d111b94 Codechange: Split CT_INVALID into CT_INVALID and INVALID_CARGO.
INVALID_CARGO is a CargoID and should be used for most purposes in game.
CT_INVALID is a CargoType used for defining default properties.
2024-01-09 18:56:05 +00:00
translators 4fd986bd07 Update: Translations from eints
english (au): 7 changes by krysclarke
english (us): 7 changes by 2TallTyler
chinese (simplified): 6 changes by WenSimEHRP
serbian: 39 changes by DoLoop216
russian: 3 changes by Ln-Wolf
finnish: 4 changes by hpiirai
portuguese: 10 changes by azulcosta
polish: 34 changes by pAter-exe
2024-01-09 18:38:30 +00:00
Loïc Guilloux c86d918921
Add: [Script] Optional filter parameter to more ScriptXXXList constructors (#11698) 2024-01-09 09:39:13 +01:00
Kuhnovic f1e999ec59
Feature: Region-based pathfinder for ships (#10543) 2024-01-08 20:29:05 +01:00
translators 9a7c4dda52 Update: Translations from eints
english (au): 3 changes by krysclarke
english (us): 3 changes by 2TallTyler
chinese (simplified): 5 changes by WenSimEHRP
korean: 3 changes by telk5093
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
french: 5 changes by Lishouuu
2024-01-08 18:40:07 +00:00
Tyler Trahan 56dd8497e0
Fix: Use consistent wording on waypoint button tooltip (#11700) 2024-01-07 21:11:25 +00:00
Kaspars Putniņš cfc14a57e1
Add: Latvian Lats currency (#11691) 2024-01-07 16:03:38 -05:00
Jonathan G Rennison 4b48d3b5fe
Fix: String gender scan with SCC_INDUSTRY_NAME (#11697) 2024-01-07 15:48:47 -05:00
Tyler Trahan 948651d086
Fix: Use consistent wording for lorry stations (#11699) 2024-01-07 15:45:35 -05:00
translators 6bf7a86a04 Update: Translations from eints
english (us): 2 changes by 2TallTyler
korean: 2 changes by telk5093
danish: 2 changes by bscargo
2024-01-07 18:38:14 +00:00
Tyler Trahan 1e56bd1e5a
Change: Reorganize Settings menu items (#11683) 2024-01-07 08:44:50 -05:00
translators 0a8c0d62ee Update: Translations from eints
chinese (simplified): 103 changes by WenSimEHRP
latvian: 2 changes by lexuslatvia
2024-01-06 18:39:19 +00:00
Rubidium 3a676a5af0 Codechange: replace static inline with static for non-class functions 2024-01-06 13:37:33 +01:00
Peter Nelson 06a5fa6239 Codechange: Use CompanyMask to pass Companies to PopupMainCompanyToolbMenu().
It's like the type was designed for it.
2024-01-05 22:26:07 +00:00
Peter Nelson 6828b6014a Codechange: Use company group statistics to test for vehicles for drop down list state.
This avoids iterating full the vehicle pool to find out if a company has any vehicles of a particular type.
2024-01-05 22:26:07 +00:00
SamuXarick 847f3f660d
Fix #10511: Delay 'go to nearest depot' orders (#11548)
Delay the nearest depot order search for a day if the vehicle can't find its destination, which happens when it has already attempted to do so and failed to find a valid destination.
2024-01-05 21:23:01 +00:00
Peter Nelson 7a5106042f
Codechange: Use CompanyMask and company group statistics for auto clean tests. (#11693)
This function does not need to know how many vehicles there are, only that there is at least one.
2024-01-05 20:58:24 +00:00
Peter Nelson 34e8c8e1c1
Codechange: Build station and depot vehicle lists from shared order lists. (#11676)
The brings some performance advantages:

* No need to iterate all vehicles and check for primary vehicle as only vehicles that can have orders are listed.
* Shared orders only need to be tested once instead of for each vehicle sharing them.
* Vehicle tests only need to be performed on the first shared vehicle instead of all.
2024-01-05 18:59:38 +00:00
Patric Stout 7788b68bbe
Fix: don't unneededly block on transmitting survey on exit (#11687) 2024-01-05 18:54:00 +00:00
Patric Stout 28e2576589
Fix: race-condition when quitting the game with libcurl (#11688)
There could be a callback in _new_http_callbacks that is not
processed yet. All callbacks in _http_callbacks were cancelled,
but not the ones in _new_http_callbacks
2024-01-05 18:48:21 +00:00
translators 8bc473766b Update: Translations from eints
english (au): 2 changes by krysclarke
chinese (simplified): 6 changes by WenSimEHRP
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
dutch: 6 changes by Afoklala
portuguese: 5 changes by azulcosta
portuguese (brazilian): 2 changes by ericandradex
polish: 4 changes by pAter-exe
2024-01-05 18:38:36 +00:00
glx22 7bfc766f94 Fix: [Script] document return type of member GSIndustry::GetProductionLevel 2024-01-05 19:17:08 +01:00
glx22 707e8001be Fix #11689: properly close DOXYGEN_API block 2024-01-05 19:17:08 +01:00
Peter Nelson 623df6b94f
Codechange: Get count of road vehicles by summing company group statistics data in small UFO handler. (#11690)
This avoids needing to iterate the complete vehicle pool. Company group statistics are maintained elsewhere already.

The vehicle pool is still iterated later to find the nth random road vehicle.
2024-01-05 13:13:55 +00:00
Peter Nelson 91ea8e3fa6
Codechange: Use locals for company/deity mode during script loops. (#11686) 2024-01-05 08:32:43 +00:00
Peter Nelson 06050f7bb3
Fix: Pass townnameparts as parameter when testing townname based companyname. (#11685)
Length of returned string could vary and pass/fail the length check with a different
string than the final selection.
2024-01-04 23:10:54 +00:00
Peter Nelson 7482f71692
Change: Don't handle 'missing' string parameters as 0. (#11673)
If not enough parameters are supplied for a string, then a value of 0 was used, which could result in incorrect information being displayed.

Instead, throw an exception and include an error in the string.
2024-01-04 20:50:58 +00:00
translators c44faf4eea Update: Translations from eints
english (us): 2 changes by 2TallTyler
chinese (simplified): 39 changes by WenSimEHRP
polish: 29 changes by pAter-exe
2024-01-04 18:39:48 +00:00
Jonathan G Rennison 5db9266f4b Change: Allow STRING/STRINGN to use all remaining parameters in game script mode 2024-01-04 17:45:33 +00:00
Jonathan G Rennison e2a79f0f32 Codechange: No longer advance parent offset in StringParameters parent mode
Add method to manually advance offset
2024-01-04 17:45:33 +00:00
EmperorJake 6522351a1f Feature: Setting to disable the loading speed penalty for trains longer than the station 2024-01-04 16:59:11 +01:00
Rubidium e3f49ee7a0 Codechange: coding style fixes 2024-01-04 16:23:54 +01:00
Jonathan G Rennison 0075364c89 Fix: curl_global_cleanup called before libcurl HTTP thread exited 2024-01-04 13:41:24 +01:00
Jonathan G Rennison 51ef416b49 Fix: libcurl HTTP thread race at uninit preventing thread exit 2024-01-04 13:41:24 +01:00
George Abraham 4fcd94a1cb
Update: replace the cedilla characters with comma ones for Romanian (#11665)
This is specifically for s-cedilla and t-cedilla to their comma variants.
These variants, especially in smaller font sizes, look almost identical but
they are different. Currently the translation uses a mix of the cedilla and
comma variants, where the cedilla ones are often in the older strings.

Replace reinnoi with innoi, as it is the correct form.
2024-01-03 20:56:07 +01:00
translators 799455abf7 Update: Translations from eints
latvian: 2 changes by lexuslatvia
portuguese (brazilian): 1 change by pasantoro
2024-01-03 18:39:18 +00:00
Peter Nelson 3864902683
Codechange: Use vehicle viewport hash to find clicked vehicle. (#11675)
This avoids having to iterate all vehicles, which can be an performance improvement when there are many vehicles.
2024-01-03 18:36:34 +00:00
Patric Stout aef49e9933
Fix: race-conditions in GUI updates when downloading HTTP files (#11639) 2024-01-02 22:05:25 +01:00
translators 344bdafb53 Update: Translations from eints
latvian: 8 changes by lexuslatvia
polish: 1 change by pAter-exe
2024-01-02 18:40:54 +00:00
Krys Clarke 1cdafcd7ac
Fix: Missing word in conditional order comparator (#11632) 2024-01-02 18:29:25 +00:00
Peter Nelson ae3352582a
Fix: Autorenew failed message consumes arguments. (#11669) 2024-01-02 18:08:04 +00:00
Jonathan G Rennison 48b6b1844a
Change: Limit total script ops that can be consumed by a list valuate (#11670) 2024-01-02 19:02:12 +01:00
Jonathan G Rennison 502a52edd5
Fix: Spurious cancellations of HTTP content downloads (#11668) 2024-01-01 19:13:29 +00:00
translators 3e4dee6d0c Update: Translations from eints
english (us): 11 changes by 2TallTyler
korean: 29 changes by telk5093
2024-01-01 18:38:47 +00:00
Jonathan G Rennison 88324a253e
Fix #11644: Off by one error/buffer over-read in StrMakeValid (#11645)
* Fix #11644: Off by one error in StrMakeValid UTF-8 decode overrun detection

* Fix #11644: Off by one error in StrMakeValid buffer last character

* Fix: Unnecessary string duplication at StrMakeValid call sites
2024-01-01 13:26:31 -05:00
Loïc Guilloux a672813bb0
Add: [Script] Optional filter parameter to ScriptVehicleList constructor (#11663) 2024-01-01 01:07:47 +01:00
Loïc Guilloux f56a2d0f82
Fix: Missing invalidations on gui.ai_developer_tools change (#11664) 2024-01-01 00:43:10 +01:00
Jonathan G Rennison 3e2060f155
Fix #11337: Station blocked/pylon/wire bits with CBID_STATION_TILE_LAYOUT (#11656) 2023-12-31 18:31:01 -05:00
translators 13348b7790 Update: Translations from eints
galician: 13 changes by Xocko12
catalan: 47 changes by J0anJosep
latvian: 14 changes by lexuslatvia
french: 11 changes by ottdfevr
portuguese: 52 changes by azulcosta
2023-12-31 18:38:20 +00:00
Peter Nelson 934545a674
Fix: Calculation of initial engine age was inaccurate. (#11660)
Engine age in months was calculated as the difference in days / 32, instead of the actually difference in months. This would result in engines being artificially younger if a game was started at a later date.
2023-12-31 15:47:32 +00:00
Peter Nelson 7124b4eef1 Codechange: Use std::unique_ptr for all NWidgets. 2023-12-31 15:33:56 +00:00
Peter Nelson 9a3934ae23 Codechange: Use vector/unique_ptr inside widget containers.
This replaces a C-style double-linked-list which required all widgets
to have next/prev pointers, and removes the need for manual pointer management.
2023-12-31 15:33:56 +00:00
Peter Nelson 628092f133 Codechange: Use GetParentWidget to find widget's NWidgetMatrix container. 2023-12-30 22:02:37 +00:00
Peter Nelson c2c65d66ba Codechange: Add GetParentWidget() to widgets.
This allows to get parent widgets in the nested tree from bottom-up.
2023-12-30 22:02:37 +00:00
Peter Nelson 8ff0bef862
Codechange: Make widget index const to prevent changes. (#11658)
This guards against future widget index manipulation.
2023-12-30 18:55:16 +00:00
translators fd782ada05 Update: Translations from eints
russian: 11 changes by lexuslatvia
finnish: 12 changes by hpiirai
latvian: 217 changes by lexuslatvia
2023-12-30 18:38:27 +00:00
Peter Nelson 6215e9bf77
Fix #11655: Crash due to NWidgetMatrix modifying widget->index. (#11657)
NWidgetMatrix modifies its child widget's index to indicate which element
is to be drawn, which now causes issues with code that does not know about
stuffing extra data into the index.

Instead, let NWidgetMatrix store the currently processing element, and
retrieve this information from the matrix widget while child widgets are
being drawn.

This means only widgets that are children of NWidgetMatrix need to know
anything about their extra data.
2023-12-30 18:24:26 +00:00
Charles Pigott 1e60734660
Fix: Compilation with DEBUG_DUMP_COMMANDS enabled (#11607) 2023-12-30 17:46:32 +00:00
Peter Nelson f3b4d2a384
Fix #11649: Ignore disabling a widget that does not exist. (#11652)
Orders window has different widget layouts depending on vehicle type
which don't all have the same widgets, and therefore it tries to disable
widgets that might not exist.

Restore the old behaviour of ignoring such requests, instead of crashing.
2023-12-30 13:29:31 +00:00
Peter Nelson 268e512fb8 Codechange: Set storage type of widget enums to WidgetID. 2023-12-30 00:23:57 +00:00
Peter Nelson a0dfb76e34 Codechange: Replace mishmash of types for widget index with WidgetID.
Indices were stored as int, but often passed around as uint/uint8_t and casts.

Now they should all use WidgetID.
2023-12-30 00:23:57 +00:00
Peter Nelson fd84f73323
Fix #11643: Empty area at top of survey preview. (#11647)
Empty area at the top of some textfile windows due to calling
SetDisplayedPlane() after calling FinishInitNested(), and/or changing
the displayed plane and not calling ReInit() after.

This was previously hidden by CheckForMissingGlyphs() reinitialising
all windows anyway.
2023-12-30 00:19:27 +00:00
Peter Nelson b86182ab84 Codechange: Use std::map to provide indexed widget access.
This removes the need to determine the biggest widget index and replaces C-style memory handling.
2023-12-29 18:45:43 +00:00
Peter Nelson a12f426d69 Codechange: Rename nested array to widget lookup.
This changes from naming storage-type to naming functionality.

* `FillNestedArray` is renamed to `FillWidgetLookup`.
* `Window::nested_array` is renamed to `Window::widget_lookup`.
* `array` parameter renamed as well.
2023-12-29 18:45:43 +00:00
translators a8e587632a Update: Translations from eints
danish: 3 changes by bscargo
dutch: 10 changes by Afoklala
2023-12-29 18:38:59 +00:00
Peter Nelson feb94d233d
Codechange: Remove deferred nested_array initialization path. (#11640)
Having two ways (`FillNestedArray` and `SetupSmallestSize`) to initialize
`Window::nested_array` introduces confusion.

Instead, make `FillNestedArray` the canonical way, always call it, and remove
init_array from `SetupSmallestSize`.
2023-12-29 14:27:04 +00:00
Patric Stout 11ba951250
Fix: race-condition when creating new HTTP requests from different threads (#11638) 2023-12-29 12:45:23 +01:00
Peter Nelson 5d2ed80c95 Fix: Changing group parent did not properly update partially-default liveries. 2023-12-28 23:16:19 +00:00
Peter Nelson bfb4254226 Fix: Changing default livery did not propagate to group liveries.
#11614 attempted to address this but did not handle 2CC properly, and changes to the default livery were not handled.
2023-12-28 23:16:19 +00:00
Jonathan G Rennison 3b18877b87
Fix #11629: AirportGetNearestTown for rotated airports (#11631)
Add rotation parameter to AirportGetNearestTown
Add wrapper for existing stations
Remove unnecessary iterator cloning
2023-12-28 21:43:05 +00:00
Peter Nelson 33ff64ef74
Codechange: Simplify ConvertDateToYMD by returning YearMonthDay instead of outputting to a pointer. (#11637) 2023-12-28 21:34:08 +00:00
Peter Nelson bd3b28551e Codechange: Replace reliability magic numbers with constants.
These are derived as a percentage of UINT16_MAX.
2023-12-28 21:26:24 +00:00
Peter Nelson 7b2c143df0 Fix: Prevent underflow if engine base life is less than 8 years. 2023-12-28 21:26:24 +00:00
translators ead5ad119c Update: Translations from eints
english (au): 11 changes by krysclarke
danish: 9 changes by bscargo
portuguese (brazilian): 10 changes by pasantoro
2023-12-28 18:38:31 +00:00
translators ce6a65d7b5 Update: Translations from eints
english (au): 2 changes by krysclarke
chinese (simplified): 37 changes by WenSimEHRP
romanian: 28 changes by bnegrut
russian: 13 changes by Ln-Wolf
finnish: 36 changes by hpiirai
danish: 16 changes by bscargo
dutch: 17 changes by Afoklala
2023-12-27 18:38:01 +00:00
Jonathan G Rennison 2b914c7a2f Fix: Memory leak in WindowDescTestsFixture 2023-12-26 23:48:59 +01:00
Rubidium e0c670cbe8 Codechange: replace NULL with nullptr 2023-12-26 07:18:52 +01:00
Rubidium 2072e532f7 Codechange: replace NULL with nullptr 2023-12-26 07:18:52 +01:00
Peter Nelson a2a7ecf88e
Fix 9ce1626b: Some blitters have `bp->remap` aliased to `remap` for performance. (#11626)
While this probably doesn't make a huge difference for the custom transparent remap code path, the alias is there so use it.
2023-12-25 20:59:37 +00:00
Peter Nelson fdf6cbf848
Change: Scale sprites to requested highest resolution level. (#11600)
Sprites from graphics sets which only provide high resolution sprites are now scaled up from scaled down versions.
2023-12-25 20:08:13 +00:00
SamuXarick 947e77267a
Doc 0ca4b4e: Script debug window numbers are now ascending (#11623) 2023-12-25 18:42:29 +01:00
Loïc Guilloux 6c5a4aa2cb
Fix 2d3af14: Don't draw script log over panel borders (#11621) 2023-12-25 18:42:13 +01:00
Peter Nelson 9ce1626bb4 Change: Support custom transparency remaps with 32bpp blitters.
This closes a 15 year old TODO...
2023-12-25 11:22:52 +00:00
Peter Nelson 0bc22dd310 Add: 32bpp-to-8bpp palette index lookup.
Lookups are calculated on demand and caches in a 256KB in-memory table.
2023-12-25 11:22:52 +00:00
Peter Nelson daec0e2ca4 Codechange: Split palette handling to separate file. 2023-12-25 11:22:52 +00:00
Peter Nelson 4ecc107d30 Codechange: Perform simpler comparison first when checking for palette updates.
This avoids unnecessarily comparing contents of an array.
2023-12-25 11:22:52 +00:00
Loïc Guilloux af8b8c2cfc
Fix 4a2038e301: fully restore script break filter on reopen (#11622) 2023-12-24 00:08:18 +00:00
Peter Nelson c0cdf3460e Change: Rename Standard Livery to Default Livery. 2023-12-23 13:45:35 +00:00
Peter Nelson 3436b5f090 Change: Show a message in livery window if vehicle type has no groups. 2023-12-23 13:45:35 +00:00
Peter Nelson 513c7e7b53 Change: Add distinct tooltips for vehicle group colour schemes. 2023-12-23 13:45:35 +00:00
Peter Nelson eda0dd24fe Change: Remove hardcoded minimum sizes and allow resize.
This stops the window being needlessly large.
2023-12-23 13:45:35 +00:00
Peter Nelson 0949eddd55 Change: Move colour selection dropdowns to bottom of window.
This stops them looking similar to how filter controls are used elsewhere,
and matches action dropdowns on other windows.
2023-12-23 13:45:35 +00:00
Peter Nelson 5cb7a16edc
Fix #11618: Don't try to display unavailable zoom levels in sprite aligner. (#11619) 2023-12-23 13:17:33 +00:00
Darragh acfe367507
Fix #11442: "default" colour in group colour window is not updated when changing master colour (#11614)
Updated SelectCompanyLiveryWindow.DrawWidget method to check if a group's livery.in_use 0 bit is set, rendering the company's default colour if it has not been.
2023-12-22 17:56:09 +01:00
Peter Nelson fd0aa3dd19
Fix #11515: Zoom level could wrap around when changing interface scale. (#11615)
This happened due to converting the new value to unsigned before clamping instead of after.
2023-12-22 15:23:42 +00:00
Peter Nelson c1afbc9415
Fix: Update widget dimensions before updating viewport signs. (#11611)
Viewport signs used fullbevel WidgetDimensions before it was updated for the new interface scale.
2023-12-20 22:10:05 +00:00
Loïc Guilloux 2d3af14181
Add: Horizontal scroll for script debug log (#11597) 2023-12-20 22:50:03 +01:00
Peter Nelson 0ca4b4e146 Change: Allow opening multiple script debug windows by holding Ctrl. 2023-12-20 20:39:07 +00:00
Peter Nelson 4a2038e301 Codechange: Make script debug window filter state per-window. 2023-12-20 20:39:07 +00:00
Peter Nelson b85ecf9ac2
Codechange: Replace pointer to Sprite array with reference to SpriteCollection. (#11580)
Add `SpriteLoader::SpriteCollection` type which is an array of `SpriteLoad::Sprite`.

This removes the ambiguity of what `SpriteLoader::Sprite *` is pointing to,
and cleans up mismatches using both dereference -> and array access [] for the
same object.
2023-12-20 20:38:21 +00:00
Peter Nelson 7466c3c39e Fix: Draw unavailable mask over picker sprite instead of behind it.
This makes these disabled picker buttons consistent with other disabled buttons.
2023-12-20 09:29:28 +00:00
Peter Nelson 712a4bb40b Fix: Prevent picker preview sprites from overflowing button bevel. 2023-12-20 09:29:28 +00:00
Peter Nelson 313ee13e5f Codechange: Add Rect version of FillDrawPixelInfo().
This simplifies most callers as they longer have to split out a rect.
2023-12-20 09:29:28 +00:00
Finn Willard 3a42340db3 Add: Hotkey to focus industry directory filter box
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
2023-12-19 11:23:37 -05:00
Finn Willard 7d3ae4a058 Add: Hotkey to focus town directory filter box
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
2023-12-19 11:23:37 -05:00
Tyler Trahan e8d2ebb016
Fix: Add missing includes to timers from script implementation files (#11604) 2023-12-19 14:09:46 +00:00
SamuXarick fddcaef74a Codechange: Use town zone constants instead of magic numbers 2023-12-18 22:12:43 +01:00
translators 9b7a5bc876 Update: Translations from eints
vietnamese: 1 change by KhoiCanDev
danish: 4 changes by bscargo
2023-12-18 18:39:11 +00:00
Peter Nelson b19a6c3b81
Fix: Window width/height was doubly-scaled with automatic DPI switch. (#11598) 2023-12-18 13:05:06 +00:00
SamuXarick c05ffb22bd
Fix #10452: Don't let AyStar max_search_nodes unattended when initializing (#11544)
Add a constant with the default value of 10000 and have the pathfinding settings refer to it.

Add a preventative method to AyStar when it's initializing, to limit the number of max_search_nodes if left unattended.
2023-12-17 22:50:53 +01:00
translators 8ab3838387 Update: Translations from eints
vietnamese: 20 changes by KhoiCanDev
italian: 5 changes by Rivarossi
2023-12-17 18:37:38 +00:00
Peter Nelson 661e0cd82d
Fix: Make compact picker windows expand to fill if necessary. (#11591) 2023-12-16 23:08:42 +00:00
translators 651343d69e Update: Translations from eints
english (au): 17 changes by krysclarke
english (us): 17 changes by 2TallTyler
italian: 30 changes by Rivarossi
russian: 17 changes by Ln-Wolf
french: 36 changes by ottdfevr
portuguese (brazilian): 30 changes by pasantoro
2023-12-16 18:36:51 +00:00
translators 0e6038f0e5 Update: Translations from eints
english (us): 19 changes by 2TallTyler
vietnamese: 14 changes by KhoiCanDev
turkish: 26 changes by BeratSJ
dutch: 19 changes by Afoklala
2023-12-15 18:38:09 +00:00
Tyler Trahan 8816c9dd26 Change: Improve and standardize wording of World Generation helptexts 2023-12-15 09:57:44 -05:00
Tyler Trahan 1343d7e25a Change: Don't mention TerraGenesis in setting helptexts
We no longer show the land generator in the World Generation GUI, so this is less important to explain in tooltips.
2023-12-15 09:57:44 -05:00
Tyler Trahan 1e8aa9ce22 Add: Use more tooltips in World Generation GUI 2023-12-15 09:57:44 -05:00
Peter Nelson 302e8852c1
Fix: Crash if squirrel compatibility scripts cannot be parsed. (#11589) 2023-12-15 01:25:36 +00:00
Loïc Guilloux 7726f8f245
Fix: [Script] Properly store the previous AsyncMode state (#11587) 2023-12-14 21:29:44 +00:00
Peter Nelson bbf3028f89 Fix #11585: Crash when cleaning AI/GS with nested AsyncMode.
Do not throw sanity check when in_shutdown is true. This is also applied to
ExecMode and TestMode as they follow the same pattern.
2023-12-14 20:54:31 +00:00
Peter Nelson 47dd04d16c Fix: Don't crash when saving a crashlog save with no main window open. 2023-12-14 20:54:31 +00:00
Peter Nelson da2d21f5b0
Fix: Left-over printf-style format passed to fmt. (#11584) 2023-12-14 19:35:35 +00:00
translators 63c006a174 Update: Translations from eints
korean: 20 changes by telk5093
danish: 13 changes by bscargo
portuguese (brazilian): 18 changes by pasantoro
2023-12-14 18:38:27 +00:00
Jonathan G Rennison 97b86b7147
Codechange: Use MakeParameters with GetNextParameter in FormatString (#11583)
Instead of StringParameters subspan, to avoid GSs being able to
cause subspan boundary assertion failures
2023-12-14 10:41:31 -05:00
Peter Nelson 12bb750128
Codechange: Cargo filters no longer take an index. (#11582)
Update naming of functions to reflect that parameter is now a cargoid.
2023-12-14 01:48:45 +00:00
Peter Nelson d6515d6c98
Fix 0a8bcdd: Scaling non-sprite fonts does not depend on _font_zoom changing. (#11579) 2023-12-13 19:51:44 +00:00
translators 8e05001001 Update: Translations from eints
english (au): 18 changes by krysclarke
russian: 18 changes by Ln-Wolf
2023-12-13 18:38:37 +00:00
Peter Nelson 6c5aeae01b
Fix #11577: Extra viewport opened in wrong location. (#11578)
ExtraViewportWindow calls IninitializeViewport() with focus as 0, which is ambiguous as focus should be either a TileIndex or a VehicleID.

Instead, pass the tile and let InitializeViewport() handle setting all the coordinates.
2023-12-13 02:19:16 +00:00
Peter Nelson 0a8bcdd344
Change: Be selective about clearing sprite/font caches on interface scale change. (#11576)
Sprite cache contains all zoom levels anyway, so does not need to be reloaded.

Font cache does not need to be clear if the font zoom hasn't changed, i.e. when changing the max sprite zoom level setting.
2023-12-11 21:03:54 +00:00
translators b62fafc5d4 Update: Translations from eints
english (au): 1 change by krysclarke
italian: 1 change by Rivarossi
german: 7 changes by SecretIdetity
russian: 1 change by Ln-Wolf
danish: 1 change by bscargo
french: 1 change by glx22
2023-12-11 18:39:36 +00:00
Peter Nelson dc27f1649a Fix e2425b7: Sprites no longer refreshed if max zoom level changed.
Handle this via AdjustGUIZoom() instead.
2023-12-11 14:16:49 +00:00
Peter Nelson 162ffc288d Fix e2425b7: WidgetDimensions and depot sizes not set up if blitter forced.
Set up WidgetDimensions and depot sizes during InitWindowSystem().
2023-12-11 14:16:49 +00:00
Tyler Trahan 2bada59193 Feature: Mode to display timetable in seconds 2023-12-11 07:12:45 -05:00
Tyler Trahan 2a62caa30b Codechange: Use Ticks for BaseConsist timetable fields 2023-12-11 07:12:45 -05:00
Tyler Trahan 051abb2fad
Change: Don't show scoring year in high score table (#11546) 2023-12-10 18:05:51 -05:00
Peter Nelson 6e8c27b8e5
Change: Hide bevel for resizeable sparse layout windows. (#11572)
When clicked, the button is still highlighted to show that it is active.

The bevel is controlled with widget_data by RWV_SHOW_BEVEL or RWV_HIDE_BEVEL values.
2023-12-10 17:25:36 +00:00
SamuXarick a3d56e2c6e
Fix: Prevent overflow when calculating max town noise (#11564)
Max town noise could overflow if the population was high enough. The value is now clamped.
2023-12-10 15:42:55 +00:00
Peter Nelson 09251d993c
Change: Use sparse padding for network server list. (#11571) 2023-12-10 14:48:58 +00:00
Peter Nelson 102fc6a9d1
Cleanup: iif should be iff (if-and-only-if) (#11570) 2023-12-10 12:05:28 +00:00
Peter Nelson 8186182e4c Codechange: Set displayed plane earlier to avoid ReInit. 2023-12-10 12:01:55 +00:00
Peter Nelson fb60f8f2f5 Codechange: Simplify BuildRailStationWindow initialization. 2023-12-10 12:01:55 +00:00
Peter Nelson 66b064cbad Codechange: Use return value of SetDisplayedPlane to simplify CompanyWindow. 2023-12-10 12:01:55 +00:00
Peter Nelson ebf299e1b4 Codechange: Make SetDisplayedPlane return whether the plane changed or not. 2023-12-10 12:01:55 +00:00
Peter Nelson d6060a4d47
Change: Use sparse padding for start network server window. (#11569) 2023-12-09 23:35:46 +00:00
Peter Nelson a759d35f26
Fix #11352: Draw all network server info as multiline strings. (#11567)
This also allows the 'header' (which is not actually a widget) to grow
as necessary to fit the server name.
2023-12-09 20:43:36 +00:00
Peter Nelson c0ea0589b4
Fix: AirportGetNearestTown incorrectly assumed first TileIterator result was origin. (#11565)
Not all TileIterators are equal, and some do not start at the top-corner, so the perimeter check was wrong. As the caller already has thie origin tile, use that instead.
2023-12-09 09:47:41 +00:00
Peter Nelson 10f94fb0dd Codechange: Remove runtime variable size assertion. 2023-12-09 08:13:03 +00:00
Peter Nelson 9f853c10b0 Codechange: Add compile-time check that variable size matches saveload entry. 2023-12-09 08:13:03 +00:00
Peter Nelson cb53fed229 Codechange: Move VarType helpers to allow earlier use. 2023-12-09 08:13:03 +00:00
Peter Nelson a05d6ee404 Fix: Ensure saveload type match variable type.
This either changes the saveload definition or changes the variable depending on which makes more sense.
2023-12-09 08:13:03 +00:00
Peter Nelson 54d45a6047 Codechange: Don't keep autosave_interval in std::chrono::minutes.
This variable is saved as a setting which requires the variable type to be known, but std::chrono::minutes may vary depending on system type.

Instead, keep as uint32_t and convert to std::chrono::minutes only when setting the timer.
2023-12-09 08:13:03 +00:00
Peter Nelson a29766d6cc Codechange: Move dropdown list size and position calculation to window.
This simplifies initialization of DropdownWindow, as instead of both the caller code and the class needing to know about list sizes and available space, only the DropdownWindow needs to know.
2023-12-09 08:12:34 +00:00
Peter Nelson f1cceb43a1 Codechange: Move initialization of DropdownWindow members. 2023-12-09 08:12:34 +00:00
Peter Nelson 52b121942b Codechange: DropdownWindow's selected_index is not actually an index. 2023-12-09 08:12:34 +00:00
translators 2dcb00a79a Update: Translations from eints
galician: 88 changes by pvillaverde
chinese (simplified): 4 changes by WenSimEHRP
italian: 6 changes by Rivarossi
turkish: 2 changes by densxd
dutch: 5 changes by Afoklala
2023-12-08 18:38:34 +00:00
Peter Nelson 3317e29847 Fix #11516: Adjust window size by interface scale during ReInit.
To simplify this and ensure that scaling only occurs once, regardless of
resize nesting, each window now remembers interface scale.
2023-12-07 23:58:32 +00:00
Peter Nelson e2425b72c1 Fix: Don't implicitly ReInit all windows after updating the character width cache.
This caused duplicate ReInit when changing interface scale.
2023-12-07 23:58:32 +00:00
Peter Nelson 54ba757910
Fix #11556: Missing saveload change for OrderBackup. (#11557)
Apply the saveload change from #11468 to OrderBackup and bump again.
2023-12-07 19:31:30 +00:00
Jonathan G Rennison 2cbe91c312
Fix #11551, aab580e0a: Link graph job results were incorrectly applied (#11558)
Edge flows were incorrectly restricted because the restricted
instead of unrestricted last update date was checked

See also: #10314
2023-12-07 18:38:43 +00:00
Peter Nelson 60565da8f9
Codechange: Add specific WidgetDimension for dropdown list window. (#11554)
This avoids contorting fullbevel dimensions.
2023-12-07 16:10:09 +00:00
Peter Nelson 89461b5561
Codechange: Don't highlight unselectable dropdown item. (#11553) 2023-12-07 16:09:45 +00:00
Peter Nelson 90e386acaa
Codechange: Vertical spacing for caption is captiontext, not framerect. (#11550)
This does not really matter as the caption height is sized correctly later anyway, so this just avoids confusion.
2023-12-06 21:36:51 +00:00
Peter Nelson bdef9b451c
Codechange: Remove unnecessary SetMinimalTextLines for text buttons alongside captions. (#11549) 2023-12-06 21:14:09 +00:00
translators d8f989a1f5 Update: Translations from eints
danish: 3 changes by bscargo
portuguese (brazilian): 5 changes by pasantoro
2023-12-06 18:39:07 +00:00
Loïc Guilloux 2a22063d77
Change: Remember the active game option window tab (#11547) 2023-12-06 14:44:38 +00:00
Peter Nelson 58c252b81a Cleanup: Remove unnecessary pressed button offset code. 2023-12-05 21:12:35 +00:00
Peter Nelson 884b9e6690 Change: Revert pressed-button content shifting introduced in r2161.
This restores original behaviour, and prevents all image buttons being slightly too large.
2023-12-05 21:12:35 +00:00
translators a92d0da8b4 Update: Translations from eints
finnish: 5 changes by hpiirai
polish: 5 changes by pAter-exe
2023-12-05 18:38:33 +00:00
translators 7d0ce826db Update: Translations from eints
english (au): 5 changes by krysclarke
english (us): 5 changes by 2TallTyler
korean: 5 changes by telk5093
russian: 5 changes by Ln-Wolf
catalan: 5 changes by J0anJosep
french: 5 changes by glx22
2023-12-04 18:38:44 +00:00
Peter Nelson e749bbefe5
Change: Show rating in station list even with no cargo waiting. (#11540)
e745bd9 (r21144) changed the filter from cargo waiting to rating, which makes the station list display appear inconsistent with the cargo filter selection.
2023-12-04 18:16:09 +00:00
Peter Nelson 07a8bd21e4 Fix: Make station list filters use per-window state instead of global state.
Changing filters with multiple windows open would have unexpected effects leading to inconsistent state.

Now state is loaded and saved when the window is opened and closed, so state is still persistent.
2023-12-04 08:24:39 +00:00
Peter Nelson dcf730f1f6 Codechange: Optionally allow passing state to GUIList sorter function.
GUIList sorter functions can currently only use global state, which makes per-window-instance sorting difficult.
2023-12-04 08:24:39 +00:00
Peter Nelson 4d9f335f36 Change: Add outline of sprite to sprite aligner. 2023-12-04 08:14:02 +00:00
Peter Nelson f7380a4d2d Change: Make NewGRF Sprite Aligner window resizeable. 2023-12-04 08:14:02 +00:00
Peter Nelson 0434c1b474 Feature: (-tte) Add zoom level buttons to sprite aligner.
This allows for offsets to be adjusted a different zoom level than currently in use, and offset adjustment and display is also more convenient.
2023-12-04 08:14:02 +00:00
Peter Nelson 4e5700939d Change: Use sparse padding for sprite aligner. 2023-12-04 08:14:02 +00:00
Peter Nelson 9122b4eb47
Codechange: SetMinimalTextLines(1, 0) is implied for widgets with text. (#11536) 2023-12-03 22:42:50 +00:00
Peter Nelson 17c3ce8632
Codechange: Use maxdim instead of setting width/height separately. (#11535) 2023-12-03 22:23:54 +00:00
Peter Nelson aae6e0481e
Codechange: Rearrange AI/GS debug window following invalidate/set state/draw pattern. (#11483)
The AI/GS window updated its state as it was drawn, and would redraw again if some state had changed.

Instead, update state either during OnInvalidateData or before any drawing commences.
2023-12-03 18:53:31 +00:00
Peter Nelson 1084ab4b66 Add: Website button to Game Options window for basesets.
This links to the optional "url" item in the baseset's [metadata] section.
2023-12-03 18:52:33 +00:00
Peter Nelson cc528bd8fc Change: Adjust layout of Content and NewGRF Website buttons for consistency. 2023-12-03 18:52:33 +00:00
Peter Nelson 2272e8fe0e Add: Website button for Game Script settings window. 2023-12-03 18:52:33 +00:00
Peter Nelson f60c14a682 Add: Website button for AI settings window. 2023-12-03 18:52:33 +00:00
Peter Nelson 7ba89b946e
Change: Hide unused cargos from vehicle cargo filter. (#11533)
The list of used cargo types is updated when the list is invalidated.
2023-12-03 18:11:08 +00:00
Peter Nelson 9a92e02fa7
Change: Add tooltips for text file buttons, and shorten Website / Readme buttons. (#11534) 2023-12-03 16:54:57 +00:00
Patric Stout b866e52b17
Remove: officially mark Vista as no longer supported (#11531)
It is very likely Vista hasn't been working for years, but the
amount of users that use an OS that has been EoL for over 11 years
is very small, so reports happen rarely.
2023-12-02 22:12:50 +00:00
Peter Nelson a258833aee
Fix 67d071d: WC_STATION_LIST should be invalidated by owner, not station index. (#11530) 2023-12-02 21:46:43 +00:00
Peter Nelson 1aedea8eda Feature: Place cargo icon on cargo filter dropdowns.
Reveal the pixel art.
2023-12-02 15:23:05 +00:00
Peter Nelson 76701c4622 Add: Function to get largest cargo icon size. 2023-12-02 15:23:05 +00:00
Peter Nelson 8db7c79e79 Codechange: Add DropDownIcon constructor to override dimension.
This avoids the need to construct a DropDownIcon and set the dimension after.
2023-12-02 15:23:05 +00:00
Peter Nelson 49532914dd Change: Use CRTP-mixins to compose dropdown list items.
This allows list items to built from component parts as required, and additional
functionality is added:

* Icons and text can be positioned at the start or end of the space (templated.)
* Font size of text can be changed (templated.)
* Palette of sprites can be set (runtime.)
2023-12-02 15:23:05 +00:00
Peter Nelson 62e4d1e507 Codechange: Dimension must have both width and height.
Default parameters allowed Dimension to be constructed with only a width.

Instead use separate empty and width/height constructors to ensure that either none or both are provided.
2023-12-02 15:23:05 +00:00
Peter Nelson 0b1429ce14
Fix: AI window did not update button disabled state when changing values. (#11527) 2023-12-01 12:52:33 +00:00
Peter Nelson cc488ec6c9
Fix ddd609c: Reverse build probability callback was not called for articulated parts. (#11526) 2023-11-30 23:12:39 +00:00
Peter Nelson 4a5ab331e2
Change: Add extra padding to climate buttons to match pre-#11464. (#11525)
Padding used to be included in the SetMinimalSize() part which was removed, but also made it require specific sprite sizes.

This now adds padding on the already determined size, removing the need for hardcoding pixel dimensions and allowing the sprites to be any size.
2023-11-30 19:18:28 +00:00
Peter Nelson 6f7153bf71
Codechange: Make a generic DrawRectOutline function from DrawOutline. (#11524)
This allows drawing an outline from Rect, not just constrained to a Widget's Rect. And reduces duplication a little.
2023-11-30 18:10:07 +00:00
rubidium42 33ba609290 Fix #11521, e404ba0: size for remaining span determined incorrectly 2023-11-30 08:20:58 -04:00
rubidium42 cb8612ba79 Remove: ZOOM_LVL_COUNT
This is the only enumeration with a COUNT and END. The logic of the COUNT
implied that BEGIN could be non-zero, but all but two uses of zoom level
assume that BEGIN is zero, making the separate count only confusing.
2023-11-29 21:12:28 -04:00
Peter Nelson ddd609ce9b
Feature: Randomize direction of rail vehicle on build based on probability callback. (#11489)
This allows NewGRF authors to indicate that the game should randomly flip rail vehicles on build, without needing to use random bits nor duplicate sprites to handle it themselves.

To use this functionality, test for callback 162 (CBID_VEHICLE_BUILD_PROBABILITY)  and var10 = 0 (values other than 0 are reserved for future use), and return a value between 0 and 100 inclusive.

The return value is a percentage chance of reversing the vehicle. A value of 0 will always build a forward facing vehicle, and 100 will always build a reverse facing vehicle.
2023-11-29 22:40:09 +00:00
Peter Nelson 6f35f3274f
Fix ab1a4c6c: Crash if the "No Music" set is loaded because there is no current set_index. (#11511)
Add a helper function to get the current set_index which which checks it is in range.
2023-11-29 02:30:10 +00:00
rubidium42 27082f9efa Codechange: pass std::string references to OpenBrowser 2023-11-29 02:02:30 +01:00
Jonathan G Rennison 8437b20fed Fix: Deleting towns did not check for waypoints referencing the town 2023-11-29 00:27:16 +01:00
Peter Nelson 7b0afec11f Codechange: Use max_element to find highest cargo amount. 2023-11-28 22:30:48 +00:00
Peter Nelson 3f853d8003 Codechange: Use range-for to simplify getting first non-zero value.
This reduces indexed array access.
2023-11-28 22:30:48 +00:00
Tyler Trahan 4181d3c1ff Codechange: Don't use a magic number for the number of DiagDirections 2023-11-28 14:24:33 -05:00
Tyler Trahan 2dad9263d7 Doc: Add, fix, and clean up documentation inside town_cmd.cpp 2023-11-28 14:24:33 -05:00
Tyler Trahan 745945c4d3 Codechange: Be consistent with how we name common parameters
TileIndex is always tile and Town is always *t. Don't use t and *town.
2023-11-28 14:24:33 -05:00
Tyler Trahan 1b14eca9d9 Codechange: Rename TryClearTile() for clarity
The function does not execute the clearing action.
2023-11-28 14:24:33 -05:00
Tyler Trahan a98fe9f317 Codechange: Rename MakeTownHouseBigger() for clarity 2023-11-28 14:24:33 -05:00
Tyler Trahan 060672428d Codechange: Merge confusingly-named helper functions into their timer 2023-11-28 14:24:33 -05:00
Tyler Trahan 1f41e773d6 Codechange: Use consistent name for bay road stops
As of #10494, this is how we describe original dead-end road stops.
2023-11-28 14:24:33 -05:00
translators 5f442c9127 Update: Translations from eints
english (us): 1 change by 2TallTyler
2023-11-28 18:38:40 +00:00
Peter Nelson 519fe33175
Fix ab1a4c6c: Changing baseset/playlist while shuffle is on does not change song. (#11510)
The change-playlist function relied on toggling shuffle to restart playing which is no longer the case, so always handle it when changing playlist instead.
2023-11-28 17:44:31 +00:00
Peter Nelson e3924f3231
Fix #10811: Allow dragging vehicle in depot to any free row. (#11508) 2023-11-28 13:52:36 +00:00
Peter Nelson e6d132d24b
Fix #10926: New free wagons no longer split by type. (#11507)
NormalizeTrainVehInDepot() should only be called if an engine was built, not for wagons.
2023-11-28 13:48:09 +00:00
Peter Nelson 3df7d1aff9
Codechange: Template input buffer type in audio mixer. (#11505)
This reduces code duplication.
2023-11-28 00:05:30 +00:00
Peter Nelson e5aed24395
Codechange: Use std::array for industry tile cargo acceptance. (#11498)
This avoids use of memcpy/memset to copy or fill.
2023-11-27 23:17:55 +00:00
Peter Nelson f268c90bd3
Change: Use sparse padding for content download window. (#11501) 2023-11-27 23:17:16 +00:00
Peter Nelson ab1a4c6c80 Change: Don't restart playback when toggling playlist shuffle.
Instead update the selected playlist entry for the current song.
2023-11-27 23:16:41 +00:00
Peter Nelson 6c91c4b99d Fix: Invalidate playlist window when (un)shuffling playlist. 2023-11-27 23:16:41 +00:00
Peter Nelson 4c6ccb5248
Change: Try stopping extmidi player with SIGINT first. (#11404)
This may give the player a chance to issue MIDI note-off commands.

The kill/waitpid cycle is also less aggressive, waiting 50ms each time.
2023-11-27 20:39:22 +00:00
Peter Nelson e3622da408
Fix #11500: Rename Textfile GUI's LinkType to HyperlinkType. (#11502)
This disambiguates it with LinkType in league tables.
2023-11-27 10:06:46 +00:00
Peter Nelson 46098449b6
Fix 7cfcf65: cargo_filter_criteria is now a CargoID instead of a index. (#11497) 2023-11-26 19:30:22 +00:00
Peter Nelson 7bee955a4b
Change: Set height of larger heightmap/scenario worldgen buttons by text height. (#11496)
This allows the button height to scale properly by font size.
2023-11-26 17:56:51 +00:00
Jonathan G Rennison c5a292c0df
Fix #11493: Incorrect flow values in LinkGraphJob::EdgeAnnotation (#11494) 2023-11-25 20:57:20 +00:00
translators c6b9227dbb Update: Translations from eints 2023-11-25 18:37:21 +00:00
Tyler Trahan d28caa3ced Codechange: Use ticks for timetable start date 2023-11-25 11:50:46 -05:00
Tyler Trahan 3902acb13d Codechange: Define a TickCounter variable type for TimerGameTick::counter 2023-11-25 11:50:46 -05:00
Peter Nelson bc1d49ebf4 Codechange: Add missing `ar` from `Toolb`. 2023-11-25 16:45:01 +00:00
Peter Nelson 5489b9fc0c Codechange: Undo #11447, drop down list divider lines are now explicit. 2023-11-25 16:45:01 +00:00
Peter Nelson 667be98ce8 Codechange: List toolbar menu items and dividers explicitly.
This makes it clearer what items will be shown in the list, allows for non-consecutive
string IDs, and means unused enum values are not necessary.
2023-11-25 16:45:01 +00:00
Peter Nelson 47eabe0cd9
Fix 7cfcf65: Check if last-remembered build vehicle cargo filter is valid. (#11486)
This can be invalid when switching between games with different cargoes loaded.
2023-11-23 22:46:22 +00:00
Peter Nelson 096da3e59f
Fix #11407: Don't steal focus from dropdown menus. (#11484) 2023-11-22 19:09:20 +00:00
Peter Nelson 09d01bd015
Fix: Restore original cargo legend 'blob' dimensions. (#11480)
An off-by-one in a previous life made the 'blob' too narrow.
2023-11-21 19:51:24 +00:00
Peter Nelson c2f19fed24
Fix: Widget without tooltip should use STR_NULL not STR_EMPTY. (#11482) 2023-11-21 19:35:47 +00:00
Peter Nelson c18a1494b7
Codechange: Remove FONT_HEIGHT_... macros. (#11481)
These make it look like we're dealing with a constant, but actually each is a call to `GetCharacterHeight(...)`.
2023-11-21 19:04:24 +00:00
translators 96ec9c1b47 Update: Translations from eints
indonesian: 67 changes by ekaknl22
2023-11-21 18:40:02 +00:00
Peter Nelson 0d60dc0353 Fix 96d98d08: Crash in text layouter due to trying to find height of string with zero-width.
96d98d08 removed the hardcoded minimum width in favour of all-calculated widths, however this does not work when determining multiline text sizes.
2023-11-20 23:09:20 +00:00
Peter Nelson 62d4fd0572 Codechange: Add method to guess the width/height required for a multiline string.
This is necessary for widget layouts where a minimum width is not yet known during UpdateWidgetSize().
2023-11-20 23:09:20 +00:00
Peter Nelson f281525492 Codechange: Add method to resize both width and height of a widget. 2023-11-20 23:09:20 +00:00
Peter Nelson d04fd4602d Codechange: Assert that max width passed to GetStringHeight is non-zero.
Max width of zero will cause text layouters to crash, potentially after exhausting memory first.
2023-11-20 23:09:20 +00:00
Peter Nelson 0578b8eaa9
Change: Use picker-spacing for scenario found town window. (#11478) 2023-11-20 23:06:15 +00:00
Peter Nelson a58a043402
Fix 6065122: Missing SetFill on worldgen spacer. (#11477) 2023-11-20 19:31:26 +00:00
Jonathan G Rennison 9822fa6584
Fix: Trivial autoreplace of mixed cargo articulated engines (#11253)
Do not fail autoreplace/autorenew of mixed cargo articulated engines
due to an inability to refit to mixed cargoes, when no refit is
required because the target engine already has a suitable set of cargoes.
Notably, this allows autorenew (autoreplace to same engine type)
to succeed.
2023-11-20 14:16:28 +01:00
Peter Nelson 96d98d08c8
Change: Use sparse padding for main intro menu. (#11475) 2023-11-20 01:12:25 +00:00
Peter Nelson c80fa7d752
Codechange: Simplify setting minimum width for game options dropdown lists. (#11474)
Height isn't necessary as drop down controls already have sufficient height, so we can use GetDropDownListDimension() to get the width.
2023-11-20 00:44:06 +00:00
Peter Nelson f58a7ef673
Codechange: Remove now-unnecessary containers in picker layouts. (#11473)
These are no longer necessary as the issue they work around was resolved by #11471
2023-11-20 00:14:06 +00:00
Peter Nelson 293a26f248
Change: Use sparse padding and SETTING_BUTTON sizes for custom currency window. (#11472) 2023-11-19 21:12:55 +00:00
Peter Nelson 05b55c4d43
Fix: Extra space allocated to container-within-container may not get allocated to children. (#11471)
Always derive additional length from contained widgets instead of from the container, as the container's minimal length may have been adjusted by an NC_EQUALSIZE parent container.
2023-11-19 00:36:53 +00:00
translators 29102ce42c Update: Translations from eints
dutch: 1 change by Afoklala
2023-11-17 18:38:21 +00:00
Peter Nelson 08778094f4
Fix: extmidi did not move on to next song after playing ends. (#11469)
`song` is no longer a C-style string so cannot be cleared by writing a NUL char.
Use `.clear()` to properly clear a std::string.
2023-11-17 17:42:19 +00:00
Peter Nelson b2d4d90502 Change: Apply interface scaling to NewGRF settings min/max sizes. 2023-11-16 20:54:51 +00:00
Peter Nelson 42ae61a4fe Change: Use sparse padding for NewGRF settings window. 2023-11-16 20:54:51 +00:00
Peter Nelson cdb4e98a15
Change: Use sparse padding for AI/GS settings windows. (#11466) 2023-11-16 20:02:07 +00:00
Peter Nelson f93711838f
Fix 6317967: Missing exception for SetPipRatio(). (#11465) 2023-11-16 19:22:02 +00:00
Peter Nelson 60651227a0
Change: Simplify world gen widgets and use sparse padding. (#11464) 2023-11-16 18:58:59 +00:00
translators bca321443a Update: Translations from eints
french: 1 change by Lishouuu
2023-11-16 18:39:24 +00:00
Peter Nelson 7d48a3f073
Codechange: Move RectPadding::zero definition to header. (#11461)
This potentially allows better inlining/optimization.
2023-11-16 17:07:29 +00:00
Peter Nelson e2e0753916
Codechange: Use GetCurrentRect() where feasible. (#11460) 2023-11-16 17:06:57 +00:00
Peter Nelson 17ceed0241
Change: Use sparse padding for Game Options window. (#11463) 2023-11-16 17:06:38 +00:00
Peter Nelson 306e75223a Change: Adjust layouts and standardize spacing for company-related windows. 2023-11-15 12:43:44 +00:00
Peter Nelson 58c037fba0 Change: Increase finance window lines (and underlines) with interface scale. 2023-11-15 12:43:44 +00:00
translators 1dff1e34f6 Update: Translations from eints
tamil: 3 changes by Jeyanthinath
2023-11-14 18:36:57 +00:00
Peter Nelson 7cfcf65f95 Codechange: Simplify cargo filter lists, building only when required.
Some cargo filter lists were built in advance, and used as lookups to test which cargo type to filter.

Instead, use the Cargo ID directly as the filter parameter, and build the lists only when the drop down list is used.
2023-11-13 21:30:46 +00:00
Peter Nelson 08dfe35442 Codechange: Move DropDownList height and width calculation to helper. 2023-11-13 21:30:46 +00:00
translators 1242b355e5 Update: Translations from eints
danish: 1 change by bscargo
polish: 1 change by pAter-exe
2023-11-13 18:38:10 +00:00
Peter Nelson c877494f7a
Codechange: Simplify autoreplace rail/road types by using separate widget. (#11457)
This avoids needing to determine which type of list to deal with by additionally checking the window number for VEH_TRAIN/VEH_ROAD.
2023-11-13 12:32:34 +00:00
Tyler Trahan 7a6d102c4b
Codechange: Clean up timetable start checks (#11456) 2023-11-13 07:19:39 -05:00
translators 5446ece100 Update: Translations from eints
vietnamese: 7 changes by KhoiCanDev
korean: 1 change by telk5093
catalan: 7 changes by J0anJosep
2023-11-12 18:38:05 +00:00
translators 1432511fe5 Update: Translations from eints
english (au): 1 change by krysclarke
italian: 7 changes by Rivarossi
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
2023-11-11 18:36:44 +00:00
Tyler Trahan 235ac0bceb
Codechange: Reword rail/road type label constants (#11451) 2023-11-10 17:37:22 -05:00
translators ef1abbcd1f Update: Translations from eints 2023-11-10 18:38:29 +00:00
Peter Nelson bd2ddb07ca
Change: Move baseset missing/corrupted files label to list item. (#11455)
This allows any baseset error to be displayed in the drop down list so it is more easily visible, and avoids wasted space in the layout.
2023-11-10 12:25:56 +00:00
Peter Nelson 1071acb483
Codechange: Redundant use of char * and c_str(). (#11454) 2023-11-10 00:17:36 +00:00
Peter Nelson 938c8339d2 Codechange: Ensure space between `for`/`if` and `(`. 2023-11-09 20:15:38 +00:00
Peter Nelson d4008850e3 Codechange: Ensure function opening `{` is on new line. 2023-11-09 20:15:38 +00:00
Jonathan G Rennison 1de1af08b9
Codechange: Replace AllocatedStringParameters with ArrayStringParameters (#11452)
All uses of AllocatedStringParameters are with a compile-time fixed
constant.
Use of a dynamically allocated buffer on the heap is unnecessary and
increases overhead, particularly due to frequent use as a temporary.
2023-11-09 19:43:47 +00:00
translators 92816ac96b Update: Translations from eints
german: 3 changes by SecretIdetity
romanian: 6 changes by bnegrut
2023-11-09 18:37:36 +00:00
Peter Nelson 9f90ab7b04
Codechange: Use rail/road type label constants instead of literals. (#11450) 2023-11-08 23:45:08 +00:00
translators 382d7a9076 Update: Translations from eints
hungarian: 54 changes by titanicbobo
2023-11-08 18:39:05 +00:00
Peter Nelson 90bd8e64d8 Change: Simplify help window widgets and use sparse padding. 2023-11-07 23:09:05 +00:00
Peter Nelson 55adbe10b7 Add: WidgetDimensions for 'sparse' widget windows.
These are for windows that have space between widgets instead of being clumped together.
2023-11-07 23:09:05 +00:00
translators 56657eeaae Update: Translations from eints
chinese (simplified): 1 change by WenSimEHRP
danish: 1 change by bscargo
hindi: 111 changes by NisheshTyagi
2023-11-07 18:37:45 +00:00
Peter Nelson 842cf87765 Change: Bring airport picker inline with other pickers. 2023-11-07 18:27:51 +00:00
Peter Nelson b216dc493f Change: Bring dock picker inline with other pickers. 2023-11-07 18:27:51 +00:00
Peter Nelson 27b5979056 Change: Improve layout of object picker. 2023-11-07 18:27:51 +00:00
Peter Nelson db18f60beb Change: Improve layout of road/tram stop pickers. 2023-11-07 18:27:51 +00:00
Peter Nelson 61deab08fc Change: Improve layout of station picker. 2023-11-07 18:27:51 +00:00
Peter Nelson 136551408c
Change: Show empty string drop down entries as divider. (#11447) 2023-11-06 22:35:01 +00:00
Peter Nelson ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. (#11445)
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
2023-11-06 20:29:35 +00:00
translators 737775f834 Update: Translations from eints
korean: 14 changes by telk5093
polish: 1 change by pAter-exe
2023-11-06 18:38:37 +00:00
Peter Nelson badce415ea Change: Add horizontal scrollbar to Industry Directory window.
This list could be very wide depending on industries and language.
2023-11-05 22:22:32 +00:00
Peter Nelson 8ff6562b2f Codechange: Reduce variable scope. 2023-11-05 22:22:32 +00:00
Peter Nelson 6b9dc8cfcf Codechange: Don't filter industry list by cargo type every 3-sec refresh.
The 3-sec refresh is to update the list sorting. The filter only needs to
be applied once rebuilding the list.
2023-11-05 22:22:32 +00:00
Peter Nelson 4033750968 Codechange: Remove redundant NWID_VERTICAL in Industry Directory layout. 2023-11-05 22:22:32 +00:00
Peter Nelson d380f2f3a2 Codechange: Simplify layout of depot pickers. 2023-11-05 20:09:45 +00:00
Peter Nelson 665902f5ba Codechange: Add widget dimensions to standardise picker winodws. 2023-11-05 20:09:45 +00:00
Peter Nelson 3cab980b30 Codechange: Skip invisible (zero-size) widgets in PIP Containers.
This gets rid of doubled-up spacing where an invisible child widget would be.
2023-11-05 20:09:45 +00:00
Peter Nelson 6317967dba Codechange: Add ability to allocate PIP-space dynamically by ratio.
This can be used to space out, centre, start-align, or end-align widgets without additional spacers.
2023-11-05 20:09:45 +00:00
Peter Nelson ac54bd7e58 Codechange: Apply PIP during AssignSizePosition() instead of SetupSmallestSize(). 2023-11-05 20:09:45 +00:00
Peter Nelson 43aa91a7f5
Fix #11437: Flipped shorter rail vehicles disappear in windows. (#11446)
Mixed signed/unsigned strikes again, causing an incorrect sprite offset for shortened vehicles.
2023-11-05 20:09:11 +00:00
Peter Nelson a9aaa2a183 Codechange: Don't be lenient with invalid NWidgetPart lists.
Some NWidgetPart combinations were ignored but it was not clear that they do nothing. Instead, assert if NWidgetPart is incorrectly applied.
2023-11-05 19:24:59 +00:00
Peter Nelson b1eb5533eb Add: WindowDesc unit test to validate NWidgetPart lists. 2023-11-05 19:24:59 +00:00
Peter Nelson 1c94fb0389 Add: Mock sprite cache intialization.
This fills up the sprite cache with SPR_OPENTTD_BASE + OPENTTD_SPRITE_COUNT zero-size sprites, to
allow GetSpriteSize() calls to continue from unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson 05436d9c2f Add: Expose minimal parts of SpriteCache internals.
These parts are needed to be able to mock the SpriteCache for unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson 46f63074da Add: MockFontCache for testing GUI code that only needs to know font sizes. 2023-11-05 19:24:59 +00:00
translators af4c7799fe Update: Translations from eints
korean: 1 change by telk5093
finnish: 1 change by hpiirai
portuguese (brazilian): 1 change by pasantoro
2023-11-05 18:37:09 +00:00
Peter Nelson b5861fd8f3
Fix: Using MIN_YEAR for a date is probably wrong, Use MIN_DATE instead. (#11444)
Even with strong types ...
2023-11-05 15:43:56 +00:00
Peter Nelson ef385499c7
Codechange: Remove ineffective NWidgetParts. (#11443) 2023-11-05 14:09:47 +00:00
translators 01728177e7 Update: Translations from eints
english (us): 3 changes by 2TallTyler
french: 2 changes by Lishouuu
2023-11-04 18:37:37 +00:00
Michael Lutz 071fdab236 Codechange: Replicate cursor screen backup to chat message display, removing explicit memory management.
Incidentally, this makes Blitter::GetBytesPerPixel unneeed.
2023-11-04 16:08:34 +01:00
Peter Nelson bbd64bbe2b
Fix #9545: Crash when all cargo types are disabled. (#11432)
This is not a very useful state, but it's nice to not crash.

Some parts of the game don't (yet) check for cargo types being redefined, that is out-of-scope here.
2023-11-04 14:42:47 +00:00
Patric Stout c059ce0c97
Fix cda6f24f: don't ignore binary-dir if it happens to be working-dir (#11431)
Some of our code ignores the SP_WORKING_DIR for some actions, which
means that if, for example, your SP_BINARY_DIR is the same as your
SP_WORKING_DIR, neither is scanned.

Instead, only add SP_WORKING_DIR if it is unique.
2023-11-04 10:39:18 +00:00
Peter Nelson db6b32e421
Codechange: Avoid pointers and lengthof in ExpensesList. (#11427)
Use std::initializer_list which allows iteration.
2023-11-03 23:15:37 +00:00
Michael Lutz 86e28e79fb Fix #11402: Make string filter locale-aware. 2023-11-03 22:34:01 +01:00
Michael Lutz c294eaacc1 Fix: char_traits::find needs to return nullptr if nothing was found. 2023-11-03 22:34:01 +01:00
Peter Nelson 7d4a91ef9e
Cleanup: Remove some unused functions. (#11429)
These were picked up with cppcheck.
2023-11-03 21:21:00 +00:00
translators 4c58df75fd Update: Translations from eints
english (au): 1 change by krysclarke
russian: 1 change by Ln-Wolf
dutch: 3 changes by Afoklala
portuguese: 1 change by azulcosta
2023-11-03 18:38:51 +00:00
Peter Nelson ce6e739491 Codechange: Add unit-test to check if nested widget parts of properly closed.
Properly closed means exactly one EndContainer for every Container widget.
2023-11-03 09:38:41 +00:00
Peter Nelson e8db137135 Codechange: Move test for Container WidgetType to helper function. 2023-11-03 09:38:41 +00:00
Peter Nelson d4a77411a5
Fix: Some NWidget lists were not properly closed. (#11425) 2023-11-03 08:17:26 +00:00
Peter Nelson e563057478 Add: WindowDesc unit test to validate ini-key value.
ini-key must be present if WWT_DEFSIZEBOX or WWT_STICKYBOX is present.
This was previously enforced by a workflow, however that parsed the source
code with regex which turned out to be error-prone.
2023-11-02 22:25:01 +00:00
Peter Nelson 18fb8e153f Codechange: Add __FILE__/__LINE__ of WindowDesc to WindowDesc.
This is to allow unit-tests to produce more useful output.
2023-11-02 22:25:01 +00:00
Peter Nelson 873f93cab1
Fix: AI config window should not have an ini_key. (#11423)
This was missed by the workflow script that enforces this constraint.
2023-11-02 21:28:24 +00:00