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.
* Add visitors for all scenery placement and removes
This should allow greater flexibility for plugin developers
* Add CoordsXYZ visitor
* Increment plugin API version. Update changelog
The problem with many sans-serif fonts, such as those in RCT2, is that it can be difficult to tell between a lowercase L and an uppercase I, and can be visually ambiguous. What I've done is add a small stroke to the bottom of the lowercase L's so that it will stand out better when it's used next to capital I's.
* add ActionType
* Make all game actions available to plugins
Includes list of game actions in the .d.ts
* Add an overload for internal game actions
This allows things like Visual Studio Code to autocomplete
* action can be a string (custom gameactions)
* Increment OPENRCT2_PLUGIN_API_VERSION
* Add #12708 to changelog and tombomp to contributors.
* Make all game actions take an ObjectEntryIndex where applicable
* Update replays for parameter size change
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
After identifying guests that are near an entertainer, modify the guest's HappinessTarget and TimeInQueue values instead of the entertainer's own values.
Many TrackPaint functions take a direction, but they used a mixture of uint8_t and int32_t types for the parameters. To make the semantics of the code clearer, use the dedicated Direction type for all of them.
This does mean that some parameters which were previously 32 bits (int32_t) will now be 8 bits (Direction) but from what I could see none of the usages make use of anything beyond the bottom 4 bits.
The get_track_paint_function functions have all been taking an extra 'direction' parameter, but nothing is actually using it. To simplify things, remove the parameter.
PathElement::Edges actualy stores both 'edges' (in the lower 4 bits) and 'corners' in the upper four. Rename the variable to make this dual usage easier to see.