* 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>
* Setup for extended palette
* Define order for color picker cells
* Init G2 Palettes in ColoursInitMaps
* Add Glass Palettes
* Use special sprite for Invisible color
* Set up new cheat for special colors
* Add glass palettes to palette_to_g1_offset
* Add entries for new colors in TranslucentWindowPalettes
* Finish implementation of special colors cheat
* Some cleanup
* New colors almost work
* Correct g2 palette loading indices
* Invisible color sprite displays properly
* Repaint works with large scenery and walls
* Prevent random shop items from overflowing to junk palettes
* More cleanup
* Fix glass palettes
* Add mapping of new colors to original colors for UI themes
* Fix junk palettes for random shop items
* Fix missing highlight color in software renderer
* Convert small scenery support flag to allow use of new colors
* Progress on displaying new colors in software renderer
* Fix invisible color scheme sprite
* Formatting cleanup
* Resolve comparison of integer expressions of different signedness
* Index g2 palette maps to fix visible chain lift
* Progress on fixing new colors in software renderer
* Fix station and support colors
* Fix dropdown selected index
* Get invisible color (mostly) working in software renderer
* Use forceBmp for palette resources
* Remove test function definition left in by mistake
* Remove some obsolete range checks for original color values
* Add changelog entry
* Reorder color dropdown based on NE user feedback
* Some cleanup
* Further cleanup
* Formatting
* Add include for GetPaletteMapIndexForColour
* Fix a couple things I broke
* Fix function placement
* Revert "Add include for GetPaletteMapIndexForColour"
This reverts commit 0af9611e6656d792adb7a36efe7dbf3387a4a759.
* Use color constants for color order list
* Make remappable colors contiguous
* turn off clang format for ordered color list
* Appease clang
* Use all colors for random shop item animation
* Improvements to palette map resources
* Fix chain lifts again + adjustments to a few colors
* Update changelog and contributors.md
* Revert changes to S4 and S6 importers which are no longer needed
* Bump network, plugin, and minimum park versions
* Revert "Progress on displaying new colors in software renderer"
This reverts commit 337602e4a7.
* Remove unnecessary comment
---------
Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
* Refactor and clean up date handling
* Remove gDate, remove direct access to days_in_month
* Adjust the MultiLaunch test
* Bump network version
---------
Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
* 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
* 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>
* add fields to track segment api
* add getTrackSegments to API
* change element to segment for continuity
* improve documentation
* continue tweaking documentation
* implement segment suggestions
* clarify purpose of isSteepUp flag
* add rest of track element flags
* remove extraneous information from comment
* continue tweaking API
* implement basssiiie suggestion
* rename angle to slope
* reorder items in the documentation
* bump plugin api
When a marketing campaign is finished, it is likely the player wants to renew it.
This change allows the ‘Campaigns’ tab in the 'Finances' window to be opened from the news item of the finished campaign.