* 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
In `PeepProblemWarningsUpdate()`, when determining the number of hungry guests that need help (in order to check whether the threshold for showing the warning about hungry guests is reached), guests that are heading towards any flat ride (checked using the `RIDE_TYPE_FLAG_FLAT_RIDE` on the ride the guest is heading to (if any)) are discarded.
For thirsty guests (and those needing to go to the toilet) on the other hand, the more specific `RIDE_TYPE_FLAG_SELLS_DRINKS` (or `RIDE_TYPE_FLAG_IS_TOILET`) is used. (So, a guest that becomes thirsty while on its way to the merry-go-round would count for the threshold here.)
This PR makes the function use the more specific `RIDE_TYPE_FLAG_SELLS_FOOD` for hungry guests, so it's consistent with the other cases.
Also changed a few instances where GetGameState was called inside the same function.
The change in Peep.cpp is needed because of a function conflict. FormatStringID exists both in the global and in the OpenRCT2 namespace.
PR #20483 introduced a check for covered stations, but incorrectly checked the RCT2 IDs.
This commit replaces this check with a proper flag check, which will work for any station style, including custom ones.
* Remove old interop macro
* Remove legacy string macro things
* Unbreak the posix/linux/unix builds
* Add String::IEquals and use it for case insensitive compare
* Add missing include for posix
* Replace _strnicmp with String::StartsWith
* Add LoByte and HiByte into Util.h, swap macros
* Fix android build
* Hopefully last of the string things
* Replace STUB directly with the warning
* 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”
* Move dropdown functions to dropdown code
* Use a map for the colour tip
* Keep dropdownidx and colour seperated
* Allow number of rows to match vanilla
* Apply review comment
* Bump network version
* Initial commit for backwards-facing trains
* Allow persistence for reversed cars across save/load
* Make log flume turntable compatible with new reversal implementation
* Style fixes + Better implementation of inverted bank angles
* Further Style Fixes
* Code cleanup from PR feedback
* Fix GetBankRotationForDrawing function declaration
* Use update flag for reversed state
* Replace modulo operation with bit mask
* Correct guest pathing destination when entering reversed cars
* More style fixes
* Add plugin support for reversed vehicles
* Fix formatting error
* Derive reversal from ride mode for car spawning
* Formatting
* Rename function to GetPaintBankRotation
* Add reversed trains modes to Multi Dimension Coaster
* Change name of isReversed plugin API parameter for consistency
* Replace reversal operating modes with separate ride setting
* Add ALLOW_REVERSED_TRAINS flag to more ride types
* Make clang-format happy
* More Formatting
* Fix ALLOW_REVERSED_TRAINS flag on a couple rides
* Exclude flat rides from Reverse Trains tickbox when cheats are enabled
* Formatting
* Use Disable Vehicle Limits cheat for checkbox appearance condition
* Use correct swinging sprites when cars are reversed
* Update changelog and Plugin/Network/Park version numbers
* Formatting
* Add separate error String ID for clarity
* Add name to contributors.md
* Fix ride vehicle preview window with reversed trains for RCT1 train types
* Bump version numbers again
---------
Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>