* Move over max rides to limits file
* Move max stations to limits file
* Move over max inversions, golf holes, helices, custhistsize
* Move over max trains per ride
* Bring over Max cars per train and max circuits per ride
* Port over NumColourSchemes and max vehicle colours
* Fix compilation
* Move over max awards
* Move over max peep spawns and park entrances
* Fix rebase issues
* Remove future work
* Switch style
* Update copyright
* Rename path find functions and use sub function
* Modify leaving park logic to not use park entrance index
* Remove ChosenParkEntrance from peep struct
* Refactor GetNearestParkEntrance
Removed the index as its pointless. Fixed function to use CoordsXY
* Increment network version
* Update replays
* 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
* Start a network serialiser for entities
will be used only for checksums and replay diffs
* Continue work
* Use the new serailser for checksums
* Use new serialiser for replays
* keep compilers happy
* Try create checksum stream
* Fix compiling
* Split off class into seperate file
* Update Xcode project
* Increment network version
* Fix pragma mistake
* Fix none network builds
* Update replays
* Improve ChecksumStream and use FNV internally
* Small cleanups
* satisfy compilers
* Revert change of checksum size to simplfy rerecording
* Zero initialise data
* Fix serialiser
* Update replays again
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
Co-authored-by: Matt <m.moninger.h@gmail.com>
* Remove users of AssignedPeepType
* Remove AssignedPeepType
Field no longer required due to changes to EntityType
* Move enum to the RCT12 header
* Increment network version
* Update replays
* Merge LitterType into the shop item descriptor
* Merge ConsumptionTime into ShopItem descriptor
* Merge in DiscardContainer into ShopItemDiscriptor
* Simplify itemOrderPreference
* Simplify guest code by using 64bit flags
* Remove operators for ShopItem
* Move PeepThoughtType TooMuch GoodValue into ShopItemDescriptor
* Reorg Get Flags and Has functions to make intention clear
* Constexpr shop item descriptors
* Constexpr shop item descriptors to compile time gen constants
* Fix formatting and spelling
* Revert operator++ removal
* refactor: integrated PEEP_ITEM into SHOP_ITEM
* refactor: converted merged enum to flag
Only former occurrences of PEEP_ITEM
* cleanUp: code cleaned after merging
* refactor: converted ShopItem to strong enum
code reformatting
* refactor: ShopItem enum items renamed
code formatted
* refactor: new getter and setter functions for Item...Flags
* refactor: replaced all occurrences of ItemStandardFlags
with appropriate getter and setter functions.
COMPARE_FIELD macro needs to be commented out or the flag has to stay public.
* refactor: all occurrences of ItemExtraFlags replaced
with proper function calls. COMPARE_FIELD macro issue not resolved.
* refactor: introduced new variable for unified item flags
* refactor: adapted accessor functions
accessor functions were modified to accommodate both standard and extra ShopItem flags
* refactor: ItemExtraFlags accessor functions are replaced
with general functions
* refactor: reverted to original uint32_t flag variables
* refactor: implemented suggested changes
* refactor: integrate additional comments
* refactor: incorporated requested changes
* refactor: incorporated requested changes
added static_cast<PeepThoughtType> in lines 1572 and 1590
* Fix#13409: Clamp peep distances from path centers
The debunch-peeps improvement did not account for the fact that peeps may change direction when they are only at the very edge of a tile - it's not entirely clear to me why this happens, but it does. The previous code would push these peeps back towards the center line over time, but the new behaviour allows them to keep walking along these very edge-y lines, which means they sometimes appear to be walking on the wrong sides of benches, railings, etc.
To fix the problem, do not simply keep the target coordinate constant for the direction the peep is moving in, but clamp it, so that peeps in these outlier positions will get pulled back to a more acceptable position within one tile. Peeps who are already debunched within the reasonable center area of the path are unaffected.
* Update replays for change
* Add changelog entry
* Fix broken hashes
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Stop guests from being forced to the center line of a path over time
Change the way we apply randomness to peep destinations when moving from one tile to the next, to allow peeps that are moving along a straight path to maintain their perpendicular offset relative to the path direction, instead of being (eventually) forced back to the center line.
* Update test expectations
The changes to guest movement mean that the number of steps taken for these expected paths are now slightly different to before.
* Close#12388, refactor:PeepState to use strong enum
* refactor: refactored file PlayTests.cpp
* refactor: change PEEP_STATE_ to PeepState:: and camel case after merging
chore: code reformatting
* 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>