diff --git a/src/openrct2/paint/track/coaster/SideFrictionRollerCoaster.cpp b/src/openrct2/paint/track/coaster/SideFrictionRollerCoaster.cpp index f647b76e55..141eebc0c3 100644 --- a/src/openrct2/paint/track/coaster/SideFrictionRollerCoaster.cpp +++ b/src/openrct2/paint/track/coaster/SideFrictionRollerCoaster.cpp @@ -16,6 +16,7 @@ #include "../../../world/Map.h" #include "../../Paint.h" #include "../../support/WoodenSupports.h" +#include "../../support/WoodenSupports.hpp" #include "../../tile_element/Paint.TileElement.h" #include "../../tile_element/Segment.h" #include "../../track/Segment.h" @@ -88,8 +89,6 @@ static void SideFrictionRCTrackFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21664), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -98,8 +97,6 @@ static void SideFrictionRCTrackFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21665), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -108,8 +105,6 @@ static void SideFrictionRCTrackFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21668), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -118,8 +113,6 @@ static void SideFrictionRCTrackFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21669), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } } @@ -135,8 +128,6 @@ static void SideFrictionRCTrackFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21608), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: case 3: @@ -146,11 +137,11 @@ static void SideFrictionRCTrackFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21609), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); @@ -171,8 +162,8 @@ static void SideFrictionRCTrackStation( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(imageIds[direction]), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 2 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours); + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); TrackPaintUtilDrawStation2(session, ride, direction, height, trackElement, 9, 11); TrackPaintUtilDrawStationTunnel(session, direction, height); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); @@ -195,9 +186,6 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21690), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; case 1: PaintAddImageAsParentRotated( @@ -206,9 +194,6 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21691), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; case 2: PaintAddImageAsParentRotated( @@ -217,9 +202,6 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21692), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; case 3: PaintAddImageAsParentRotated( @@ -228,9 +210,6 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21693), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; } } @@ -245,9 +224,6 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21634), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; case 1: PaintAddImageAsParentRotated( @@ -256,9 +232,6 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21635), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; case 2: PaintAddImageAsParentRotated( @@ -267,9 +240,6 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21636), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; case 3: PaintAddImageAsParentRotated( @@ -278,12 +248,11 @@ static void SideFrictionRCTrack25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21637), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25Deg); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); @@ -312,9 +281,6 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21682), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; case 1: PaintAddImageAsParentRotated( @@ -323,9 +289,6 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21683), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; case 2: PaintAddImageAsParentRotated( @@ -334,9 +297,6 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21684), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; case 3: PaintAddImageAsParentRotated( @@ -345,9 +305,6 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21685), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; } } @@ -362,9 +319,6 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21626), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; case 1: PaintAddImageAsParentRotated( @@ -373,9 +327,6 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21627), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; case 2: PaintAddImageAsParentRotated( @@ -384,9 +335,6 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21628), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; case 3: PaintAddImageAsParentRotated( @@ -395,12 +343,11 @@ static void SideFrictionRCTrackFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21629), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::FlatToUp25Deg); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); @@ -429,9 +376,6 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21686), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; case 1: PaintAddImageAsParentRotated( @@ -440,9 +384,6 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21687), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; case 2: PaintAddImageAsParentRotated( @@ -451,9 +392,6 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21688), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; case 3: PaintAddImageAsParentRotated( @@ -462,9 +400,6 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21689), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; } } @@ -479,9 +414,6 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21630), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; case 1: PaintAddImageAsParentRotated( @@ -490,9 +422,6 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21631), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; case 2: PaintAddImageAsParentRotated( @@ -501,9 +430,6 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21632), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; case 3: PaintAddImageAsParentRotated( @@ -512,12 +438,11 @@ static void SideFrictionRCTrack25DegUpToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21633), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToFlat); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::Flat); @@ -570,8 +495,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21747), { 0, 2, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -579,8 +502,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21752), { 0, 2, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -588,8 +509,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21757), { 0, 2, height }, { { 0, 2, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -597,10 +516,10 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21742), { 0, 2, height }, { { 0, 2, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); @@ -626,8 +545,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21746), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -635,8 +552,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21751), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -644,8 +559,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21756), { 0, 16, height }, { { 0, 16, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -653,10 +566,10 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21741), { 0, 16, height }, { { 0, 16, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments( @@ -676,8 +589,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21745), { 0, 16, height }, { { 0, 16, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -685,8 +596,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21750), { 16, 16, height }, { { 16, 16, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -694,8 +603,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21755), { 16, 0, height }, { { 16, 0, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -703,10 +610,10 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21740), { 0, 0, height }, { { 0, 0, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments( @@ -736,8 +643,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21744), { 16, 0, height }, { { 16, 0, height + 27 }, { 16, 34, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -745,8 +650,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21749), { 0, 0, height }, { { 0, 0, height + 27 }, { 16, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -754,8 +657,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21754), { 0, 0, height }, { { 0, 0, height + 27 }, { 16, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -763,10 +664,10 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21739), { 16, 0, height }, { { 16, 0, height + 27 }, { 16, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments( @@ -786,8 +687,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21743), { 2, 0, height }, { { 2, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -795,8 +694,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21748), { 2, 0, height }, { { 2, 0, height + 27 }, { 27, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -804,8 +701,6 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21753), { 2, 0, height }, { { 2, 0, height + 27 }, { 27, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -813,10 +708,10 @@ static void SideFrictionRCTrackLeftQuarterTurn5( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21738), { 2, 0, height }, { { 2, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); switch (direction) { case 2: @@ -858,8 +753,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21904), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -868,8 +761,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21908), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -878,8 +769,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21907), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -888,10 +777,10 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21911), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); @@ -909,8 +798,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21905), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -919,8 +806,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21909), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -929,8 +814,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21906), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -939,10 +822,10 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21910), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments( @@ -963,8 +846,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21906), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -973,8 +854,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21910), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -983,8 +862,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21905), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -993,10 +870,10 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21909), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments( @@ -1017,8 +894,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21907), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1027,8 +902,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21911), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1037,8 +910,6 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21904), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1047,10 +918,10 @@ static void SideFrictionRCTrackSBendLeft( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21908), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); switch (direction) { case 1: @@ -1083,8 +954,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21912), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1093,8 +962,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21916), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1103,8 +970,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21915), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1113,10 +978,10 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21919), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); @@ -1134,8 +999,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21913), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1144,8 +1007,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21917), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1154,8 +1015,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21914), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1164,10 +1023,10 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21918), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments( @@ -1188,8 +1047,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21914), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1198,8 +1055,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21918), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1208,8 +1063,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21913), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1218,10 +1071,10 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21917), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 26, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments( @@ -1242,8 +1095,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21915), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1252,8 +1103,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21919), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1262,8 +1111,6 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21912), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1272,10 +1119,10 @@ static void SideFrictionRCTrackSBendRight( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21916), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); switch (direction) { case 1: @@ -1308,8 +1155,6 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21711), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 20, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1318,8 +1163,6 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21714), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 20, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1328,8 +1171,6 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21717), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 20, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1338,10 +1179,10 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21708), { 0, 0, height }, { { 0, 6, height + 27 }, { 32, 20, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); @@ -1408,8 +1249,6 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21709), { 0, 0, height }, { { 6, 0, height + 27 }, { 20, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1418,8 +1257,6 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21712), { 0, 0, height }, { { 6, 0, height + 27 }, { 20, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1428,8 +1265,6 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21715), { 0, 0, height }, { { 6, 0, height + 27 }, { 20, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1438,10 +1273,10 @@ static void SideFrictionRCTrackLeftQuarterTurn3( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21706), { 0, 0, height }, { { 6, 0, height + 27 }, { 20, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); switch (direction) { case 2: @@ -1481,7 +1316,6 @@ static void SideFrictionRCTrackBrakes( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21612), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup(session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: case 3: @@ -1491,9 +1325,10 @@ static void SideFrictionRCTrackBrakes( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21613), { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } }); - WoodenASupportsPaintSetup(session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); @@ -1516,8 +1351,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21806), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1526,8 +1359,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21810), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1536,8 +1367,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21814), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1546,10 +1375,10 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21818), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); @@ -1567,8 +1396,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21807), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1577,8 +1404,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21811), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1587,8 +1412,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21815), { 0, 0, height }, { { 0, 16, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1597,10 +1420,10 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21819), { 0, 0, height }, { { 0, 16, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); break; @@ -1614,8 +1437,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21808), { 0, 0, height }, { { 0, 16, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1624,8 +1445,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21812), { 0, 0, height }, { { 16, 16, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1634,8 +1453,6 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21816), { 0, 0, height }, { { 16, 0, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1644,33 +1461,16 @@ static void SideFrictionRCTrackLeftEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21820), { 0, 0, height }, { { 0, 0, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); break; case 3: - switch (direction) - { - case 0: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 2: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); break; @@ -1733,8 +1533,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21774), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1743,8 +1541,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21778), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1753,8 +1549,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21782), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1763,10 +1557,10 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21786), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); @@ -1784,8 +1578,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21775), { 0, 0, height }, { { 0, 16, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1794,8 +1586,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21779), { 0, 0, height }, { { 0, 16, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1804,8 +1594,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21783), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NeSw, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1814,10 +1602,10 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21787), { 0, 0, height }, { { 0, 0, height + 27 }, { 32, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::NwSe, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); break; @@ -1831,8 +1619,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21776), { 0, 0, height }, { { 0, 0, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); break; case 1: PaintAddImageAsParentRotated( @@ -1841,8 +1627,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21780), { 0, 0, height }, { { 16, 0, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; case 2: PaintAddImageAsParentRotated( @@ -1851,8 +1635,6 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21784), { 0, 0, height }, { { 4, 4, height + 27 }, { 28, 28, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); break; case 3: PaintAddImageAsParentRotated( @@ -1861,33 +1643,16 @@ static void SideFrictionRCTrackRightEighthToDiag( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21788), { 0, 0, height }, { { 0, 16, height + 27 }, { 16, 16, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); break; case 3: - switch (direction) - { - case 0: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); - break; - case 2: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); - break; - } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); break; @@ -1978,9 +1743,6 @@ static void SideFrictionRCTrackDiagFlat( session, direction, session.TrackColours.WithIndex(additionalImages[trackElement.HasChain()][direction]), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); } - - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height, session.SupportColours); break; case 2: if (direction == 2) @@ -1989,11 +1751,10 @@ static void SideFrictionRCTrackDiagFlat( session, direction, session.TrackColours.WithIndex(additionalImages[trackElement.HasChain()][direction]), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); } - - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height, session.SupportColours); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); @@ -2029,8 +1790,6 @@ static void SideFrictionRCTrackDiag25DegUp( break; } } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 1: if (trackElement.HasChain()) @@ -2061,12 +1820,6 @@ static void SideFrictionRCTrackDiag25DegUp( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 2: if (trackElement.HasChain()) @@ -2097,12 +1850,6 @@ static void SideFrictionRCTrackDiag25DegUp( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 3: if (trackElement.HasChain()) @@ -2127,10 +1874,13 @@ static void SideFrictionRCTrackDiag25DegUp( break; } } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; } + DrawSupportForSequenceB( + session, supportType.wooden, trackSequence, direction, height + 16, session.SupportColours); + + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56); } /** rct2: 0x0077851C */ @@ -2178,20 +1928,6 @@ static void SideFrictionRCTrackDiagFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21856), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); - break; - case 2: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; } } @@ -2206,23 +1942,11 @@ static void SideFrictionRCTrackDiagFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21832), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); - break; - case 2: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); break; @@ -2231,14 +1955,6 @@ static void SideFrictionRCTrackDiagFlatTo25DegUp( { switch (direction) { - case 0: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); - break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21854), { -16, -16, height }, @@ -2246,12 +1962,6 @@ static void SideFrictionRCTrackDiagFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21857), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; } } @@ -2259,14 +1969,6 @@ static void SideFrictionRCTrackDiagFlatTo25DegUp( { switch (direction) { - case 0: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); - break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21830), { -16, -16, height }, @@ -2274,15 +1976,11 @@ static void SideFrictionRCTrackDiagFlatTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21833), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); break; @@ -2345,8 +2043,6 @@ static void SideFrictionRCTrackDiag25DegUpToFlat( break; } } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 1: if (trackElement.HasChain()) @@ -2377,12 +2073,6 @@ static void SideFrictionRCTrackDiag25DegUpToFlat( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 2: if (trackElement.HasChain()) @@ -2413,12 +2103,6 @@ static void SideFrictionRCTrackDiag25DegUpToFlat( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 3: if (trackElement.HasChain()) @@ -2443,10 +2127,13 @@ static void SideFrictionRCTrackDiag25DegUpToFlat( break; } } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); + break; } + DrawSupportForSequenceB( + session, supportType.wooden, trackSequence, direction, height + 16, session.SupportColours); + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56); } /** rct2: 0x0077859C */ @@ -2479,8 +2166,6 @@ static void SideFrictionRCTrackDiag25DegDown( break; } } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 1: if (trackElement.HasChain()) @@ -2511,12 +2196,6 @@ static void SideFrictionRCTrackDiag25DegDown( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 2: if (trackElement.HasChain()) @@ -2547,12 +2226,6 @@ static void SideFrictionRCTrackDiag25DegDown( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); break; case 3: if (trackElement.HasChain()) @@ -2577,10 +2250,13 @@ static void SideFrictionRCTrackDiag25DegDown( break; } } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56); + break; } + DrawSupportForSequenceB( + session, supportType.wooden, trackSequence, direction, height + 16, session.SupportColours); + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56); } /** rct2: 0x0077857C */ @@ -2643,10 +2319,6 @@ static void SideFrictionRCTrackDiagFlatTo25DegDown( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height + 16, session.SupportColours); - break; case 2: if (trackElement.HasChain()) @@ -2677,10 +2349,6 @@ static void SideFrictionRCTrackDiagFlatTo25DegDown( break; } } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height + 16, session.SupportColours); - break; case 3: if (trackElement.HasChain()) @@ -2708,6 +2376,8 @@ static void SideFrictionRCTrackDiagFlatTo25DegDown( break; } + DrawSupportForSequenceB( + session, supportType.wooden, trackSequence, direction, height + 16, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 56); } @@ -2757,20 +2427,6 @@ static void SideFrictionRCTrackDiag25DegDownToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21857), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); - break; - case 2: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; } } @@ -2785,23 +2441,11 @@ static void SideFrictionRCTrackDiag25DegDownToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21833), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); - break; - case 2: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); break; @@ -2810,14 +2454,6 @@ static void SideFrictionRCTrackDiag25DegDownToFlat( { switch (direction) { - case 0: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); - break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21852), { -16, -16, height }, @@ -2825,12 +2461,6 @@ static void SideFrictionRCTrackDiag25DegDownToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21856), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; } } @@ -2838,14 +2468,6 @@ static void SideFrictionRCTrackDiag25DegDownToFlat( { switch (direction) { - case 0: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours); - break; - case 1: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours); - break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21828), { -16, -16, height }, @@ -2853,15 +2475,11 @@ static void SideFrictionRCTrackDiag25DegDownToFlat( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(21832), { -16, -16, height }, { { -16, -16, height + 35 }, { 32, 32, 0 } }); - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours); - break; - case 3: - WoodenASupportsPaintSetup( - session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours); break; } } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); break; @@ -2907,9 +2525,6 @@ static void SideFrictionRCTrack60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_DIR_0_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60Deg); break; case 1: PaintAddImageAsParentRotated( @@ -2919,10 +2534,6 @@ static void SideFrictionRCTrack60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_DIR_1_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60Deg); break; case 2: PaintAddImageAsParentRotated( @@ -2931,10 +2542,6 @@ static void SideFrictionRCTrack60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_DIR_2_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60Deg); break; case 3: PaintAddImageAsParentRotated( @@ -2943,11 +2550,10 @@ static void SideFrictionRCTrack60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_DIR_3_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60Deg); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { @@ -2981,9 +2587,6 @@ static void SideFrictionRCTrack25DegUpTo60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_0_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToUp60Deg); break; case 1: PaintAddImageAsParentRotated( @@ -2992,9 +2595,6 @@ static void SideFrictionRCTrack25DegUpTo60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_1_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToUp60Deg); break; case 2: PaintAddImageAsParentRotated( @@ -3003,9 +2603,6 @@ static void SideFrictionRCTrack25DegUpTo60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_2_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToUp60Deg); break; case 3: PaintAddImageAsParentRotated( @@ -3014,11 +2611,10 @@ static void SideFrictionRCTrack25DegUpTo60DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_3_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up25DegToUp60Deg); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { @@ -3052,9 +2648,6 @@ static void SideFrictionRCTrack60DegUpTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_0_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60DegToUp25Deg); break; case 1: PaintAddImageAsParentRotated( @@ -3063,9 +2656,6 @@ static void SideFrictionRCTrack60DegUpTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_1_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60DegToUp25Deg); break; case 2: PaintAddImageAsParentRotated( @@ -3074,9 +2664,6 @@ static void SideFrictionRCTrack60DegUpTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_2_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60DegToUp25Deg); break; case 3: PaintAddImageAsParentRotated( @@ -3085,11 +2672,10 @@ static void SideFrictionRCTrack60DegUpTo25DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours.WithIndex(SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_3_B), { 0, 0, height }, { { 0, 26, height + 5 }, { 32, 1, 9 } }); - WoodenASupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, - WoodenSupportTransitionType::Up60DegToUp25Deg); break; } + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); if (direction == 0 || direction == 3) { @@ -3125,8 +2711,6 @@ static void SideFrictionRCTrackDiag60DegUp( { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } }); break; } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 104); break; case 1: switch (direction) @@ -3140,12 +2724,6 @@ static void SideFrictionRCTrackDiag60DegUp( { -16, -16, height }, { { -16, -16, height + 43 }, { 32, 32, 0 } }); break; } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 104); break; case 2: switch (direction) @@ -3159,12 +2737,6 @@ static void SideFrictionRCTrackDiag60DegUp( { -16, -16, height }, { { -16, -16, height + 43 }, { 32, 32, 0 } }); break; } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 104); break; case 3: switch (direction) @@ -3176,10 +2748,12 @@ static void SideFrictionRCTrackDiag60DegUp( break; } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 104); break; } + DrawSupportForSequenceB( + session, supportType.wooden, trackSequence, direction, height + 16, session.SupportColours); + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 104); } static void SideFrictionRCTrackDiag60DegDown( @@ -3205,8 +2779,6 @@ static void SideFrictionRCTrackDiag60DegUpTo25DegUp( { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } }); break; } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); break; case 1: switch (direction) @@ -3222,12 +2794,6 @@ static void SideFrictionRCTrackDiag60DegUpTo25DegUp( { -16, -16, height }, { { -16, -16, height + 59 }, { 32, 32, 0 } }); break; } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); break; case 2: switch (direction) @@ -3243,12 +2809,6 @@ static void SideFrictionRCTrackDiag60DegUpTo25DegUp( { -16, -16, height }, { { -16, -16, height + 59 }, { 32, 32, 0 } }); break; } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); break; case 3: switch (direction) @@ -3260,10 +2820,13 @@ static void SideFrictionRCTrackDiag60DegUpTo25DegUp( { -16, -16, height }, { { 0, 0, height }, { 16, 16, 2 } }); break; } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); + break; } + DrawSupportForSequenceB( + session, supportType.wooden, trackSequence, direction, height + 16, session.SupportColours); + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); } static void SideFrictionRCTrackDiag25DegDownTo60DegDown( @@ -3290,8 +2853,6 @@ static void SideFrictionRCTrackDiag25DegUpTo60DegUp( { -16 + 4, -16 + 2, height }, { { -16, -16, height }, { 32, 32, 2 } }); break; } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); break; case 1: switch (direction) @@ -3306,12 +2867,6 @@ static void SideFrictionRCTrackDiag25DegUpTo60DegUp( { { -16, -16, height + 59 }, { 32, 32, 0 } }); break; } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner0, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); break; case 2: switch (direction) @@ -3326,12 +2881,6 @@ static void SideFrictionRCTrackDiag25DegUpTo60DegUp( { { -16, -16, height + 59 }, { 32, 32, 0 } }); break; } - - WoodenBSupportsPaintSetupRotated( - session, supportType.wooden, WoodenSupportSubType::Corner2, direction, height + 16, session.SupportColours); - - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); break; case 3: switch (direction) @@ -3343,10 +2892,13 @@ static void SideFrictionRCTrackDiag25DegUpTo60DegUp( { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } }); break; } - PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72); + break; } + DrawSupportForSequenceB( + session, supportType.wooden, trackSequence, direction, height + 16, session.SupportColours); + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); } static void SideFrictionRCTrackDiag60DegDownTo25DegDown( diff --git a/src/openrct2/ride/TrackData.cpp b/src/openrct2/ride/TrackData.cpp index 1bb4a770e2..a866afe9bd 100644 --- a/src/openrct2/ride/TrackData.cpp +++ b/src/openrct2/ride/TrackData.cpp @@ -727,13 +727,13 @@ namespace OpenRCT2::TrackMetaData { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up60DegToUp25Deg } }, // Down25ToDown60 { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25DegToUp60Deg } }, // Down60ToDown25 { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::FlatToUp25Deg } }, // Down25ToFlat - { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::NwSe } }, // LeftQuarterTurn5Tiles + { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::Corner1 }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::NwSe } }, // LeftQuarterTurn5Tiles { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::NwSe } }, // RightQuarterTurn5Tiles { SequenceWoodenSupport{ WoodenSupportSubType::NeSw } }, // FlatToLeftBank { SequenceWoodenSupport{ WoodenSupportSubType::NeSw } }, // FlatToRightBank { SequenceWoodenSupport{ WoodenSupportSubType::NeSw } }, // LeftBankToFlat { SequenceWoodenSupport{ WoodenSupportSubType::NeSw } }, // RightBankToFlat - { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::NwSe } }, // BankedLeftQuarterTurn5Tiles + { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::Corner1 }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::NwSe } }, // BankedLeftQuarterTurn5Tiles { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, { WoodenSupportSubType::Null }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::NwSe } }, // BankedRightQuarterTurn5Tiles { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::FlatToUp25Deg } }, // LeftBankToUp25 { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::FlatToUp25Deg } }, // RightBankToUp25 @@ -747,7 +747,7 @@ namespace OpenRCT2::TrackMetaData { SequenceWoodenSupport{ WoodenSupportSubType::NeSw } }, // RightBank { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg }, {}, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::Corner1 }, {}, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg } }, // LeftQuarterTurn5TilesUp25 { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg }, {}, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, {}, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg } }, // RightQuarterTurn5TilesUp25 - { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg }, {}, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, {}, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg } }, // LeftQuarterTurn5TilesDown25 + { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg }, {}, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::Corner1 }, {}, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg } }, // LeftQuarterTurn5TilesDown25 { SequenceWoodenSupport{ WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg }, {}, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, {}, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::NeSw, WoodenSupportTransitionType::Up25Deg } }, // RightQuarterTurn5TilesDown25 { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Corner3 }, { WoodenSupportSubType::Corner1 }, { WoodenSupportSubType::NeSw } }, // SBendLeft { SequenceWoodenSupport{ WoodenSupportSubType::NeSw }, { WoodenSupportSubType::Corner2 }, { WoodenSupportSubType::Corner0 }, { WoodenSupportSubType::NeSw } }, // SBendRight