* Refactor RIDE_STATUS to use strong enum
* Change platform-specific code to match RIDE_STATUS refactor
* Re-added check for valid RideStatus value
* Fixed errors in "g2" build target
* Use EnumValue instead of static_cast<uint8_t>
* Revert rct{1,2}.h to use uint8_t.
* Fix formatting
* Reverted from constexpr variable to additional enum variant
* Fix formatting
* Replace RIDE_ENTRY_INDEX_NULL with OBJECT_ENTRY_INDEX_NULL
Ride entries are objects like any other, so there is little point having separate constants.
* Use ride_id_t in many more places
* Change RIDE_ID_NULL to 0xFFFF
* Increment network version
* Update replays
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Split FileStream declarations and definitions
* Split JobPool declarations and definitions
* Split StringBuilder declarations and definitions
* Split StringReader declarations and definitions
* Split ZoomLevel declarations and definitions
* Fix missing include in FileClassifier.cpp
* Remove pragma once from source files
* Fix missing include in StringBuilder.h
* Update Xcode project
* Fix compilation of tests
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Make UpdateFixing*() methods use const where possible
To make it clearer which steps actually modify the ride being fixed and which do not, pass const Ride* instead of Ride* where possible.
* Extract maximum litter search distance to a constant
* Make peep_update_*() methods return bool
* Use Direction type and helpers where applicable
* Const correctness and other cleanup
Make many functions take a const Peep* / const Staff* to clarify that they do not modify the peep being passed in. Also use the Direction type for some return values, and simplify staff_is_location_on_patrol_edge.
* Use clearer expression of constant value
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Convert staff functions to members
* Remove AsStaff const overload
* Use As<Staff>() instead of static_cast
* Simplify direction selection code
* Clean up use of magic constants
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
This moves some knowledge out of the window and into the main code and also cleans up the window a bit.
This also allows setting the "x guests by the end of year y" goal for no money scenarios, which was not the case previously.