* 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>
Consolidate all the guest pathfinding code from Peep.cpp into GuestPathfinding.cpp, and make a dedicated header for GuestPathfinding to help make it easier to see what the actual public interface is to the pathfinding system.
* Fix#11963 - Refactor Peep::OutsideOfPark
Changed the definition of Peep::OutsideOfPark from uint8_t to bool and refactored all its occurences in code accordingly.
* Fix#11963 - Refactor Peep::OutsideOfPark
One forgotten instance of Peep::OutsideOfPark occurrence
* Fix#11963 - Refactor Peep::OutsideOfPark
Fix code according to a review suggestion.
* Rename Peep::destination_tolerance to use TitleCase
* Rename Peep::destination_y to use TitleCase
* Rename Peep::destination_x to use TitleCase
* Rename Peep::trousers_colour to use Title Case
* Rename Peep::tshirt_colour to use TitleCase
* Rename Peep::no_of_rides to use Title Case
* Rename Peep::staff_type to use TitleCase
* Rename Peep::type to use TitleCase
* Rename Peep::sprite_type to use TitleCase
* Rename Peep::sub_state to use TitleCase
* Rename Peep::state to use TitleCase
* Rename Peep::outside_of_park to use TitleCase
* Rename Peep::next_flags to use TitleCase
* Rename Peep::name to use TitleCase
* Rename Peep::NoOfRides to GuestNoOfRides
* Rename Peep::Type to AssignedPeepType
* Rename Peep::GuestNoOfRides to GuestNumRides
The warnings reported were:
```
../src/openrct2/peep/GuestPathfinding.cpp: In function ‘Direction peep_pathfind_choose_direction(TileCoordsXYZ, Peep*)’:
../src/openrct2/peep/GuestPathfinding.cpp:1371:81: error: ‘void* memset(void*, int, size_t)’ writing to an object of non-trivial type ‘struct<unnamed>’; use assignment instead [-Werror=class-memaccess]
1371 | std::memset(_peepPathFindHistory, 0xFF, sizeof(_peepPathFindHistory));
| ^
../src/openrct2/peep/GuestPathfinding.cpp:35:1: note: ‘struct<unnamed>’ declared here
35 | {
| ^
../src/openrct2/world/Sprite.cpp: In function ‘void reset_sprite_list()’:
../src/openrct2/world/Sprite.cpp:152:52: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘union rct_sprite’; use assignment or value-initialization instead [-Werror=class-memaccess]
152 | std::memset(_spriteList, 0, sizeof(_spriteList));
| ^
In file included from ../src/openrct2/world/Sprite.cpp:10:
../src/openrct2/world/Sprite.h:117:7: note: ‘union rct_sprite’ declared here
117 | union rct_sprite
| ^~~~~~~~~~
```
* Make Map::map_get_first_element_at() use CoordsXY
* Fix clang-format on ClearAction.hpp
* Prefer TileDIrectionDelta over hardcoded delta on RideConstruction
* Use named Direction constants
* Make Compat::map_get_first_element_at() use CoordsXY
* Use CoordsXY on Map::map_surface_is_blocked()
* Update src/openrct2/peep/GuestPathfinding.cpp
* Use map_is_location_valid() instead of hardcoded number