* Reduce direct usage of Location_Null
Ideally we want to refactor these out to use std::optional as much as possible but for now move to using the standard interfaces.
* Remove incorrect AND with LOCATION_NULL
In the original this was a simple comparison to check for negative. Unsure how it ended up as an AND with the negative bit.
* 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 ScreenCoordsXY for windows/Footpath
- Refactor `place_park_entrance_get_map_position()` to receive `ScreenCoordsXY` and return `CoordsXYZD`
- Refactor `sub_68A15E()` to receive `ScreenCoordsXY` and return `CoordsXY`. Some of its usage are narrowing the result on purpose, as same variable is used for contexts where `int16_t` is still a hard requirement.
* Properly increment for big Z and use LOCATION_NULL
* Use ScreenCoordsXY for window_create function
* Use ScreenCoordsXY for window_find_from_point function
* Use ScreenCoordsXY for window_find_widget_from_point
* Use ScreenCoordsXY for ride_contruction_tool*
* Use ScreenCoordsXY for window_event_tool*
* Use ScreenCoordsXY for window_event_scroll_mouse*
* Use ScreenCoordsXY for remaining window_event*
* Use ScreenCoordsXY for window_(set|move)_position
For some reason, all signs report "Sign" as their text
before actually being modified. This also happens with the
tile inspector, so for now I'm not terribly worried about it
re: OpenRCT2/OpenRCT2#8593
Modifies the code for tooltip displays to show the
string assigned to a banner. It also uses the
color assigned to the sign (by sheer coincidence).
As of right now I do not think that it works for
non-banner signs (such as the 3D landscapes or
scrolling signs etc), but it works for the typical
case of banners, as well as "No entry" banners.