Add TrackTypeIsBooster method (#21033)

This commit is contained in:
spacek531 2023-12-02 09:53:16 -08:00 committed by GitHub
parent baf88ef490
commit ccb3fa172c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 5 deletions

View File

@ -1480,8 +1480,8 @@ public:
if (_currentlyShowingBrakeOrBoosterSpeed)
{
uint16_t brakeSpeed2 = ((_currentBrakeSpeed2 * 9) >> 2) & 0xFFFF;
if (_selectedTrackType == TrackElemType::Booster
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::Booster))
if (TrackTypeIsBooster(_selectedTrackType)
|| TrackTypeIsBooster(_currentTrackCurve & ~RideConstructionSpecialPieceSelected))
{
brakeSpeed2 = GetBoosterSpeed(currentRide->type, brakeSpeed2);
}
@ -1837,8 +1837,8 @@ public:
bool trackHasSpeedSetting = TrackTypeHasSpeedSetting(_selectedTrackType)
|| TrackTypeHasSpeedSetting(_currentTrackCurve & ~RideConstructionSpecialPieceSelected);
bool boosterTrackSelected = _selectedTrackType == TrackElemType::Booster
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::Booster);
bool boosterTrackSelected = TrackTypeIsBooster(_selectedTrackType)
|| TrackTypeIsBooster(_currentTrackCurve & ~RideConstructionSpecialPieceSelected);
// Only necessary because TD6 writes speed and seat rotation to the same bits. Remove for new track design format.
bool trackHasSpeedAndSeatRotation = _selectedTrackType == TrackElemType::BlockBrakes

View File

@ -635,6 +635,11 @@ bool TrackTypeIsBlockBrakes(track_type_t trackType)
return (trackType == TrackElemType::BlockBrakes) || (trackType == TrackElemType::DiagBlockBrakes);
}
bool TrackTypeIsBooster(track_type_t trackType)
{
return trackType == TrackElemType::Booster;
}
bool TrackElementIsCovered(track_type_t trackElementType)
{
switch (trackElementType)
@ -666,7 +671,7 @@ bool TrackElementIsCovered(track_type_t trackElementType)
bool TrackTypeHasSpeedSetting(track_type_t trackType)
{
return trackType == TrackElemType::Booster || TrackTypeIsBrakes(trackType) || TrackTypeIsBlockBrakes(trackType);
return TrackTypeIsBooster(trackType) || TrackTypeIsBrakes(trackType) || TrackTypeIsBlockBrakes(trackType);
}
bool TrackTypeIsHelix(track_type_t trackType)

View File

@ -682,6 +682,7 @@ bool TrackElementIsCovered(track_type_t trackElementType);
bool TrackTypeIsStation(track_type_t trackType);
bool TrackTypeIsBrakes(track_type_t trackType);
bool TrackTypeIsBlockBrakes(track_type_t trackType);
bool TrackTypeIsBooster(track_type_t trackType);
std::optional<CoordsXYZ> GetTrackElementOriginAndApplyChanges(
const CoordsXYZD& location, track_type_t type, uint16_t extra_params, TileElement** output_element, uint16_t flags);