Skip to content

Commit

Permalink
Number track styles
Browse files Browse the repository at this point in the history
  • Loading branch information
Gymnasiast committed Dec 2, 2024
1 parent 979bdcd commit be88e4e
Show file tree
Hide file tree
Showing 95 changed files with 315 additions and 106 deletions.
4 changes: 2 additions & 2 deletions src/openrct2/ride/RideData.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include "RideStringIds.h"
#include "ShopItem.h"
#include "Track.h"
#include "TrackPaint.h"
#include "TrackStyle.h"
#include "Vehicle.h"

enum class ResearchCategory : uint8_t;
Expand Down Expand Up @@ -288,7 +288,7 @@ enum class RideConstructionWindowContext : uint8_t

struct TrackDrawerEntry
{
TRACK_PAINT_FUNCTION_GETTER Drawer = nullptr;
TrackStyle trackStyle = TrackStyle::null;
SupportType supportType{};
/** rct2: 0x0097C468 (0 - 31) and 0x0097C5D4 (32 - 63) */
RideTrackGroups enabledTrackGroups{};
Expand Down
5 changes: 3 additions & 2 deletions src/openrct2/ride/TrackPaint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include "Station.h"
#include "TrackData.h"
#include "TrackDesign.h"
#include "TrackStyle.h"

using namespace OpenRCT2;
using namespace OpenRCT2::TrackMetaData;
Expand Down Expand Up @@ -2009,10 +2010,10 @@ void PaintTrack(PaintSession& session, Direction direction, int32_t height, cons
bool isInverted = trackElement.IsInverted() && rtd.HasFlag(RtdFlag::hasInvertedVariant);
const auto trackDrawerEntry = getTrackDrawerEntry(rtd, isInverted, TrackElementIsCovered(trackType));

if (trackDrawerEntry.Drawer != nullptr)
if (trackDrawerEntry.trackStyle != TrackStyle::null)
{
trackType = UncoverTrackElement(trackType);
TRACK_PAINT_FUNCTION paintFunction = trackDrawerEntry.Drawer(trackType);
TRACK_PAINT_FUNCTION paintFunction = GetTrackPaintFunction(trackDrawerEntry.trackStyle, trackType);
if (paintFunction != nullptr)
{
paintFunction(session, *ride, trackSequence, direction, height, trackElement, trackDrawerEntry.supportType);
Expand Down
105 changes: 105 additions & 0 deletions src/openrct2/ride/TrackStyle.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
/*****************************************************************************
* Copyright (c) 2014-2024 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/

#include "TrackStyle.h"

#include "TrackPaint.h"

static constexpr TRACK_PAINT_FUNCTION_GETTER kPaintFunctionMap[] = {
GetTrackPaintFunction3dCinema, // _3DCinema
GetTrackPaintFunctionAirPoweredVerticalRC, // airPoweredVerticalCoaster
OpenRCT2::AlpineRC::GetTrackPaintFunction, // alpineCoaster
GetTrackPaintFunctionBoatHire, // boatHire
GetTrackPaintFunctionBobsleighRC, // bobsleighCoaster
GetTrackPaintFunctionCarRide, // carRide
GetTrackPaintFunctionChairlift, // chairlift
GetTrackPaintFunctionCircus, // circus
GetTrackPaintFunctionClassicStandUpRC, // classicStandUpRollerCoaster
GetTrackPaintFunctionClassicWoodenRC, // classicWoodenRollerCoaster
GetTrackPaintFunctionClassicWoodenTwisterRC, // classicWoodenTwisterRollerCoaster
GetTrackPaintFunctionCompactInvertedRC, // compactInvertedCoaster
GetTrackPaintFunctionCorkscrewRC, // corkscrewRollerCoaster
GetTrackPaintFunctionCrookedHouse, // crookedHouse
GetTrackPaintFunctionDinghySlide, // dinghySlide
GetTrackPaintFunctionDinghySlideCovered, // dinghySlideCovered
GetTrackPaintFunctionDodgems, // dodgems
GetTrackPaintFunctionEnterprise, // enterprise
GetTrackPaintFunctionFacility, // facility
GetTrackPaintFunctionFerrisWheel, // ferrisWheel
GetTrackPaintFunctionFlyingRC, // flyingRollerCoaster
GetTrackPaintFunctionFlyingRCInverted, // flyingRollerCoasterInverted
GetTrackPaintFunctionFlyingSaucers, // flyingSaucers
GetTrackPaintFunctionGhostTrain, // ghostTrain
GetTrackPaintFunctionGoKarts, // goKarts
GetTrackPaintFunctionHauntedHouse, // hauntedHouse
GetTrackPaintFunctionHeartlineTwisterRC, // heartlineTwisterCoaster
OpenRCT2::HybridRC::GetTrackPaintFunction, // hybridCoaster
GetTrackPaintFunctionInvertedHairpinRC, // invertedHairpinCoaster
GetTrackPaintFunctionInvertedImpulseRC, // invertedImpulseCoaster
GetTrackPaintFunctionInvertedRC, // invertedRollerCoaster
GetTrackPaintFunctionJuniorRC, // juniorRollerCoaster
GetTrackPaintFunctionLatticeTriangleTrack, // latticeTriangle
GetTrackPaintFunctionLatticeTriangleTrackAlt, // latticeTriangleAlt
GetTrackPaintFunctionLaunchedFreefall, // launchedFreefall
GetTrackPaintFunctionLayDownRCInverted, // layDownRollerCoasterInverted
GetTrackPaintFunctionLift, // lift
GetTrackPaintFunctionLimLaunchedRC, // limLaunchedRollerCoaster
GetTrackPaintFunctionLogFlume, // logFlume
GetTrackPaintFunctionLoopingRC, // loopingRollerCoaster
GetTrackPaintFunctionMagicCarpet, // magicCarpet
GetTrackPaintFunctionMaze, // maze
GetTrackPaintFunctionMerryGoRound, // merryGoRound
GetTrackPaintFunctionMineRide, // mineRide
GetTrackPaintFunctionMineTrainRC, // mineTrainCoaster
GetTrackPaintFunctionMiniGolf, // miniGolf
GetTrackPaintFunctionMiniHelicopters, // miniHelicopters
GetTrackPaintFunctionMiniRC, // miniRollerCoaster
GetTrackPaintFunctionMiniSuspendedRC, // miniSuspendedCoaster
GetTrackPaintFunctionMiniatureRailway, // miniatureRailway
GetTrackPaintFunctionMonorail, // monorail
GetTrackPaintFunctionMonorailCycles, // monorailCycles
GetTrackPaintFunctionMotionsimulator, // motionSimulator
GetTrackPaintFunctionMultiDimensionRC, // multiDimensionRollerCoaster
GetTrackPaintFunctionMultiDimensionRC, // multiDimensionRollerCoasterInverted
GetTrackPaintFunctionObservationTower, // observationTower
GetTrackPaintFunctionReverseFreefallRC, // reverseFreefallCoaster
GetTrackPaintFunctionReverserRC, // reverserRollerCoaster
GetTrackPaintFunctionRiverRapids, // riverRapids
GetTrackPaintFunctionRotoDrop, // rotoDrop
GetTrackPaintFunctionShop, // shop
GetTrackPaintFunctionSideFrictionRC, // sideFrictionRollerCoaster
OpenRCT2::SingleRailRC::GetTrackPaintFunction, // singleRailRollerCoaster
GetTrackPaintFunctionSpaceRings, // spaceRings
GetTrackPaintFunctionSpiralSlide, // spiralSlide
GetTrackPaintFunctionSplashBoats, // splashBoats
GetTrackPaintFunctionStandUpRC, // standUpRollerCoaster
GetTrackPaintFunctionWildMouse, // steelWildMouse
GetTrackPaintFunctionSteeplechase, // steeplechase
GetTrackPaintFunctionSubmarineRide, // submarineRide
GetTrackPaintFunctionSuspendedMonorail, // suspendedMonorail
GetTrackPaintFunctionSuspendedSwingingRC, // suspendedSwingingCoaster
GetTrackPaintFunctionSwingingInverterShip, // swingingInverterShip
GetTrackPaintFunctionSwingingShip, // swingingShip
GetTrackPaintFunctionTopspin, // topSpin
GetTrackPaintFunctionTwist, // twist
GetTrackPaintFunctionTwisterRC, // twisterRollerCoaster
GetTrackPaintFunctionVirginiaReel, // virginiaReel
GetTrackPaintFunctionWaterRC, // waterCoaster
GetTrackPaintFunctionWoodenRC, // woodenRollerCoaster
GetTrackPaintFunctionWoodenWildMouse, // woodenWildMouse
};

TRACK_PAINT_FUNCTION GetTrackPaintFunction(TrackStyle trackStyle, OpenRCT2::TrackElemType trackType)
{
auto cast = static_cast<uint8_t>(trackStyle);
if (cast >= std::size(kPaintFunctionMap))
return nullptr;

return kPaintFunctionMap[cast](trackType);
}
103 changes: 103 additions & 0 deletions src/openrct2/ride/TrackStyle.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/*****************************************************************************
* Copyright (c) 2014-2024 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/

#pragma once

#include "TrackPaint.h"

#include <cstdint>

enum class TrackStyle : uint8_t
{
_3DCinema,
airPoweredVerticalCoaster,
alpineCoaster,
boatHire,
bobsleighCoaster,
carRide,
chairlift,
circus,
classicStandUpRollerCoaster,
classicWoodenRollerCoaster,
classicWoodenTwisterRollerCoaster,
compactInvertedCoaster,
corkscrewRollerCoaster,
crookedHouse,
dinghySlide,
dinghySlideCovered,
dodgems,
enterprise,
facility,
ferrisWheel,
flyingRollerCoaster,
flyingRollerCoasterInverted,
flyingSaucers,
ghostTrain,
goKarts,
hauntedHouse,
heartlineTwisterCoaster,
hybridCoaster,
invertedHairpinCoaster,
invertedImpulseCoaster,
invertedRollerCoaster,
juniorRollerCoaster,
latticeTriangle,
latticeTriangleAlt,
launchedFreefall,
layDownRollerCoasterInverted,
lift,
limLaunchedRollerCoaster,
logFlume,
loopingRollerCoaster,
magicCarpet,
maze,
merryGoRound,
mineRide,
mineTrainCoaster,
miniGolf,
miniHelicopters,
miniRollerCoaster,
miniSuspendedCoaster,
miniatureRailway,
monorail,
monorailCycles,
motionSimulator,
multiDimensionRollerCoaster,
multiDimensionRollerCoasterInverted,
observationTower,
reverseFreefallCoaster,
reverserRollerCoaster,
riverRapids,
rotoDrop,
shop,
sideFrictionRollerCoaster,
singleRailRollerCoaster,
spaceRings,
spiralSlide,
splashBoats,
standUpRollerCoaster,
steelWildMouse,
steeplechase,
submarineRide,
suspendedMonorail,
suspendedSwingingCoaster,
swingingInverterShip,
swingingShip,
topSpin,
twist,
twisterRollerCoaster,
virginiaReel,
waterCoaster,
woodenRollerCoaster,
woodenWildMouse,

null = 255,
};

TRACK_PAINT_FUNCTION GetTrackPaintFunction(TrackStyle trackStyle, OpenRCT2::TrackElemType trackType);
2 changes: 1 addition & 1 deletion src/openrct2/ride/rtd/coaster/AirPoweredVerticalCoaster.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor AirPoweredVerticalCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionAirPoweredVerticalRC,
.trackStyle = TrackStyle::airPoweredVerticalCoaster,
.supportType = WoodenSupportType::Truss,
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHillSteep, TrackGroup::liftHillCurve, TrackGroup::flatRollBanking, TrackGroup::curve, TrackGroup::brakes, TrackGroup::reverseFreefall, TrackGroup::slopeToFlat, TrackGroup::onridePhoto},
.extraTrackGroups = {TrackGroup::booster},
Expand Down
2 changes: 1 addition & 1 deletion src/openrct2/ride/rtd/coaster/AlpineCoaster.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ constexpr RideTypeDescriptor AlpineCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = OpenRCT2::AlpineRC::GetTrackPaintFunction,
.trackStyle = TrackStyle::alpineCoaster,
.supportType = MetalSupportType::Fork,
.enabledTrackGroups = { TrackGroup::flat, TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::slope, TrackGroup::flatToSteepSlope, TrackGroup::slopeCurve, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::helixDownBankedHalf},
.extraTrackGroups = {TrackGroup::helixUpBankedHalf},
Expand Down
2 changes: 1 addition & 1 deletion src/openrct2/ride/rtd/coaster/BobsleighCoaster.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor BobsleighCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionBobsleighRC,
.trackStyle = TrackStyle::bobsleighCoaster,
.supportType = MetalSupportType::Tubes,
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::slope, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve,TrackGroup::helixDownBankedHalf, TrackGroup::helixUpBankedHalf, TrackGroup::brakes,TrackGroup::blockBrakes, TrackGroup::onridePhoto},
.extraTrackGroups = {},
Expand Down
2 changes: 1 addition & 1 deletion src/openrct2/ride/rtd/coaster/ClassicMiniRollerCoaster.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor ClassicMiniRollerCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionJuniorRC,
.trackStyle = TrackStyle::juniorRollerCoaster,
.supportType = MetalSupportType::Fork,
.enabledTrackGroups = { TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::liftHillCurve, TrackGroup::flatRollBanking, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::flatToSteepSlope, TrackGroup::slopeCurve, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::helixDownBankedHalf, TrackGroup::helixUpBankedHalf, TrackGroup::brakes, TrackGroup::blockBrakes, TrackGroup::booster, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes},
.extraTrackGroups = {TrackGroup::onridePhoto},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor ClassicStandUpRollerCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionClassicStandUpRC,
.trackStyle = TrackStyle::classicStandUpRollerCoaster,
.supportType = MetalSupportType::Tubes,
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::verticalLoop, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::halfLoop, TrackGroup::corkscrew, TrackGroup::brakes, TrackGroup::onridePhoto, TrackGroup::blockBrakes, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes},
.extraTrackGroups = {},
Expand Down
2 changes: 1 addition & 1 deletion src/openrct2/ride/rtd/coaster/ClassicWoodenRollerCoaster.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor ClassicWoodenRollerCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionClassicWoodenRC,
.trackStyle = TrackStyle::classicWoodenRollerCoaster,
.supportType = WoodenSupportType::Truss,
.enabledTrackGroups = {TrackGroup::flat, TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::verticalLoop, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::brakes, TrackGroup::onridePhoto, TrackGroup::waterSplash, TrackGroup::blockBrakes, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes, TrackGroup::slopeSteepLong, TrackGroup::halfLoopMedium, TrackGroup::halfLoopLarge},
.extraTrackGroups = {TrackGroup::booster, TrackGroup::slopeCurveSteep},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor ClassicWoodenTwisterRollerCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionClassicWoodenTwisterRC,
.trackStyle = TrackStyle::classicWoodenTwisterRollerCoaster,
.supportType = WoodenSupportType::Truss,
.enabledTrackGroups = { TrackGroup::flat, TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::brakes, TrackGroup::onridePhoto, TrackGroup::blockBrakes, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes, TrackGroup::slopeSteepLong, TrackGroup::helixDownBankedHalf, TrackGroup::helixUpBankedHalf, TrackGroup::slopeCurveSteep, TrackGroup::slopeCurveBanked },
.extraTrackGroups = { TrackGroup::verticalLoop, TrackGroup::waterSplash, TrackGroup::booster, TrackGroup::halfLoopMedium, TrackGroup::halfLoopLarge },
Expand Down
2 changes: 1 addition & 1 deletion src/openrct2/ride/rtd/coaster/CompactInvertedCoaster.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor CompactInvertedCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionCompactInvertedRC,
.trackStyle = TrackStyle::compactInvertedCoaster,
.supportType = MetalSupportType::TubesInverted,
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::verticalLoop, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::slopeCurveSteep, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::twist, TrackGroup::halfLoop, TrackGroup::corkscrew, TrackGroup::helixDownBankedQuarter, TrackGroup::helixUpBankedQuarter, TrackGroup::brakes, TrackGroup::onridePhoto, TrackGroup::slopeVertical, TrackGroup::blockBrakes, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes},
.extraTrackGroups = {},
Expand Down
2 changes: 1 addition & 1 deletion src/openrct2/ride/rtd/coaster/CorkscrewRollerCoaster.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constexpr RideTypeDescriptor CorkscrewRollerCoasterRTD =
.Category = RIDE_CATEGORY_ROLLERCOASTER,
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionCorkscrewRC,
.trackStyle = TrackStyle::corkscrewRollerCoaster,
.supportType = MetalSupportType::Tubes,
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::verticalLoop, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::slopeCurveSteep, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::halfLoop, TrackGroup::corkscrew, TrackGroup::helixDownBankedHalf, TrackGroup::helixUpBankedHalf, TrackGroup::brakes, TrackGroup::onridePhoto, TrackGroup::blockBrakes,TrackGroup::booster, TrackGroup::slopeSteepLong, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes, TrackGroup::slopeRollBanking, TrackGroup::slopeCurveBanked, TrackGroup::slopeCurveLarge, TrackGroup::corkscrewLarge, TrackGroup::halfLoopMedium, TrackGroup::halfLoopLarge},
.extraTrackGroups = {TrackGroup::twist, TrackGroup::slopeVertical, TrackGroup::curveVertical, TrackGroup::quarterLoop, TrackGroup::barrelRoll, TrackGroup::zeroGRoll, TrackGroup::zeroGRollLarge},
Expand Down
Loading

0 comments on commit be88e4e

Please sign in to comment.