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