* Check if actions can be performed safely
* Add explanatory comment
* Refactor Easter egg logic in Guest::UpdateWalking
* Add changelog entry
* Make the comment more explanatory
* Update NetworkBase.cpp
* Update changelog for v0.28
- Feature: [#25218] `sprite exportobject` command, which allows extracting images from an object.
- Feature: [#25274] New title sequence (see https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.26 for credits).
- Improved: [#2296, #2307] The land tool now takes sloped track and paths into account when modifying land.
- Change: [#25111] Frozen guests no longer finish consuming any food or drink they are carrying.
- Change: [#25161] Revert to the ‘fair ride price’ calculation of vanilla RCT2.
- Change: [#25201] Ride List: put unknown popularity and satisfaction last when sorting.
- Change: [#25228] [Plugin] The available staff costumes array is now ordered alphabetically by name.
- Change: [#25240] The LIM Launched Coaster now defaults to powered launch without passing station again (as it did in vanilla RCT2).
- Change: [#25248] Revert Crooked House & Circus default prices to vanilla values.
- Change: [#25266] Lightning and thunder have less chance of occurring during blizzards.
- Removed: [#25225] `sprite exportalldat`, replaced with `sprite exportobject`.
- Fix: [#24513] Ride/track designs can now be shifted underground as well.
- Fix: [#24682] The scenery window isn't high enough to accommodate all tool buttons when there are multiple rows of groups/tabs.
- Fix: [#24882] Guests are shown with hats and umbrellas whilst clapping.
- Fix: [#24998] Some custom small scenery objects do not load.
- Fix: [#25131] The Reverse Freefall Coaster On-ride photo section track has incorrectly coloured ties.
- Fix: [#25132] Crash when trying to use simulate on incomplete ride.
- Fix: [#25134] Vehicles visually glitch on diagonal steep slopes.
- Fix: [#25146] The support clearance height of the diagonal brakes for the Junior, inverted Flying and inverted Lay-down Roller Coasters is too high.
- Fix: [#25147] The wooden support clearance heights for steep Log Flume track pieces are too low.
- Fix: [#25159] One of the tiles on the Hybrid Coaster diagonal flat track does not block metal or wooden supports correctly.
- Fix: [#25160] The Go-Karts steep to flat track piece has incorrect wooden support clearance heights.
- Fix: [#25163] Some of the Junior Roller Coaster flat to steep track wooden support clearance heights are different to RCT1.
- Fix: [#25173] Desync when placing a park entrance in multiplayer.
- Fix: [#25179] The LIM Launched Roller Coaster inline twists have incorrect wooden support clearance heights (original bug).
- Fix: [#25201] Ride list sort order can be unstable when sorted in descending order.
- Fix: [#25207] Building a block brake on an LIM coaster does not automatically switch it to powered launch block sectioned mode.
- Fix: [#25238] The chance of thunder and lightning effects happening is lower than vanilla.
- Fix: [#25288] Water ride “chain” sound does not loop.
Since about a year ago, OpenRCT2 has allowed players to shift ride/track designs using modifier keys (#22669). This was, however, limited to heights above-ground. This PR changes this by omitting the 'Z placement assist' when ctrl/shift modifiers are used. This means the helpful 'nudge' to overground is now omitted if (and only if) these modifier keys are involved.
Below is an example of what placement now looks like (with clearance checks disabled for easier debugging):
https://github.com/user-attachments/assets/3b23bc1d-ab7b-43a2-ad40-216ab83952d2
This fixes the on ride photo of the reverse freefall coaster having incorrectly coloured ties due to using a sprite from the air powered coaster. This uses the station sprite from the reverse freefall coaster instead.
This removes this special case in the paint code. If I remember right, it's the only function that changes colors in this way.
This allows you to modify the land underneath sloped track and paths without the zero clearances cheat.
Closes#2296Closes#2307https://github.com/user-attachments/assets/8cb51199-a5b4-48e4-9cc3-34fd6ce7410e
It passes the slope in to the function that checks for construction clearances, and calculates whether it fits under the track or path.
In some very rare cases it is possible to build some track pieces in an arguably invalid way over 2 height sloped land, this does not let you raise the land in to that invalid position after the track piece has been built.