Skip to content

Instantly share code, notes, and snippets.

@TrueBrain
Last active January 30, 2024 14:21
Show Gist options
  • Save TrueBrain/627a49d40655e4631b9c0a03afda010f to your computer and use it in GitHub Desktop.
Save TrueBrain/627a49d40655e4631b9c0a03afda010f to your computer and use it in GitHub Desktop.
Changelog 14.0-beta1
Feature: Setting to disable the loading speed penalty for trains longer than the station (#11682)
Feature: Plugin framework for Social Integration with Steam, Discord, GOG, etc (#11628)
Feature: Scalable OpenTTD TrueType font made by Zephyris (#11593)
Feature: Toyland-specific river graphics (#11523)
Feature: (-tte) Add zoom level buttons to sprite aligner (#11518)
Feature: Randomize direction of rail vehicle on build based on probability callback (#11489)
Feature: Place cargo icon on cargo filter dropdowns (#11487)
Feature: Mode to display timetable in seconds (#11435)
Feature: Setting for minutes per calendar year (#11428)
Feature: Base graphics can offer parameters for additional settings (#11347)
Feature: Cheat to fix station ratings at 100% (#11346)
Feature: Use real-time "wallclock" timekeeping units (#11341)
Feature: [NewGRF] Related Act2 objects for airports and airport tiles (#11282)
Feature: Setting to automatically restart server based on hours played (#11142)
Feature: Add config option to set default company secondary colour for new games (#11068)
Feature: Transparency option for cost and income indicators (#11001)
Feature: Allow to do a hostile takeover of an AI company (in singleplayer) (#10914)
Feature: Create group of vehicles from manage vehicle list button (#10890)
Feature: Add coverage button to waypoint window (#10875)
Feature: Highlight waypoint tiles when adjacent or distant joining (#10875)
Feature: [GS] Goal destination can be updated (#10817)
Feature: Show the number of industries already built in the Fund New Industry window (#10806)
Feature: Add search filter and name text to build waypoint window (#10786)
Feature: Setting to disallow level crossings with competitors (#10755)
Feature: Drop ICU-lx in favour of directly interfacing with harfbuzz (#10747)
Feature: [NewGRF] Allow higher max speeds for ships (#10734)
Feature: Opt-in survey when exiting a game (#10719)
Feature: Increase number of stations/roadstops per NewGRF (#10672)
Feature: Remove limit of objects per NewGRF (#10672)
Feature: Separate rail/road and sea/air velocity units, and add knots (#10594)
Feature: Region-based pathfinder for ships (#10543)
Feature: Filter engine build menu by name and NewGRF extra text (#10519)
Feature: Industry directory text filter (#10518)
Feature: Ctrl+Click to reset late counter for the entire vehicle group (#10464)
Feature: Orientation of rail and road depots can be changed (#9642)
Feature: Help and manuals access window (#7786)
Add: {CURRENCY_SHORT} only did k / m suffix. Add bn / tn and make translatable (#11921)
Add: Show in multiplayer the amount of hours a game has been unpaused (#11886)
Add: Allow loading heightmaps from command-line (#11870)
Add: List_[scenario|heightmap] and load_[scenario|height] console commands (#11867)
Add: Monocypher 4.0.2 (#11837)
Add: [Script] Optional filter parameter to more ScriptXXXList constructors (#11698)
Add: Latvian Lats currency (#11691)
Add: [Script] Optional filter parameter to ScriptVehicleList constructor (#11663)
Add: 32bpp-to-8bpp palette index lookup (#11616)
Add: AI/GS Time Mode to choose between economy (default) and calendar time (#11603)
Add: Horizontal scroll for script debug log (#11597)
Add: GUI options to select sprite font and AA mode for all fonts (#11593)
Add: Use more tooltips in World Generation GUI (#11581)
Add: Website button to Game Options window for basesets (#11512)
Add: Website button for Game Script settings window (#11512)
Add: Website button for AI settings window (#11512)
Add: Function to get largest cargo icon size (#11487)
Add: WidgetDimensions for 'sparse' widget windows (#11449)
Add: WindowDesc unit test to validate NWidgetPart lists (#11440)
Add: Mock sprite cache intialization (#11440)
Add: Expose minimal parts of SpriteCache internals (#11440)
Add: MockFontCache for testing GUI code that only needs to know font sizes (#11440)
Add: WindowDesc unit test to validate ini-key value (#11422)
Add: Debug tool to draw widget outlines (#11401)
Add: LSB_RELEASE_ID Linuxmint to .deb package (#11390)
Add: Data parameter in Window::Close method (#11366)
Add: Store base graphics parameters in openttd.cfg (#11347)
Add: [GitHub] Also test if release builds without asserts are warning-free (#11309)
Add: [NewGRF] Inspection window for airports (#11282)
Add: Calendar date for Survey results (#11234)
Add: Use breakpad to create crash.dmp on MacOS / Linux too (#11202)
Add: [Script] GSIndustry.GetConstructionDate() method (#11145)
Add: [Script] Custom news message text for industry SetProductionLevel (#11141)
Add: [Script] Game script control of industry production level (#11141)
Add: Workflow and script for checking ini_key issues in WindowDesc entries (#11131)
Add: [Emscripten] Support for bootstrapping (#11109)
Add: Show fallback sprites with debuglevel sprite=4 (#11074)
Add: Subspan function to span (#11050)
Add: Hotkey to focus industry directory filter box (#11030)
Add: Hotkey to focus town directory filter box (#11030)
Add: Std::back_insert_iterator<std::string> Utf8Encode function (#10949)
Add: Helper output iterator for formatting strings (#10921)
Add: [Script] GSAsyncMode to set async mode of gamescript commands (#10913)
Add: NewGRF string code "9A 21" to display force from textstack (#10782)
Add: Support for std::string parameters in the script API (#10769)
Add: Method to call script functions with std::string (#10769)
Add: Case insensitive string comparator (#10767)
Add: [CMake] JSON library (nlohmann) (#10719)
Add: Parameter for ReInit() to reposition window to default (#10716)
Add: Helper to update widget vertical size (#10716)
Add: {COLOUR} control code to allow colour changes at runtime (#10687)
Add: Station property 1C/1D to set name/classname (#10672)
Add: Unit test functionality using catch2 (#10636)
Add: Catch2 v2.13.10 (#10636)
Add: Some additional debugging information when chunk sizes are incorrect (#10624)
Add: Compile time "unit tests" for GetPartialZ consistent (#10570)
Add: GSCompanyMode::IsValid and IsDeity, and precondition enforcement helpers (#10536)
Add: Deity mode enforcement checks to functions with command or company access (#10529)
Add: Company mode enforcement checks to functions with command or company access (#10529)
Add: Precondition checks to functions that work with both valid company and deity (#10529)
Add: Workflow and script for checking missing mode enforcements (#10529)
Add: Maximum number of companies allowed to the client list (#10523)
Add: Documention to large functions that have too little documentation according to CodeQL (#10510)
Add: Use specific error message when vehicle cannot go to station/waypoint (#10494)
Add: CommandCost supports an optional second error string (#10494)
Add: Show NewGRF name in NewGRF-created errors (#10457)
Add: Use https:// for content-service connections (#10448)
Add: [Script] Let random road layout be a choice (#10442)
Add: Script specific Randomizer instances (#10349)
Add: Enable CodeQL code scanning (#10299)
Add: Alternative setting for right-click close window option to exclude pinned windows (#10204)
Add: NewGRF road stops (#10144)
Add: Install additional documentation files with the game (#7786)
Add: Allow autoreplace with same model vehicle (#7729)
Change: Position error window closer to cursor on large screens (#11923)
Change: Rebrand Cheats as Sandbox Options (#11874)
Change: Make for smooth-scrolling based on actual time (#11865)
Change: Set smooth-scrolling on by default (#11860)
Change: Disable building rail infrastructure if train build limit is zero (#11847)
Change: Use a stronger hash and actual random information to generate Uids (#11837)
Change: Invalidate music volume when restarting music playback on Windows (#11836)
Change: Make street lights transparent with houses (#11828)
Change: Mark whole screen dirty when toggling font AA (#11825)
Change: Remove extra padding from query text (#11823)
Change: Be more resilient against missing towns in old loader (#11786)
Change: Redesign script debug window (#11782)
Change: Simplified water region evaluation, removed savegame data (#11750)
Change: Rewrite a few main toolbar tooltips (#11717)
Change: [Script] Detection of not properly closed DOXYGEN_API blocks (#11692)
Change: Reorganize Settings menu items (#11683)
Change: Allow STRING/STRINGN to use all remaining parameters in game script mode (#11681)
Change: Don't handle 'missing' string parameters as 0 (#11673)
Change: Limit total script ops that can be consumed by a list valuate (#11670)
Change: Add vcpkg.json to instruct vcpkg what dependencies we require (#11653)
Change: Set amount of smoke/sparks to "realistic" by default (#11624)
Change: Rename Standard Livery to Default Livery (#11617)
Change: Show a message in livery window if vehicle type has no groups (#11617)
Change: Add distinct tooltips for vehicle group colour schemes (#11617)
Change: Remove hardcoded minimum sizes and allow resize (#11617)
Change: Move colour selection dropdowns to bottom of window (#11617)
Change: Support custom transparency remaps with 32bpp blitters (#11616)
Change: Make "middle" the default stopping location for trains in platforms (#11605)
Change: Scale sprites to requested highest resolution level (#11600)
Change: Allow TrueType fonts to provide our private-use glyphs (#11593)
Change: Allow opening multiple script debug windows by holding Ctrl (#11592)
Change: Improve and standardize wording of World Generation helptexts (#11581)
Change: Don't mention TerraGenesis in setting helptexts (#11581)
Change: Be selective about clearing sprite/font caches on interface scale change (#11576)
Change: Hide bevel for resizeable sparse layout windows (#11572)
Change: Use sparse padding for network server list (#11571)
Change: Use sparse padding for start network server window (#11569)
Change: Remember the active game option window tab (#11547)
Change: Don't show scoring year in high score table (#11546)
Change: Revert pressed-button content shifting introduced in r2161 (#11542)
Change: [CMake] Use explicit list for regression (#11541)
Change: Show rating in station list even with no cargo waiting (#11540)
Change: [CMake] Use explicit list for grf source files (#11539)
Change: Add tooltips for text file buttons, and shorten Website / Readme buttons (#11534)
Change: Hide unused cargos from vehicle cargo filter (#11533)
Change: Add extra padding to climate buttons to match pre-#11464 (#11525)
Change: Add outline of sprite to sprite aligner (#11518)
Change: Make NewGRF Sprite Aligner window resizeable (#11518)
Change: Use sparse padding for sprite aligner (#11518)
Change: Adjust layout of Content and NewGRF Website buttons for consistency (#11512)
Change: Don't restart playback when toggling playlist shuffle (#11504)
Change: Use sparse padding for content download window (#11501)
Change: Set height of larger heightmap/scenario worldgen buttons by text height (#11496)
Change: When building NewGRFs, use grfid (from grfcodec) to calculate NewGRF MD5 hash (#11492)
Change: Use CRTP-mixins to compose dropdown list items (#11487)
Change: Use picker-spacing for scenario found town window (#11478)
Change: Use sparse padding for main intro menu (#11475)
Change: Use sparse padding and SETTING_BUTTON sizes for custom currency window (#11472)
Change: Apply interface scaling to NewGRF settings min/max sizes (#11467)
Change: Use sparse padding for NewGRF settings window (#11467)
Change: Use sparse padding for AI/GS settings windows (#11466)
Change: Simplify world gen widgets and use sparse padding (#11464)
Change: Use sparse padding for Game Options window (#11463)
Change: Adjust layouts and standardize spacing for company-related windows (#11459)
Change: Increase finance window lines (and underlines) with interface scale (#11459)
Change: Move baseset missing/corrupted files label to list item (#11455)
Change: Simplify help window widgets and use sparse padding (#11449)
Change: Show empty string drop down entries as divider (#11447)
Change: Add horizontal scrollbar to Industry Directory window (#11434)
Change: Bring airport picker inline with other pickers (#11430)
Change: Bring dock picker inline with other pickers (#11430)
Change: Improve layout of object picker (#11430)
Change: Improve layout of road/tram stop pickers (#11430)
Change: Improve layout of station picker (#11430)
Change: Try stopping extmidi player with SIGINT first (#11404)
Change: Use modalpopup spacing for goal question windows (#11399)
Change: Use modalpopup spacing for engine preview window (#11399)
Change: Use modalpopup spacing for buy company window (#11399)
Change: Use modalpopup spacing for network relay and survey windows (#11399)
Change: Display cargo lists in sorted cargo order (#11383)
Change: Use CARGO_LIST to show station cargo acceptance changes (#11379)
Change: Always allow expanding towns in Scenario Editor to build new roads (#11377)
Change: Filter duplicate paths from valid search path list (#11363)
Change: Don't set vehicle on time if timetable not started (#11359)
Change: Store station blocked/wires/pylons flags in map (#11337)
Change: Replace fixed length _grf_text array with vector (#11258)
Change: For surveys capture more information about the OpenTTD version (#11244)
Change: [Win32] Don't allocate 192KiB of memory on the stack on crash (#11240)
Change: Mention in MacOS / Windows crashlog popup when files couldn't be generated (#11239)
Change: Recover when possible from crashes during a crash (#11238)
Change: [Win32] Unify the crashlog handler with the other OSes (#11236)
Change: Make nlohmann a mandatory library to build OpenTTD (#11235)
Change: Store crash logs in JSON format (#11232)
Change: Remove autosave from settings window (#11218)
Change: Enable "Forbid 90 degree turns" setting by default (#11160)
Change: Improve wording of help (host instead of IP) and update man page (#11153)
Change: Scale bridge GUI by interface scale (#11152)
Change: Do not allow mixing road/tram types in powered road type list (#11148)
Change: Clean up window title and button capitalization and wording (#11134)
Change: Don't save industry history if cargo slot isn't used (#11133)
Change: Only show platform stopping location in orders when other than default (#11102)
Change: Tooltip for base graphic/sound dropdown (#11091)
Change: Autorail / autoroad tools can start dragging from invalid tiles (#11089)
Change: Make Exclusive Transport Rights more exclusive (#11076)
Change: Allow text shadow on WWT_EMPTY/WWT_TEXT to extend horizontally (#11065)
Change: Remove currency code/symbol suffix from language files (#11061)
Change: Add separate setting for server sent commands per frame limit (#11023)
Change: Make terraforming point selection sprite visible at >2x zoom out (#11017)
Change: Add window description flag to disallow interactive window closing (#11008)
Change: Move string validation (and assignment) to textbuf (#10943)
Change: Cargo flow legend only shows defined cargo (#10872)
Change: Remember waypoint filter string (#10857)
Change: Reorganise industry accept/produce arrays (#10853)
Change: Use "Via-Destination-Source" as default station cargodist display (#10851)
Change: Preserve orders and related settings where possible when moving engines around in a train (#10799)
Change: Use iterator when drawing industry cargo window (#10796)
Change: Units-system can convert from N to kN, don't preconvert (#10795)
Change: Standardise unit conversions and allow decimal places (#10795)
Change: Perform unit convert with a double-precision constant (#10795)
Change: Add padding to build vehicle text filter (#10792)
Change: Remove incorrect minimal size (#10786)
Change: Reduce size of waypoint matrix to 3 x 2 (#10786)
Change: Use separate names for default stations/roadstops (#10786)
Change: [Actions] Use -fuse-ld=lld and Ninja for MinGW (#10785)
Change: Include fmt.h C++ headers in stdafx.h (#10778)
Change: Disable precompiled headers on Linux (GCC - Dedicated) target to ensure those still build (#10778)
Change: Use precompiled headers for stdafx.h and 3rdparty/fmt/format.h (#10778)
Change: Replace ScriptLog data array with std::deque (#10770)
Change: Size space for editbox clear button by interface scale (#10749)
Change: Set macOS deployment target to 10.15 (#10745)
Change: Remove {TINY_FONT} from cargo abbreviation strings for other translations (#10732)
Change: Remove {TINY_FONT} from cargo abbreviation strings for English (#10732)
Change: Rename text colour NWidgetPart to SetTextStyle and add font size (#10732)
Change: Draw and size video driver info like base set info (#10716)
Change: Size Game Options description widgets after initial sizing (#10716)
Change: Hide all variants from UI when (display) parent is hidden (#10708)
Change: Increase vehicle random data from 8 to 16 bits (#10701)
Change: Centre company face in scaled widget (#10688)
Change: Failure to load a savegame is critical (#10682)
Change: Split Game options into General, Graphics and Sound tabs (#10674)
Change: Add placeholders for unimplemented NewGRF station properties (#10672)
Change: Extend entity override manager and station spec lists to support 16 bit IDs (#10672)
Change: Read Action 3 IDs as extended-bytes for all features (#10672)
Change: Make Action 3 debug messages more consistent (#10672)
Change: Extend callback 161 (engine name) with bit 0x22 for context 'Autoreplace - Vehicles in use' (#10666)
Change: Base autosaves intervals on real time (instead of game time) (#10655)
Change: Replace per-AI "start_date" with a global "competitors_interval" (#10653)
Change: Use cstdint instead of rolling our own types (#10651)
Change: Allow GS access to ScriptGroup functions (#10642)
Change: Allow GS access to ScriptGameSettings.IsDisabledVehicleType (#10642)
Change: Allow GS access to more ScriptCompany functions (#10642)
Change: Allow GS access to more ScriptOrder functions (#10642)
Change: Make all dropdown lists extend width if necessary (#10641)
Change: Use std::vector for NewGRF spec tables (#10627)
Change: Allow overbuilding station and waypoint tiles (#10618)
Change: Use seconds for Linkgraph update settings (#10610)
Change: Make tick length 27 milliseconds (#10607)
Change: Increase max cargo age and let min cargo payment approach zero (#10596)
Change: Make GetPartialZ consistent, meaning Z of adjacent slopes continue (#10570)
Change: Allow jukebox lists to fill window width (#10553)
Change: Resize jukebox when changing music set (#10553)
Change: [Script] Improve ScriptText validation error messages (#10545)
Change: Upon an invalid company mode, set ERR_PRECONDITION_INVALID_COMPANY instead of ERR_PRECONDITION_INVALID (#10529)
Change: [Actions] Cancel previous run if pushing new PR (#10516)
Change: [Script] Restore support of {RAW_STRING} in ScriptText (#10492)
Change: [Script] Validate ScriptText parameters type and amount (#10492)
Change: [Script] Automate the ScriptObject reference counting (#10492)
Change: [Script] Extract params info from GS strings (#10492)
Change: [Script] A ScriptText with too many parameters is now a fatal error (#10483)
Change: Try to detect the CA file/path for CURL (#10481)
Change: Show buy company dialog window even when playing in the AI company (#10459)
Change: Expose ObjectSpec vector to simplify iteration (#10408)
Change: Log AI/GS Squirrel crashes in white text for readability (#10375)
Change: Check glyph size before trying to render it (#10351)
Change: Remove guess-work from calls to GetGlyphOutline() (#10351)
Change: Use std::vector for fallback font list (#10351)
Change: Big UFO disaster targets current location of a random train (#10290)
Change: Remove land generator setting from World Generation GUI (#10093)
Change: Text Layouter support querying all lines for character at pixel (#7786)
Change: Allow dedicated server to use threaded saves. (#10787)
Fix #11910: Use economy timer for dmp_cmds files (#11925)
Fix: Sandbox window does not reduce height when interface scale is reduced (#11924)
Fix #11918: Houses should build only next to road stops, not any station type (#11919)
Fix: Use alternate timekeeping units in savegame title (#11912)
Fix #11907: Allow genders for time related {UNITS_XXX} (#11908)
Fix: Wallclock setting should not affect percent-based service interval increments (#11906)
Fix: Extra refit button when train/RV is in a depot (#11904)
Fix #11889: ConstructWindow not called from SurveyResultTextfileWindow constructor (#11903)
Fix #11894: Defer window OnResize event to avoid processing multiple times per input tick (#11900)
Fix: Memory leak in ICUParagraphLayout::NextLine() (#11895)
Fix #10439: [GS] Validate story page button colour, flags, cursor and vehicle type (#11892)
Fix: Update server as offline when unexpected disconnect during refresh (#11891)
Fix: TextfileWindow called virtual methods before constructor completed (#11889)
Fix #10438: [GS] Validate story page element type for ScriptStoryPage::NewElement (#11888)
Fix: Missing water regions invalidation when building locks (#11879)
Fix: Use correct size parameter type in TileArea constructors (#11869)
Fix: Smooth-scrolling large distances didn't got smoothly in one direction (#11861)
Fix #9722: Create vital windows as soon as local_company is set (#11858)
Fix #6377: Two tarballs with the same folder in them were considered as one (#11855)
Fix #11827: Make Layouter::GetCharPosition() aware of ligatures (#11831)
Fix #11765: [HarfBuzz] Make HarfBuzz use the same glyphs as we render (#11826)
Fix: Excessive switching of horizontal scale for FPS graph 60 Hz categories (#11813)
Fix: NWidgetParts must use unscaled dimensions (#11794)
Fix #11714: [SDL] Remove hint to avoid hardware acceleration (#11790)
Fix #11767: [Linux] Install all X11 dependencies in linux-generic (#11787)
Fix #11785: When bumping aircraft into the air, remove them from the loading vehicle list again (#11786)
Fix: Viewport virt coords not updated when sprite font toggled (#11784)
Fix: [SDL2] Fullscreen always used the resolution of the first display (#11779)
Fix: [SDL2] Only resolutions of the first display were shown (#11778)
Fix: Don't replace stripped characters with '?' in console (#11777)
Fix: Compilation without precompiled headers (#11770)
Fix #5713: FindClosestShipDepot only considers depots that are actually reachable (#11768)
Fix #11696: Graphics set parameters missing from survey data (#11764)
Fix #11752: [Win32] Wrong multi-line text layout due to incorrect partial run handling (#11761)
Fix #4415: Land info build date is also renovation date (#11759)
Fix: Build button text when train purchase window using "Engines" filter (#11755)
Fix #11485: New run on same line must not use last_space of previous run as cut-off point (#11753)
Fix #11748: Incorrect clamping of negative service interval values (#11749)
Fix: Incorrect assertion in GetTileIndexFromLocalCoordinate (#11747)
Fix: Clear one way state when removing road from road+tram tile (#11745)
Fix: [Script] Improve ScriptText validation (#11721)
Fix: Use consistent wording on waypoint button tooltip (#11700)
Fix: Use consistent wording for lorry stations (#11699)
Fix: String gender scan with SCC_INDUSTRY_NAME (#11697)
Fix #11689: [Script] Document return type of member GSIndustry::GetProductionLevel (#11692)
Fix #11689: Properly close DOXYGEN_API block (#11692)
Fix: Race-condition when quitting the game with libcurl (#11688)
Fix: Don't unneededly block on transmitting survey on exit (#11687)
Fix: Pass townnameparts as parameter when testing townname based companyname (#11685)
Fix: Curl_global_cleanup called before libcurl HTTP thread exited (#11680)
Fix: Libcurl HTTP thread race at uninit preventing thread exit (#11680)
Fix: Autorenew failed message consumes arguments (#11669)
Fix: Spurious cancellations of HTTP content downloads (#11668)
Fix: Missing invalidations on gui.ai_developer_tools change (#11664)
Fix: Calculation of initial engine age was inaccurate (#11660)
Fix #11655: Crash due to NWidgetMatrix modifying widget->index (#11657)
Fix #11337: Station blocked/pylon/wire bits with CBID_STATION_TILE_LAYOUT (#11656)
Fix #11649: Ignore disabling a widget that does not exist (#11652)
Fix #11646: Non-thread safe shared buffer returned from GetLogPrefix() (#11648)
Fix #11643: Empty area at top of survey preview (#11647)
Fix #11644: Off by one error/buffer over-read in StrMakeValid (#11645)
Fix #11636: Race-conditions in GUI updates when downloading HTTP files (#11639)
Fix: Race-condition when creating new HTTP requests from different threads (#11638)
Fix: Prevent underflow if engine base life is less than 8 years (#11635)
Fix: Changing group parent did not properly update partially-default liveries (#11633)
Fix: Changing default livery did not propagate to group liveries (#11633)
Fix: Missing word in conditional order comparator (#11632)
Fix #11629: AirportGetNearestTown for rotated airports (#11631)
Fix: Memory leak in WindowDescTestsFixture (#11630)
Fix: Fully restore script break filter on reopen (#11622)
Fix #11618: Don't try to display unavailable zoom levels in sprite aligner (#11619)
Fix #11515: Zoom level could wrap around when changing interface scale (#11615)
Fix #11442: "default" colour in group colour window is not updated when changing master colour (#11614)
Fix: Update widget dimensions before updating viewport signs (#11611)
Fix: Draw unavailable mask over picker sprite instead of behind it (#11609)
Fix: Prevent picker preview sprites from overflowing button bevel (#11609)
Fix: Compilation with DEBUG_DUMP_COMMANDS enabled (#11607)
Fix: Add missing includes to timers from script implementation files (#11604)
Fix: Window width/height was doubly-scaled with automatic DPI switch (#11598)
Fix: [OSX] Spurious log message when a sprite glyph was layouted (#11593)
Fix: Make compact picker windows expand to fill if necessary (#11591)
Fix: Crash if squirrel compatibility scripts cannot be parsed (#11589)
Fix: [Script] Properly store the previous AsyncMode state (#11587)
Fix #11585: Crash when cleaning AI/GS with nested AsyncMode (#11586)
Fix: Don't crash when saving a crashlog save with no main window open (#11586)
Fix: Left-over printf-style format passed to fmt (#11584)
Fix #11577: Extra viewport opened in wrong location (#11578)
Fix #11352: Draw all network server info as multiline strings (#11567)
Fix: AirportGetNearestTown incorrectly assumed first TileIterator result was origin (#11565)
Fix: Prevent overflow when calculating max town noise (#11564)
Fix: Ensure saveload type match variable type (#11560)
Fix #11556: Missing saveload change for OrderBackup (#11557)
Fix #10511: Delay 'go to nearest depot' orders (#11548)
Fix #10452: Don't let AyStar max_search_nodes unattended when initializing (#11544)
Fix: Make station list filters use per-window state instead of global state (#11532)
Fix: WC_STATION_LIST should be invalidated by owner, not station index (#11530)
Fix: AI window did not update button disabled state when changing values (#11527)
Fix #11516: Adjust window size by interface scale during ReInit (#11517)
Fix: Don't implicitly ReInit all windows after updating the character width cache (#11517)
Fix: Deleting towns did not check for waypoints referencing the town (#11513)
Fix #10811: Allow dragging vehicle in depot to any free row (#11508)
Fix #10926: New free wagons no longer split by type (#11507)
Fix: Invalidate playlist window when (un)shuffling playlist (#11504)
Fix: Incorrect mask files for NE river slopes (#11503)
Fix #11500: Rename Textfile GUI's LinkType to HyperlinkType (#11502)
Fix #11493: Incorrect flow values in LinkGraphJob::EdgeAnnotation (#11494)
Fix #9031: Add shading to river slopes (#11491)
Fix #11407: Don't steal focus from dropdown menus (#11484)
Fix: Widget without tooltip should use STR_NULL not STR_EMPTY (#11482)
Fix: Restore original cargo legend 'blob' dimensions (#11480)
Fix: Extra space allocated to container-within-container may not get allocated to children (#11471)
Fix: Extmidi did not move on to next song after playing ends (#11469)
Fix #11437: Flipped shorter rail vehicles disappear in windows (#11446)
Fix: Using MIN_YEAR for a date is probably wrong, Use MIN_DATE instead (#11444)
Fix #9545: Crash when all cargo types are disabled (#11432)
Fix #11402: Make string filter locale-aware (#11426)
Fix: Char_traits::find needs to return nullptr if nothing was found (#11426)
Fix: Some NWidget lists were not properly closed (#11425)
Fix: AI config window should not have an ini_key (#11423)
Fix #11413: Incorrect sorting by industry production (#11414)
Fix: Incorrect padding for smallmap legend 'icon' (#11410)
Fix: Insufficient space for labels on smallmap legend (#11410)
Fix: Allow same length server password in the UI (#11408)
Fix: OpenTTD can fail to exit on an error due to mutex locks in threads (#11398)
Fix: Incorrect title on framerate windows for AIs (#11397)
Fix: Scale minimum width for server name by interface scale (#11381)
Fix: Tile slope missing from road stops varact2 variable 0x42 (#11373)
Fix: Assertion in sprite aligner window (#11371)
Fix: Treat closing network relay window as a choice of "No" (#11366)
Fix: Incorrect include path for timers (#11351)
Fix #8846: When upgrading NewGRF presets, copy NewGRF parameters only if the NewGRF are compatible. Otherwise reset to defaults (#11348)
Fix: Upgrading NewGRF presets could result in incomplete display of NewGRF parameters until restart (#11348)
Fix #11261: Set number of items correctly when choosing available airport set (#11344)
Fix: Check for engine variant loops during NewGRF initialization (#11343)
Fix #10763: Display variant groups that consist only of unavailable sub-groups (#11342)
Fix: #11329: Don't assert vehicle list length is non-zero when only asked to set string parameter (#11330)
Fix #11326: Update autoreplace scrollbar count after clearing engine list (#11327)
Fix: Allow NewGRF inspection of road tiles (#11323)
Fix: Spelling of NIHAirport (#11322)
Fix #11315: Sort industries and cargoes by name* in industry chain window (#11317)
Fix: Don't produce invalid cargo (#11314)
Fix #11307: Incorrect GroupStatistics after selling leading wagon (#11311)
Fix #11230: Widget layout also failed for group-less vehicle list window (#11310)
Fix: Compilation failed on gcc 10.2 due to missing include (#11300)
Fix #11161: Also apply cargo filters on shared groups in vehicle listing (#11294)
Fix: Marked text was not updated during text deletion (#11293)
Fix: IConsoleWindow:GetTextBoundingRect() is incorrect (#11292)
Fix: Mark next_station as INVALID_STATION when loading from older savegames (#11284)
Fix: Don't compare next_station when trying to merge CargoPackets (#11284)
Fix: Only count distance traveled in vehicles for cargo payment (#11283)
Fix: Base cargo payment on load/unload tile, instead of station sign location (#11281)
Fix: NewGRF house class mappings were not reset between games (#11279)
Fix #10950: Crash when opening a damaged base-graphics (#11275)
Fix #11267: Asserts unintentially being partially disabled in release-builds (#11268)
Fix: Trivial autoreplace of mixed cargo articulated engines (#11253)
Fix: [Script] GSAdmin.Send() could generate invalid JSON (#11250)
Fix: [Emscripten] Config not saved on exit game (#11248)
Fix #11230: Group list widget layout failed, if dropdown widgets were higher than the font height (#11231)
Fix #9642: Keep infrastructure totals when overbuilding road depots (#11229)
Fix #11181: Attempting to read string as int triggers assertion (#11222)
Fix #11215: Assert in NewGRF parameters window (manual parameter mode) (#11217)
Fix: Road stops should not draw a ground sprite of 0 (#11214)
Fix: Inaccurate waiting cargo total in station window when using cargodist (#11213)
Fix: [MSVC] Generate static libraries / executables correctly with vcpkg -static target (#11208)
Fix: [MacOS] Screen looks blue-ish when using newer SDKs (#11207)
Fix: No fast forward in network was ensured only from GUI side (#11206)
Fix #11203: [ICU] Glyph to char mapping with multiple runs (#11204)
Fix #11180: Use TileVirtXY for aircraft crash tile (#11184)
Fix: VS2022 optimisation bug is fixed with MSVC 19.37 (#11172)
Fix #10478: Clarify airport noise control setting texts (#11169)
Fix #11164: Duplicate town names when using the many random towns function (#11165)
Fix #11162: Get colour map of correct train part (#11163)
Fix: Missing hyphenation in various ownership strings (#11155)
Fix: Crash when not passing parameter for -n (#11153)
Fix #11061: Missed currency-code suffix removal for some translations (#11149)
Fix: Store autosave settings under the new names (#11143)
Fix: Integer overflow in LinkGraphOverlay::ShowTooltip for long links (#11139)
Fix #11137: Assertion failure due to interpreting string as number (#11138)
Fix: Ini_key issues reported by the script (#11131)
Fix: Build road/tram stop windows did not set WindowDesc::ini_key (#11126)
Fix #11115: Focus the abandon game/exit game windows (#11125)
Fix #10334: Store separate newgrf-safe version of date_of_last_service (#11124)
Fix: [Bootstrap] Don't crash when failing to connect to content server (#11122)
Fix: [Emscripten] Actually link against nlohmann_json (#11120)
Fix: [Emscripten] Switch to URL for content-service that supports WebSocket (#11106)
Fix #11096: Increase priority of error and confirmation windows (#11104)
Fix #11087: Disable base graphics/sound dropdown outside main menu (#11091)
Fix #4575: Use Latin 'l' in English translation of zloty (#11090)
Fix: Ensure settings page label is orange (#11071)
Fix #11054: Prevent translation of currency codes (#11061)
Fix: Layouter not taking stripped formatting codes into account when mapping visual coordinates to/from original string (#11060)
Fix: FallbackParagraphLayouter wasn't reverse-mapping glyphs to character indexes right (#11060)
Fix: Layouter::GetCharAtPosition counting wrong (#11038)
Fix #11026: Use real engine name instead of default name for filtering (#11033)
Fix #10868: [Script] Handle errors when loading savegame data on stack (#11029)
Fix #10993: Crash log when font caches not initialised (#11024)
Fix: Crash when failing to load a game into a dedicated server at startup (#11021)
Fix: CMD_CHANGE_SETTING did not reject SF_NO_NETWORK_SYNC settings (#11009)
Fix: Do not use {STRING} when {STRING1} or {STRING2} is needed (#11003)
Fix: When a string consumes more parameters than allowed, nullptr is attempted to be formatted (#11002)
Fix #10982: No help text for gamelog command (#10984)
Fix #10964: Missing FontConfig format for language (#10965)
Fix: GRF Parameters not displayed due to scope issue (#10911)
Fix: Track "memory installed" for surveys less precisely (#10910)
Fix #10880: Crash in object window due to incorrect parameter order (#10881)
Fix: Ensure MD5Hash is initialized (#10876)
Fix: Survey result on crash only worked on Linux (#10855)
Fix: Work around GCC compiler bug #105120 in fmt (#10850)
Fix: Don't rely on static initialization to set up sprite font caches (#10836)
Fix #10811: Crash getting row from non-resizable widget (#10833)
Fix: Multiplication result converted to larger type (#10829)
Fix: Padding miscalculated for the network-relay and bootstrap-question GUI (#10827)
Fix #10823: Order list has end marker row (#10825)
Fix #10819: GetVehicleFromDepotWndPt used widget- instead of window-relative positions (#10820)
Fix: Don't use a loop to test if classid is valid (#10818)
Fix: NewGRF Profile didn't stop if there were no events yet (#10816)
Fix: WWT_TEXT with SetTextStyle did not work (#10797)
Fix: Incorrect padding on industry cargo window (#10796)
Fix: Incorrect y-position of monospace glyphs (#10794)
Fix: Support more than 256 stations/waypoints/roadstops per class (#10793)
Fix #10790: [ICU] Crash when trying to break a non-breaking run (#10791)
Fix: Set up default station/waypoint classes properly (#10789)
Fix: Make scrollwheel work on panel behind waypoint matrix (#10786)
Fix: Var68 for station and roadstop was broken (#10784)
Fix: Engine age is in months, not days (#10773)
Fix: Make all settingsgen 'warnings' fatal (#10766)
Fix: No_http_content_downloads and use_relay_service as private settings (#10762)
Fix: Conversion to smaller type warnings (#10756)
Fix: False positive warning in fmt library (backport ef55d4f of upstream fmt) (#10745)
Fix: Memory leak when parsing (strgen) commands by moving to C++ containers (#10745)
Fix: Force cargo abbreviation to small font in station list (#10732)
Fix: Linkgraph legend assumes strings are small (#10732)
Fix #10707: Incorrect type of days_in_transit in CargoPacket constructor (#10715)
Fix: Violation of strict weak ordering in engine value/running cost sorter (#10694)
Fix: Violation of strict weak ordering in TownRatingSorter (#10694)
Fix: Fmt's {:#04X} yields '0X00', not '0x0000' (#10683)
Fix #10600: 'Replace Vehicles' didn't show numbers >999 (#10680)
Fix: Clear church/stadium flags when copying house substitute specs (#10669)
Fix #10627: Houses subsitute specs should only be copied on first definition (#10669)
Fix #10660: Sprite Font scale affected by viewport zoom level limits (#10668)
Fix: Extra viewport cannot be scrolled with right-click-close (#10644)
Fix: DropDownListColourItem didn't provide width nor scale vertical padding (#10641)
Fix: Don't double-pad existing size when adding widget padding (#10635)
Fix: Account for extra dropdown list padding (#10635)
Fix #10619: Crash loading linkgraph for older savegames (#10620)
Fix: Specify units for value of share trading age setting (#10612)
Fix #10578: Allow to select any version of AI/GS from GUI (#10604)
Fix: Road type is not available before its introduction date (#10585)
Fix: Don't list unavailable road types for game scripts (#10585)
Fix #10514: Do not update a RV's Z-position when stationary while turning (#10570)
Fix: Improve grfmessage for ShipVehicleChangeInfo (#10558)
Fix #10556: Duplication of road infrastructure count updates (#10557)
Fix: Don't (briefly) switch from title-only playlist on menu screen (#10553)
Fix: Truncated music-set song names cause warning log (#10553)
Fix: Bank balance command allows int64, GS was limited to int32 (#10552)
Fix #10542: [Script] Detect circular references in ScriptText (#10545)
Fix: Game scripts must not build with non-existing road types (#10539)
Fix: [Script] Inconsistent precondition failure return values (#10533)
Fix: Remove ScriptController constructor from API documentation (#10533)
Fix: Crashes to desktop from game scripts when companies disappear (#10529)
Fix: O(N^2) cost of Station::RecomputeCatchmentForAll (#10526)
Fix: [NewGRF] Object and road stop ignore property handlers (#10525)
Fix #10522: Link graph line tooltip test for vertical lines (#10524)
Fix #10222: Adjust line drawing algorithm (#10491)
Fix #10131: Actually cancel downloads when pressing cancel (#10485)
Fix: Reset content download progress to zero if falling back to TCP (#10485)
Fix: Compilation with libcurl from 2013 (#10472)
Fix: [Script] Use Money instead of int32 for presenting the value of a company to AIs (#10459)
Fix: Caption for GS settings window opened from debug window (#10446)
Fix: [Script] ScriptBase::Rand() return value was between -MIN(int32) and MAX(int32) (#10443)
Fix: [Script] Incorrect subsidy SourceID value used (#10440)
Fix: [CMake] Remove cpack warning on fedora when lsb_release exists (#10437)
Fix: [Script] Incorrect value for GOAL_INVALID (#10436)
Fix: Make script goals work with the whole range of ClientIDs (#10435)
Fix: No need to cast enums down to int32; they will be automatically promoted to int64 (#10435)
Fix #10430: Display chain window causing assert (#10431)
Fix: Wrong type for INVALID_LINK_GRAPH_JOB (#10417)
Fix: Some Script::IsValidVehicle checks need to be complemented with IsPrimaryVehicle (#10386)
Fix: Inconsistent definition of copy constructor and assignment (#10353)
Fix: Comparison result is always the same warnings (#10353)
Fix #10343: Don't extend town-disallowed roadtypes (#10347)
Fix: Check for the existence of shadow and rotor vehicles for aircraft (#10327)
Fix: [Actions] Preview_build failure due to git upgrade (#10323)
Fix: Virtual call from constructor (#10317)
Fix: Bad oddness checks (#10317)
Fix: Use reference and array indexing to prevent suspicious pointer scaling (#10317)
Fix: Inconsistent allocation error handling (#10317)
Fix: Comparison of narrow type with wide type in loop condition (#10317)
Fix: Measure AI Collect Garbage performance (#9924)
Fix #9810: 'Rebuilding' a through road stop costs money (#9852)
Fix #9865: Removing files with the console always failed
Remove: Rdtsc and TIC/TOC based on CPU ticks (#11856)
Remove: LeastCommonMultiple / GreatestCommonDivisor (#11842)
Remove: Unused OTTD_ALIGNMENT define and ReadLE16(Un)aligned (#11834)
Remove: Replace custom span with std::span (#11800)
Remove: Debug redirect over network (#11776)
Remove: Officially mark Vista as no longer supported (#11531)
Remove: ZOOM_LVL_COUNT (#11520)
Remove: Windowdesc-ini-key workflow, as this is now performed more reliably by a unit-test (#11422)
Remove: Unused include of cstdarg/stdarg.h (#11305)
Remove: [Win32] Module-list from crash.log (#11219)
Remove: [Win32] Register values in crash.log (#11212)
Remove: [Win32] (pointer-only) stack trace in crash.log (#11211)
Remove: Last remnants of SunOS (#11210)
Remove: Unused ship pathfinder invalidation setting callback (#11160)
Remove: Now unused stredup (#11103)
Remove: Support for not having getifaddrs (#11059)
Remove: OS/2 port (#11018)
Remove: Obsolete NewGRF text unprinting (#10884)
Remove: Buying/selling/owning company shares (#10709)
Remove: SmallMatrix be gone (#10314)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment