- 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.
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`.
- 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.
* 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>
* 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
- 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.
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
* 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
* 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