In park/replay from dump #19574 there was a calamity that happened
likely due to a plugin. Pretty much all rides were deleted in single
tick, which caused the park to mark some locations as null and then it
tripped on one of the many assertions. In many of the places it already
bails out if ride or vehicle is a nullptr, so I followed with similar
approach for invalid ride exits.
* Fix#19503. Hide 3+ queue junction railings behind a flag
This is to prevent existing parks from changing their behaviour
* Clang format
* Bump version numbers. Update changelog
* Update text
* Update S6Importer.cpp
Edit a stray tile in the lava river of Infernal Views to have its missing lava.
* Update changelog.txt
* Update contributors.md
* Add speed and frame properties
* add steam position modifier
* copy code from OpenLoco
* update sin and cos
* add computation function
* finalize locomotion code
* fix formatting
* refine code
* refactor things slightly
* manually fix formatting
* use PascalCase and rename
* fix copyright notice
* fix name again
* rename function, move outt of namespace
* fix rebase issues
* remove pitch table derived from physics
* rename some stuff
* flip vertical component sign to make sense
* change json structure
* create steam particles based on number of animation frames
* fix formatting
* add slope for spiral lift hill down
* fix formatting again
* parens around bitwise and
* make animations separate functions
* rename MultiDimCoaster to MultiDimension
* use EnumValue method
* rework multidim frame count
* bump network to be safe
* fix formatting
* move array out of function
* make table const
* move struct into RideObject.cpp
* try new method to fix numbers in multidim
* implement ZehMatt modulo
* add documentation to new function
* include Yaw.hpp
* rename src/ride/SteamPosition.hpp to src/math/Trigonometry.hpp
* actually add src/math/Trigonometry.hpp
* move ComputeSteamOffset to Vehicle.cpp
* use static asserts on arrays
* fix changelog grammar
* add more static asserts
The ride value undefined constant was changed causing all imports of the undefined value to be incorrect. We can fix the broken imports but can't fix the users of the broken value (gParkValue and its history)
* Use money64 for ride prices and shop items
* Use money64 for park entrance fee
* Use money64 for gGuestInitialCash
* Use money64 for upkeep costs
* Use money64 for ride value
* Use money64 for marketing campaign cost
* Use money64 for object prices
* Use money64 for land prices
* Use money64 for guest expenditure
* Replace remaining occurrences of money32 with money64
* Update replays
* Bump network version
---------
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
Fixes a few errors in the vehicle colours table used for RCT1 imports, they are:
Both steam trains third colour should be yellow (the bell and some other details)
Suspended swinging airplane cars third colour should copy colour 2 (the restraints are colour 2 in RCT1 but colour 3 in RCT2)
Reverse freefall car colour 3 should copy colour 1 (the front bits are the same as colour 1 in RCT1)
Vertical drop trains colour 3 should copy colour 2 (the bottom metal bar is the same as colour 2 in RCT1)
Sitdown twister train colour 2 should copy colour 1, colour 3 should copy colour 2 (restraints are colour 2 in RCT1 but colour 3 in RCT2)
Laydown trains colour 3 should copy colour 2 (part of the restraint, it uses colour 2 in RCT1)
Hyper-twister trains colour 3 should copy colour 1 (the lap bar, it uses colour 1 in RCT1)
Face-off trains colour 3 should copy colour 2 (the restraints use colour 2 in RCT1 but colour 3 in RCT2)
River rafts colour 3 should copy colour 2 (the top of the roof uses colour 2 in RCT1 but colour 3 in RCT2)