3081 Commits

Author SHA1 Message Date
Michał Janiszewski 0b0f1336b4 Start v0.5.4 2026-07-05 18:54:51 +02:00
Michał Janiszewski f503f57bdb Release v0.5.3
- Feature: [#26308] Add all new track pieces to the inverted roller coaster.
- Feature: [#26442] Add cheat to disable grass growing.
- Improved: [#7921] On Linux, RCT2 and RCT1 installs in Wine are now automatically detected.
- Improved: [#26325] Changing the train type, length, or direction no longer resets the number of laps if there is just one train.
- Improved: [objects#437] Re-order St. Basil’s Cathedral pieces to be more consistent.
- Change: [#26689] A clear scenario editor can now be opened directly from the command line.
- Change: [objects#439] Drop numbers from Wacky Worlds scenery descriptions.
- Fix: [#24613] Incorrect sprites drawn for path elements without a valid object.
- Fix: [#26323] Ride stats do not reset when changing the number of trains changes the number of laps.
- Fix: [#26494] The limits for where walls on the path side of the first tile block the view of rides/scenery are wrong (original bug).
- Fix: [#26504] The boosts/penalties to excitement and nausea that air time provides are calculated wrong.
- Fix: [#26545] Game crashes when plugin API function generateGuest fails to generate a guest.
- Fix: [#26578] Crash when drawing path elements without a valid object.
- Fix: [#26605] Desync when placing a track design in multiplayer.
- Fix: [#26654] Fix Alton Towers stall and Rock’n’Roll Revival toilet being closed on scenario start.
- Fix: [#26722] Missing construction rights owned on UCES Sand Dune scenario.
- Fix: [objects#411] Some colours in green, acid green, pink and red water are inconsistent with natural water.
- Fix: [objects#436] St. Basil’s Cathedral building pieces are incorrectly labelled as “Kremlin” pieces.
- Fix: [objects#438] Some walls are not marked as see-through while they don’t fully block the view.
- Fix: [objects#440] Inconsistencies in scenario/park name capitalisation.
2026-07-05 18:24:58 +02:00
Tulio Leao 069d0aea8b Fix #26722: Missing construction rights owned on UCES' Sand Dune (#26725) 2026-06-27 08:54:40 -03:00
Daniel Rödl 4da7daa2f9 Fix OpenRCT2#7921: Search in user's wine path for RCT2 and RCT1 install files (#26292) 2026-06-25 20:41:25 +02:00
MarcelVos96 06a325e895 Don't reset lap count if changing train type, length. or direction of a single train 2026-06-24 16:30:57 +02:00
MarcelVos96 d30e0c5d83 Make ride stats reset when changing the number of trains changes the number of laps 2026-06-24 16:30:07 +02:00
Alex Parisi 99ea620836 Fix desync when placing tracks (#26605)
When any player in multiplayer places a track design, `TrackDesignAction::Execute` runs on every client which calls `UtilRand()`, resulting in every client getting a different colour since it's non-deterministic. Each client then commits its own local colour to `Vehicle::colours`. Since that field is part of the entity checksum, `NetworkBase::CheckSRAND` will flag a desync.

This PR adds a parameter to `RideGetUnusedPresetVehicleColour` to allow the caller to pass in a random value and make the choice of determinism. The UI call sites can still use `UtilRand`, but `TrackDesignAction` should be using `ScenarioRand`.
2026-06-24 09:39:00 +00:00
Gymnasiast b38b8505e1 Fix changelog entry 2026-06-24 11:10:20 +02:00
Michael Steenbeek a5a2da1f12 Update to objects release v1.7.10 (#26715) 2026-06-24 11:06:49 +02:00
Tulio Leao b42d4a3942 Fix #26654: closed shops on scenario startup 2026-06-22 19:55:19 -03:00
mix 34df5c1001 Fix #24613, #26578: Incorrect sprites drawn or crash with invalid paths (#26600) 2026-06-22 18:26:32 +00:00
Gymnasiast 8625ac2a24 Remove irrelevant changelog entry
[ci skip]
(Discussed with Aaron)
2026-06-21 18:21:00 +02:00
Harry Hopkinson 95df165f9b WALL_SCENERY_2_IS_OPAQUE flag denotes transparent wall object 2026-06-21 17:19:21 +02:00
mrmbernardi a64f0eff6c Fix crash when ScPark::generateGuest fails to generate a guest (#26681) 2026-06-16 20:24:53 +02:00
Aaron van Geffen e4a705b4e8 Allow starting editor directly from command line (#26689) 2026-06-14 18:26:16 +02:00
MarcelVos96 45e30a559a Fix the boosts/penalties to excitement and nausea that air time provides (#26505)
* Fix air time calculations

* Bump kStreamVersion

* Update rating tests

* Update replay bundle
2026-06-11 09:27:23 +00:00
MarcelVos96 bf4810ea50 Fix where walls block the view of rides/scenery on the first tile next to the path (#26495) 2026-06-10 18:49:31 +00:00
MarcelVos96 86f282f7c0 Add cheat to disable grass growing (#26442) 2026-06-09 23:03:27 +02:00
tbarford d56e884c60 Add all new track pieces to the inverted roller coaster (#26308) 2026-06-07 13:14:55 +00:00
Michał Janiszewski eaf38d2129 Start v0.5.3 2026-06-07 12:55:11 +02:00
Michał Janiszewski 7d2958ea63 Release v0.5.2
- Improved: [#26322] [Plugin] Add footpath flags to FootpathSurfaceObject in the plugin API.
- Improved: [#26566] Improve the performance of sorting sprites.
- Fix: [#26350] [Plugin] ListViews altered by plugins post their creation are not invalidated.
- Fix: [#26565] Game crashes when switching to another tab in the guest window.
- Fix: [#26583] The default tab is not highlighted when opening a ride window.
- Fix: [#26602] Crash when locating the nearest mechanic for a ride that has not previously been inspected.
- Fix: [#26615] Missing junction path tile in Build your own Six Flags Over Texas.
- Fix: [#26616] Fix gap in buyable land in Build your own Six Flags Magic Mountain.
- Fix: [#26624] Tile elements selected by clicking on them with the tile inspector open do not always redraw correctly.
- Fix: [#26634] Add missing park patch file for Build your own Six Flags Great Adventure.
2026-06-07 12:17:24 +02:00
Tulio Leao 5afa4f6f44 Add missing [Plugin] labels to changelog (#26660) 2026-06-06 16:48:55 -03:00
Stephan Spengler bcdac632a4 Add footpath object flags to API (#26322)
* add footpath object flags to API

* Add changelog

---------

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2026-06-06 16:31:03 -03:00
SunsetFi c5a7f3091f Fix plugin-driven list view not invalidated on setting change (#26350)
* Fix: Plugin-driven list view not invalidated on setting changes

* fix: tweak list view invalidation conditions

* fix: WindowUpdateScrollWidgets needs reference, not pointer

* Add changelog entry

---------

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2026-06-06 18:30:50 +00:00
ZeeMaji 84211fdb56 Fix #26634: Apply patches for BYO version of Six Flags Great Adventure (#26657)
* Fix BYO Great Adventure missing park patch

Just simply adds park patches for BYO Great Adventure that are the same as the normal park's patches since the fixed issues between them are the same.

* Update changelog.txt

* Fix formatting error

* Fixing the format would be nice.

* Update data/scenario_patches/scenario_to_hash

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>

* Update data/scenario_patches/scenario_to_hash

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>

---------

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2026-06-06 15:22:28 -03:00
mix c04f866e48 Invalidate tile when clicking on element with tile inspector (#26624) 2026-05-28 21:51:39 +02:00
Michał Janiszewski 1492608cd9 Only disable guest pickup widget when on correct page (#26591) 2026-05-28 11:57:40 +00:00
ZeeMaji e5e79ac237 Fix gap in buyable land in BYO SFMM (#26616)
* Fix gap in buyable land in BYO SFMM

* Update changelog.txt

* BYO > Build your own
2026-05-27 01:52:57 -03:00
ZeeMaji 823eb66580 Fix missing path tile in BYO SFOT (#26615)
* Fix missing path tile in BYO SFOT

* Update changelog.txt
2026-05-26 04:47:57 -03:00
Aaron van Geffen dd31d9ad44 Minor correction to StaffSetCostumeArgs in openrct2.d.ts (#26604) 2026-05-23 18:30:15 +02:00
mix 5ddd9d746a Fix #26602: Crash when find mechanic for ride that hasn't been inspected (#26606) 2026-05-23 13:57:30 +02:00
Harry Hopkinson 9d5e532064 Rename enum members to lowerCamelCase in actions/ (#26593)
* Rename enums in LoadOrQuitAction.h

* Rename enums in ScenarioSetSettingAction.h

* Rename enums in TileModifyAction.h

* Rename enums in NetworkModifyGroupAction.h

* Rename enums in LandBuyRightsAction.h

* Rename enums in LandSetRightsAction.h

* Rename enums in ParkSetParameterAction.h

* Rename enums in PeepPickupAction.h

* Rename enums in StaffSetPatrolAreaAction.h

* Rename enums in RideFreezeRatingAction.h

* Rename enums in RideSetAppearanceAction.h

* Rename enums in RideSetSettingAction.h

* Rename enums in RideSetVehicleAction.h

* Rename enums in BannerSetStyleAction.h
2026-05-21 19:16:07 +00:00
mix f6cbe956f0 Fix #26475: Remove bounding box prefetch from sort functions (#26566) 2026-05-19 19:18:44 +00:00
Marino Rottier 4fc19c9ccc Fix ride window default tab not being highlighted on open (#26587) 2026-05-19 21:05:47 +02:00
Tulio Leao 40eaa31621 Start v0.5.2 2026-05-17 07:34:19 -03:00
Tulio Leao 90bec9b246 Release v0.5.1
- Feature: [#24242] [Plugin] Add ride-breakdown hooktype.
- Feature: [#24879] [Plugin] Add methods for showing and hiding gridlines.
- Feature: [#26327] Add ‘guests entertained’ statistic to entertainers.
- Improved: [#26374] Add higher resolution app icons for Android.
- Improved: [#26386] Initial window scale and toolbar options on fresh Android installations.
- Change: [#26476] Limit creation of new station styles to prepare for more flexibility with ride stations and entrances.
- Fix: [#25581] Chart drawing issue on some platforms due to compiler optimisation.
- Fix: [#26019] Inverted and Inverted Flying Roller Coaster large half loops glitch with the train and don‘t draw in tunnels at some angles (original bug).
- Fix: [#26183] The ride stat graph placeholder text is not drawn in the expected position.
- Fix: [#26287] Game crashes upon connect/disconnect of physical keyboard.
- Fix: [#26299] Single Rail S-Bend sprites don’t fully connect to the next track piece at certain angles.
- Fix: [#26352] Large scenery items are incorrectly labelled as ‘banners’ in the tile inspector.
- Fix: [#26352] The label for path additions is using the wrong text colour in the tile inspector.
- Fix: [#26360] Inverted Lay-down Roller Coaster helices are invisible when loading old saves.
- Fix: [#26396] [Plugin] Socket interfaces were not closing properly and firing up correctly in parallel.
- Fix: [#26410] Tiles with water can draw incorrectly when there is something underwater and nothing above water.
- Fix: [#26418] Game crashes when a stack overflow occurs in plugin code.
- Fix: [#26419] Drop count & negative g’s stat requirements for Flying Roller Coaster don’t get nullified by having an inversion.
- Fix: [#26421] Wrong scenery tab highlighted when more than 64 scenery groups are selected.
- Fix: [#26425] Benches don’t reduce watching spots from 4 to 2 while other path additions do (should be reversed).
- Fix: [#26432] Guests choose to head for rides they have already ridden if they don’t have a map.
- Fix: [#26492] Drag tool shows per-tile error instead of total cost when running out of money midway through placement.
- Fix: [#26510] Displayed air time overflows after 655.35 seconds instead of the internal maximum of 1966.05 seconds.
2026-05-17 07:08:45 -03:00
mrmbernardi 6b81c4efec Fix JS socket issues (#26539)
* Fix Qjs sockets

* Add changelog entry

* Fix changelog ordering

---------

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2026-05-17 09:45:31 +00:00
Colton 7138d45971 Reorder finance graph logic to remove undefined behaviour (#26562)
* Reorder finance graph logic to prevent overly aggressive compiler optimization

* Add changelog entry
2026-05-17 08:40:29 +00:00
73 08ca5ec987 Fix copyright years in files that state 2025 still (#26540) 2026-05-16 17:51:22 +02:00
mrmbernardi e4ba212574 Set qjs stack limit to 7MB (#26489)
* Set qjs stack limit to 7MB

* Update distribution/changelog.txt

Co-authored-by: Michał Janiszewski <janisozaur@users.noreply.github.com>

---------

Co-authored-by: Michał Janiszewski <janisozaur@users.noreply.github.com>
2026-05-16 17:26:29 +02:00
Marino Rottier ab3eea631c docs: update scripting.md from Duktape to QuickJS-NG (#26411) 2026-05-07 20:15:10 +02:00
MarcelVos96 34df219b20 Fix #26510: Air time display limit is just 655.35 seconds instead of the correct 1966.05 seconds (#26511) 2026-05-07 00:14:30 +02:00
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