Rename TrackBank to TrackRoll

This commit is contained in:
Gymnasiast 2024-01-14 23:46:28 +01:00
parent cffc55e165
commit 95c1adc813
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
12 changed files with 640 additions and 640 deletions

View File

@ -42,7 +42,7 @@ void RideConstructNew(RideSelection listItem)
} }
SpecialElementsDropdownState BuildSpecialElementsList( SpecialElementsDropdownState BuildSpecialElementsList(
const Ride& currentRide, uint8_t buildDirection, TrackPitch buildSlope, TrackBank buildBank, RideConstructionState state) const Ride& currentRide, uint8_t buildDirection, TrackPitch buildSlope, TrackRoll buildBank, RideConstructionState state)
{ {
auto buildDirectionIsDiagonal = TrackPieceDirectionIsDiagonal(buildDirection); auto buildDirectionIsDiagonal = TrackPieceDirectionIsDiagonal(buildDirection);
SpecialElementsDropdownState list; SpecialElementsDropdownState list;

View File

@ -159,6 +159,6 @@ struct SpecialElementsDropdownState
}; };
SpecialElementsDropdownState BuildSpecialElementsList( SpecialElementsDropdownState BuildSpecialElementsList(
const Ride& currentRide, uint8_t buildDirection, TrackPitch buildSlope, TrackBank buildBank, RideConstructionState state); const Ride& currentRide, uint8_t buildDirection, TrackPitch buildSlope, TrackRoll buildBank, RideConstructionState state);
void RideConstructNew(RideSelection listItem); void RideConstructNew(RideSelection listItem);

View File

@ -227,14 +227,14 @@ public:
_currentTrackCurve = currentRide->GetRideTypeDescriptor().StartTrackPiece | RideConstructionSpecialPieceSelected; _currentTrackCurve = currentRide->GetRideTypeDescriptor().StartTrackPiece | RideConstructionSpecialPieceSelected;
_currentTrackSlopeEnd = TrackPitch::None; _currentTrackSlopeEnd = TrackPitch::None;
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
_currentTrackLiftHill = 0; _currentTrackLiftHill = 0;
_currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES;
if (currentRide->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED)) if (currentRide->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED))
_currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
_previousTrackBankEnd = TrackBank::None; _previousTrackRollEnd = TrackRoll::None;
_previousTrackSlopeEnd = TrackPitch::None; _previousTrackSlopeEnd = TrackPitch::None;
_currentTrackPieceDirection = 0; _currentTrackPieceDirection = 0;
@ -396,7 +396,7 @@ public:
{ {
disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT); disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT);
} }
else if (_currentTrackBankEnd != TrackBank::None) else if (_currentTrackRollEnd != TrackRoll::None)
{ {
disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN) | (1uLL << WIDX_SLOPE_UP); disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN) | (1uLL << WIDX_SLOPE_UP);
} }
@ -409,7 +409,7 @@ public:
|| _currentTrackSlopeEnd == TrackPitch::Up25 || _currentTrackSlopeEnd == TrackPitch::Up60) || _currentTrackSlopeEnd == TrackPitch::Up25 || _currentTrackSlopeEnd == TrackPitch::Up60)
disabledWidgets |= 1uLL << WIDX_CHAIN_LIFT | (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT); disabledWidgets |= 1uLL << WIDX_CHAIN_LIFT | (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT);
// Disable upward slope if current track piece is not flat // Disable upward slope if current track piece is not flat
if ((_previousTrackSlopeEnd != TrackPitch::None || _previousTrackBankEnd != TrackBank::None) if ((_previousTrackSlopeEnd != TrackPitch::None || _previousTrackRollEnd != TrackRoll::None)
&& !(_currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED)) && !(_currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED))
disabledWidgets |= (1uLL << WIDX_SLOPE_UP); disabledWidgets |= (1uLL << WIDX_SLOPE_UP);
} }
@ -425,7 +425,7 @@ public:
case EnumValue(TrackCurve::Left): case EnumValue(TrackCurve::Left):
case EnumValue(TrackCurve::LeftLarge): case EnumValue(TrackCurve::LeftLarge):
disabledWidgets |= (1uLL << WIDX_BANK_RIGHT); disabledWidgets |= (1uLL << WIDX_BANK_RIGHT);
if (_previousTrackBankEnd == TrackBank::None) if (_previousTrackRollEnd == TrackRoll::None)
{ {
disabledWidgets |= (1uLL << WIDX_BANK_LEFT); disabledWidgets |= (1uLL << WIDX_BANK_LEFT);
} }
@ -439,7 +439,7 @@ public:
case EnumValue(TrackCurve::RightSmall): case EnumValue(TrackCurve::RightSmall):
case EnumValue(TrackCurve::RightVerySmall): case EnumValue(TrackCurve::RightVerySmall):
disabledWidgets |= (1uLL << WIDX_BANK_LEFT); disabledWidgets |= (1uLL << WIDX_BANK_LEFT);
if (_previousTrackBankEnd == TrackBank::None) if (_previousTrackRollEnd == TrackRoll::None)
{ {
disabledWidgets |= (1uLL << WIDX_BANK_RIGHT); disabledWidgets |= (1uLL << WIDX_BANK_RIGHT);
} }
@ -451,7 +451,7 @@ public:
} }
if (!IsTrackEnabled(TRACK_SLOPE_ROLL_BANKING)) if (!IsTrackEnabled(TRACK_SLOPE_ROLL_BANKING))
{ {
if (_currentTrackBankEnd != TrackBank::None) if (_currentTrackRollEnd != TrackRoll::None)
{ {
disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN) | (1uLL << WIDX_SLOPE_UP); disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN) | (1uLL << WIDX_SLOPE_UP);
} }
@ -548,17 +548,17 @@ public:
disabledWidgets &= ~(1uLL << WIDX_SLOPE_UP_STEEP); disabledWidgets &= ~(1uLL << WIDX_SLOPE_UP_STEEP);
} }
} }
if (_previousTrackBankEnd == TrackBank::Left) if (_previousTrackRollEnd == TrackRoll::Left)
{ {
disabledWidgets |= (1uLL << WIDX_RIGHT_CURVE_SMALL) | (1uLL << WIDX_RIGHT_CURVE) | (1uLL << WIDX_RIGHT_CURVE_LARGE) disabledWidgets |= (1uLL << WIDX_RIGHT_CURVE_SMALL) | (1uLL << WIDX_RIGHT_CURVE) | (1uLL << WIDX_RIGHT_CURVE_LARGE)
| (1uLL << WIDX_BANK_RIGHT); | (1uLL << WIDX_BANK_RIGHT);
} }
if (_previousTrackBankEnd == TrackBank::Right) if (_previousTrackRollEnd == TrackRoll::Right)
{ {
disabledWidgets |= (1uLL << WIDX_LEFT_CURVE_SMALL) | (1uLL << WIDX_LEFT_CURVE) | (1uLL << WIDX_LEFT_CURVE_LARGE) disabledWidgets |= (1uLL << WIDX_LEFT_CURVE_SMALL) | (1uLL << WIDX_LEFT_CURVE) | (1uLL << WIDX_LEFT_CURVE_LARGE)
| (1uLL << WIDX_BANK_LEFT); | (1uLL << WIDX_BANK_LEFT);
} }
if (_currentTrackBankEnd != _previousTrackBankEnd) if (_currentTrackRollEnd != _previousTrackRollEnd)
{ {
disabledWidgets |= (1uLL << WIDX_RIGHT_CURVE_SMALL) | (1uLL << WIDX_RIGHT_CURVE) | (1uLL << WIDX_RIGHT_CURVE_LARGE) disabledWidgets |= (1uLL << WIDX_RIGHT_CURVE_SMALL) | (1uLL << WIDX_RIGHT_CURVE) | (1uLL << WIDX_RIGHT_CURVE_LARGE)
| (1uLL << WIDX_LEFT_CURVE_SMALL) | (1uLL << WIDX_LEFT_CURVE) | (1uLL << WIDX_LEFT_CURVE_LARGE); | (1uLL << WIDX_LEFT_CURVE_SMALL) | (1uLL << WIDX_LEFT_CURVE) | (1uLL << WIDX_LEFT_CURVE_LARGE);
@ -594,7 +594,7 @@ public:
disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT); disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT);
} }
} }
if (_currentTrackBankEnd != TrackBank::None || _previousTrackBankEnd != TrackBank::None) if (_currentTrackRollEnd != TrackRoll::None || _previousTrackRollEnd != TrackRoll::None)
{ {
disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN_STEEP) | (1uLL << WIDX_SLOPE_UP_STEEP) | (1uLL << WIDX_CHAIN_LIFT); disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN_STEEP) | (1uLL << WIDX_SLOPE_UP_STEEP) | (1uLL << WIDX_CHAIN_LIFT);
} }
@ -628,7 +628,7 @@ public:
disabledWidgets |= (1uLL << WIDX_CHAIN_LIFT); disabledWidgets |= (1uLL << WIDX_CHAIN_LIFT);
} }
} }
if (_previousTrackBankEnd == TrackBank::UpsideDown) if (_previousTrackRollEnd == TrackRoll::UpsideDown)
{ {
disabledWidgets |= (1uLL << WIDX_LEFT_CURVE_SMALL) | (1uLL << WIDX_LEFT_CURVE) | (1uLL << WIDX_LEFT_CURVE_LARGE) disabledWidgets |= (1uLL << WIDX_LEFT_CURVE_SMALL) | (1uLL << WIDX_LEFT_CURVE) | (1uLL << WIDX_LEFT_CURVE_LARGE)
| (1uLL << WIDX_STRAIGHT) | (1uLL << WIDX_RIGHT_CURVE_SMALL) | (1uLL << WIDX_RIGHT_CURVE) | (1uLL << WIDX_STRAIGHT) | (1uLL << WIDX_RIGHT_CURVE_SMALL) | (1uLL << WIDX_RIGHT_CURVE)
@ -664,17 +664,17 @@ public:
else if (IsTrackEnabled(TRACK_SLOPE_CURVE_BANKED)) else if (IsTrackEnabled(TRACK_SLOPE_CURVE_BANKED))
{ {
disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN_STEEP) | (1uLL << WIDX_SLOPE_UP_STEEP); disabledWidgets |= (1uLL << WIDX_SLOPE_DOWN_STEEP) | (1uLL << WIDX_SLOPE_UP_STEEP);
if (_currentTrackBankEnd == TrackBank::Left) if (_currentTrackRollEnd == TrackRoll::Left)
{ {
disabledWidgets |= (1uLL << WIDX_BANK_STRAIGHT) | (1uLL << WIDX_BANK_RIGHT); disabledWidgets |= (1uLL << WIDX_BANK_STRAIGHT) | (1uLL << WIDX_BANK_RIGHT);
disabledWidgets &= ~(1uLL << WIDX_BANK_LEFT); disabledWidgets &= ~(1uLL << WIDX_BANK_LEFT);
} }
if (_currentTrackBankEnd == TrackBank::Right) if (_currentTrackRollEnd == TrackRoll::Right)
{ {
disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_STRAIGHT); disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_STRAIGHT);
disabledWidgets &= ~(1uLL << WIDX_BANK_RIGHT); disabledWidgets &= ~(1uLL << WIDX_BANK_RIGHT);
} }
if (_currentTrackBankEnd == TrackBank::None) if (_currentTrackRollEnd == TrackRoll::None)
{ {
disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT); disabledWidgets |= (1uLL << WIDX_BANK_LEFT) | (1uLL << WIDX_BANK_RIGHT);
disabledWidgets &= ~(1uLL << WIDX_BANK_STRAIGHT); disabledWidgets &= ~(1uLL << WIDX_BANK_STRAIGHT);
@ -765,7 +765,7 @@ public:
if (_currentTrackSlopeEnd == TrackPitch::None && _currentTrackSlopeEnd == _previousTrackSlopeEnd) if (_currentTrackSlopeEnd == TrackPitch::None && _currentTrackSlopeEnd == _previousTrackSlopeEnd)
{ {
// If the bank is none, attempt to show unbanked quarter helixes // If the bank is none, attempt to show unbanked quarter helixes
if (_currentTrackBankEnd == TrackBank::None if (_currentTrackRollEnd == TrackRoll::None
&& (_currentTrackCurve == EnumValue(TrackCurve::Left) || _currentTrackCurve == EnumValue(TrackCurve::Right))) && (_currentTrackCurve == EnumValue(TrackCurve::Left) || _currentTrackCurve == EnumValue(TrackCurve::Right)))
{ {
if (IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER)) if (IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER))
@ -776,7 +776,7 @@ public:
// If the track is banked left or right and curvature is standard size (2.5 tile radius), attempt to show buttons // If the track is banked left or right and curvature is standard size (2.5 tile radius), attempt to show buttons
// for half or quarter helixes // for half or quarter helixes
else if ( else if (
(_currentTrackBankEnd == TrackBank::Left || _currentTrackBankEnd == TrackBank::Right) (_currentTrackRollEnd == TrackRoll::Left || _currentTrackRollEnd == TrackRoll::Right)
&& (_currentTrackCurve == EnumValue(TrackCurve::Left) || _currentTrackCurve == EnumValue(TrackCurve::Right))) && (_currentTrackCurve == EnumValue(TrackCurve::Left) || _currentTrackCurve == EnumValue(TrackCurve::Right)))
{ {
if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER)) if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER))
@ -787,7 +787,7 @@ public:
// If the track is banked left or right and curvature is small size (1.5 tile radius), attempt to show buttons for // If the track is banked left or right and curvature is small size (1.5 tile radius), attempt to show buttons for
// half helixes // half helixes
else if ( else if (
(_currentTrackBankEnd == TrackBank::Left || _currentTrackBankEnd == TrackBank::Right) (_currentTrackRollEnd == TrackRoll::Left || _currentTrackRollEnd == TrackRoll::Right)
&& (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall) && (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall)
|| _currentTrackCurve == EnumValue(TrackCurve::RightSmall))) || _currentTrackCurve == EnumValue(TrackCurve::RightSmall)))
{ {
@ -804,7 +804,7 @@ public:
if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall) if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall)
|| _currentTrackCurve == EnumValue(TrackCurve::RightSmall)) || _currentTrackCurve == EnumValue(TrackCurve::RightSmall))
{ {
if (_currentTrackSlopeEnd == TrackPitch::None && _previousTrackBankEnd != TrackBank::None if (_currentTrackSlopeEnd == TrackPitch::None && _previousTrackRollEnd != TrackRoll::None
&& (!currentRide->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_UP_INCLINE_REQUIRES_LIFT) && (!currentRide->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_UP_INCLINE_REQUIRES_LIFT)
|| gCheatsEnableAllDrawableTrackPieces)) || gCheatsEnableAllDrawableTrackPieces))
{ {
@ -817,7 +817,7 @@ public:
if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall) if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall)
|| _currentTrackCurve == EnumValue(TrackCurve::RightSmall)) || _currentTrackCurve == EnumValue(TrackCurve::RightSmall))
{ {
if (_currentTrackSlopeEnd == TrackPitch::None && _previousTrackBankEnd != TrackBank::None) if (_currentTrackSlopeEnd == TrackPitch::None && _previousTrackRollEnd != TrackRoll::None)
{ {
disabledWidgets &= ~(1uLL << WIDX_SLOPE_DOWN); disabledWidgets &= ~(1uLL << WIDX_SLOPE_DOWN);
} }
@ -1060,7 +1060,7 @@ public:
case WIDX_STRAIGHT: case WIDX_STRAIGHT:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (_currentTrackCurve != EnumValue(TrackCurve::None)) if (_currentTrackCurve != EnumValue(TrackCurve::None))
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
_currentTrackCurve = EnumValue(TrackCurve::None); _currentTrackCurve = EnumValue(TrackCurve::None);
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
@ -1069,14 +1069,14 @@ public:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF)) if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF))
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackBankEnd == TrackBank::Left) if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackRollEnd == TrackRoll::Left)
{ {
_currentTrackCurve = TrackElemType::LeftHalfBankedHelixDownLarge | RideConstructionSpecialPieceSelected; _currentTrackCurve = TrackElemType::LeftHalfBankedHelixDownLarge | RideConstructionSpecialPieceSelected;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackBankEnd == TrackBank::Right) if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackRollEnd == TrackRoll::Right)
{ {
_currentTrackCurve = TrackElemType::RightHalfBankedHelixDownLarge _currentTrackCurve = TrackElemType::RightHalfBankedHelixDownLarge
| RideConstructionSpecialPieceSelected; | RideConstructionSpecialPieceSelected;
@ -1084,14 +1084,14 @@ public:
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall) && _currentTrackBankEnd == TrackBank::Left) if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall) && _currentTrackRollEnd == TrackRoll::Left)
{ {
_currentTrackCurve = TrackElemType::LeftHalfBankedHelixDownSmall | RideConstructionSpecialPieceSelected; _currentTrackCurve = TrackElemType::LeftHalfBankedHelixDownSmall | RideConstructionSpecialPieceSelected;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall) && _currentTrackBankEnd == TrackBank::Right) if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall) && _currentTrackRollEnd == TrackRoll::Right)
{ {
_currentTrackCurve = TrackElemType::RightHalfBankedHelixDownSmall _currentTrackCurve = TrackElemType::RightHalfBankedHelixDownSmall
| RideConstructionSpecialPieceSelected; | RideConstructionSpecialPieceSelected;
@ -1102,7 +1102,7 @@ public:
} }
if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_QUARTER)) if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_QUARTER))
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackBankEnd == TrackBank::Left) if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackRollEnd == TrackRoll::Left)
{ {
_currentTrackCurve = TrackElemType::LeftQuarterBankedHelixLargeDown _currentTrackCurve = TrackElemType::LeftQuarterBankedHelixLargeDown
| RideConstructionSpecialPieceSelected; | RideConstructionSpecialPieceSelected;
@ -1110,7 +1110,7 @@ public:
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackBankEnd == TrackBank::Right) if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackRollEnd == TrackRoll::Right)
{ {
_currentTrackCurve = TrackElemType::RightQuarterBankedHelixLargeDown _currentTrackCurve = TrackElemType::RightQuarterBankedHelixLargeDown
| RideConstructionSpecialPieceSelected; | RideConstructionSpecialPieceSelected;
@ -1121,7 +1121,7 @@ public:
} }
if (IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_UNBANKED_QUARTER)) if (IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_UNBANKED_QUARTER))
{ {
if (_currentTrackBankEnd == TrackBank::None) if (_currentTrackRollEnd == TrackRoll::None)
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::Left)) if (_currentTrackCurve == EnumValue(TrackCurve::Left))
{ {
@ -1152,9 +1152,9 @@ public:
break; break;
case WIDX_SLOPE_DOWN: case WIDX_SLOPE_DOWN:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (_rideConstructionState == RideConstructionState::Back && _currentTrackBankEnd != TrackBank::None) if (_rideConstructionState == RideConstructionState::Back && _currentTrackRollEnd != TrackRoll::None)
{ {
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
} }
UpdateLiftHillSelected(TrackPitch::Down25); UpdateLiftHillSelected(TrackPitch::Down25);
break; break;
@ -1164,31 +1164,31 @@ public:
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall)) if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall))
{ {
_currentTrackBankEnd = TrackBank::Left; _currentTrackRollEnd = TrackRoll::Left;
} }
else if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall)) else if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall))
{ {
_currentTrackBankEnd = TrackBank::Right; _currentTrackRollEnd = TrackRoll::Right;
} }
} }
else if (_rideConstructionState == RideConstructionState::Back && _previousTrackSlopeEnd == TrackPitch::Up25) else if (_rideConstructionState == RideConstructionState::Back && _previousTrackSlopeEnd == TrackPitch::Up25)
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall)) if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall))
{ {
_currentTrackBankEnd = TrackBank::Left; _currentTrackRollEnd = TrackRoll::Left;
} }
else if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall)) else if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall))
{ {
_currentTrackBankEnd = TrackBank::Right; _currentTrackRollEnd = TrackRoll::Right;
} }
} }
UpdateLiftHillSelected(TrackPitch::None); UpdateLiftHillSelected(TrackPitch::None);
break; break;
case WIDX_SLOPE_UP: case WIDX_SLOPE_UP:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (_rideConstructionState == RideConstructionState::Front && _currentTrackBankEnd != TrackBank::None) if (_rideConstructionState == RideConstructionState::Front && _currentTrackRollEnd != TrackRoll::None)
{ {
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
} }
if (currentRide->GetRideTypeDescriptor().SupportsTrackPiece(TRACK_REVERSE_FREEFALL)) if (currentRide->GetRideTypeDescriptor().SupportsTrackPiece(TRACK_REVERSE_FREEFALL))
{ {
@ -1208,28 +1208,28 @@ public:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF)) if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF))
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackBankEnd == TrackBank::Left) if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackRollEnd == TrackRoll::Left)
{ {
_currentTrackCurve = TrackElemType::LeftHalfBankedHelixUpLarge | RideConstructionSpecialPieceSelected; _currentTrackCurve = TrackElemType::LeftHalfBankedHelixUpLarge | RideConstructionSpecialPieceSelected;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackBankEnd == TrackBank::Right) if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackRollEnd == TrackRoll::Right)
{ {
_currentTrackCurve = TrackElemType::RightHalfBankedHelixUpLarge | RideConstructionSpecialPieceSelected; _currentTrackCurve = TrackElemType::RightHalfBankedHelixUpLarge | RideConstructionSpecialPieceSelected;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall) && _currentTrackBankEnd == TrackBank::Left) if (_currentTrackCurve == EnumValue(TrackCurve::LeftSmall) && _currentTrackRollEnd == TrackRoll::Left)
{ {
_currentTrackCurve = TrackElemType::LeftHalfBankedHelixUpSmall | RideConstructionSpecialPieceSelected; _currentTrackCurve = TrackElemType::LeftHalfBankedHelixUpSmall | RideConstructionSpecialPieceSelected;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall) && _currentTrackBankEnd == TrackBank::Right) if (_currentTrackCurve == EnumValue(TrackCurve::RightSmall) && _currentTrackRollEnd == TrackRoll::Right)
{ {
_currentTrackCurve = TrackElemType::RightHalfBankedHelixUpSmall | RideConstructionSpecialPieceSelected; _currentTrackCurve = TrackElemType::RightHalfBankedHelixUpSmall | RideConstructionSpecialPieceSelected;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
@ -1239,7 +1239,7 @@ public:
} }
if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_QUARTER)) if (IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_QUARTER))
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackBankEnd == TrackBank::Left) if (_currentTrackCurve == EnumValue(TrackCurve::Left) && _currentTrackRollEnd == TrackRoll::Left)
{ {
_currentTrackCurve = TrackElemType::LeftQuarterBankedHelixLargeUp _currentTrackCurve = TrackElemType::LeftQuarterBankedHelixLargeUp
| RideConstructionSpecialPieceSelected; | RideConstructionSpecialPieceSelected;
@ -1247,7 +1247,7 @@ public:
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
break; break;
} }
if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackBankEnd == TrackBank::Right) if (_currentTrackCurve == EnumValue(TrackCurve::Right) && _currentTrackRollEnd == TrackRoll::Right)
{ {
_currentTrackCurve = TrackElemType::RightQuarterBankedHelixLargeUp _currentTrackCurve = TrackElemType::RightQuarterBankedHelixLargeUp
| RideConstructionSpecialPieceSelected; | RideConstructionSpecialPieceSelected;
@ -1258,7 +1258,7 @@ public:
} }
if (IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_UNBANKED_QUARTER)) if (IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_UNBANKED_QUARTER))
{ {
if (_currentTrackBankEnd == TrackBank::None) if (_currentTrackRollEnd == TrackRoll::None)
{ {
if (_currentTrackCurve == EnumValue(TrackCurve::Left)) if (_currentTrackCurve == EnumValue(TrackCurve::Left))
{ {
@ -1297,7 +1297,7 @@ public:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (!_currentlyShowingBrakeOrBoosterSpeed) if (!_currentlyShowingBrakeOrBoosterSpeed)
{ {
_currentTrackBankEnd = TrackBank::Left; _currentTrackRollEnd = TrackRoll::Left;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
} }
@ -1306,7 +1306,7 @@ public:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (!_currentlyShowingBrakeOrBoosterSpeed) if (!_currentlyShowingBrakeOrBoosterSpeed)
{ {
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
} }
@ -1333,7 +1333,7 @@ public:
RideConstructionInvalidateCurrentTrack(); RideConstructionInvalidateCurrentTrack();
if (!_currentlyShowingBrakeOrBoosterSpeed) if (!_currentlyShowingBrakeOrBoosterSpeed)
{ {
_currentTrackBankEnd = TrackBank::Right; _currentTrackRollEnd = TrackRoll::Right;
_currentTrackPrice = MONEY64_UNDEFINED; _currentTrackPrice = MONEY64_UNDEFINED;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();
} }
@ -1422,7 +1422,7 @@ public:
break; break;
case TrackElemType::LeftVerticalLoop: case TrackElemType::LeftVerticalLoop:
case TrackElemType::RightVerticalLoop: case TrackElemType::RightVerticalLoop:
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
_currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED; _currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
break; break;
case TrackElemType::BlockBrakes: case TrackElemType::BlockBrakes:
@ -1662,7 +1662,7 @@ public:
widgets[WIDX_SLOPE_UP].type = WindowWidgetType::FlatBtn; widgets[WIDX_SLOPE_UP].type = WindowWidgetType::FlatBtn;
} }
if ((IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF)) if ((IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF))
&& _currentTrackBankEnd != TrackBank::None && _currentTrackSlopeEnd == TrackPitch::None) && _currentTrackRollEnd != TrackRoll::None && _currentTrackSlopeEnd == TrackPitch::None)
{ {
if (_currentTrackCurve >= EnumValue(TrackCurve::Left) && _currentTrackCurve <= EnumValue(TrackCurve::RightSmall)) if (_currentTrackCurve >= EnumValue(TrackCurve::Left) && _currentTrackCurve <= EnumValue(TrackCurve::RightSmall))
{ {
@ -1744,7 +1744,7 @@ public:
} }
if ((IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_UNBANKED_QUARTER)) if ((IsTrackEnabled(TRACK_HELIX_DOWN_UNBANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_UNBANKED_QUARTER))
&& _currentTrackSlopeEnd == TrackPitch::None && _currentTrackBankEnd == TrackBank::None && _currentTrackSlopeEnd == TrackPitch::None && _currentTrackRollEnd == TrackRoll::None
&& (_currentTrackCurve == EnumValue(TrackCurve::Left) || _currentTrackCurve == EnumValue(TrackCurve::Right))) && (_currentTrackCurve == EnumValue(TrackCurve::Left) || _currentTrackCurve == EnumValue(TrackCurve::Right)))
{ {
widgets[WIDX_SLOPE_DOWN_STEEP].image = ImageId(SPR_RIDE_CONSTRUCTION_HELIX_DOWN); widgets[WIDX_SLOPE_DOWN_STEEP].image = ImageId(SPR_RIDE_CONSTRUCTION_HELIX_DOWN);
@ -1772,7 +1772,7 @@ public:
if ((IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_QUARTER) if ((IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_QUARTER) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_QUARTER)
|| IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF)) || IsTrackEnabled(TRACK_HELIX_DOWN_BANKED_HALF) || IsTrackEnabled(TRACK_HELIX_UP_BANKED_HALF))
&& (_currentTrackCurve >= EnumValue(TrackCurve::Left) && _currentTrackCurve <= EnumValue(TrackCurve::RightSmall)) && (_currentTrackCurve >= EnumValue(TrackCurve::Left) && _currentTrackCurve <= EnumValue(TrackCurve::RightSmall))
&& _currentTrackSlopeEnd == TrackPitch::None && _currentTrackBankEnd != TrackBank::None) && _currentTrackSlopeEnd == TrackPitch::None && _currentTrackRollEnd != TrackRoll::None)
{ {
widgets[WIDX_SLOPE_DOWN_STEEP].image = ImageId(SPR_RIDE_CONSTRUCTION_HELIX_DOWN); widgets[WIDX_SLOPE_DOWN_STEEP].image = ImageId(SPR_RIDE_CONSTRUCTION_HELIX_DOWN);
widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP; widgets[WIDX_SLOPE_DOWN_STEEP].tooltip = STR_RIDE_CONSTRUCTION_HELIX_DOWN_TIP;
@ -1854,7 +1854,7 @@ public:
if ((_currentTrackCurve < EnumValue(TrackCurve::LeftSmall) if ((_currentTrackCurve < EnumValue(TrackCurve::LeftSmall)
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendLeft) || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendLeft)
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendRight)) || _currentTrackCurve == (RideConstructionSpecialPieceSelected | TrackElemType::SBendRight))
&& _currentTrackSlopeEnd == TrackPitch::None && _currentTrackBankEnd == TrackBank::None) && _currentTrackSlopeEnd == TrackPitch::None && _currentTrackRollEnd == TrackRoll::None)
{ {
widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE; widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE;
widgets[WIDX_U_TRACK].type = WindowWidgetType::FlatBtn; widgets[WIDX_U_TRACK].type = WindowWidgetType::FlatBtn;
@ -2063,12 +2063,12 @@ public:
pressed_widgets |= (1uLL << WIDX_U_TRACK); pressed_widgets |= (1uLL << WIDX_U_TRACK);
} }
} }
switch (_currentTrackBankEnd) switch (_currentTrackRollEnd)
{ {
case TrackBank::Left: case TrackRoll::Left:
widgetIndex = WIDX_BANK_LEFT; widgetIndex = WIDX_BANK_LEFT;
break; break;
case TrackBank::None: case TrackRoll::None:
widgetIndex = WIDX_BANK_STRAIGHT; widgetIndex = WIDX_BANK_STRAIGHT;
break; break;
default: default:
@ -2093,7 +2093,7 @@ public:
return; return;
} }
_specialElementDropdownState = BuildSpecialElementsList( _specialElementDropdownState = BuildSpecialElementsList(
*currentRide, _currentTrackPieceDirection, _previousTrackSlopeEnd, _previousTrackBankEnd, _rideConstructionState); *currentRide, _currentTrackPieceDirection, _previousTrackSlopeEnd, _previousTrackRollEnd, _rideConstructionState);
_currentlyShowingBrakeOrBoosterSpeed = false; _currentlyShowingBrakeOrBoosterSpeed = false;
} }
@ -3596,8 +3596,8 @@ void RideConstructionTooldownConstruct(const ScreenCoordsXY& screenCoords)
auto saveCurrentTrackCurve = _currentTrackCurve; auto saveCurrentTrackCurve = _currentTrackCurve;
auto savePreviousTrackSlopeEnd = _previousTrackSlopeEnd; auto savePreviousTrackSlopeEnd = _previousTrackSlopeEnd;
auto saveCurrentTrackSlopeEnd = _currentTrackSlopeEnd; auto saveCurrentTrackSlopeEnd = _currentTrackSlopeEnd;
auto savePreviousTrackBankEnd = _previousTrackBankEnd; auto savePreviousTrackRollEnd = _previousTrackRollEnd;
auto saveCurrentTrackBankEnd = _currentTrackBankEnd; auto saveCurrentTrackRollEnd = _currentTrackRollEnd;
int32_t saveCurrentTrackAlternative = _currentTrackAlternative; int32_t saveCurrentTrackAlternative = _currentTrackAlternative;
int32_t saveCurrentTrackLiftHill = _currentTrackLiftHill; int32_t saveCurrentTrackLiftHill = _currentTrackLiftHill;
@ -3607,8 +3607,8 @@ void RideConstructionTooldownConstruct(const ScreenCoordsXY& screenCoords)
_currentTrackCurve = saveCurrentTrackCurve; _currentTrackCurve = saveCurrentTrackCurve;
_previousTrackSlopeEnd = savePreviousTrackSlopeEnd; _previousTrackSlopeEnd = savePreviousTrackSlopeEnd;
_currentTrackSlopeEnd = saveCurrentTrackSlopeEnd; _currentTrackSlopeEnd = saveCurrentTrackSlopeEnd;
_previousTrackBankEnd = savePreviousTrackBankEnd; _previousTrackRollEnd = savePreviousTrackRollEnd;
_currentTrackBankEnd = saveCurrentTrackBankEnd; _currentTrackRollEnd = saveCurrentTrackRollEnd;
_currentTrackAlternative = saveCurrentTrackAlternative; _currentTrackAlternative = saveCurrentTrackAlternative;
_currentTrackLiftHill = saveCurrentTrackLiftHill; _currentTrackLiftHill = saveCurrentTrackLiftHill;
@ -4383,15 +4383,15 @@ void WindowRideConstructionKeyboardShortcutBankLeft()
return; return;
} }
switch (_currentTrackBankEnd) switch (_currentTrackRollEnd)
{ {
case TrackBank::None: case TrackRoll::None:
if (!WidgetIsDisabled(*w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WindowWidgetType::Empty) if (!WidgetIsDisabled(*w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WindowWidgetType::Empty)
{ {
WindowEventMouseDownCall(w, WIDX_BANK_LEFT); WindowEventMouseDownCall(w, WIDX_BANK_LEFT);
} }
break; break;
case TrackBank::Right: case TrackRoll::Right:
if (!WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) if (!WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty)
{ {
WindowEventMouseDownCall(w, WIDX_BANK_STRAIGHT); WindowEventMouseDownCall(w, WIDX_BANK_STRAIGHT);
@ -4419,15 +4419,15 @@ void WindowRideConstructionKeyboardShortcutBankRight()
return; return;
} }
switch (_currentTrackBankEnd) switch (_currentTrackRollEnd)
{ {
case TrackBank::None: case TrackRoll::None:
if (!WidgetIsDisabled(*w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WindowWidgetType::Empty) if (!WidgetIsDisabled(*w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WindowWidgetType::Empty)
{ {
WindowEventMouseDownCall(w, WIDX_BANK_RIGHT); WindowEventMouseDownCall(w, WIDX_BANK_RIGHT);
} }
break; break;
case TrackBank::Left: case TrackRoll::Left:
if (!WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) if (!WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty)
{ {
WindowEventMouseDownCall(w, WIDX_BANK_STRAIGHT); WindowEventMouseDownCall(w, WIDX_BANK_STRAIGHT);
@ -4503,8 +4503,8 @@ static void WindowRideConstructionMouseUpDemolishNextPiece(const CoordsXYZD& pie
auto savedCurrentTrackCurve = _currentTrackCurve; auto savedCurrentTrackCurve = _currentTrackCurve;
auto savedPreviousTrackSlopeEnd = _previousTrackSlopeEnd; auto savedPreviousTrackSlopeEnd = _previousTrackSlopeEnd;
auto savedCurrentTrackSlopeEnd = _currentTrackSlopeEnd; auto savedCurrentTrackSlopeEnd = _currentTrackSlopeEnd;
auto savedPreviousTrackBankEnd = _previousTrackBankEnd; auto savedPreviousTrackRollEnd = _previousTrackRollEnd;
auto savedCurrentTrackBankEnd = _currentTrackBankEnd; auto savedCurrentTrackRollEnd = _currentTrackRollEnd;
int32_t savedCurrentTrackAlternative = _currentTrackAlternative; int32_t savedCurrentTrackAlternative = _currentTrackAlternative;
int32_t savedCurrentTrackLiftHill = _currentTrackLiftHill; int32_t savedCurrentTrackLiftHill = _currentTrackLiftHill;
RideConstructionSetDefaultNextPiece(); RideConstructionSetDefaultNextPiece();
@ -4519,8 +4519,8 @@ static void WindowRideConstructionMouseUpDemolishNextPiece(const CoordsXYZD& pie
_currentTrackCurve = savedCurrentTrackCurve; _currentTrackCurve = savedCurrentTrackCurve;
_previousTrackSlopeEnd = savedPreviousTrackSlopeEnd; _previousTrackSlopeEnd = savedPreviousTrackSlopeEnd;
_currentTrackSlopeEnd = savedCurrentTrackSlopeEnd; _currentTrackSlopeEnd = savedCurrentTrackSlopeEnd;
_previousTrackBankEnd = savedPreviousTrackBankEnd; _previousTrackRollEnd = savedPreviousTrackRollEnd;
_currentTrackBankEnd = savedCurrentTrackBankEnd; _currentTrackRollEnd = savedCurrentTrackRollEnd;
_currentTrackAlternative = savedCurrentTrackAlternative; _currentTrackAlternative = savedCurrentTrackAlternative;
_currentTrackLiftHill = savedCurrentTrackLiftHill; _currentTrackLiftHill = savedCurrentTrackLiftHill;
WindowRideConstructionUpdateActiveElements(); WindowRideConstructionUpdateActiveElements();

View File

@ -442,7 +442,7 @@ bool WallPlaceAction::WallCheckObstructionWithTrack(
return false; return false;
} }
if (ted.Definition.RollStart == TrackBank::None) if (ted.Definition.RollStart == TrackRoll::None)
{ {
if (!(ted.Coordinates.rotation_begin & 4)) if (!(ted.Coordinates.rotation_begin & 4))
{ {
@ -467,7 +467,7 @@ bool WallPlaceAction::WallCheckObstructionWithTrack(
return false; return false;
} }
if (ted.Definition.RollEnd != TrackBank::None) if (ted.Definition.RollEnd != TrackRoll::None)
{ {
return false; return false;
} }

View File

@ -65,12 +65,12 @@ track_type_t _currentTrackPieceType;
uint8_t _currentTrackSelectionFlags; uint8_t _currentTrackSelectionFlags;
uint32_t _rideConstructionNextArrowPulse = 0; uint32_t _rideConstructionNextArrowPulse = 0;
TrackPitch _currentTrackSlopeEnd; TrackPitch _currentTrackSlopeEnd;
TrackBank _currentTrackBankEnd; TrackRoll _currentTrackRollEnd;
uint8_t _currentTrackLiftHill; uint8_t _currentTrackLiftHill;
uint8_t _currentTrackAlternative; uint8_t _currentTrackAlternative;
track_type_t _selectedTrackType; track_type_t _selectedTrackType;
TrackBank _previousTrackBankEnd; TrackRoll _previousTrackRollEnd;
TrackPitch _previousTrackSlopeEnd; TrackPitch _previousTrackSlopeEnd;
CoordsXYZ _previousTrackPiece; CoordsXYZ _previousTrackPiece;
@ -607,7 +607,7 @@ static void ride_construction_reset_current_piece()
{ {
_currentTrackCurve = rtd.StartTrackPiece | RideConstructionSpecialPieceSelected; _currentTrackCurve = rtd.StartTrackPiece | RideConstructionSpecialPieceSelected;
_currentTrackSlopeEnd = TrackPitch::None; _currentTrackSlopeEnd = TrackPitch::None;
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
_currentTrackLiftHill = 0; _currentTrackLiftHill = 0;
_currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES;
if (rtd.HasFlag(RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED)) if (rtd.HasFlag(RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED))
@ -615,7 +615,7 @@ static void ride_construction_reset_current_piece()
_currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
} }
_previousTrackSlopeEnd = TrackPitch::None; _previousTrackSlopeEnd = TrackPitch::None;
_previousTrackBankEnd = TrackBank::None; _previousTrackRollEnd = TrackRoll::None;
} }
else else
{ {
@ -684,14 +684,14 @@ void RideConstructionSetDefaultNextPiece()
// Set track banking // Set track banking
if (rtd.HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE)) if (rtd.HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE))
{ {
if (bank == TrackBank::UpsideDown) if (bank == TrackRoll::UpsideDown)
{ {
bank = TrackBank::None; bank = TrackRoll::None;
_currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; _currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
} }
} }
_currentTrackBankEnd = bank; _currentTrackRollEnd = bank;
_previousTrackBankEnd = bank; _previousTrackRollEnd = bank;
// Set track slope and lift hill // Set track slope and lift hill
_currentTrackSlopeEnd = slope; _currentTrackSlopeEnd = slope;
@ -732,14 +732,14 @@ void RideConstructionSetDefaultNextPiece()
// Set track banking // Set track banking
if (rtd.HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE)) if (rtd.HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE))
{ {
if (bank == TrackBank::UpsideDown) if (bank == TrackRoll::UpsideDown)
{ {
bank = TrackBank::None; bank = TrackRoll::None;
_currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; _currentTrackAlternative ^= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
} }
} }
_currentTrackBankEnd = bank; _currentTrackRollEnd = bank;
_previousTrackBankEnd = bank; _previousTrackRollEnd = bank;
// Set track slope and lift hill // Set track slope and lift hill
_currentTrackSlopeEnd = slope; _currentTrackSlopeEnd = slope;
@ -1124,14 +1124,14 @@ int32_t RideInitialiseConstructionWindow(Ride& ride)
_currentTrackCurve = ride.GetRideTypeDescriptor().StartTrackPiece | RideConstructionSpecialPieceSelected; _currentTrackCurve = ride.GetRideTypeDescriptor().StartTrackPiece | RideConstructionSpecialPieceSelected;
_currentTrackSlopeEnd = TrackPitch::None; _currentTrackSlopeEnd = TrackPitch::None;
_currentTrackBankEnd = TrackBank::None; _currentTrackRollEnd = TrackRoll::None;
_currentTrackLiftHill = 0; _currentTrackLiftHill = 0;
_currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES; _currentTrackAlternative = RIDE_TYPE_NO_ALTERNATIVES;
if (ride.GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED)) if (ride.GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED))
_currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE; _currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
_previousTrackBankEnd = TrackBank::None; _previousTrackRollEnd = TrackRoll::None;
_previousTrackSlopeEnd = TrackPitch::None; _previousTrackSlopeEnd = TrackPitch::None;
_currentTrackPieceDirection = 0; _currentTrackPieceDirection = 0;

View File

@ -49,12 +49,12 @@ extern track_type_t _currentTrackPieceType;
extern uint8_t _currentTrackSelectionFlags; extern uint8_t _currentTrackSelectionFlags;
extern uint32_t _rideConstructionNextArrowPulse; extern uint32_t _rideConstructionNextArrowPulse;
extern TrackPitch _currentTrackSlopeEnd; extern TrackPitch _currentTrackSlopeEnd;
extern TrackBank _currentTrackBankEnd; extern TrackRoll _currentTrackRollEnd;
extern uint8_t _currentTrackLiftHill; extern uint8_t _currentTrackLiftHill;
extern uint8_t _currentTrackAlternative; extern uint8_t _currentTrackAlternative;
extern track_type_t _selectedTrackType; extern track_type_t _selectedTrackType;
extern TrackBank _previousTrackBankEnd; extern TrackRoll _previousTrackRollEnd;
extern TrackPitch _previousTrackSlopeEnd; extern TrackPitch _previousTrackSlopeEnd;
extern CoordsXYZ _previousTrackPiece; extern CoordsXYZ _previousTrackPiece;

View File

@ -562,7 +562,7 @@ bool TrackElement::IsBlockStart() const
return false; return false;
} }
TrackBank TrackGetActualBank(TileElement* tileElement, TrackBank bank) TrackRoll TrackGetActualBank(TileElement* tileElement, TrackRoll bank)
{ {
auto ride = GetRide(tileElement->AsTrack()->GetRideIndex()); auto ride = GetRide(tileElement->AsTrack()->GetRideIndex());
if (ride != nullptr) if (ride != nullptr)
@ -573,26 +573,26 @@ TrackBank TrackGetActualBank(TileElement* tileElement, TrackBank bank)
return bank; return bank;
} }
TrackBank TrackGetActualBank2(int32_t rideType, bool isInverted, TrackBank bank) TrackRoll TrackGetActualBank2(int32_t rideType, bool isInverted, TrackRoll bank)
{ {
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE)) if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE))
{ {
if (isInverted) if (isInverted)
{ {
if (bank == TrackBank::None) if (bank == TrackRoll::None)
{ {
bank = TrackBank::UpsideDown; bank = TrackRoll::UpsideDown;
} }
else if (bank == TrackBank::UpsideDown) else if (bank == TrackRoll::UpsideDown)
{ {
bank = TrackBank::None; bank = TrackRoll::None;
} }
} }
} }
return bank; return bank;
} }
TrackBank TrackGetActualBank3(bool useInvertedSprites, TileElement* tileElement) TrackRoll TrackGetActualBank3(bool useInvertedSprites, TileElement* tileElement)
{ {
auto trackType = tileElement->AsTrack()->GetTrackType(); auto trackType = tileElement->AsTrack()->GetTrackType();
const auto& ted = GetTrackElementDescriptor(trackType); const auto& ted = GetTrackElementDescriptor(trackType);

View File

@ -26,7 +26,7 @@ using track_type_t = uint16_t;
struct ResultWithMessage; struct ResultWithMessage;
enum class TrackBank : uint8_t enum class TrackRoll : uint8_t
{ {
None = 0, None = 0,
Left = 2, Left = 2,
@ -53,15 +53,15 @@ struct TrackDefinition
track_type_t Type; track_type_t Type;
TrackPitch PitchEnd; TrackPitch PitchEnd;
TrackPitch PitchStart; TrackPitch PitchStart;
TrackBank RollEnd; TrackRoll RollEnd;
TrackBank RollStart; TrackRoll RollStart;
int8_t PreviewZOffset; int8_t PreviewZOffset;
}; };
struct PitchAndRoll struct PitchAndRoll
{ {
TrackPitch Pitch; TrackPitch Pitch;
TrackBank Roll; TrackRoll Roll;
}; };
constexpr bool operator==(const PitchAndRoll& vb1, const PitchAndRoll& vb2) constexpr bool operator==(const PitchAndRoll& vb1, const PitchAndRoll& vb2)
{ {
@ -686,9 +686,9 @@ bool TrackTypeIsBooster(track_type_t trackType);
std::optional<CoordsXYZ> GetTrackElementOriginAndApplyChanges( std::optional<CoordsXYZ> GetTrackElementOriginAndApplyChanges(
const CoordsXYZD& location, track_type_t type, uint16_t extra_params, TileElement** output_element, uint16_t flags); const CoordsXYZD& location, track_type_t type, uint16_t extra_params, TileElement** output_element, uint16_t flags);
TrackBank TrackGetActualBank(TileElement* tileElement, TrackBank bank); TrackRoll TrackGetActualBank(TileElement* tileElement, TrackRoll bank);
TrackBank TrackGetActualBank2(int32_t rideType, bool isInverted, TrackBank bank); TrackRoll TrackGetActualBank2(int32_t rideType, bool isInverted, TrackRoll bank);
TrackBank TrackGetActualBank3(bool useInvertedSprites, TileElement* tileElement); TrackRoll TrackGetActualBank3(bool useInvertedSprites, TileElement* tileElement);
ResultWithMessage TrackAddStationElement(CoordsXYZD loc, RideId rideIndex, int32_t flags, bool fromTrackDesign); ResultWithMessage TrackAddStationElement(CoordsXYZD loc, RideId rideIndex, int32_t flags, bool fromTrackDesign);
ResultWithMessage TrackRemoveStationElement(const CoordsXYZD& loc, RideId rideIndex, int32_t flags); ResultWithMessage TrackRemoveStationElement(const CoordsXYZD& loc, RideId rideIndex, int32_t flags);

File diff suppressed because it is too large Load Diff

View File

@ -27,10 +27,10 @@ struct TrackDescriptor
{ {
bool starts_diagonal; bool starts_diagonal;
TrackPitch slope_start; TrackPitch slope_start;
TrackBank RollStart; TrackRoll RollStart;
TrackCurve track_curve; TrackCurve track_curve;
TrackPitch slope_end; TrackPitch slope_end;
TrackBank RollEnd; TrackRoll RollEnd;
track_type_t track_element; track_type_t track_element;
}; };

View File

@ -526,10 +526,10 @@ void ScriptEngine::RegisterConstants()
.Constant("Up90", EnumValue(TrackPitch::Up90)) .Constant("Up90", EnumValue(TrackPitch::Up90))
.Constant("Down90", EnumValue(TrackPitch::Down90)); .Constant("Down90", EnumValue(TrackPitch::Down90));
builder.Namespace("TrackBanking") builder.Namespace("TrackBanking")
.Constant("None", EnumValue(TrackBank::None)) .Constant("None", EnumValue(TrackRoll::None))
.Constant("BankLeft", EnumValue(TrackBank::Left)) .Constant("BankLeft", EnumValue(TrackRoll::Left))
.Constant("BankRight", EnumValue(TrackBank::Right)) .Constant("BankRight", EnumValue(TrackRoll::Right))
.Constant("UpsideDown", EnumValue(TrackBank::UpsideDown)); .Constant("UpsideDown", EnumValue(TrackRoll::UpsideDown));
} }
void ScriptEngine::RefreshPlugins() void ScriptEngine::RefreshPlugins()

View File

@ -127,15 +127,15 @@ static std::tuple<bool, track_type_t> window_ride_construction_update_state_get_
auto startSlope = _previousTrackSlopeEnd; auto startSlope = _previousTrackSlopeEnd;
auto endSlope = _currentTrackSlopeEnd; auto endSlope = _currentTrackSlopeEnd;
auto startBank = _previousTrackBankEnd; auto startBank = _previousTrackRollEnd;
auto endBank = _currentTrackBankEnd; auto endBank = _currentTrackRollEnd;
if (_rideConstructionState == RideConstructionState::Back) if (_rideConstructionState == RideConstructionState::Back)
{ {
startSlope = _currentTrackSlopeEnd; startSlope = _currentTrackSlopeEnd;
endSlope = _previousTrackSlopeEnd; endSlope = _previousTrackSlopeEnd;
startBank = _currentTrackBankEnd; startBank = _currentTrackRollEnd;
endBank = _previousTrackBankEnd; endBank = _previousTrackRollEnd;
} }
auto curve = _currentTrackCurve; auto curve = _currentTrackCurve;
@ -188,7 +188,7 @@ static std::tuple<bool, track_type_t> window_ride_construction_update_state_get_
return std::make_tuple(false, 0); return std::make_tuple(false, 0);
} }
if (startBank != TrackBank::None || endBank != TrackBank::None) if (startBank != TrackRoll::None || endBank != TrackRoll::None)
{ {
return std::make_tuple(false, 0); return std::make_tuple(false, 0);
} }
@ -197,7 +197,7 @@ static std::tuple<bool, track_type_t> window_ride_construction_update_state_get_
case TrackElemType::LeftVerticalLoop: case TrackElemType::LeftVerticalLoop:
case TrackElemType::RightVerticalLoop: case TrackElemType::RightVerticalLoop:
if (startBank != TrackBank::None || endBank != TrackBank::None) if (startBank != TrackRoll::None || endBank != TrackRoll::None)
{ {
return std::make_tuple(false, 0); return std::make_tuple(false, 0);
} }