mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-30 02:05:13 +01:00
refactor ride track groups to use new bitset
remove erroneous value from dummy rtd make comment more descriptive remove comment
This commit is contained in:
@@ -320,18 +320,16 @@ bool RideTypeDescriptor::HasFlag(uint64_t flag) const
|
||||
return Flags & flag;
|
||||
}
|
||||
|
||||
uint64_t RideTypeDescriptor::GetAvailableTrackPieces() const
|
||||
void RideTypeDescriptor::GetAvailableTrackPieces(RideTrackGroup& res) const
|
||||
{
|
||||
res |= EnabledTrackPieces;
|
||||
if (gCheatsEnableAllDrawableTrackPieces)
|
||||
{
|
||||
return EnabledTrackPieces | ExtraTrackPieces;
|
||||
}
|
||||
return EnabledTrackPieces;
|
||||
res |= ExtraTrackPieces;
|
||||
}
|
||||
|
||||
bool RideTypeDescriptor::SupportsTrackPiece(const uint64_t trackPiece) const
|
||||
{
|
||||
return GetAvailableTrackPieces() & (1ULL << trackPiece);
|
||||
return EnabledTrackPieces.get(trackPiece) || (gCheatsEnableAllDrawableTrackPieces && ExtraTrackPieces.get(trackPiece));
|
||||
}
|
||||
|
||||
ResearchCategory RideTypeDescriptor::GetResearchCategory() const
|
||||
@@ -356,3 +354,15 @@ ResearchCategory RideTypeDescriptor::GetResearchCategory() const
|
||||
log_error("Cannot get Research Category of invalid RideCategory");
|
||||
return ResearchCategory::Transport;
|
||||
}
|
||||
|
||||
static RideTrackGroup _enabledRidePieces = {};
|
||||
|
||||
bool IsTrackEnabled(int32_t trackFlagIndex)
|
||||
{
|
||||
return _enabledRidePieces.get(trackFlagIndex);
|
||||
}
|
||||
|
||||
void UpdateEnabledRidePieces(ride_type_t rideType)
|
||||
{
|
||||
GetRideTypeDescriptor(rideType).GetAvailableTrackPieces(_enabledRidePieces);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user