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
translators
82ebc9860b
Update: Translations from eints
...
finnish: 2 changes by hpiirai
danish: 1 change by bscargo
2023-11-02 18:38:58 +00:00
Rubidium
a849b4e175
Fix: allow same length server password in the UI
2023-11-02 17:19:38 +01:00
Rubidium
c6411168d8
Cleanup: missing spaces before continuation * in some comments
2023-11-01 22:56:11 +01:00
Peter Nelson
c687b59efc
Codechange: Use unique_ptr for SmallMapWindow's overlay.
2023-11-01 21:49:06 +00:00
Peter Nelson
53845bc024
Codechange: Move includes to correct place.
...
Some other source file inadvertently included things via smallmap_gui.h
2023-11-01 21:49:06 +00:00
Peter Nelson
ed8df72c49
Revert 6b68956: Move declaration of SmallMapWindow out of header file.
...
This split needlessly complicates `SmallMapWindow` for the sake of one method (no longer) used by `LinkGraphOverlay`.
2023-11-01 21:49:06 +00:00
Peter Nelson
f91462f54b
Codechange: Don't access SmallMapWindow method directly from LinkGraphOverlay.
2023-11-01 21:49:06 +00:00
Peter Nelson
ff5e8bb9a3
Fix #11413 : Incorrect sorting by industry production.
...
Error caused by single character mistake. However this algorithm was inefficent if a filter was specified, and clearly the flow was error-prone.
Now using separately-scoped loops to avoid similar.
2023-11-01 21:37:53 +00:00
Peter Nelson
278b42d078
Codechange: Document Industry::GetCargoProduced/Accepted and add const-variant.
2023-11-01 21:37:53 +00:00
Peter Nelson
4f3adc038a
Cleanup: Use standard comment codestyle.
2023-11-01 21:37:53 +00:00
Tyler Trahan
49d53c41ab
Doc: Don't use other names for road vehicle bay stops ( #11418 )
2023-11-01 21:19:31 +00:00
Peter Nelson
d3cb6e1e67
Codechange: Call Widget::SetDirty/SetLowered directly. ( #11417 )
...
In these instances we already have the widget to hand, so don't need to look it up by index again.
2023-11-01 20:12:08 +00:00
Tyler Trahan
89480f3531
Change: Don't set vehicle on time if timetable not started ( #11359 )
2023-11-01 15:26:39 -04:00
Peter Nelson
bb50cbb772
Codechange: Assign/StoreSizePosition x/y can be negative. ( #11416 )
...
AssignSizePosition is used with negative values when an NWidgetMatrix is
scrolled, but they were passed as unsigned and then stored as signed.
Widget pos_x/pos_y were already made signed.
2023-11-01 18:44:23 +00:00
translators
c97120f003
Update: Translations from eints
...
english (au): 1 change by krysclarke
chinese (simplified): 5 changes by WenSimEHRP
korean: 2 changes by telk5093
russian: 1 change by Ln-Wolf
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by pAter-exe
2023-11-01 18:38:53 +00:00
Peter Nelson
35a7770fde
Fix 233aac5: Set newline default comment for new groups. ( #11411 )
...
The newline space between ini groups is actually recorded as a comment of the group. This got inadvertantly dropped in #11364 .
2023-10-31 01:19:04 +00:00
frosch
e81313e93e
Feature: Base graphics can offer parameters for additional settings.
2023-10-31 01:41:50 +01:00
frosch
de3f29d7b2
Add: store base graphics parameters in openttd.cfg.
2023-10-31 01:41:50 +01:00
frosch
f09fda1ff0
Codechange: store the GRFConfig of the base graphics, once loaded.
2023-10-31 01:41:50 +01:00
frosch
0b7ecf6102
Codechange: use the shortname as unique id to identify the base graphics in openttd.cfg.
2023-10-31 01:41:50 +01:00
frosch
97df27e41f
Codechange: Store base graphics settings in a separate section in openttd.cfg.
2023-10-31 01:41:50 +01:00
Peter Nelson
2d3fef3113
Fix: Incorrect padding for smallmap legend 'icon'.
...
The size of this icon is based off FONT_HEIGHT_SMALL - 1, so it makes sense to use a scaled 1 here.
2023-10-30 22:11:31 +00:00
Peter Nelson
a8aba06a07
Fix: Insufficient space for labels on smallmap legend.
2023-10-30 22:11:31 +00:00
translators
186829b99f
Update: Translations from eints
...
english (au): 1 change by krysclarke
dutch: 1 change by TrueBrain
portuguese: 1 change by azulcosta
polish: 4 changes by pAter-exe
2023-10-30 18:38:55 +00:00
translators
40f52afac2
Update: Translations from eints
...
indonesian: 1 change by liimee
russian: 2 changes by Ln-Wolf
finnish: 1 change by hpiirai
danish: 1 change by bscargo
french: 1 change by ottdfevr
portuguese (brazilian): 1 change by pasantoro
2023-10-29 18:37:50 +00:00
translators
9e6ea16ca7
Update: Translations from eints
2023-10-28 18:37:45 +00:00
Peter Nelson
c0aa9a5f87
Add: Debug tool to draw widget outlines. ( #11401 )
...
This is considered a developer tool and is controlled from the help menu (or default hotkey Ctrl-O).
This draws a white dashed outline around widgets. NWidgetSpacer and (unused) WWT_EMPTY widgets are also filled with check pattern to highlight them, as they usually indicate a design issue.
2023-10-28 19:07:50 +01:00
Peter Nelson
129e98fbab
Fix d42a78f: Some raw drop down list strings may need token processing. ( #11400 )
...
Storing the raw string without processing though GetString() caused token
processing to be skipped.
2023-10-28 16:08:44 +01:00
Peter Nelson
062c19830b
Fix: OpenTTD can fail to exit on an error due to mutex locks in threads. ( #11398 )
2023-10-28 16:08:08 +01:00
translators
7b376493a2
Update: Translations from eints
...
dutch: 3 changes by Afoklala
french: 1 change by ottdfevr
2023-10-27 18:38:08 +00:00
translators
7b4ecb5241
Update: Translations from eints
...
korean: 3 changes by telk5093
slovak: 1 change by legitalk
polish: 4 changes by pAter-exe
2023-10-26 18:38:26 +00:00
Peter Nelson
5ae5c35f38
Codechange: Remove redundant WWT_PANEL from bootstrap error windows.
2023-10-26 12:43:20 +01:00
Peter Nelson
a601a1f406
Change: Use modalpopup spacing for goal question windows.
2023-10-26 12:43:20 +01:00
Peter Nelson
616fb48e25
Change: Use modalpopup spacing for engine preview window.
2023-10-26 12:43:20 +01:00
Peter Nelson
19c314ea1f
Change: Use modalpopup spacing for buy company window.
2023-10-26 12:43:20 +01:00
Peter Nelson
8a49c0eb2c
Change: Use modalpopup spacing for network relay and survey windows.
2023-10-26 12:43:20 +01:00
Peter Nelson
f78c2c9810
Fix: Incorrect title on framerate windows for AIs.
2023-10-25 19:35:42 +01:00
Peter Nelson
d19832569e
Cleanup: No need to cast `const Font *` to itself. ( #11395 )
2023-10-25 13:08:07 +00:00
translators
3d7f54472d
Update: Translations from eints
...
english (us): 3 changes by 2TallTyler
danish: 3 changes by bscargo
polish: 1 change by pAter-exe
2023-10-24 18:38:34 +00:00
translators
9cdf66d3a1
Update: Translations from eints
...
czech: 18 changes by vladoschreiner
german: 27 changes by Wuzzy2
2023-10-23 18:38:04 +00:00
translators
d1351fa0d2
Update: Translations from eints
...
english (au): 3 changes by krysclarke
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
turkish: 4 changes by BeratSJ
french: 3 changes by ottdfevr
portuguese: 3 changes by azulcosta
portuguese (brazilian): 3 changes by pasantoro
2023-10-22 18:37:20 +00:00
Tyler Trahan
92ab114e13
Fix f49ffaa: Use DateAtStartOfYear() to calculate max timetable start date ( #11388 )
2023-10-22 10:51:06 -04:00
translators
f32058e4e5
Update: Translations from eints
2023-10-21 18:37:29 +00:00
Bernhard Reutner-Fischer
ac42dea7b2
Codechange: Remove unused parameter for Height()
...
DropDownListItem::Height does not need to take an argument so remove it
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2023-10-21 18:53:35 +02:00
Peter Nelson
59a2abd298
Codechange: Use unified NWidgetContainer methods instead of duplicating.
...
Most NWidgetContainer derivatives implemented Draw() and GetWidgetFromPos()
the same way. Move this these to NWidgetContainer itself to avoid repeating.
2023-10-21 14:26:36 +01:00
Peter Nelson
af41c5cb4e
Codechange: Hide toolbar buttons by setting width to zero.
...
Zero-width is how widgets are hidden elsewhere.
This removes the need for an extra array to lookup if a button is hidden.
2023-10-21 14:26:36 +01:00
Peter Nelson
81ecbaaa33
Codechange: Hide multiplayer headers by setting width to zero.
...
Zero-width is how widgets are hidden elsewhere.
This removes the need for an extra array to lookup if a header is hidden.
2023-10-21 14:26:36 +01:00
Tyler Trahan
2dd2910ab3
Feature: Cheat to fix station ratings at 100% ( #11346 )
2023-10-21 08:35:52 -04:00
Rubidium
37f84b7372
Codechange: replace x.size() != 0 with !x.empty()
2023-10-20 23:05:43 +02:00
Rubidium
f16399f4c9
Codechange: replace x.size() > 0 with !x.empty()
2023-10-20 23:05:43 +02:00
Rubidium
c9276c2959
Codechange: replace x.size() == 0 with x.empty()
2023-10-20 23:05:43 +02:00
Peter Nelson
f06b3e9846
Change: Use CARGO_LIST to show station cargo acceptance changes. ( #11379 )
...
This simplifies construction of the news message and allows for more than
two changes to be show in one line.
2023-10-20 20:14:46 +01:00
translators
4c24334fda
Update: Translations from eints
2023-10-20 18:38:26 +00:00