Commit Graph

21745 Commits (59a046de9c8b50121a38bcbc9e0fe87cd8cc66c0)

Author SHA1 Message Date
frosch 9344b50435 Codechange: Remove TKM from settings texts. 8 months ago
frosch 9e9a8ca7f6 Codechange: Add callbacks to IntSettingDesc to support dynamic strings for title, help and values. 8 months ago
frosch 022b9e92d2 Codechange: Move settings string formatting into IntSettingDesc members. 8 months ago
frosch a9d1078434 Codechange: Remove TKM from town action tooltips. 8 months ago
frosch abfeeea849 Codechange: Compose engine preview text from multiple strings. 8 months ago
frosch 68c64d2511 Codechange: Remove TKM string codes by duplicating strings. 8 months ago
frosch bd3d687bf9 Codechange: Merge all BaseGraphWindow widget enums into one.
Previously it relied on some enum entries using the same integer value.
8 months ago
frosch 69f47caf3f Codechange: Remove TKM from vehicle list sorting dropdowns. 8 months ago
frosch 9741510396 Fix: Wallclock setting should not affect percent-based service interval increments. 8 months ago
Tyler Trahan 86981c0983
Fix: Extra refit button when train/RV is in a depot (#11904) 8 months ago
Patric Stout 05b253b33b
Fix ea8c1d85: improve smoothness of smooth-scrolling for 60+Hz screens (#11884) 8 months ago
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.
8 months ago
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.
8 months ago
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.
8 months ago
Jonathan G Rennison 1df7b21ee3
Fix #11889: ConstructWindow not called from SurveyResultTextfileWindow constructor (#11903) 8 months ago
Peter Nelson d3c673e20b
Fix #11894: Defer window OnResize event to avoid processing multiple times per input tick. (#11900) 8 months ago
Patric Stout 8c5ad1ade7
Fix fd9e72a7: actually use the parameter value instead of the current date (#11898) 8 months ago
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.
8 months ago
Kuhnovic 8a4a99b7e8
Fix #5713: FindClosestShipDepot only considers depots that are actually reachable (#11768) 8 months ago
Patric Stout 89520f5665
Add: show in multiplayer the amount of hours a game has been unpaused (#11886) 8 months ago
Patric Stout 2bbc95cac3
Fix: update server as offline when unexpected disconnect during refresh (#11891) 8 months ago
Richard Wheeler 8770ef6bd9
Change: Make street lights transparent with houses (#11828) 8 months ago
Rubidium 7916e97c62 Update: opengl; glext header to 20231129, wglext header to 20231018 8 months ago
Rubidium a23cd4aef7 Update: nlohmann/json to 3.11.3 8 months ago
Rubidium 79b684b8ac Update: fmt to 10.2.0 8 months ago
Patric Stout 80ebcc72fb
Change: rebrand Cheats as Sandbox Options (#11874) 8 months ago
Tyler Trahan 28716548d2
Feature: Setting to automatically restart server based on hours played (#11142) 8 months ago
Loïc Guilloux 09b66751cf
Fix b38d3c2208: missing water regions invalidation when building locks (#11879) 8 months ago
Patric Stout 36579dd18b
Change: set smooth-scrolling on by default (#11860) 8 months ago
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.
8 months ago
Jonathan G Rennison cbb24b5d71
Codechange: Split bit numbers from values in RailTypeFlags, RoadTypeFlags enums (#11877) 8 months ago
Tyler Trahan 21581b6ab3
Feature: Setting for minutes per calendar year (#11428) 8 months ago
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
8 months ago
Tyler Trahan fd9e72a7e7
Feature: Use real-time "wallclock" timekeeping units (#11341) 8 months ago
Tyler Trahan bbdbf9a589
Add: AI/GS Time Mode to choose between economy (default) and calendar time (#11603) 8 months ago
Patric Stout a1487ce620
Add: list_[scenario|heightmap] and load_[scenario|height] console commands (#11867) 8 months ago
Tyler Trahan 76499b96fb
Fix fa479c4: Typo in vehicle list tooltip (#11871) 8 months ago
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
8 months ago
Kuhnovic bf3fd6526b
Fix: use correct size parameter type in TileArea constructors (#11869) 8 months ago
Patric Stout 11d4f1b2bd
Fix d3b2a576: LOAD_HEIGHTMAP / LOAD_SCENARIO are Scenario Editor modes (#11868) 8 months ago
Patric Stout d3b2a576de
Feature: Plugin framework for Social Integration with Steam, Discord, GOG, etc (#11628) 8 months ago
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().
8 months ago
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
8 months ago
Tyler Trahan 735abfe111
Codechange: Split dates and timers into Economy and Calendar time (#10700) 8 months ago
EmperorJake 419f48dfb3
Change: set amount of smoke/sparks to "realistic" by default (#11624) 8 months ago
Kuhnovic b38d3c2208
Change: simplified water region evaluation, removed savegame data (#11750) 8 months ago
Patric Stout 1985e7415b
Fix: smooth-scrolling large distances didn't got smoothly in one direction (#11861) 8 months ago
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.
8 months ago
Peter Nelson 691c628b07
Codechange: Use named initialization for unscaled WidgetDimensions. (#11859)
Remove now-unused WD_* enums.
8 months ago
Patric Stout 0c81579363
Fix #6377: two tarballs with the same folder in them were considered as one (#11855) 8 months ago
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.
8 months ago
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.
8 months ago
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.
8 months ago
Peter Nelson 89474701bc
Codechange: Use templates to deduplicate goal widgets. (#11852) 8 months ago
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".
8 months ago
Patric Stout fe035c306e
Codechange: prevent out-of-bound read (even if the result is never used) (#11853) 8 months ago
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.
8 months ago
Peter Nelson c0ab436077
Codechange: Store Colours in Colours type. (#11625)
This reduces casts, some magic numbers, and introduces a bit of type-safety.
8 months ago
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.
8 months ago
Rubidium 2d77f09a81 Codechange: use std::shared_ptr for vector of TCPConnecters 8 months ago
Patric Stout 71b8801b61
Fix bd85f61a: [Linux] don't include sys/random.h on older glibc systems (#11844) 8 months ago
Tyler Trahan fa479c4a7c
Cleanup: Describe modifier keys more consistently in tooltips (#11716) 8 months ago
Tyler Trahan 500870627d
Change: Rewrite a few main toolbar tooltips (#11717) 8 months ago
translators 4d79d86812 Update: Translations from eints
catalan: 18 changes by J0anJosep
8 months ago
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.)
8 months ago
Rubidium 086cbd0d72 Codechange: add constexpr to math functions where applicable 8 months ago
Rubidium dfe70181f1 Codechange: add constexpr to bitmath functions where applicable 8 months ago
Rubidium 4c51534b6a Remove: LeastCommonMultiple / GreatestCommonDivisor
Use std::lcm / std::gcd instead.
8 months ago
Rubidium 1403f24fa9 Codechange: replace LeastCommonMultiple with std::lcm 8 months ago
Patric Stout bd85f61a40 Change: use a stronger hash and actual random information to generate Uids 8 months ago
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.
8 months ago
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.
8 months ago
Rubidium 6b21368bc2 Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit 8 months ago
Rubidium 8faaedeff9 Codechange: replace hand written function to find first/last bit with C++ variant 8 months ago
Peter Nelson 903119115b
Fix 9602de4: FinaliseCargoArray did nothing. (#11839)
`CargoSpec::Iterate()` deliberately skips invalid cargo types, but `FinaliseCargoCarry()` is only interested in them.
8 months ago
translators db7697bcdf Update: Translations from eints
chinese (simplified): 22 changes by WenSimEHRP
romanian: 37 changes by bnegrut
8 months ago
Peter Nelson 9cf47af490
Change: Invalidate music volume when restarting music playback on Windows. (#11836) 8 months ago
Peter Nelson 6a2c37b4ed
Fix 09f585b: Crash if font name ends with comma or comma and whitespace on Linux. (#11838) 8 months ago
Rubidium 1c694e433d Codechange: use std::popcount instead of hand written loop 8 months ago
Peter Nelson ae575a7a5b Codechange: Store text run positions in vector of points.
This simplifies the interlaced vector of x/y positions.
8 months ago
Peter Nelson f7cc88f370 Codechange: Return vector references instead of pointer to first item. 8 months ago
Rubidium 2f8de227dc Remove: unused OTTD_ALIGNMENT define and ReadLE16(Un)aligned 8 months ago
Rubidium ee00c7b159 Codechange: use TO_LE16 directly when reading language file offsets 8 months ago
translators 32b99bf77c Update: Translations from eints
portuguese: 4 changes by azulcosta
8 months ago
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
8 months ago
Peter Nelson 28ef5146ba Fix #11646: Non-thread safe shared buffer returned from GetLogPrefix().
Return string from GetLogPrefix instead of shared string's buffer.
8 months ago
Patric Stout 2b599c9d00 Fix: [HarfBuzz] make HarfBuzz use the same glyphs as we render 8 months ago
Patric Stout a24c2bf10a Codechange: [HarfBuzz] hb-ft will set the scaling on its own 8 months ago
Peter Nelson 7faa3848de
Change: Mark whole screen dirty when toggling font AA. (#11825) 8 months ago
Rubidium 4cc97e04e6 Fix #11801, 51f1e93: CalcClosestTownFromTile needs the kd-tree to be valid 8 months ago
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.
8 months ago
Rubidium 47c0184a0b Codechange: replace ROR/ROL with std::rotr/rotl 8 months ago
frosch f457be5a27
Fix #11819, aa5ba5b: Out-of-bounds access in linkgraph GUI. (#11821) 8 months ago
Rubidium 2d77cf9c80 Codechange: replace StrStartsWith/StrEndsWith with starts_with and ends_with 8 months ago
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
8 months ago
Peter Nelson 341bdabc70
Fix #11815, bb491127: Missing brackets prevented vehicles turning properly. (#11816) 9 months ago
Jonathan G Rennison fd0528a9b4 Fix: Excessive switching of horizontal scale for FPS graph 60 Hz categories 9 months ago
Jonathan G Rennison 17d47ba06f Fix 661bdae2: cargo_payment not cleared when aircraft loading cancelled 9 months ago
Patric Stout fd073a2810 Remove: replace custom span with std::span 9 months ago
Patric Stout bb49112784 Codechange: switch our codebase to C++20 9 months ago