* Eliminate unnecessary abstraction for path finding
* Pass the goal to ChooseDirection instead of using globals
* Remove gPeepPathFindGoalPosition and pass it by parameter instead
* Remove _peepPathFindIsStaff and make ignoring banners explicit
* Code style and naming fixups
* Apply clang-format
* Add comment specifying to why it does not ignore banners
* Apply review comments
* Add `STR_ERR_CANT_CHANGE_PARK_ENTRANCE_FEE`
* Add `STR_ERR_TRACK_ON_THIS_TILE_NEEDS_WATER`
* Return existing `GameAction::Result`
* Add `STR_ERR_ACTION_INVALID_FOR_THAT_STAFF_TYPE`
I am open to suggestions for a different message!
Originally this was going to be STR_ERR_WRONG_STAFF_TYPE
but I thought that was confusing because the game
action arguments do not specify a staff type. We
want it to mean "the staff ID you specified is the
wrong StaffType for this game action".
* Refactor `StaffSetColour()` to return `Result`
* Remove unnecessary arguments when `Status` is `Ok`
* Refactor `SwapTileElements()` to return `Result`
Also add STR_ERR_CANT_SWAP_TILE_ELEMENT_WITH_ITSELF
* Format code
* Use `STR_ERR_CANT_CHANGE_PARK_ENTRANCE_FEE` in title
* Format code using Github web editor
* Format indentation
* Remove flag RIDE_TYPE_FLAG_HAS_NO_TRACK (#20239)
* Fix a couple of logical conditions in entity/Staff.cpp
* Bump NETWORK_STREAM_VERSION and add myself to contributors.md
* Split off path addition paint calls
* Replace occurences of “path bit” with “path addition”
* Replace occurences of “footpath item“ with “path addition”
* Refactor and clean up date handling
* Remove gDate, remove direct access to days_in_month
* Adjust the MultiLaunch test
* Bump network version
---------
Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
* Use money64 for ride prices and shop items
* Use money64 for park entrance fee
* Use money64 for gGuestInitialCash
* Use money64 for upkeep costs
* Use money64 for ride value
* Use money64 for marketing campaign cost
* Use money64 for object prices
* Use money64 for land prices
* Use money64 for guest expenditure
* Replace remaining occurrences of money32 with money64
* Update replays
* Bump network version
---------
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Move footpathitem entry into new getter
* Move scenery group entry into new getter
* Move water entry into new getter
* Move large scenery entry into new getter
* Remove unused header includes
* Fix compile issue
* Include missing header from vcxproj
* Add object entry manager
Port over wall and banner
* Port over small scenery to ObjectEntryManager
Clang format files
Actually make things safe
Fix build
The tile element should be determined the same way as is done when checking if the footpath is blocked by a vehicle.
Also added some extra safety checks and made the code a bit more efficient / reusable. For example: when the staff member is not a mechanic, the tile element doesn't have to determined.