3039 Commits

Author SHA1 Message Date
MarcelVos96 c311d68458 Add 'guests entertained' statistic for entertainers (#26327)
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2026-05-06 08:53:21 +02:00
frozensnowy 4638d3f505 Fix #26492: Drag tool shows per tile error when running out of money midway (#26493)
The path and wall drag tools query each tile individually for affordability so all queries pass when the player can afford any single tile. But if the total exceeds available funds, execution fails midway with per tile error windows. To fix it this adds a total cost check against available funds after the query phase, showing a single combined error with the full cost before execution actually starts
2026-05-05 11:23:21 +02:00
Michael Steenbeek 95fbd1f6c8 Add station style whitelist to prepare for split (#26476) 2026-05-01 11:42:00 +02:00
Gymnasiast 4196749858 Changelog: correct listing for #26374
[ci skip]
2026-04-30 00:35:46 +02:00
Gymnasiast 46693717c3 Changelog: escape line 418 2026-04-29 20:12:12 +02:00
Gymnasiast 0fb31d3582 Fix apostrophes and quotes in changelog 2026-04-29 20:12:11 +02:00
Marino Rottier 6e45d802ec Automatically publish plugin types to NPM (#26283)
* add workflow and package.json for publishing plugin TypeScript types

* move scripting-related files to scripting folder

* add support for trusted publishers

* fix path to scripting readme

* rename scripting README.md back to scripting.md

* support tagged/dev releases

* add workflow for development versions

* Update package.json website

* change dependencies in publish-plugin-types

* add timestamp to dev plugin versions

* note ScriptEngine.h grep dependency from CI

* use gh-describe to track release version for dev plugin types
2026-04-28 21:25:57 +02:00
Marino Rottier 45ff80d890 Refactor widget state to single storage model (#26443)
* Allow flag/bitmask coexistence in readers

* Add factory helpers and bulk setters for per-widget flags

* Switch coexistence from OR-both to per-window opt-in

* Migrate seven small windows to per-widget flags

* Migrate seven more windows to per-widget flags

* Migrate Cheats, MapGen and Footpath to per-widget flags

* Fix #26421: scenery tab highlight wraps when there are 64+ groups

* Migrate Ride window to per-widget flags

* Migrate ride and maze construction windows to per-widget flags

* Migrate six more windows to per-widget flags

* Migrate Banner, EditorScenarioOptions and RideList to per-widget flags

* Migrate SceneryScatter and LoadSave to per-widget flags

* Migrate EditorObjectSelection, GameBottomToolbar, Guest, Map, NewRide and Park to per-widget flags

* Migrate TopToolbar, TrackList, Research, Player and Options to per-widget flags

* Opt in remaining windows to per-widget flags

* Narrow getters and setters to per-widget flags

* Remove bitmask fields and useWidgetFlags switch

* Restore switch statements for tab/density pressed state

* Add makeHoldableSpinnerWidgets to drop per-page loops

* Update tests for per-widget flag storage

* Add changelog entry for #26421

* Reword narrative-tense comments from the migration

* Fix clang-format violations

* Remove dead holdable-widget tables from Park and Finances
2026-04-28 09:26:02 +02:00
Basssiiie a939eccc14 Add higher resolution app icons for Android (#26374) 2026-04-27 14:43:03 +00:00
michboy fda8fe0f6c Fix #26287: Game crashes upon connect/disconnect of physical keyboard (#26394)
Prevent Android Activity from re-creating on configuration changes.

Ensures the NativeActivity handles keyboard plugging and orientation changes smoothly by declaring them in android:configChanges.
2026-04-22 11:01:24 +00:00
MarcelVos96 f415e465bf Fix #26419: Having an inversion on the Flying Coaster doesn't prevent stat penalty for drops or negative g's (#26420) 2026-04-22 12:39:43 +02:00
Basssiiie c083a838fd Improve default config.ini settings on new Android installs (#26386) 2026-04-22 10:10:45 +00:00
MarcelVos96 8323e0f306 Fix #26432: Guests choose to head for rides they have already ridden if they don't have a map 2026-04-22 12:03:40 +02:00
MarcelVos96 e49fcfd7d1 Fix inverted logic around peep watching spots (#26426) 2026-04-22 09:23:14 +02:00
mix e2b324cc0e Fix tiles mistakenly culled when elements below water and none above (#26410) 2026-04-22 09:03:47 +02:00
mix 7b80501b39 Add changelog entry for inverted large half loop fixes 2026-04-14 15:08:42 +01:00
mix 31fbfdd8a5 Fix #26299: Single Rail S-Bend sprites don't connect visually (#26392) 2026-04-18 04:03:03 +00:00
Alex Harvey 8a98258b96 Fix #26183: Ride stat graphs tab text is partially off screen. (#26395) 2026-04-18 03:49:46 +00:00
Basssiiie ce9470971c Expose show/hideGridlines to scripting more safely (#24879)
Co-authored-by: guysv <sviryguy@gmail.com>
2026-04-18 03:37:11 +00:00
Max efb268af7d Add ride breakdown hook for scripting (#24243) 2026-04-18 03:25:23 +00:00
Aaron van Geffen 96a6b46551 Add changelog entries 2026-04-17 07:28:19 +09:00
mix a3fc66cb48 Fix inverted lay down helices being invisible when loading old saves (#26360) 2026-04-13 14:00:00 +02:00
Gymnasiast 157564d400 Start v0.5.1 2026-04-12 13:27:06 +02:00
Gymnasiast 075993c2c6 Release v0.5.0
- Feature: [#23465] Change plugin JavaScript engine from Duktape to QuickJS-NG, allowing ES6+ features to be used in plugins.
- Feature: [#26178] Port of the Spinning Cars from RollerCoaster Tycoon 1.
- Improved: [#25314] Add unbanked and banked quarter helices to the Alpine, Corkscrew, Giga, Hybrid, Looping, Mine Ride, Mini, Multi-Dimension, Single Rail, Stand Up, Steeplechase and Twister tracks.
- Improved: [#26044] Simplify Android installation by bundling OpenRCT2 assets in APK.
- Improved: [#26293] Objects extracted from saves now have more information in their filenames.
- Improved: [objects#432] Allow saving scenery from RCT1 with track designs.
- Change: [#25962] The station style dropdown now shows entrance icons next to the labels for easier selection.
- Change: [#26175] The ride colour tab is made more compact by collapsing unavailable sections instead of only hiding them.
- Change: [#26178] Symmetric spinning trains and legacy ‘pre-reversed’ trains can no longer be reversed.
- Fix: [#10616] Quarter-tile trees cannot be placed on dry portions of half-water tiles.
- Fix: [#25128] Mute button displayed in wrong state after load.
- Fix: [#25460] Infinite loop when moving track design ghost queue over queue loop with zero clearances.
- Fix: [#25735] Ride synchronisation z-check works incorrectly.
- Fix: [#25919] Path drag tool error sound stacks when placement fails.
- Fix: [#25926] Path drag tool shows cost for single tile instead of total.
- Fix: [#25927] Wall drag tool error sound stacks and shows wrong cost.
- Fix: [#25962] Dropdown triangle glyphs are not optically centred.
- Fix: [#25993] Toggling “allow arbitrary ride type changes” does not resize open ride windows.
- Fix: [#26111] Vehicle colours tab can go out of bounds in certain edge cases.
- Fix: [#26118] Windows installers for releases are not signed properly.
- Fix: [#26128] The loan spinner widget does not appear on the same baseline as the text around it.
- Fix: [#26140] The time a guest has spent in a queue overflows back to 0 after it reaches 65535 (about a year).
- Fix: [#26159] The map generator window is not resized correctly in Enlarged UI mode.
- Fix: [#26196] The sprites of one angle of the Steeplechase left large turn are misaligned (original bug).
- Fix: [#26214] The wrong sprite is used for one angle of the gentle diagonal slope of Alpine, Hybrid and Single Rail tracks.
- Fix: [#26243] Increase max dropdown size from 512 to 1024 to accommodate parks with more than 512 rides.
- Fix: [#26306] Platform::FindApp fails to locate Homebrew-installed tools on macOS.
- Fix: [#26339] Crash when setting up a marketing campaign.
- Fix: [objects#430] The RCT1 Reverse Freefall car can be reversed and show broken sprites when doing so.
2026-04-12 11:03:20 +02:00
Michał Janiszewski a89b1e40ca Fix unguarded access to shop items (#26339) 2026-04-07 21:48:30 +02:00
Michael Steenbeek 1d19f6f69d Update objects to v1.7.9 (#26328) 2026-04-05 11:47:38 +02:00
Michael Steenbeek 47d1f820db Amend changelog entry for #25314
[ci skip]
2026-04-05 00:31:03 +02:00
Sjoerd de Bruin 1653e167bb Fix #26306: Check Homebrew paths when FindApp fails on macOS (#26307)
Fixes #26306, this allowed the set-up process to continue on my system.
2026-04-03 23:22:36 +02:00
Gymnasiast bf4d42b9bd Write out flags and checksums when exporting DAT files 2026-04-03 23:03:39 +02:00
Ryan Gudonis a9cb8e9e95 List #23645 as a feature (#26301) 2026-04-02 00:13:43 +02:00
Michael Bernardi 4481569788 QuickJS changelog entry 2026-04-01 12:49:13 +11:00
Aaron van Geffen dd6e4059ea Reposition colour tab widgets dynamically 2026-03-09 21:57:56 +01:00
frozensnowy 06eb448445 Fix #25927: Wall drag tool error sound stacks and shows wrong cost (#25929)
Query all tiles before execution to calculate total cost and detect errors upfront. Show a single combined error with the accumulated total cost instead of per tile errors with stacking sounds
2026-03-28 23:40:42 +00:00
frozensnowy c3ffee33df Fix #25926: Path drag tool shows cost for single tile instead of total
Query all tiles before execution to calculate total cost and detect errors upfront. It now shows a single combined error with the accumulated total cost for insufficient funds instead of per tile errors
2026-03-29 00:05:36 +01:00
frozensnowy 7cd1c42a60 Fix #25919: Path drag tool error sound stacks when placement fails
Disable error window sound during the placement loop and play the error sound once at the end if all tiles failed. This prevents the sound from stacking when multiple tiles fail simultaneously.
2026-03-29 00:05:09 +01:00
Michael Steenbeek 0f46920bd1 Next version will be 0.5.0
[ci skip]
2026-03-28 14:25:21 +01:00
Daniel Rödl b8ea3ac814 Fix OpenRCT2#25128: Mute button is displayed in the wrong state (#26229) 2026-03-27 20:48:53 +01:00
MarcelVos96 b595cfb9a6 Increase dropdown limit from 512 to 1024 (#26243) 2026-03-24 17:26:42 +01:00
Stephan Spengler de358aaca8 Replace numweeks with duration in ParkSetDateArgs
https://github.com/OpenRCT2/OpenRCT2/blob/d899b639f2fc28afc2629a00f5cc1cef85b1f2f5/src/openrct2/actions/park/ParkMarketingAction.cpp#L33-L38
2026-03-23 21:32:45 +01:00
Michał Janiszewski 3144ecaf33 Add changelog entry for Android bundled assets 2026-03-22 17:46:48 +01:00
Stephan Spengler c54bebf897 Add inspectionInterval to RideArgs interface (#26218)
see 
https://github.com/OpenRCT2/OpenRCT2/blob/d528fc7d7d2cfb7553aed2cce1a98b13c43974c8/src/openrct2/actions/ride/RideCreateAction.cpp#L52
2026-03-19 17:33:12 +01:00
mix 12a7cb83c6 Fix incorrect DiagUp25 sprite in Alpine, Hybrid and Single Rail tracks (#26214) 2026-03-18 18:04:43 +01:00
mix 511713a3fb Add quarter helices to various tracks (#25314)
This adds unbanked and banked quarter helices to the Alpine, Corkscrew, Giga, Hybrid, Looping, Mine Ride, Mini, Multi-Dimension (upright), Single Rail, Stand Up, Steeplechase and Twister track types.
2026-03-16 16:37:17 +01:00
mix a28a3a887d Fix Steeplechase large left turn angle 2 sprite x offsets (#26196) 2026-03-14 20:07:27 +01:00
frozensnowy ed76ad5606 Fix #25460: Infinite loop when moving track design ghost queue over queue loop (#25893)
Added iteration limit to FootpathChainRideQueue based on map size (10x total tiles) as a safeguard against circular queue scenarios possible with zero clearance checks.
2026-03-14 09:00:29 +01:00
Gymnasiast 7d15f54080 Update changelog 2026-03-10 22:35:28 +01:00
Aaron van Geffen 0ef38bc902 Fix mapgen window size in enlarged UI mode (#26159)
The mapgen window was not getting the right window size in enlarged UI mode.
2026-03-09 11:07:39 +01:00
MarcelVos96 e219349c97 Fix #26140: TimeInQueue overflows back to 0 after 65535 (about a year) (#26141) 2026-03-04 00:56:24 +01:00
Aaron van Geffen 79ae886154 Fix loan spinner widget to adhere to baseline (#26128)
* Fix loan spinner widget to adhere to baseline

* Add changelog entry
2026-03-02 23:37:09 +01:00
Aaron van Geffen 8550d50a3a Use new 'custom' dropdowns for ride entrance style dropdown 2026-02-17 16:51:00 +01:00