From 53fcad8d7633c9d4b88780c33bf027e84aa5518b Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Tue, 3 Jan 2023 00:10:07 +0100 Subject: [PATCH] Create TrackTypeIsHelix() --- src/openrct2/ride/Track.cpp | 11 +++++++++++ src/openrct2/ride/Track.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/openrct2/ride/Track.cpp b/src/openrct2/ride/Track.cpp index 5a28c7bc10..12e5847726 100644 --- a/src/openrct2/ride/Track.cpp +++ b/src/openrct2/ride/Track.cpp @@ -658,6 +658,17 @@ bool TrackTypeHasSpeedSetting(track_type_t trackType) return trackType == TrackElemType::Brakes || trackType == TrackElemType::Booster; } +bool TrackTypeIsHelix(track_type_t trackType) +{ + if (trackType >= TrackElemType::LeftHalfBankedHelixUpSmall && trackType <= TrackElemType::RightHalfBankedHelixDownLarge) + return true; + + if (trackType >= TrackElemType::LeftQuarterBankedHelixLargeUp && trackType <= TrackElemType::RightQuarterHelixLargeDown) + return true; + + return false; +} + std::optional GetTrackSegmentOrigin(const CoordsXYE& posEl) { auto trackEl = posEl.element->AsTrack(); diff --git a/src/openrct2/ride/Track.h b/src/openrct2/ride/Track.h index 07c982ad6b..5edad31b1f 100644 --- a/src/openrct2/ride/Track.h +++ b/src/openrct2/ride/Track.h @@ -633,6 +633,7 @@ ResultWithMessage track_add_station_element(CoordsXYZD loc, RideId rideIndex, in ResultWithMessage track_remove_station_element(const CoordsXYZD& loc, RideId rideIndex, int32_t flags); bool TrackTypeHasSpeedSetting(track_type_t trackType); +bool TrackTypeIsHelix(track_type_t trackType); std::optional GetTrackSegmentOrigin(const CoordsXYE& posEl); /**