Patric Stout
7788b68bbe
Fix: don't unneededly block on transmitting survey on exit ( #11687 )
8 months ago
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
8 months ago
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
8 months ago
glx22
7bfc766f94
Fix: [Script] document return type of member GSIndustry::GetProductionLevel
8 months ago
glx22
707e8001be
Fix #11689 : properly close DOXYGEN_API block
8 months ago
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.
8 months ago
Peter Nelson
91ea8e3fa6
Codechange: Use locals for company/deity mode during script loops. ( #11686 )
8 months ago
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.
8 months ago
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.
8 months ago
translators
c44faf4eea
Update: Translations from eints
...
english (us): 2 changes by 2TallTyler
chinese (simplified): 39 changes by WenSimEHRP
polish: 29 changes by pAter-exe
8 months ago
Jonathan G Rennison
5db9266f4b
Change: Allow STRING/STRINGN to use all remaining parameters in game script mode
8 months ago
Jonathan G Rennison
e2a79f0f32
Codechange: No longer advance parent offset in StringParameters parent mode
...
Add method to manually advance offset
8 months ago
EmperorJake
6522351a1f
Feature: Setting to disable the loading speed penalty for trains longer than the station
8 months ago
Rubidium
e3f49ee7a0
Codechange: coding style fixes
8 months ago
Jonathan G Rennison
0075364c89
Fix: curl_global_cleanup called before libcurl HTTP thread exited
8 months ago
Jonathan G Rennison
51ef416b49
Fix: libcurl HTTP thread race at uninit preventing thread exit
8 months ago
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.
8 months ago
translators
799455abf7
Update: Translations from eints
...
latvian: 2 changes by lexuslatvia
portuguese (brazilian): 1 change by pasantoro
8 months ago
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.
8 months ago
Patric Stout
aef49e9933
Fix: race-conditions in GUI updates when downloading HTTP files ( #11639 )
9 months ago
translators
344bdafb53
Update: Translations from eints
...
latvian: 8 changes by lexuslatvia
polish: 1 change by pAter-exe
9 months ago
Krys Clarke
1cdafcd7ac
Fix: Missing word in conditional order comparator ( #11632 )
9 months ago
Peter Nelson
ae3352582a
Fix: Autorenew failed message consumes arguments. ( #11669 )
9 months ago
Jonathan G Rennison
48b6b1844a
Change: Limit total script ops that can be consumed by a list valuate ( #11670 )
9 months ago
Jonathan G Rennison
502a52edd5
Fix: Spurious cancellations of HTTP content downloads ( #11668 )
9 months ago
translators
3e4dee6d0c
Update: Translations from eints
...
english (us): 11 changes by 2TallTyler
korean: 29 changes by telk5093
9 months ago
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
9 months ago
Loïc Guilloux
a672813bb0
Add: [Script] Optional filter parameter to ScriptVehicleList constructor ( #11663 )
9 months ago
Loïc Guilloux
f56a2d0f82
Fix: Missing invalidations on gui.ai_developer_tools change ( #11664 )
9 months ago
Jonathan G Rennison
3e2060f155
Fix #11337 : Station blocked/pylon/wire bits with CBID_STATION_TILE_LAYOUT ( #11656 )
9 months ago
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
9 months ago
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.
9 months ago
Peter Nelson
7124b4eef1
Codechange: Use std::unique_ptr for all NWidgets.
9 months ago
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.
9 months ago
Peter Nelson
628092f133
Codechange: Use GetParentWidget to find widget's NWidgetMatrix container.
9 months ago
Peter Nelson
c2c65d66ba
Codechange: Add GetParentWidget() to widgets.
...
This allows to get parent widgets in the nested tree from bottom-up.
9 months ago
Peter Nelson
8ff0bef862
Codechange: Make widget index const to prevent changes. ( #11658 )
...
This guards against future widget index manipulation.
9 months ago
translators
fd782ada05
Update: Translations from eints
...
russian: 11 changes by lexuslatvia
finnish: 12 changes by hpiirai
latvian: 217 changes by lexuslatvia
9 months ago
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.
9 months ago
Charles Pigott
1e60734660
Fix: Compilation with DEBUG_DUMP_COMMANDS enabled ( #11607 )
9 months ago
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.
9 months ago
Peter Nelson
268e512fb8
Codechange: Set storage type of widget enums to WidgetID.
9 months ago
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.
9 months ago
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.
9 months ago
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.
9 months ago
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.
9 months ago
translators
a8e587632a
Update: Translations from eints
...
danish: 3 changes by bscargo
dutch: 10 changes by Afoklala
9 months ago
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`.
9 months ago
Patric Stout
11ba951250
Fix: race-condition when creating new HTTP requests from different threads ( #11638 )
9 months ago
Peter Nelson
5d2ed80c95
Fix: Changing group parent did not properly update partially-default liveries.
9 months ago
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.
9 months ago
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
9 months ago
Peter Nelson
33ff64ef74
Codechange: Simplify ConvertDateToYMD by returning YearMonthDay instead of outputting to a pointer. ( #11637 )
9 months ago
Peter Nelson
bd3b28551e
Codechange: Replace reliability magic numbers with constants.
...
These are derived as a percentage of UINT16_MAX.
9 months ago
Peter Nelson
7b2c143df0
Fix: Prevent underflow if engine base life is less than 8 years.
9 months ago
translators
ead5ad119c
Update: Translations from eints
...
english (au): 11 changes by krysclarke
danish: 9 changes by bscargo
portuguese (brazilian): 10 changes by pasantoro
9 months ago
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
9 months ago
Jonathan G Rennison
2b914c7a2f
Fix: Memory leak in WindowDescTestsFixture
9 months ago
Rubidium
e0c670cbe8
Codechange: replace NULL with nullptr
9 months ago
Rubidium
2072e532f7
Codechange: replace NULL with nullptr
9 months ago
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.
9 months ago
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.
9 months ago
SamuXarick
947e77267a
Doc 0ca4b4e: Script debug window numbers are now ascending ( #11623 )
9 months ago
Loïc Guilloux
6c5a4aa2cb
Fix 2d3af14: Don't draw script log over panel borders ( #11621 )
9 months ago
Peter Nelson
9ce1626bb4
Change: Support custom transparency remaps with 32bpp blitters.
...
This closes a 15 year old TODO...
9 months ago
Peter Nelson
0bc22dd310
Add: 32bpp-to-8bpp palette index lookup.
...
Lookups are calculated on demand and caches in a 256KB in-memory table.
9 months ago
Peter Nelson
daec0e2ca4
Codechange: Split palette handling to separate file.
9 months ago
Peter Nelson
4ecc107d30
Codechange: Perform simpler comparison first when checking for palette updates.
...
This avoids unnecessarily comparing contents of an array.
9 months ago
Loïc Guilloux
af8b8c2cfc
Fix 4a2038e301: fully restore script break filter on reopen ( #11622 )
9 months ago
Peter Nelson
c0cdf3460e
Change: Rename Standard Livery to Default Livery.
9 months ago
Peter Nelson
3436b5f090
Change: Show a message in livery window if vehicle type has no groups.
9 months ago
Peter Nelson
513c7e7b53
Change: Add distinct tooltips for vehicle group colour schemes.
9 months ago
Peter Nelson
eda0dd24fe
Change: Remove hardcoded minimum sizes and allow resize.
...
This stops the window being needlessly large.
9 months ago
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.
9 months ago
Peter Nelson
5cb7a16edc
Fix #11618 : Don't try to display unavailable zoom levels in sprite aligner. ( #11619 )
9 months ago
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.
9 months ago
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.
9 months ago
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.
9 months ago
Loïc Guilloux
2d3af14181
Add: Horizontal scroll for script debug log ( #11597 )
9 months ago
Peter Nelson
0ca4b4e146
Change: Allow opening multiple script debug windows by holding Ctrl.
9 months ago
Peter Nelson
4a2038e301
Codechange: Make script debug window filter state per-window.
9 months ago
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.
9 months ago
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.
9 months ago
Peter Nelson
712a4bb40b
Fix: Prevent picker preview sprites from overflowing button bevel.
9 months ago
Peter Nelson
313ee13e5f
Codechange: Add Rect version of FillDrawPixelInfo().
...
This simplifies most callers as they longer have to split out a rect.
9 months ago
Finn Willard
3a42340db3
Add: Hotkey to focus industry directory filter box
...
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
9 months ago
Finn Willard
7d3ae4a058
Add: Hotkey to focus town directory filter box
...
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
9 months ago
Tyler Trahan
e8d2ebb016
Fix: Add missing includes to timers from script implementation files ( #11604 )
9 months ago
SamuXarick
fddcaef74a
Codechange: Use town zone constants instead of magic numbers
9 months ago
translators
9b7a5bc876
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
danish: 4 changes by bscargo
9 months ago
Peter Nelson
b19a6c3b81
Fix: Window width/height was doubly-scaled with automatic DPI switch. ( #11598 )
9 months ago
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.
9 months ago
translators
8ab3838387
Update: Translations from eints
...
vietnamese: 20 changes by KhoiCanDev
italian: 5 changes by Rivarossi
9 months ago
Peter Nelson
661e0cd82d
Fix: Make compact picker windows expand to fill if necessary. ( #11591 )
9 months ago
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
9 months ago
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
9 months ago
Tyler Trahan
8816c9dd26
Change: Improve and standardize wording of World Generation helptexts
9 months ago
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.
9 months ago
Tyler Trahan
1e8aa9ce22
Add: Use more tooltips in World Generation GUI
9 months ago
Peter Nelson
302e8852c1
Fix: Crash if squirrel compatibility scripts cannot be parsed. ( #11589 )
9 months ago