Commit Graph

28387 Commits (wip-string-2)
 

Author SHA1 Message Date
Jonathan G Rennison e697f50902 Codechange: Use std::variant for struct StringParameter 4 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.
4 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
4 months ago
Jonathan G Rennison 5db9266f4b Change: Allow STRING/STRINGN to use all remaining parameters in game script mode 4 months ago
Jonathan G Rennison e2a79f0f32 Codechange: No longer advance parent offset in StringParameters parent mode
Add method to manually advance offset
4 months ago
Tyler Trahan a3576e48c1
Cleanup: Remove DS_Store added in #11682 (#11684) 4 months ago
EmperorJake 6522351a1f Feature: Setting to disable the loading speed penalty for trains longer than the station 4 months ago
Rubidium e3f49ee7a0 Codechange: coding style fixes 4 months ago
Jonathan G Rennison 0075364c89 Fix: curl_global_cleanup called before libcurl HTTP thread exited 4 months ago
Jonathan G Rennison 51ef416b49 Fix: libcurl HTTP thread race at uninit preventing thread exit 4 months ago
Patric Stout c6dafb0865
Doc: indicate a bit better that mass-change PRs for translations are possible (#11677) 4 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.
4 months ago
translators 799455abf7 Update: Translations from eints
latvian: 2 changes by lexuslatvia
portuguese (brazilian): 1 change by pasantoro
4 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.
4 months ago
Patric Stout aef49e9933
Fix: race-conditions in GUI updates when downloading HTTP files (#11639) 5 months ago
translators 344bdafb53 Update: Translations from eints
latvian: 8 changes by lexuslatvia
polish: 1 change by pAter-exe
5 months ago
Krys Clarke 1cdafcd7ac
Fix: Missing word in conditional order comparator (#11632) 5 months ago
Peter Nelson ae3352582a
Fix: Autorenew failed message consumes arguments. (#11669) 5 months ago
Jonathan G Rennison 48b6b1844a
Change: Limit total script ops that can be consumed by a list valuate (#11670) 5 months ago
Jonathan G Rennison 502a52edd5
Fix: Spurious cancellations of HTTP content downloads (#11668) 5 months ago
translators 3e4dee6d0c Update: Translations from eints
english (us): 11 changes by 2TallTyler
korean: 29 changes by telk5093
5 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
5 months ago
Loïc Guilloux a672813bb0
Add: [Script] Optional filter parameter to ScriptVehicleList constructor (#11663) 5 months ago
Loïc Guilloux f56a2d0f82
Fix: Missing invalidations on gui.ai_developer_tools change (#11664) 5 months ago
Jonathan G Rennison 3e2060f155
Fix #11337: Station blocked/pylon/wire bits with CBID_STATION_TILE_LAYOUT (#11656) 5 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
5 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.
5 months ago
Peter Nelson 7124b4eef1 Codechange: Use std::unique_ptr for all NWidgets. 5 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.
5 months ago
Peter Nelson 628092f133 Codechange: Use GetParentWidget to find widget's NWidgetMatrix container. 5 months ago
Peter Nelson c2c65d66ba Codechange: Add GetParentWidget() to widgets.
This allows to get parent widgets in the nested tree from bottom-up.
5 months ago
Peter Nelson 8ff0bef862
Codechange: Make widget index const to prevent changes. (#11658)
This guards against future widget index manipulation.
5 months ago
translators fd782ada05 Update: Translations from eints
russian: 11 changes by lexuslatvia
finnish: 12 changes by hpiirai
latvian: 217 changes by lexuslatvia
5 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.
5 months ago
Charles Pigott 1e60734660
Fix: Compilation with DEBUG_DUMP_COMMANDS enabled (#11607) 5 months ago
Patric Stout 49db7bbe08 Change: add vcpkg.json to instruct vcpkg what dependencies we require
This works on all OSes, making it far simpler for any developer
to jump in. Just install vcpkg, run "vcpkg install" in our root,
and you have all the dependencies.
5 months ago
Patric Stout 0c064b5119 Change: [CI] use vcpkg built-in caching mechanism 5 months ago
Patric Stout 5d86588a45 Change: [CI] pkg-config is installed by default on latest runner 5 months ago
Patric Stout 086bd00f5d Fix: [CI] upgrade curl to a modern version to avoid patching other tools 5 months ago
Patric Stout 3fec8ece5a Change: [CI] always use "latest" image for our runners 5 months ago
Patric Stout d6e8e83052
Fix: [CI] patch in SHF_COMPRESSED symbol for our Linux Generic binaries (#11651) 5 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.
5 months ago
Peter Nelson 268e512fb8 Codechange: Set storage type of widget enums to WidgetID. 5 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.
5 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.
5 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.
5 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.
5 months ago
translators a8e587632a Update: Translations from eints
danish: 3 changes by bscargo
dutch: 10 changes by Afoklala
5 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`.
5 months ago
Patric Stout 11ba951250
Fix: race-condition when creating new HTTP requests from different threads (#11638) 5 months ago