* Part of #21421: Refactor RIDE_INITIAL_RELIABILITY in Ride.h
* Part of #21421: Refactor STATION_DEPART_FLAG and STATION_DEPART_MASK
* Part of #21421: Refactor MAX_STATION_PLATFORM_LENGTH
* Part of #21421: Refactor RIDE_RATING_UNDEFINED
* Part of #21421: Refactor TRACK_BLOCK_END
* Part of #21421: Refactor TRACK_PREVIEW_IMAGE_SIZE
* Part of #21421: Refactor based on feedback
* Part of #21421: Fix signed/unsigned mismatch on Win
* Improved consistency kTrackPreviewImageSize
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Part of #21421: kMaxStationPlatformLength to int8
---------
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Remove old interop macro
* Remove legacy string macro things
* Unbreak the posix/linux/unix builds
* Add String::IEquals and use it for case insensitive compare
* Add missing include for posix
* Replace _strnicmp with String::StartsWith
* Add LoByte and HiByte into Util.h, swap macros
* Fix android build
* Hopefully last of the string things
* Replace STUB directly with the warning
The checks in UpdateScreamSound (rct2: 0x006D796B) forgot about (steep)
diagonal drops. This resulted in riders' screams getting cut-off on
(long) steep diagonal drops once the last car reached the maximum drop
angle, and the screams re-starting as soon as the first car reached the
valley.
* Always use carEntry 0 for friction sound
* Use front car entry for sound index
* Add note for carEntry sound properties
* Bump network version
---------
Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
* Initial commit for backwards-facing trains
* Allow persistence for reversed cars across save/load
* Make log flume turntable compatible with new reversal implementation
* Style fixes + Better implementation of inverted bank angles
* Further Style Fixes
* Code cleanup from PR feedback
* Fix GetBankRotationForDrawing function declaration
* Use update flag for reversed state
* Replace modulo operation with bit mask
* Correct guest pathing destination when entering reversed cars
* More style fixes
* Add plugin support for reversed vehicles
* Fix formatting error
* Derive reversal from ride mode for car spawning
* Formatting
* Rename function to GetPaintBankRotation
* Add reversed trains modes to Multi Dimension Coaster
* Change name of isReversed plugin API parameter for consistency
* Replace reversal operating modes with separate ride setting
* Add ALLOW_REVERSED_TRAINS flag to more ride types
* Make clang-format happy
* More Formatting
* Fix ALLOW_REVERSED_TRAINS flag on a couple rides
* Exclude flat rides from Reverse Trains tickbox when cheats are enabled
* Formatting
* Use Disable Vehicle Limits cheat for checkbox appearance condition
* Use correct swinging sprites when cars are reversed
* Update changelog and Plugin/Network/Park version numbers
* Formatting
* Add separate error String ID for clarity
* Add name to contributors.md
* Fix ride vehicle preview window with reversed trains for RCT1 train types
* Bump version numbers again
---------
Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
In continuous circuit operating mode, not only the train head should be used for (un)blocking path. Because of this change, a previous change regarding which trailing track blocks should be unblocked has been reverted, as to prevent path being unblocked too soon.
* 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
* Add object entry manager
Port over wall and banner
* Port over small scenery to ObjectEntryManager
Clang format files
Actually make things safe
Fix build