From 34013c5bdf95567471b7d876077cf4491506fbfd Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Sat, 4 Mar 2023 20:14:12 +0000 Subject: [PATCH 01/27] Enable giga pieces --- src/openrct2/ride/coaster/meta/GigaCoaster.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index 21845f0c6b..7d6955e012 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -19,7 +19,7 @@ constexpr RideTypeDescriptor GigaCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}), SET_FIELD(ExtraTrackPieces, {}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), From d8a40335699e46ee6bc754b608f1b8e9c397b02d Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Mon, 6 Mar 2023 21:03:21 +0000 Subject: [PATCH 02/27] Add giga coaster paint code --- src/openrct2/ride/coaster/GigaCoaster.cpp | 7522 ++++++++++++++++++++- 1 file changed, 7521 insertions(+), 1 deletion(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 9a86ba20b8..1b381b1167 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -9410,6 +9410,7328 @@ static void GigaRCTrackPoweredLift( PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); } + + +static void GigaRCTrack90DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 8)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 9)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 10)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 11)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + } + PaintUtilSetVerticalTunnel(session, height + 32); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); + break; + case 1: + break; +} +} + +static void GigaRCTrack90DegDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrack90DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrack60DegUpTo90DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 1)), + { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 2)), + { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 3)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + if (TrackPaintUtilShouldPaintSupports(session.MapPosition)) + { + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 36, height, session.TrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetVerticalTunnel(session, height + 56); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + break; +} +} + +static void GigaRCTrack90DegDownTo60DegDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrack60DegUpTo90DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrack90DegUpTo60DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (direction) +{ + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 4)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 5)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 6)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 7)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; +} +switch (direction) +{ + case 1: + PaintUtilPushTunnelRight(session, height + 48, TUNNEL_2); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_2); + break; +} +PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); +PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20); +} + +static void GigaRCTrack60DegDownTo90DegDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 6)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 7)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 4)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 5)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20); + break; + case 1: + break; +} +} + +static void GigaRCTrackLeftQuarterTurn190DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 0)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 1)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 2)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 3)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 4)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 5)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + } + PaintUtilSetVerticalTunnel(session, height + 96); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20); + break; + case 1: + break; +} +} + +static void GigaRCTrackRightQuarterTurn190DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 6)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 7)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 8)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 9)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 10)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 11)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); + break; + } + PaintUtilSetVerticalTunnel(session, height + 96); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20); + break; + case 1: + break; +} +} + +static void GigaRCTrackLeftQuarterTurn190DegDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightQuarterTurn190DegUp(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); +} + +static void GigaRCTrackRightQuarterTurn190DegDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftQuarterTurn190DegUp(session, ride, trackSequence, (direction - 1) & 3, height, trackElement); +} + +static void GigaRCTrackLeftBarrelRollUpToDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 1)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 6)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 7)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 12)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 13)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 18)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 19)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 2)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 3)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 9)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 14)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 15)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 21)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 5)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 10)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 11)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 17)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 23)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height, TUNNEL_INVERTED_3); + break; + case 2: + PaintUtilPushTunnelLeft(session, height, TUNNEL_INVERTED_3); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackRightBarrelRollUpToDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 24)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 25)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 30)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 31)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 37)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 42)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 43)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 26)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 27)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 32)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 33)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 38)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 39)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 44)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 45)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 29)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 34)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 35)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 40)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 41)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 46)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 47)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height, TUNNEL_INVERTED_3); + break; + case 2: + PaintUtilPushTunnelLeft(session, height, TUNNEL_INVERTED_3); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackLeftBarrelRollDownToUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftBarrelRollUpToDown(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackRightBarrelRollDownToUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightBarrelRollUpToDown(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackHalfLoopUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 0)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 4)), + { 0, 6, height }, { 32, 20, 11 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 8)), + { 0, 6, height }, { 32, 20, 9 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 12)), + { 0, 6, height }, { 32, 20, 7 }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 5)), + { 0, 14, height }, { { 28, 6, height }, { 3, 20, 63 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 9)), + { 0, 6, height }, { { 28, 6, height }, { 3, 20, 63 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 13)), + { 0, 6, height }, { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 2)), + { 16, 0, height }, { 2, 16, 119 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 6)), + { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 10)), + { 10, 16, height }, { 4, 12, 119 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 14)), + { 16, 16, height }, { { 15, 6, height }, { 2, 16, 119 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 3)), + { 0, 0, height + 32 }, { 32, 16, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 7)), + { 0, 0, height + 32 }, { 32, 16, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 11)), + { 0, 16, height + 32 }, { 32, 12, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 15)), + { 0, 16, height + 32 }, { 32, 12, 3 }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackHalfLoopDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackHalfLoopUp(session, ride, 3 - trackSequence, direction, height, trackElement); +} + +static void GigaRCTrackLeftCorkscrewUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 0)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 3)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 6)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 9)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + } + + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 1)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 4)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 7)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 10)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 2)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 5)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 8)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 11)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 33, session.TrackColours[SCHEME_SUPPORTS]); + + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 3: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackRightCorkscrewUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 12)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 15)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 18)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 21)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 13)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 16)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 19)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 22)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 14)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 17)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 20)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 23)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 33, session.TrackColours[SCHEME_SUPPORTS]); + + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 1: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackLeftCorkscrewDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightCorkscrewUp(session, ride, 2 - trackSequence, (direction + 1) & 3, height, trackElement); +} +static void GigaRCTrackRightCorkscrewDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftCorkscrewUp(session, ride, 2 - trackSequence, (direction - 1) & 3, height, trackElement); +} + +static void GigaRCTrackLeftLargeCorkscrewUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 0)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 5)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 10)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 15)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + } + + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 34, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 6)), + { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 22, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 11)), + { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 24, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 2)), + { 0, 0, height }, { { 0, 31, height }, { 48, 1, 64 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 7)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 12)), + { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 17)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 4: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 3)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 8)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 13)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 18)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 4)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 9)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 14)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 19)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 3: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackRightLargeCorkscrewUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 20)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 25)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 30)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 35)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + } + + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_BC | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 26)), + { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 24, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 31)), + { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 22, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 34, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 27)), + { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 32)), + { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 37)), + { 0, 0, height }, { { 0, 31, height }, { 48, 1, 64 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 4: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 23)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 28)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 33)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 38)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 24)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 29)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 34)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 39)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 1: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackLeftLargeCorkscrewDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightLargeCorkscrewUp(session, ride, 5 - trackSequence, (direction + 1) & 3, height, trackElement); +} + +static void GigaRCTrackRightLargeCorkscrewDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftLargeCorkscrewUp(session, ride, 5 - trackSequence, (direction - 1) & 3, height, trackElement); +} + +static void GigaRCTrackLeftMediumHalfLoopUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 5)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 10)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 15)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 6)), + { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 11)), + { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_B4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 2)), + { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 7)), + { 0, 0, height }, { { 29, 0, height }, { 1, 32, 96 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 12)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 96 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 17)), + { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 3)), + { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 8)), + { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 13)), + { 0, 0, height }, { { 29, 0, height }, { 1, 32, 160 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 18)), + { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 4)), + { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 9)), + { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 14)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 19)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_CC | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction), + 0xFFFF, 0); + + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 16, TUNNEL_0); + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackRightMediumHalfLoopUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 25)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 30)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 26)), + { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 31)), + { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_CC | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 22)), + { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 27)), + { 0, 0, height }, { { 30, 0, height }, { 0, 32, 96 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 32)), + { 0, 0, height }, { { 29, 0, height }, { 0, 32, 96 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 37)), + { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 23)), + { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 28)), + { 0, 0, height }, { { 29, 0, height }, { 0, 32, 160 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 33)), + { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 38)), + { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 24)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 29)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 34)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 39)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_B4, direction), + 0xFFFF, 0); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 16, TUNNEL_0); + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackLeftMediumHalfLoopDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightMediumHalfLoopUp(session, ride, 4 - trackSequence, direction, height, trackElement); +} + +static void GigaRCTrackRightMediumHalfLoopDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftMediumHalfLoopUp(session, ride, 4 - trackSequence, direction, height, trackElement); +} + +static void GigaRCTrackLeftZeroGRollUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 1)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 5)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 12)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 2)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 6)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 9)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 13)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 3)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 7)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 10)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 11)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 14)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 15)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 38, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; +} +} + +static void GigaRCTrackRightZeroGRollUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 24)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 25)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 29)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 17)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 26)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 30)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 18)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 19)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 23)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 27)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 31)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 38, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; +} +} + +static void GigaRCTrackLeftZeroGRollDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftZeroGRollUp(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackRightZeroGRollDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightZeroGRollUp(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackLeftLargeZeroGRollUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 5)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 9)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 10)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 15)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 25, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 2)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 6)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 11)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 3)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 7)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 12)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 17)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 18)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 4)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 8)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 13)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 14)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 19)), + { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; +} +} + +static void GigaRCTrackRightLargeZeroGRollUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 25)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 26)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 31)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 25, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 27)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 32)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 37)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 22)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 23)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 28)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 33)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 38)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + } + + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 24)), + { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 29)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 30)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 34)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 39)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; +} +} + +static void GigaRCTrackLeftLargeZeroGRollDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftLargeZeroGRollUp(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackRightLargeZeroGRollDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightLargeZeroGRollUp(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrack90DegToInvertedFlatQuarterLoopUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 0)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 3)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 6)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 9)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 1)), + { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 4)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 7)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 10)), + { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 2)), + { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 5)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 8)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 11)), + { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackInvertedFlatTo90DegQuarterLoopDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrack90DegToInvertedFlatQuarterLoopUp(session, ride, 2 - trackSequence, direction, height, trackElement); +} + +static void GigaRCTrackLeftBankToLeftQuarterTurn3Tile25DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 0)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 2)), + { 0, 6, height }, { 32, 20, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 3)), + { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 5)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 7)), + { 0, 6, height }, { 32, 20, 3 }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 1)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 4)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 6)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 8)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height, TUNNEL_2); + break; + case 3: + PaintUtilPushTunnelLeft(session, height, TUNNEL_2); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; +} +} + +static void GigaRCTrackRightBankToRightQuarterTurn3Tile25DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 9)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 11)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 13)), + { 0, 6, height }, { 32, 20, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 14)), + { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 16)), + { 0, 6, height }, { 32, 20, 3 }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 10)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 12)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 15)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 17)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height, TUNNEL_2); + break; + case 1: + PaintUtilPushTunnelLeft(session, height, TUNNEL_2); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; +} +} + +static void GigaRCTrackLeftQuarterTurn3Tile25DegDownToLeftBank( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 12)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 15)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 17)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 10)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 11)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 13)), + { 6, 0, height }, { 20, 32, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 14)), + { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 16)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 9)), + { 6, 0, height }, { 20, 32, 3 }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height, TUNNEL_0); + break; + case 3: + PaintUtilPushTunnelLeft(session, height, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; +} +} + +static void GigaRCTrackRightQuarterTurn3Tile25DegDownToRightBank( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 8)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 1)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 4)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 6)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 7)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 0)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 2)), + { 6, 0, height }, { 20, 32, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 3)), + { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 5)), + { 6, 0, height }, { 20, 32, 3 }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height, TUNNEL_0); + break; + case 1: + PaintUtilPushTunnelLeft(session, height, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; +} +} + +static void GigaRCTrackLeftLargeHalfLoopUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 7)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 14)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 15)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 2)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 9)), + { 0, 0, height }, { { 0, 0, height + 70 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 16)), + { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 23)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 3)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 10)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 17)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 24)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 4)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 11)), + { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 18)), + { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 25)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 128, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 5)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 12)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 19)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 26)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 6: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 6)), + { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 13)), + { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 20)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 27)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; +} +} + +static void GigaRCTrackRightLargeHalfLoopUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 42)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 49)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 29)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 43)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 50)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 30)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 37)), + { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 44)), + { 0, 0, height }, { { 0, 0, height + 70 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 51)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 31)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 8, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 38)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 45)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 52)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 32)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 39)), + { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 46)), + { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 53)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 128, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 33)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 40)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 47)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 54)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 6: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 34)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 41)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 48)), + { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 55)), + { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; +} +} + +static void GigaRCTrackRightLargeHalfLoopDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackRightLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); +} + +static void GigaRCTrackLeftLargeHalfLoopDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackLeftLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); +} + +static void GigaRCTrackFlatTo60DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +if (trackElement.HasChain()) +{ + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 0)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 2)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 1)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 4)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 3)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 5)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } +} +else +{ + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 0)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 2)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 1)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 4)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 3)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 5)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } +} +if (direction == 0 || direction == 3) +{ + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); +} +else +{ + PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2); +} +PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); +PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); +} + +static void GigaRCTrack60DegUpToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +if (trackElement.HasChain()) +{ + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 6)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 7)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 8)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 10)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 9)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 11)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); +} +else +{ + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 6)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 7)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 8)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 10)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 9)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 11)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); +} +if (direction == 0 || direction == 3) +{ + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); +} +else +{ + PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_0); +} +PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); +PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); +} + +static void GigaRCTrackFlatTo60DegDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrack60DegUpToFlat(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrack60DegDownToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackFlatTo60DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagFlatTo60DegUp( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; +} +} + +static void GigaRCTrackDiag60DegUpToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackDiagFlatTo60DegDown( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackDiag60DegDownToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; +} +} + +static void GigaRCTrackLeftEighthToDiagUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 12)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 1)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 5)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 9)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 13)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 2)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 6)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 10)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 14)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 3)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 7)), + { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 11)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 15)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackRightEighthToDiagUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 24)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 17)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 21)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 25)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 29)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 18)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 22)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 26)), + { 0, 0, height }, { { 4, 4, height }, { 28, 28, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 30)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 19)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 23)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 27)), + { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 31)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackLeftEighthToOrthogonalUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 32)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 36)), + { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 40)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 44)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 33)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 37)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 41)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 45)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 34)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 38)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 42)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 46)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 39)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 43)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 47)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } + + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackRightEighthToOrthogonalUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 48)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 52)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 56)), + { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 60)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 49)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 53)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 57)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 61)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 50)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 54)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 58)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 62)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 51)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 55)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 59)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 63)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackLeftEighthToDiagDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +uint8_t map[5] = { 4, 3, 1, 2, 0 }; +trackSequence = map[trackSequence]; +GigaRCTrackRightEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); +} + +static void GigaRCTrackRightEighthToDiagDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +uint8_t map[5] = { 4, 3, 1, 2, 0 }; +trackSequence = map[trackSequence]; +GigaRCTrackLeftEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackLeftEighthToOrthogonalDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; +GigaRCTrackRightEighthToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackRightEighthToOrthogonalDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; +GigaRCTrackLeftEighthToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); +} + +static void GigaRCTrackDiagUp25ToLeftBankedUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 4)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 0)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 1)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 3)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackDiagUp25ToRightBankedUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 9)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 5)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 7)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 8)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackDiagLeftBankedUp25ToUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 10)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 11)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagRightBankedUp25ToUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 18)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagDown25ToLeftBankedDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagRightBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagDown25ToRightBankedDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagLeftBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagLeftBankedDown25ToDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagUp25ToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagRightBankedDown25ToDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagUp25ToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagLeftBankedFlatToLeftBankedUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 23)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 20)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 22)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackDiagRightBankedFlatToRightBankedUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 27)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 24)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 26)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackDiagLeftBankedUp25ToLeftBankedFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 31)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 28)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 30)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagRightBankedUp25ToRightBankedFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 35)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 32)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 34)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagLeftBankedFlatToLeftBankedDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagRightBankedUp25ToRightBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagRightBankedFlatToRightBankedDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagLeftBankedUp25ToLeftBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagLeftBankedDown25ToLeftBankedFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagRightBankedFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagRightBankedDown25ToRightBankedFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagLeftBankedFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagUp25LeftBanked( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 39)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 36)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 38)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagUp25RightBanked( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 43)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 40)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 42)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagDown25LeftBanked( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagUp25RightBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagDown25RightBanked( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagUp25LeftBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagFlatToLeftBankedUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 48)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 44)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 45)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 47)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackDiagFlatToRightBankedUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 53)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 49)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 51)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 52)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; +} +} + +static void GigaRCTrackDiagLeftBankedUp25ToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 58)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 54)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 55)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 57)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagRightBankedUp25ToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 63)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 59)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 61)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 62)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; +} +} + +static void GigaRCTrackDiagFlatToLeftBankedDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagRightBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagFlatToRightBankedDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagLeftBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagLeftBankedDown25ToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackDiagRightBankedDown25ToFlat( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +GigaRCTrackDiagFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackLeftEighthBankToDiagUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 65)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 69)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 73)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 77)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 66)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 70)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 74)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 78)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackRightEighthBankToDiagUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 81)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 85)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 89)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 93)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 82)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 86)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 90)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 94)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackLeftEighthBankToOrthogonalUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 97)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 101)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 105)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 109)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 98)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 102)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 110)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackRightEighthBankToOrthogonalUp25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +switch (trackSequence) +{ + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 113)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 117)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 121)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 125)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 118)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 122)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 126)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; +} +} + +static void GigaRCTrackLeftEighthBankToDiagDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +uint8_t map[5] = { 4, 3, 1, 2, 0 }; +trackSequence = map[trackSequence]; +GigaRCTrackRightEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); +} + +static void GigaRCTrackRightEighthBankToDiagDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +uint8_t map[5] = { 4, 3, 1, 2, 0 }; +trackSequence = map[trackSequence]; +GigaRCTrackLeftEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackLeftEighthBankToOrthogonalDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; +GigaRCTrackRightEighthBankToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void GigaRCTrackRightEighthBankToOrthogonalDown25( +PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, +const TrackElement& trackElement) +{ +trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; +GigaRCTrackLeftEighthBankToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); +} + + + TRACK_PAINT_FUNCTION GetTrackPaintFunctionGigaRC(int32_t trackType) { switch (trackType) @@ -9690,11 +17012,209 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionGigaRC(int32_t trackType) return GigaRCTrackLeftBanked25DegDownToFlat; case TrackElemType::RightBankedDown25ToFlat: return GigaRCTrackRightBanked25DegDownToFlat; - case TrackElemType::Booster: return GigaRCTrackBooster; case TrackElemType::PoweredLift: return GigaRCTrackPoweredLift; + + case TrackElemType::Up90: + return GigaRCTrack90DegUp; + case TrackElemType::Down90: + return GigaRCTrack90DegDown; + case TrackElemType::Up60ToUp90: + return GigaRCTrack60DegUpTo90DegUp; + case TrackElemType::Down90ToDown60: + return GigaRCTrack90DegDownTo60DegDown; + case TrackElemType::Up90ToUp60: + return GigaRCTrack90DegUpTo60DegUp; + case TrackElemType::Down60ToDown90: + return GigaRCTrack60DegDownTo90DegDown; + case TrackElemType::LeftQuarterTurn1TileUp90: + return GigaRCTrackLeftQuarterTurn190DegUp; + case TrackElemType::RightQuarterTurn1TileUp90: + return GigaRCTrackRightQuarterTurn190DegUp; + case TrackElemType::LeftQuarterTurn1TileDown90: + return GigaRCTrackLeftQuarterTurn190DegDown; + case TrackElemType::RightQuarterTurn1TileDown90: + return GigaRCTrackRightQuarterTurn190DegDown; + case TrackElemType::LeftBarrelRollUpToDown: + return GigaRCTrackLeftBarrelRollUpToDown; + case TrackElemType::RightBarrelRollUpToDown: + return GigaRCTrackRightBarrelRollUpToDown; + case TrackElemType::LeftBarrelRollDownToUp: + return GigaRCTrackLeftBarrelRollDownToUp; + case TrackElemType::RightBarrelRollDownToUp: + return GigaRCTrackRightBarrelRollDownToUp; + case TrackElemType::HalfLoopUp: + return GigaRCTrackHalfLoopUp; + case TrackElemType::HalfLoopDown: + return GigaRCTrackHalfLoopDown; + case TrackElemType::LeftCorkscrewUp: + return GigaRCTrackLeftCorkscrewUp; + case TrackElemType::RightCorkscrewUp: + return GigaRCTrackRightCorkscrewUp; + case TrackElemType::LeftCorkscrewDown: + return GigaRCTrackLeftCorkscrewDown; + case TrackElemType::RightCorkscrewDown: + return GigaRCTrackRightCorkscrewDown; + + case TrackElemType::LeftLargeCorkscrewUp: + return GigaRCTrackLeftLargeCorkscrewUp; + case TrackElemType::RightLargeCorkscrewUp: + return GigaRCTrackRightLargeCorkscrewUp; + case TrackElemType::LeftLargeCorkscrewDown: + return GigaRCTrackLeftLargeCorkscrewDown; + case TrackElemType::RightLargeCorkscrewDown: + return GigaRCTrackRightLargeCorkscrewDown; + case TrackElemType::LeftZeroGRollUp: + return GigaRCTrackLeftZeroGRollUp; + case TrackElemType::RightZeroGRollUp: + return GigaRCTrackRightZeroGRollUp; + case TrackElemType::LeftZeroGRollDown: + return GigaRCTrackLeftZeroGRollDown; + case TrackElemType::RightZeroGRollDown: + return GigaRCTrackRightZeroGRollDown; + case TrackElemType::LeftLargeZeroGRollUp: + return GigaRCTrackLeftLargeZeroGRollUp; + case TrackElemType::RightLargeZeroGRollUp: + return GigaRCTrackRightLargeZeroGRollUp; + case TrackElemType::LeftLargeZeroGRollDown: + return GigaRCTrackLeftLargeZeroGRollDown; + case TrackElemType::RightLargeZeroGRollDown: + return GigaRCTrackRightLargeZeroGRollDown; + case TrackElemType::Up90ToInvertedFlatQuarterLoop: + return GigaRCTrack90DegToInvertedFlatQuarterLoopUp; + case TrackElemType::InvertedFlatToDown90QuarterLoop: + return GigaRCTrackInvertedFlatTo90DegQuarterLoopDown; + case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: + return GigaRCTrackLeftBankToLeftQuarterTurn3Tile25DegUp; + case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: + return GigaRCTrackRightBankToRightQuarterTurn3Tile25DegUp; + case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: + return GigaRCTrackLeftQuarterTurn3Tile25DegDownToLeftBank; + case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: + return GigaRCTrackRightQuarterTurn3Tile25DegDownToRightBank; + case TrackElemType::LeftMediumHalfLoopUp: + return GigaRCTrackLeftMediumHalfLoopUp; + case TrackElemType::RightMediumHalfLoopUp: + return GigaRCTrackRightMediumHalfLoopUp; + case TrackElemType::LeftMediumHalfLoopDown: + return GigaRCTrackLeftMediumHalfLoopDown; + case TrackElemType::RightMediumHalfLoopDown: + return GigaRCTrackRightMediumHalfLoopDown; + case TrackElemType::LeftLargeHalfLoopUp: + return GigaRCTrackLeftLargeHalfLoopUp; + case TrackElemType::RightLargeHalfLoopUp: + return GigaRCTrackRightLargeHalfLoopUp; + case TrackElemType::RightLargeHalfLoopDown: + return GigaRCTrackRightLargeHalfLoopDown; + case TrackElemType::LeftLargeHalfLoopDown: + return GigaRCTrackLeftLargeHalfLoopDown; + case TrackElemType::FlatToUp60: + return GigaRCTrackFlatTo60DegUp; + case TrackElemType::Up60ToFlat: + return GigaRCTrack60DegUpToFlat; + case TrackElemType::FlatToDown60: + return GigaRCTrackFlatTo60DegDown; + case TrackElemType::Down60ToFlat: + return GigaRCTrack60DegDownToFlat; + case TrackElemType::DiagFlatToUp60: + return GigaRCTrackDiagFlatTo60DegUp; + case TrackElemType::DiagUp60ToFlat: + return GigaRCTrackDiag60DegUpToFlat; + case TrackElemType::DiagFlatToDown60: + return GigaRCTrackDiagFlatTo60DegDown; + case TrackElemType::DiagDown60ToFlat: + return GigaRCTrackDiag60DegDownToFlat; + case TrackElemType::LeftEighthToDiagUp25: + return GigaRCTrackLeftEighthToDiagUp25; + case TrackElemType::RightEighthToDiagUp25: + return GigaRCTrackRightEighthToDiagUp25; + case TrackElemType::LeftEighthToDiagDown25: + return GigaRCTrackLeftEighthToDiagDown25; + case TrackElemType::RightEighthToDiagDown25: + return GigaRCTrackRightEighthToDiagDown25; + case TrackElemType::LeftEighthToOrthogonalUp25: + return GigaRCTrackLeftEighthToOrthogonalUp25; + case TrackElemType::RightEighthToOrthogonalUp25: + return GigaRCTrackRightEighthToOrthogonalUp25; + case TrackElemType::LeftEighthToOrthogonalDown25: + return GigaRCTrackLeftEighthToOrthogonalDown25; + case TrackElemType::RightEighthToOrthogonalDown25: + return GigaRCTrackRightEighthToOrthogonalDown25; + case TrackElemType::DiagUp25ToLeftBankedUp25: + return GigaRCTrackDiagUp25ToLeftBankedUp25; + case TrackElemType::DiagUp25ToRightBankedUp25: + return GigaRCTrackDiagUp25ToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToUp25: + return GigaRCTrackDiagLeftBankedUp25ToUp25; + case TrackElemType::DiagRightBankedUp25ToUp25: + return GigaRCTrackDiagRightBankedUp25ToUp25; + case TrackElemType::DiagDown25ToLeftBankedDown25: + return GigaRCTrackDiagDown25ToLeftBankedDown25; + case TrackElemType::DiagDown25ToRightBankedDown25: + return GigaRCTrackDiagDown25ToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToDown25: + return GigaRCTrackDiagLeftBankedDown25ToDown25; + case TrackElemType::DiagRightBankedDown25ToDown25: + return GigaRCTrackDiagRightBankedDown25ToDown25; + case TrackElemType::DiagLeftBankedFlatToLeftBankedUp25: + return GigaRCTrackDiagLeftBankedFlatToLeftBankedUp25; + case TrackElemType::DiagRightBankedFlatToRightBankedUp25: + return GigaRCTrackDiagRightBankedFlatToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat: + return GigaRCTrackDiagLeftBankedUp25ToLeftBankedFlat; + case TrackElemType::DiagRightBankedUp25ToRightBankedFlat: + return GigaRCTrackDiagRightBankedUp25ToRightBankedFlat; + case TrackElemType::DiagLeftBankedFlatToLeftBankedDown25: + return GigaRCTrackDiagLeftBankedFlatToLeftBankedDown25; + case TrackElemType::DiagRightBankedFlatToRightBankedDown25: + return GigaRCTrackDiagRightBankedFlatToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat: + return GigaRCTrackDiagLeftBankedDown25ToLeftBankedFlat; + case TrackElemType::DiagRightBankedDown25ToRightBankedFlat: + return GigaRCTrackDiagRightBankedDown25ToRightBankedFlat; + case TrackElemType::DiagUp25LeftBanked: + return GigaRCTrackDiagUp25LeftBanked; + case TrackElemType::DiagUp25RightBanked: + return GigaRCTrackDiagUp25RightBanked; + case TrackElemType::DiagDown25LeftBanked: + return GigaRCTrackDiagDown25LeftBanked; + case TrackElemType::DiagDown25RightBanked: + return GigaRCTrackDiagDown25RightBanked; + case TrackElemType::DiagFlatToLeftBankedUp25: + return GigaRCTrackDiagFlatToLeftBankedUp25; + case TrackElemType::DiagFlatToRightBankedUp25: + return GigaRCTrackDiagFlatToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToFlat: + return GigaRCTrackDiagLeftBankedUp25ToFlat; + case TrackElemType::DiagRightBankedUp25ToFlat: + return GigaRCTrackDiagRightBankedUp25ToFlat; + case TrackElemType::DiagFlatToLeftBankedDown25: + return GigaRCTrackDiagFlatToLeftBankedDown25; + case TrackElemType::DiagFlatToRightBankedDown25: + return GigaRCTrackDiagFlatToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToFlat: + return GigaRCTrackDiagLeftBankedDown25ToFlat; + case TrackElemType::DiagRightBankedDown25ToFlat: + return GigaRCTrackDiagRightBankedDown25ToFlat; + case TrackElemType::LeftEighthBankToDiagUp25: + return GigaRCTrackLeftEighthBankToDiagUp25; + case TrackElemType::RightEighthBankToDiagUp25: + return GigaRCTrackRightEighthBankToDiagUp25; + case TrackElemType::LeftEighthBankToDiagDown25: + return GigaRCTrackLeftEighthBankToDiagDown25; + case TrackElemType::RightEighthBankToDiagDown25: + return GigaRCTrackRightEighthBankToDiagDown25; + case TrackElemType::LeftEighthBankToOrthogonalUp25: + return GigaRCTrackLeftEighthBankToOrthogonalUp25; + case TrackElemType::RightEighthBankToOrthogonalUp25: + return GigaRCTrackRightEighthBankToOrthogonalUp25; + case TrackElemType::LeftEighthBankToOrthogonalDown25: + return GigaRCTrackLeftEighthBankToOrthogonalDown25; + case TrackElemType::RightEighthBankToOrthogonalDown25: + return GigaRCTrackRightEighthBankToOrthogonalDown25; +>>>>>>> fe2719ab9 (Add giga coaster paint code) } return nullptr; } From 06de29fe9d1e9e6fc652fb9e91a0f430923800f5 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Sat, 11 Mar 2023 09:45:15 +0000 Subject: [PATCH 03/27] Add track sprites to giga coaster --- src/openrct2/ride/coaster/GigaCoaster.cpp | 1241 +++++++++--------- src/openrct2/ride/coaster/meta/GigaCoaster.h | 2 +- src/openrct2/sprites.h | 19 +- 3 files changed, 639 insertions(+), 623 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 1b381b1167..5d4d7b25c4 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -9424,25 +9424,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 8)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 9)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 10)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 11)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); break; } @@ -9475,25 +9475,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 0)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 1)), { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 2)), { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 3)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -9531,22 +9531,22 @@ switch (direction) { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 4)), + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 4)), { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 5)), + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 5)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 6)), + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 6)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 7)), + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 7)), { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); break; } @@ -9576,25 +9576,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 6)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 7)), { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 4)), { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 5)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; } @@ -9623,33 +9623,33 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 0)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 1)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 2)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 3)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 4)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 5)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; } @@ -9675,33 +9675,33 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 6)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 7)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 8)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 9)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 10)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_VERTICAL_TWIST + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 11)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); break; } @@ -9741,11 +9741,11 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 0)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 1)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); @@ -9753,11 +9753,11 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 6)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 7)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); @@ -9765,11 +9765,11 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 12)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 13)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); @@ -9777,11 +9777,11 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 18)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 19)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -9802,41 +9802,41 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 2)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 3)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 9)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 14)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 15)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 20)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 21)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; } @@ -9853,41 +9853,41 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 4)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 5)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 10)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 11)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 17)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 22)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 23)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; } @@ -9920,11 +9920,11 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 24)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 24)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 25)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 25)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -9932,11 +9932,11 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 30)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 30)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 31)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 31)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); @@ -9944,11 +9944,11 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 36)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 37)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 37)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); @@ -9956,11 +9956,11 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 42)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 42)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 43)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 43)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); @@ -9981,41 +9981,41 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 26)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 26)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 27)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 27)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 32)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 32)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 33)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 33)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 38)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 38)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 39)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 39)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 44)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 44)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 45)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 45)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); break; } @@ -10032,41 +10032,41 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 28)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 28)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 29)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 29)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 34)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 34)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 35)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 35)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 40)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 40)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 41)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 41)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 46)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 46)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_BARREL_ROLL + 47)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 47)), { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); break; } @@ -10113,25 +10113,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 0)), { 0, 6, height }, { 32, 20, 3 }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 4)), { 0, 6, height }, { 32, 20, 11 }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 8)), { 0, 6, height }, { 32, 20, 9 }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 12)), { 0, 6, height }, { 32, 20, 7 }); break; } @@ -10150,7 +10150,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 20, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10158,7 +10158,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 5)), { 0, 14, height }, { { 28, 6, height }, { 3, 20, 63 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10166,7 +10166,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 9)), { 0, 6, height }, { { 28, 6, height }, { 3, 20, 63 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10174,7 +10174,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 13)), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10189,25 +10189,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 2)), { 16, 0, height }, { 2, 16, 119 }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 6)), { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 10)), { 10, 16, height }, { 4, 12, 119 }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 14)), { 16, 16, height }, { { 15, 6, height }, { 2, 16, 119 } }); break; } @@ -10224,25 +10224,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 3)), { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 7)), { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 11)), { 0, 16, height + 32 }, { 32, 12, 3 }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 15)), { 0, 16, height + 32 }, { 32, 12, 3 }); break; } @@ -10276,25 +10276,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 0)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 3)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 6)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 9)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; } @@ -10316,25 +10316,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 1)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 4)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 7)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 10)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; } @@ -10347,25 +10347,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 2)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 5)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 8)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 11)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; } @@ -10402,25 +10402,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 12)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 15)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 18)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 21)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; } @@ -10440,25 +10440,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 13)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 16)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 19)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 22)), { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); break; } @@ -10471,25 +10471,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 14)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 17)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 20)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 23)), { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); break; } @@ -10539,25 +10539,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 0)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 5)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 10)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 15)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; } @@ -10579,7 +10579,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 34, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10587,7 +10587,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 6)), { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 22, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10595,7 +10595,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 11)), { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 24, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10603,7 +10603,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10622,25 +10622,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 2)), { 0, 0, height }, { { 0, 31, height }, { 48, 1, 64 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 7)), { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 12)), { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 17)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -10662,7 +10662,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 3)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10670,7 +10670,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 8)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10678,7 +10678,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 13)), { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10686,7 +10686,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 18)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10701,25 +10701,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 4)), { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 9)), { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 14)), { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 19)), { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); break; } @@ -10755,25 +10755,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 20)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 25)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 25)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 30)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 30)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 35)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 35)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); break; } @@ -10795,7 +10795,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 21)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10803,7 +10803,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 26)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 26)), { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 24, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10811,7 +10811,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 31)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 31)), { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 22, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10819,7 +10819,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 36)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 34, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10838,25 +10838,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 22)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 27)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 27)), { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 32)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 32)), { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 37)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 37)), { 0, 0, height }, { { 0, 31, height }, { 48, 1, 64 } }); break; } @@ -10878,7 +10878,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 23)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10886,7 +10886,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 28)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 28)), { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10894,7 +10894,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 33)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 33)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10902,7 +10902,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 38)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 38)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); @@ -10916,25 +10916,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 24)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 24)), { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 29)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 29)), { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 34)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 34)), { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 39)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 39)), { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); break; } @@ -10984,25 +10984,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 0)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 5)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 10)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 15)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11023,25 +11023,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 6)), { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 11)), { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11059,7 +11059,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 2)), { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 14, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11067,7 +11067,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 7)), { 0, 0, height }, { { 29, 0, height }, { 1, 32, 96 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11075,7 +11075,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 12)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 96 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 18, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11083,7 +11083,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 17)), { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 14, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11099,25 +11099,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 3)), { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 8)), { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 13)), { 0, 0, height }, { { 29, 0, height }, { 1, 32, 160 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 18)), { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); break; } @@ -11131,25 +11131,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 4)), { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 9)), { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 14)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 19)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); break; } @@ -11181,25 +11181,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 20)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 25)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 25)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 30)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 30)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 35)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 35)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11220,25 +11220,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 21)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 26)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 26)), { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 31)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 31)), { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 36)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11256,7 +11256,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 22)), { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 14, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11264,7 +11264,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 27)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 27)), { 0, 0, height }, { { 30, 0, height }, { 0, 32, 96 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 18, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11272,7 +11272,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 32)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 32)), { 0, 0, height }, { { 29, 0, height }, { 0, 32, 96 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11280,7 +11280,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 37)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 37)), { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 14, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11296,25 +11296,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 23)), { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 28)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 28)), { 0, 0, height }, { { 29, 0, height }, { 0, 32, 160 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 33)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 33)), { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 38)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 38)), { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); break; } @@ -11329,25 +11329,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 24)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 24)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 29)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 29)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 34)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 34)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 39)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 39)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); break; } @@ -11392,11 +11392,11 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 0)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 1)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11404,11 +11404,11 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 4)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 5)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11416,7 +11416,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11424,7 +11424,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 12)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11445,25 +11445,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 2)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 6)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 9)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 13)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11480,33 +11480,33 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 3)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 7)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 10)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 11)), { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 14)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 15)), { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); break; } @@ -11543,7 +11543,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11551,7 +11551,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 20)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11559,11 +11559,11 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 24)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 24)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 25)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 25)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11571,11 +11571,11 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 28)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 28)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 29)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 29)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -11595,25 +11595,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 17)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 21)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 26)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 26)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 30)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 30)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; } @@ -11630,33 +11630,33 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 18)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 19)), { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 22)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 23)), { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 27)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 27)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 31)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 31)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); break; } @@ -11707,29 +11707,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 0)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 5)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 9)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 10)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 15)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11748,29 +11748,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 2)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 6)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 11)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11784,29 +11784,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 3)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 7)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 12)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 17)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 18)), { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); break; } @@ -11828,7 +11828,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 4)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -11836,7 +11836,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 8)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -11844,11 +11844,11 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 13)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 14)), { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -11856,7 +11856,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 19)), { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -11888,29 +11888,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 20)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 25)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 25)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 26)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 26)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 31)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 31)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 35)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 35)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -11929,29 +11929,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 21)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 27)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 27)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 32)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 32)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 36)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 37)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 37)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); break; } @@ -11965,29 +11965,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 22)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 23)), { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 28)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 28)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 33)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 33)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 38)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 38)), { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); break; } @@ -12010,7 +12010,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 24)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 24)), { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -12018,11 +12018,11 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 29)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 29)), { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 30)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 30)), { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -12030,7 +12030,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 34)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 34)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -12038,7 +12038,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 39)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 39)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -12084,25 +12084,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 0)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 3)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 6)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 9)), { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); break; } @@ -12116,25 +12116,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 1)), { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 4)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 7)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 10)), { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); break; } @@ -12148,25 +12148,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 2)), { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 5)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 8)), { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 11)), { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); break; } @@ -12200,29 +12200,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 0)), { 0, 6, height }, { 32, 20, 3 }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 2)), { 0, 6, height }, { 32, 20, 3 }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 3)), { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 5)), { 0, 6, height }, { 32, 20, 3 }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 7)), { 0, 6, height }, { 32, 20, 3 }); break; } @@ -12247,25 +12247,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 1)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 4)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 6)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 8)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; } @@ -12299,29 +12299,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 9)), { 0, 6, height }, { 32, 20, 3 }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 11)), { 0, 6, height }, { 32, 20, 3 }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 13)), { 0, 6, height }, { 32, 20, 3 }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 14)), { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 16)), { 0, 6, height }, { 32, 20, 3 }); break; } @@ -12346,25 +12346,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 10)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 12)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 15)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 17)), { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; } @@ -12398,25 +12398,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 12)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 15)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 17)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 10)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; } @@ -12442,29 +12442,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 11)), { 6, 0, height }, { 20, 32, 3 }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 13)), { 6, 0, height }, { 20, 32, 3 }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 14)), { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 16)), { 6, 0, height }, { 20, 32, 3 }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 9)), { 6, 0, height }, { 20, 32, 3 }); break; } @@ -12497,25 +12497,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 8)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 1)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 4)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 6)), { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; } @@ -12541,29 +12541,29 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 7)), { 6, 0, height }, { 20, 32, 3 }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 0)), { 6, 0, height }, { 20, 32, 3 }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 2)), { 6, 0, height }, { 20, 32, 3 }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 3)), { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 5)), { 6, 0, height }, { 20, 32, 3 }); break; } @@ -12596,25 +12596,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 0)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 7)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 14)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 21)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -12633,7 +12633,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12641,7 +12641,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12649,7 +12649,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 15)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12657,7 +12657,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 22)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12673,25 +12673,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 2)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 9)), { 0, 0, height }, { { 0, 0, height + 70 }, { 32, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 16)), { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 23)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; } @@ -12708,7 +12708,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 3)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12716,7 +12716,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 10)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12724,7 +12724,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 17)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -12732,7 +12732,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 24)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 24)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 28, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12751,25 +12751,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 4)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 11)), { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 18)), { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 25)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 25)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; } @@ -12783,25 +12783,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 5)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 12)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 19)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 26)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 26)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; } @@ -12818,25 +12818,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 6)), { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 13)), { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 20)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 27)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 27)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); break; } @@ -12866,25 +12866,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 28)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 28)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 35)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 35)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 42)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 42)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 49)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 49)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -12903,7 +12903,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 29)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 29)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12911,7 +12911,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 36)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12919,7 +12919,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 43)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 43)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12927,7 +12927,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 50)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 50)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12943,25 +12943,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 30)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 30)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 37)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 37)), { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 44)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 44)), { 0, 0, height }, { { 0, 0, height + 70 }, { 32, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 51)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 51)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; } @@ -12978,7 +12978,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 31)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 31)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 8, 28, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -12986,7 +12986,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 38)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 38)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); @@ -12994,7 +12994,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 45)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 45)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13002,7 +13002,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 52)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 52)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13021,25 +13021,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 32)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 32)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 39)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 39)), { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 46)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 46)), { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 53)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 53)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); break; } @@ -13053,25 +13053,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 33)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 33)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 40)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 40)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 47)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 47)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 54)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 54)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; } @@ -13088,25 +13088,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 34)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 34)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 41)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 41)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 48)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 48)), { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 55)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 55)), { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); break; } @@ -13149,7 +13149,7 @@ if (trackElement.HasChain()) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13157,11 +13157,11 @@ if (trackElement.HasChain()) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); @@ -13169,11 +13169,11 @@ if (trackElement.HasChain()) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); @@ -13181,7 +13181,7 @@ if (trackElement.HasChain()) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13195,7 +13195,7 @@ else case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13203,11 +13203,11 @@ else case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); @@ -13215,11 +13215,11 @@ else case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); @@ -13227,7 +13227,7 @@ else case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13258,33 +13258,33 @@ if (trackElement.HasChain()) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); break; } @@ -13297,33 +13297,33 @@ else case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); break; } @@ -13371,7 +13371,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 15)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13384,7 +13384,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 15)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13402,7 +13402,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 12)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13415,7 +13415,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 12)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13433,7 +13433,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 14)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13446,7 +13446,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 14)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13468,7 +13468,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 13)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13495,7 +13495,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 13)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13532,7 +13532,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 19)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13545,7 +13545,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 19)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13563,7 +13563,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 16)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13576,7 +13576,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 16)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13594,7 +13594,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 18)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13607,7 +13607,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 18)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13629,7 +13629,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 17)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13656,7 +13656,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 17)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13693,7 +13693,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 17)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13706,7 +13706,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 17)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13724,7 +13724,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 18)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13737,7 +13737,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 18)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13755,7 +13755,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 16)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13768,7 +13768,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 16)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13790,7 +13790,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 19)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13817,7 +13817,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 19)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13854,7 +13854,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 13)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13867,7 +13867,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 13)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13885,7 +13885,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 14)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13898,7 +13898,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 14)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13916,7 +13916,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 12)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13929,7 +13929,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 12)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); break; } @@ -13951,7 +13951,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_LIFT_TRACK_SMALL_FLAT_TO_STEEP + 15)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -13978,7 +13978,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 15)), + (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14012,25 +14012,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 0)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 0)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 4)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 4)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 8)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 12)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 12)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -14049,25 +14049,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 1)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 1)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 5)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 5)), { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 9)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 9)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 13)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 13)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; } @@ -14084,25 +14084,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 2)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 2)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 6)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 6)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 10)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 10)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 14)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 14)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; } @@ -14122,7 +14122,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 3)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 3)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14130,7 +14130,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 7)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 7)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14138,7 +14138,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 11)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 11)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14146,7 +14146,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 15)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 15)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14174,25 +14174,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 16)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 20)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 20)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 24)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 24)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 28)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 28)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -14211,25 +14211,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 17)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 17)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 21)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 21)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 25)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 25)), { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 29)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 29)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; } @@ -14246,25 +14246,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 18)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 18)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 22)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 22)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 26)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 26)), { 0, 0, height }, { { 4, 4, height }, { 28, 28, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 30)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 30)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); break; } @@ -14284,7 +14284,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 19)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 19)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14292,7 +14292,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 23)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 23)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14300,7 +14300,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 27)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 27)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14308,7 +14308,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 31)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 31)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14336,7 +14336,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 32)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 32)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14344,7 +14344,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 36)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 36)), { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14352,7 +14352,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 40)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 40)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14360,7 +14360,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 44)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 44)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14379,25 +14379,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 33)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 33)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 37)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 37)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 41)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 41)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 45)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 45)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; } @@ -14417,25 +14417,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 34)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 34)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 38)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 38)), { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 42)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 42)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 46)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 46)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; } @@ -14452,25 +14452,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 35)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 35)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 39)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 39)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 43)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 43)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 47)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 47)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -14500,7 +14500,7 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 48)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 48)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14508,7 +14508,7 @@ switch (trackSequence) case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 52)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 52)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14516,7 +14516,7 @@ switch (trackSequence) case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 56)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 56)), { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14524,7 +14524,7 @@ switch (trackSequence) case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 60)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 60)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14543,25 +14543,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 49)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 49)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 53)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 53)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 57)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 57)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 61)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 61)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); break; } @@ -14581,25 +14581,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 50)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 50)), { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 54)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 54)), { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 58)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 58)), { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 62)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 62)), { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); break; } @@ -14616,25 +14616,25 @@ switch (trackSequence) case 0: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 51)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 51)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 55)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 55)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 59)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 59)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 63)), + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 63)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; } @@ -14697,7 +14697,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 4)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 4)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14712,12 +14712,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 0)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 0)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 1)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 1)), { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); break; } @@ -14732,7 +14732,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 3)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 3)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14751,7 +14751,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14785,7 +14785,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 9)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 9)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14800,7 +14800,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 5)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 5)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14815,12 +14815,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 7)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 7)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 8)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 8)), { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); break; } @@ -14839,7 +14839,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14873,7 +14873,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 14)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 14)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14888,12 +14888,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 10)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 10)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 11)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 11)), { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); break; } @@ -14908,7 +14908,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 13)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 13)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14927,7 +14927,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -14961,7 +14961,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 19)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 19)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14976,7 +14976,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 15)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 15)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -14991,12 +14991,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 17)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 17)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 18)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 18)), { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); break; } @@ -15015,7 +15015,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15077,7 +15077,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 23)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 23)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15092,7 +15092,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 20)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 20)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15107,7 +15107,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 22)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 22)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15126,7 +15126,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15160,7 +15160,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 27)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 27)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15175,7 +15175,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 24)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 24)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15190,7 +15190,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 26)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 26)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15209,7 +15209,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15243,7 +15243,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 31)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 31)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15258,7 +15258,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 28)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 28)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15273,7 +15273,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 30)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 30)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15292,7 +15292,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15326,7 +15326,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 35)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 35)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15341,7 +15341,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 32)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 32)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15356,7 +15356,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 34)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 34)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15375,7 +15375,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15437,7 +15437,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 39)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 39)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15452,7 +15452,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 36)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 36)), { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); break; } @@ -15467,7 +15467,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 38)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 38)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15486,7 +15486,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15520,7 +15520,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 43)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 43)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15535,7 +15535,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 40)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 40)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15550,7 +15550,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 42)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 42)), { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); break; } @@ -15569,7 +15569,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15617,7 +15617,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 48)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 48)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15632,12 +15632,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 44)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 44)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 45)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 45)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15652,7 +15652,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 47)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 47)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15671,7 +15671,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15705,7 +15705,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 53)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 53)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15720,7 +15720,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 49)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 49)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15735,12 +15735,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 51)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 51)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 52)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 52)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15759,7 +15759,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15793,7 +15793,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 58)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 58)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15808,12 +15808,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 54)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 54)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 55)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 55)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15828,7 +15828,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 57)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 57)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15847,7 +15847,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15881,7 +15881,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 63)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 63)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15896,7 +15896,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 59)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 59)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); break; } @@ -15911,12 +15911,12 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 61)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 61)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 62)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 62)), { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); break; } @@ -15935,7 +15935,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -15997,28 +15997,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -16038,28 +16038,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 65)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 65)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 69)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 69)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 73)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 73)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 77)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 77)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; } @@ -16077,28 +16077,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 66)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 66)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 70)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 70)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 74)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 74)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 78)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 78)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; } @@ -16119,7 +16119,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16128,7 +16128,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16137,7 +16137,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16146,7 +16146,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16175,28 +16175,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -16216,28 +16216,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 81)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 81)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 85)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 85)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 89)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 89)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 93)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 93)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; } @@ -16255,28 +16255,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 82)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 82)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 86)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 86)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 90)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 90)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 94)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 94)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); break; } @@ -16297,7 +16297,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16306,7 +16306,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16315,7 +16315,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16324,7 +16324,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16353,7 +16353,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16362,7 +16362,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16371,7 +16371,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16380,7 +16380,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16400,28 +16400,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 97)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 97)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 101)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 101)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 105)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 105)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 109)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 109)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); break; } @@ -16442,28 +16442,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 98)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 98)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 102)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 102)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 110)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 110)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); break; } @@ -16481,28 +16481,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } @@ -16531,7 +16531,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16540,7 +16540,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16549,7 +16549,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16558,7 +16558,7 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalASupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -16578,28 +16578,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 113)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 113)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 117)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 117)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 121)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 121)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 125)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 125)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); break; } @@ -16620,28 +16620,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 118)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 118)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 122)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 122)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 126)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 126)), { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); break; } @@ -16659,28 +16659,28 @@ switch (trackSequence) PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), + (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; } @@ -17214,7 +17214,6 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionGigaRC(int32_t trackType) return GigaRCTrackLeftEighthBankToOrthogonalDown25; case TrackElemType::RightEighthBankToOrthogonalDown25: return GigaRCTrackRightEighthBankToOrthogonalDown25; ->>>>>>> fe2719ab9 (Add giga coaster paint code) } return nullptr; } diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index 7d6955e012..c0f65f1531 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -19,7 +19,7 @@ constexpr RideTypeDescriptor GigaCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_SLOPE_VERTICAL, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_CURVE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE}), SET_FIELD(ExtraTrackPieces, {}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 7ff7f7a8fa..db8548e3ad 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -1428,7 +1428,24 @@ enum SPR_G2_ALPINE_LIFT_TRACK_GENTLE_DIAGONAL = SPR_G2_ALPINE_LIFT_TRACK_FLAT_DIAGONAL + 4, SPR_G2_ALPINE_END = SPR_G2_ALPINE_LIFT_TRACK_GENTLE_DIAGONAL + 12, - SPR_G2_END = SPR_G2_ALPINE_END, + SPR_G2_GIGA_TRACK_VERTICAL = SPR_G2_ALPINE_END, + SPR_G2_GIGA_TRACK_VERTICAL_TWIST = SPR_G2_GIGA_TRACK_VERTICAL + 12, + SPR_G2_GIGA_TRACK_BARREL_ROLL = SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 12, + SPR_G2_GIGA_TRACK_HALF_LOOP = SPR_G2_GIGA_TRACK_BARREL_ROLL + 48, + SPR_G2_GIGA_TRACK_QUARTER_LOOP = SPR_G2_GIGA_TRACK_HALF_LOOP + 16, + SPR_G2_GIGA_TRACK_CORKSCREW = SPR_G2_GIGA_TRACK_QUARTER_LOOP + 12, + SPR_G2_GIGA_TRACK_LARGE_CORKSCREW = SPR_G2_GIGA_TRACK_CORKSCREW + 24, + SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION = SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 40, + SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP = SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 18, + SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP = SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 40, + SPR_G2_GIGA_TRACK_ZERO_G_ROLL = SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 56, + SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL = SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 32, + SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP = SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 40, + SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE = SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 20, + SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED = SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 64, + SPR_G2_GIGA_END = SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 128, + + SPR_G2_END = SPR_G2_GIGA_END, SPR_CSG_BEGIN = SPR_G2_END, SPR_CSG_END = SPR_CSG_BEGIN + RCT1::Limits::Num_LL_CSG_Entries, From ba2a2a46de3cc96b6a484a066e949d2df33365f6 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Tue, 4 Apr 2023 17:31:23 +0100 Subject: [PATCH 04/27] Start vertical loops --- src/openrct2/ride/coaster/GigaCoaster.cpp | 528 ++++++++++++++++++++++ src/openrct2/sprites.h | 3 +- 2 files changed, 530 insertions(+), 1 deletion(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 5d4d7b25c4..cf62c8f5d8 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -10264,6 +10264,530 @@ const TrackElement& trackElement) GigaRCTrackHalfLoopUp(session, ride, 3 - trackSequence, direction, height, trackElement); } + +static void GigaRCTrackLeftVerticalLoop( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), { 0, 6, height }, + { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), { 0, 6, height }, + { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), { 0, 6, height }, + { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), { 0, 6, height }, + { 32, 20, 7 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), { 0, 0, height }, + { 32, 26, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, + { 32, 2, 63 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, + { 32, 26, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), { 0, 6, height }, + { 32, 26, 3 }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 2), { 16, 0, height }, + { { 16, 0, height }, { 3, 16, 119 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 6), { 12, 0, height }, + { { 12, 0, height }, { 3, 16, 119 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 10), { 10, 16, height }, + { { 10, 16, height }, { 4, 16, 119 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 14), { 16, 16, height }, + { { 16, 16, height }, { 2, 16, 119 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 3), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 7), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 11), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 15), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 4: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 5: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 6: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 11), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 15), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 3), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 7), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 7: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 10), { 10, 16, height }, + { { 10, 16, height }, { 4, 16, 119 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 14), { 16, 16, height }, + { { 16, 16, height }, { 2, 16, 119 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 2), { 16, 0, height }, + { { 16, 0, height }, { 3, 16, 119 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 6), { 12, 0, height }, + { { 12, 0, height }, { 3, 16, 119 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); + break; + case 8: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, + { 32, 26, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), { 0, 6, height }, + { 32, 26, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), { 0, 0, height }, + { 32, 26, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, + { 32, 2, 63 }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 9: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), { 0, 6, height }, + { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), { 0, 6, height }, + { 32, 20, 7 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), { 0, 6, height }, + { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), { 0, 6, height }, + { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height - 8, TUNNEL_1); + break; + case 2: + PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_1); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } +} + +static void GigaRCTrackRightVerticalLoop( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 16), { 0, 6, height }, + { 32, 20, 7 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 20), { 0, 6, height }, + { 32, 20, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 24), { 0, 6, height }, + { 32, 20, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 28), { 0, 6, height }, + { 32, 20, 3 }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), { 0, 6, height }, + { 32, 26, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, + { 32, 26, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, + { 32, 2, 63 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), { 0, 0, height }, + { 32, 26, 3 }); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 18), { 16, 16, height }, + { { 16, 16, height }, { 2, 16, 119 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 22), { 10, 16, height }, + { { 10, 16, height }, { 4, 16, 119 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 26), { 12, 0, height }, + { { 12, 0, height }, { 3, 16, 119 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 30), { 16, 0, height }, + { { 16, 0, height }, { 2, 16, 119 } }); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 19), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 23), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 27), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 31), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 4: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 5: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 6: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 27), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 31), { 0, 0, height + 32 }, + { 32, 16, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 19), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 23), { 0, 16, height + 32 }, + { 32, 16, 3 }); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 7: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 26), { 12, 0, height }, + { { 12, 0, height }, { 3, 16, 119 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 30), { 16, 0, height }, + { { 16, 0, height }, { 2, 16, 119 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 18), { 16, 16, height }, + { { 16, 16, height }, { 2, 16, 119 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 22), { 10, 16, height }, + { { 10, 16, height }, { 4, 16, 119 } }); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); + break; + case 8: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, + { 32, 2, 63 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), { 0, 0, height }, + { 32, 26, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), { 0, 6, height }, + { 32, 26, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, + { 32, 26, 3 }); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 9: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 24), { 0, 6, height }, + { 32, 20, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 28), { 0, 6, height }, + { 32, 20, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 16), { 0, 6, height }, + { 32, 20, 7 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 20), { 0, 6, height }, + { 32, 20, 3 }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height - 8, TUNNEL_1); + break; + case 2: + PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_1); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + + TrackPaintUtilRightVerticalLoopSegments(session, direction, trackSequence); +} + + + + static void GigaRCTrackLeftCorkscrewUp( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) @@ -17049,6 +17573,10 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionGigaRC(int32_t trackType) return GigaRCTrackHalfLoopUp; case TrackElemType::HalfLoopDown: return GigaRCTrackHalfLoopDown; + case TrackElemType::LeftVerticalLoop: + return GigaRCTrackLeftVerticalLoop; + case TrackElemType::RightVerticalLoop: + return GigaRCTrackRightVerticalLoop; case TrackElemType::LeftCorkscrewUp: return GigaRCTrackLeftCorkscrewUp; case TrackElemType::RightCorkscrewUp: diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index db8548e3ad..d1dc7ae9de 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -1432,7 +1432,8 @@ enum SPR_G2_GIGA_TRACK_VERTICAL_TWIST = SPR_G2_GIGA_TRACK_VERTICAL + 12, SPR_G2_GIGA_TRACK_BARREL_ROLL = SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 12, SPR_G2_GIGA_TRACK_HALF_LOOP = SPR_G2_GIGA_TRACK_BARREL_ROLL + 48, - SPR_G2_GIGA_TRACK_QUARTER_LOOP = SPR_G2_GIGA_TRACK_HALF_LOOP + 16, + SPR_G2_GIGA_TRACK_VERTICAL_LOOP = SPR_G2_GIGA_TRACK_HALF_LOOP + 16, + SPR_G2_GIGA_TRACK_QUARTER_LOOP = SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 32, SPR_G2_GIGA_TRACK_CORKSCREW = SPR_G2_GIGA_TRACK_QUARTER_LOOP + 12, SPR_G2_GIGA_TRACK_LARGE_CORKSCREW = SPR_G2_GIGA_TRACK_CORKSCREW + 24, SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION = SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 40, From 51131aaa3eff9598d80b4d1e7bdafe47464cb3ca Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Tue, 25 Apr 2023 12:48:32 +0100 Subject: [PATCH 05/27] Start supports --- src/openrct2/ride/coaster/GigaCoaster.cpp | 276 +++++++++++----------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index cf62c8f5d8..50d81f7953 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -14558,7 +14558,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -14648,32 +14648,32 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 3)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 7)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 11)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 15)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14720,7 +14720,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -14810,32 +14810,32 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 19)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 23)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 27)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 31)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14862,32 +14862,32 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 32)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 36)), { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 40)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 44)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14998,7 +14998,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 1 || direction == 2) { @@ -15026,32 +15026,32 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 48)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 52)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 56)), { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 60)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15162,7 +15162,7 @@ switch (trackSequence) { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 1) { PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); @@ -15268,8 +15268,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15277,16 +15277,16 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15356,8 +15356,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15365,16 +15365,16 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15444,8 +15444,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15453,15 +15453,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -15532,7 +15532,7 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -15541,15 +15541,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -15643,8 +15643,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15652,15 +15652,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -15726,7 +15726,7 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -15735,15 +15735,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -15809,8 +15809,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15818,16 +15818,16 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15892,8 +15892,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15901,16 +15901,16 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16003,8 +16003,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16012,15 +16012,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16086,7 +16086,7 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16095,15 +16095,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16188,8 +16188,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16197,15 +16197,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16276,7 +16276,7 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16285,15 +16285,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16364,8 +16364,8 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16373,15 +16373,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16452,7 +16452,7 @@ switch (trackSequence) switch (direction) { case 0: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16461,15 +16461,15 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16546,7 +16546,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -16645,7 +16645,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16654,7 +16654,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -16663,7 +16663,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16672,7 +16672,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16724,7 +16724,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -16823,7 +16823,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16832,7 +16832,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -16841,7 +16841,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16850,7 +16850,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16879,7 +16879,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16888,7 +16888,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -16897,7 +16897,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16906,7 +16906,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -17030,7 +17030,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 1 || direction == 2) { PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); @@ -17057,7 +17057,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -17066,7 +17066,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -17075,7 +17075,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -17084,7 +17084,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalASupportsPaintSetup( + MetalBSupportsPaintSetup( session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -17208,7 +17208,7 @@ switch (trackSequence) { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 1) { PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); From f48cd29afef5b5925e39c6d4a0c4ec538c9ee166 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Thu, 27 Apr 2023 13:41:03 +0100 Subject: [PATCH 06/27] Add sprites --- resources/g2/sprites.json | 3565 ++++++++++++++++- .../g2/track/intamin/barrel_roll_left_1_1.png | Bin 0 -> 1023 bytes .../g2/track/intamin/barrel_roll_left_1_2.png | Bin 0 -> 1070 bytes .../g2/track/intamin/barrel_roll_left_1_3.png | Bin 0 -> 882 bytes .../g2/track/intamin/barrel_roll_left_1_4.png | Bin 0 -> 1357 bytes .../g2/track/intamin/barrel_roll_left_1_5.png | Bin 0 -> 860 bytes .../g2/track/intamin/barrel_roll_left_1_6.png | Bin 0 -> 1213 bytes .../g2/track/intamin/barrel_roll_left_2_1.png | Bin 0 -> 946 bytes .../g2/track/intamin/barrel_roll_left_2_2.png | Bin 0 -> 1048 bytes .../g2/track/intamin/barrel_roll_left_2_3.png | Bin 0 -> 860 bytes .../g2/track/intamin/barrel_roll_left_2_4.png | Bin 0 -> 1085 bytes .../g2/track/intamin/barrel_roll_left_2_5.png | Bin 0 -> 860 bytes .../g2/track/intamin/barrel_roll_left_2_6.png | Bin 0 -> 1231 bytes .../g2/track/intamin/barrel_roll_left_3_1.png | Bin 0 -> 1251 bytes .../g2/track/intamin/barrel_roll_left_3_2.png | Bin 0 -> 877 bytes .../g2/track/intamin/barrel_roll_left_3_3.png | Bin 0 -> 1092 bytes .../g2/track/intamin/barrel_roll_left_3_4.png | Bin 0 -> 937 bytes .../g2/track/intamin/barrel_roll_left_3_5.png | Bin 0 -> 886 bytes .../g2/track/intamin/barrel_roll_left_3_6.png | Bin 0 -> 1137 bytes .../g2/track/intamin/barrel_roll_left_4_1.png | Bin 0 -> 1213 bytes .../g2/track/intamin/barrel_roll_left_4_2.png | Bin 0 -> 877 bytes .../g2/track/intamin/barrel_roll_left_4_3.png | Bin 0 -> 1199 bytes .../g2/track/intamin/barrel_roll_left_4_4.png | Bin 0 -> 955 bytes .../g2/track/intamin/barrel_roll_left_4_5.png | Bin 0 -> 938 bytes .../g2/track/intamin/barrel_roll_left_4_6.png | Bin 0 -> 1210 bytes .../track/intamin/barrel_roll_right_1_1.png | Bin 0 -> 1212 bytes .../track/intamin/barrel_roll_right_1_2.png | Bin 0 -> 881 bytes .../track/intamin/barrel_roll_right_1_3.png | Bin 0 -> 1206 bytes .../track/intamin/barrel_roll_right_1_4.png | Bin 0 -> 965 bytes .../track/intamin/barrel_roll_right_1_5.png | Bin 0 -> 925 bytes .../track/intamin/barrel_roll_right_1_6.png | Bin 0 -> 1200 bytes .../track/intamin/barrel_roll_right_2_1.png | Bin 0 -> 1211 bytes .../track/intamin/barrel_roll_right_2_2.png | Bin 0 -> 872 bytes .../track/intamin/barrel_roll_right_2_3.png | Bin 0 -> 1083 bytes .../track/intamin/barrel_roll_right_2_4.png | Bin 0 -> 945 bytes .../track/intamin/barrel_roll_right_2_5.png | Bin 0 -> 879 bytes .../track/intamin/barrel_roll_right_2_6.png | Bin 0 -> 1114 bytes .../track/intamin/barrel_roll_right_3_1.png | Bin 0 -> 949 bytes .../track/intamin/barrel_roll_right_3_2.png | Bin 0 -> 1072 bytes .../track/intamin/barrel_roll_right_3_3.png | Bin 0 -> 860 bytes .../track/intamin/barrel_roll_right_3_4.png | Bin 0 -> 1091 bytes .../track/intamin/barrel_roll_right_3_5.png | Bin 0 -> 860 bytes .../track/intamin/barrel_roll_right_3_6.png | Bin 0 -> 1284 bytes .../track/intamin/barrel_roll_right_4_1.png | Bin 0 -> 1012 bytes .../track/intamin/barrel_roll_right_4_2.png | Bin 0 -> 1055 bytes .../track/intamin/barrel_roll_right_4_3.png | Bin 0 -> 870 bytes .../track/intamin/barrel_roll_right_4_4.png | Bin 0 -> 1325 bytes .../track/intamin/barrel_roll_right_4_5.png | Bin 0 -> 860 bytes .../track/intamin/barrel_roll_right_4_6.png | Bin 0 -> 1214 bytes .../g2/track/intamin/corkscrew_left_1_1.png | Bin 0 -> 1484 bytes .../g2/track/intamin/corkscrew_left_1_2.png | Bin 0 -> 1307 bytes .../g2/track/intamin/corkscrew_left_1_3.png | Bin 0 -> 1342 bytes .../g2/track/intamin/corkscrew_left_2_1.png | Bin 0 -> 1050 bytes .../g2/track/intamin/corkscrew_left_2_2.png | Bin 0 -> 1487 bytes .../g2/track/intamin/corkscrew_left_2_3.png | Bin 0 -> 1303 bytes .../g2/track/intamin/corkscrew_left_3_1.png | Bin 0 -> 1311 bytes .../g2/track/intamin/corkscrew_left_3_2.png | Bin 0 -> 1083 bytes .../g2/track/intamin/corkscrew_left_3_3.png | Bin 0 -> 1198 bytes .../g2/track/intamin/corkscrew_left_4_1.png | Bin 0 -> 1509 bytes .../g2/track/intamin/corkscrew_left_4_2.png | Bin 0 -> 1189 bytes .../g2/track/intamin/corkscrew_left_4_3.png | Bin 0 -> 1193 bytes .../g2/track/intamin/corkscrew_right_1_1.png | Bin 0 -> 1470 bytes .../g2/track/intamin/corkscrew_right_1_2.png | Bin 0 -> 1168 bytes .../g2/track/intamin/corkscrew_right_1_3.png | Bin 0 -> 1182 bytes .../g2/track/intamin/corkscrew_right_2_1.png | Bin 0 -> 1304 bytes .../g2/track/intamin/corkscrew_right_2_2.png | Bin 0 -> 1106 bytes .../g2/track/intamin/corkscrew_right_2_3.png | Bin 0 -> 1238 bytes .../g2/track/intamin/corkscrew_right_3_1.png | Bin 0 -> 1058 bytes .../g2/track/intamin/corkscrew_right_3_2.png | Bin 0 -> 1515 bytes .../g2/track/intamin/corkscrew_right_3_3.png | Bin 0 -> 1308 bytes .../g2/track/intamin/corkscrew_right_4_1.png | Bin 0 -> 1440 bytes .../g2/track/intamin/corkscrew_right_4_2.png | Bin 0 -> 1291 bytes .../g2/track/intamin/corkscrew_right_4_3.png | Bin 0 -> 1341 bytes .../flat_to_gentle_up_left_bank_diag_1_1.png | Bin 0 -> 1010 bytes .../flat_to_gentle_up_left_bank_diag_1_2.png | Bin 0 -> 1226 bytes .../flat_to_gentle_up_left_bank_diag_2.png | Bin 0 -> 1112 bytes .../flat_to_gentle_up_left_bank_diag_3.png | Bin 0 -> 1350 bytes .../flat_to_gentle_up_left_bank_diag_4.png | Bin 0 -> 1239 bytes .../flat_to_gentle_up_right_bank_diag_1.png | Bin 0 -> 1322 bytes .../flat_to_gentle_up_right_bank_diag_2.png | Bin 0 -> 1115 bytes .../flat_to_gentle_up_right_bank_diag_3_1.png | Bin 0 -> 1012 bytes .../flat_to_gentle_up_right_bank_diag_3_2.png | Bin 0 -> 1229 bytes .../flat_to_gentle_up_right_bank_diag_4.png | Bin 0 -> 1240 bytes .../intamin/gentle_up_left_bank_diag_1.png | Bin 0 -> 1341 bytes .../intamin/gentle_up_left_bank_diag_2.png | Bin 0 -> 1058 bytes .../intamin/gentle_up_left_bank_diag_3.png | Bin 0 -> 1324 bytes .../intamin/gentle_up_left_bank_diag_4.png | Bin 0 -> 1181 bytes .../gentle_up_left_bank_to_flat_diag_1_1.png | Bin 0 -> 987 bytes .../gentle_up_left_bank_to_flat_diag_1_2.png | Bin 0 -> 1213 bytes .../gentle_up_left_bank_to_flat_diag_2.png | Bin 0 -> 1156 bytes .../gentle_up_left_bank_to_flat_diag_3.png | Bin 0 -> 1327 bytes .../gentle_up_left_bank_to_flat_diag_4.png | Bin 0 -> 1203 bytes ...tle_up_left_bank_to_gentle_up_diag_1_1.png | Bin 0 -> 1001 bytes ...tle_up_left_bank_to_gentle_up_diag_1_2.png | Bin 0 -> 1228 bytes ...entle_up_left_bank_to_gentle_up_diag_2.png | Bin 0 -> 1102 bytes ...entle_up_left_bank_to_gentle_up_diag_3.png | Bin 0 -> 1371 bytes ...entle_up_left_bank_to_gentle_up_diag_4.png | Bin 0 -> 1246 bytes ...entle_up_left_bank_to_left_bank_diag_1.png | Bin 0 -> 1293 bytes ...entle_up_left_bank_to_left_bank_diag_2.png | Bin 0 -> 1139 bytes ...entle_up_left_bank_to_left_bank_diag_3.png | Bin 0 -> 1346 bytes ...entle_up_left_bank_to_left_bank_diag_4.png | Bin 0 -> 1219 bytes .../intamin/gentle_up_right_bank_diag_1.png | Bin 0 -> 1297 bytes .../intamin/gentle_up_right_bank_diag_2.png | Bin 0 -> 1061 bytes .../intamin/gentle_up_right_bank_diag_3.png | Bin 0 -> 1339 bytes .../intamin/gentle_up_right_bank_diag_4.png | Bin 0 -> 1182 bytes .../gentle_up_right_bank_to_flat_diag_1.png | Bin 0 -> 1290 bytes .../gentle_up_right_bank_to_flat_diag_2.png | Bin 0 -> 1147 bytes .../gentle_up_right_bank_to_flat_diag_3_1.png | Bin 0 -> 1005 bytes .../gentle_up_right_bank_to_flat_diag_3_2.png | Bin 0 -> 1225 bytes .../gentle_up_right_bank_to_flat_diag_4.png | Bin 0 -> 1206 bytes ...ntle_up_right_bank_to_gentle_up_diag_1.png | Bin 0 -> 1324 bytes ...ntle_up_right_bank_to_gentle_up_diag_2.png | Bin 0 -> 1102 bytes ...le_up_right_bank_to_gentle_up_diag_3_1.png | Bin 0 -> 1015 bytes ...le_up_right_bank_to_gentle_up_diag_3_2.png | Bin 0 -> 1245 bytes ...ntle_up_right_bank_to_gentle_up_diag_4.png | Bin 0 -> 1258 bytes ...tle_up_right_bank_to_right_bank_diag_1.png | Bin 0 -> 1317 bytes ...tle_up_right_bank_to_right_bank_diag_2.png | Bin 0 -> 1141 bytes ...tle_up_right_bank_to_right_bank_diag_3.png | Bin 0 -> 1307 bytes ...tle_up_right_bank_to_right_bank_diag_4.png | Bin 0 -> 1233 bytes ...tle_up_to_gentle_up_left_bank_diag_1_1.png | Bin 0 -> 1018 bytes ...tle_up_to_gentle_up_left_bank_diag_1_2.png | Bin 0 -> 1272 bytes ...entle_up_to_gentle_up_left_bank_diag_2.png | Bin 0 -> 1058 bytes ...entle_up_to_gentle_up_left_bank_diag_3.png | Bin 0 -> 1434 bytes ...entle_up_to_gentle_up_left_bank_diag_4.png | Bin 0 -> 1283 bytes ...ntle_up_to_gentle_up_right_bank_diag_1.png | Bin 0 -> 1356 bytes ...ntle_up_to_gentle_up_right_bank_diag_2.png | Bin 0 -> 1060 bytes ...le_up_to_gentle_up_right_bank_diag_3_1.png | Bin 0 -> 1019 bytes ...le_up_to_gentle_up_right_bank_diag_3_2.png | Bin 0 -> 1284 bytes ...ntle_up_to_gentle_up_right_bank_diag_4.png | Bin 0 -> 1302 bytes resources/g2/track/intamin/half_loop_1_1.png | Bin 0 -> 1240 bytes resources/g2/track/intamin/half_loop_1_2.png | Bin 0 -> 1386 bytes resources/g2/track/intamin/half_loop_1_3.png | Bin 0 -> 1496 bytes resources/g2/track/intamin/half_loop_1_4.png | Bin 0 -> 1183 bytes resources/g2/track/intamin/half_loop_2_1.png | Bin 0 -> 1159 bytes resources/g2/track/intamin/half_loop_2_2.png | Bin 0 -> 1244 bytes resources/g2/track/intamin/half_loop_2_3.png | Bin 0 -> 1509 bytes resources/g2/track/intamin/half_loop_2_4.png | Bin 0 -> 1216 bytes resources/g2/track/intamin/half_loop_3_1.png | Bin 0 -> 1143 bytes resources/g2/track/intamin/half_loop_3_2.png | Bin 0 -> 1252 bytes resources/g2/track/intamin/half_loop_3_3.png | Bin 0 -> 1500 bytes resources/g2/track/intamin/half_loop_3_4.png | Bin 0 -> 1203 bytes resources/g2/track/intamin/half_loop_4_1.png | Bin 0 -> 1239 bytes resources/g2/track/intamin/half_loop_4_2.png | Bin 0 -> 1423 bytes resources/g2/track/intamin/half_loop_4_3.png | Bin 0 -> 1544 bytes resources/g2/track/intamin/half_loop_4_4.png | Bin 0 -> 1159 bytes .../intamin/large_corkscrew_left_1_1.png | Bin 0 -> 1318 bytes .../intamin/large_corkscrew_left_1_2.png | Bin 0 -> 1381 bytes .../intamin/large_corkscrew_left_1_3.png | Bin 0 -> 1291 bytes .../intamin/large_corkscrew_left_1_4.png | Bin 0 -> 1345 bytes .../intamin/large_corkscrew_left_1_5.png | Bin 0 -> 1270 bytes .../intamin/large_corkscrew_left_2_1.png | Bin 0 -> 1125 bytes .../intamin/large_corkscrew_left_2_2.png | Bin 0 -> 1267 bytes .../intamin/large_corkscrew_left_2_3.png | Bin 0 -> 1364 bytes .../intamin/large_corkscrew_left_2_4.png | Bin 0 -> 1333 bytes .../intamin/large_corkscrew_left_2_5.png | Bin 0 -> 1163 bytes .../intamin/large_corkscrew_left_3_1.png | Bin 0 -> 1180 bytes .../intamin/large_corkscrew_left_3_2.png | Bin 0 -> 1206 bytes .../intamin/large_corkscrew_left_3_3.png | Bin 0 -> 1068 bytes .../intamin/large_corkscrew_left_3_4.png | Bin 0 -> 1104 bytes .../intamin/large_corkscrew_left_3_5.png | Bin 0 -> 1163 bytes .../intamin/large_corkscrew_left_4_1.png | Bin 0 -> 1257 bytes .../intamin/large_corkscrew_left_4_2.png | Bin 0 -> 1285 bytes .../intamin/large_corkscrew_left_4_3.png | Bin 0 -> 1180 bytes .../intamin/large_corkscrew_left_4_4.png | Bin 0 -> 1221 bytes .../intamin/large_corkscrew_left_4_5.png | Bin 0 -> 1305 bytes .../intamin/large_corkscrew_right_1_1.png | Bin 0 -> 1269 bytes .../intamin/large_corkscrew_right_1_2.png | Bin 0 -> 1243 bytes .../intamin/large_corkscrew_right_1_3.png | Bin 0 -> 1159 bytes .../intamin/large_corkscrew_right_1_4.png | Bin 0 -> 1200 bytes .../intamin/large_corkscrew_right_1_5.png | Bin 0 -> 1262 bytes .../intamin/large_corkscrew_right_2_1.png | Bin 0 -> 1178 bytes .../intamin/large_corkscrew_right_2_2.png | Bin 0 -> 1203 bytes .../intamin/large_corkscrew_right_2_3.png | Bin 0 -> 1076 bytes .../intamin/large_corkscrew_right_2_4.png | Bin 0 -> 1129 bytes .../intamin/large_corkscrew_right_2_5.png | Bin 0 -> 1187 bytes .../intamin/large_corkscrew_right_3_1.png | Bin 0 -> 1105 bytes .../intamin/large_corkscrew_right_3_2.png | Bin 0 -> 1274 bytes .../intamin/large_corkscrew_right_3_3.png | Bin 0 -> 1397 bytes .../intamin/large_corkscrew_right_3_4.png | Bin 0 -> 1335 bytes .../intamin/large_corkscrew_right_3_5.png | Bin 0 -> 1159 bytes .../intamin/large_corkscrew_right_4_1.png | Bin 0 -> 1300 bytes .../intamin/large_corkscrew_right_4_2.png | Bin 0 -> 1371 bytes .../intamin/large_corkscrew_right_4_3.png | Bin 0 -> 1281 bytes .../intamin/large_corkscrew_right_4_4.png | Bin 0 -> 1338 bytes .../intamin/large_corkscrew_right_4_5.png | Bin 0 -> 1262 bytes .../intamin/large_half_loop_left_1_1.png | Bin 0 -> 1334 bytes .../intamin/large_half_loop_left_1_2.png | Bin 0 -> 1365 bytes .../intamin/large_half_loop_left_1_3.png | Bin 0 -> 1386 bytes .../intamin/large_half_loop_left_1_4.png | Bin 0 -> 1359 bytes .../intamin/large_half_loop_left_1_5.png | Bin 0 -> 1473 bytes .../intamin/large_half_loop_left_1_6.png | Bin 0 -> 1320 bytes .../intamin/large_half_loop_left_1_7.png | Bin 0 -> 1287 bytes .../intamin/large_half_loop_left_2_1.png | Bin 0 -> 1159 bytes .../intamin/large_half_loop_left_2_2.png | Bin 0 -> 1140 bytes .../intamin/large_half_loop_left_2_3.png | Bin 0 -> 1178 bytes .../intamin/large_half_loop_left_2_4.png | Bin 0 -> 1513 bytes .../intamin/large_half_loop_left_2_5.png | Bin 0 -> 1727 bytes .../intamin/large_half_loop_left_2_6.png | Bin 0 -> 1306 bytes .../intamin/large_half_loop_left_2_7.png | Bin 0 -> 1262 bytes .../intamin/large_half_loop_left_3_1.png | Bin 0 -> 1152 bytes .../intamin/large_half_loop_left_3_2.png | Bin 0 -> 1235 bytes .../intamin/large_half_loop_left_3_3.png | Bin 0 -> 1231 bytes .../intamin/large_half_loop_left_3_4.png | Bin 0 -> 1229 bytes .../intamin/large_half_loop_left_3_5.png | Bin 0 -> 1482 bytes .../intamin/large_half_loop_left_3_6.png | Bin 0 -> 1257 bytes .../intamin/large_half_loop_left_3_7.png | Bin 0 -> 1317 bytes .../intamin/large_half_loop_left_4_1.png | Bin 0 -> 1254 bytes .../intamin/large_half_loop_left_4_2.png | Bin 0 -> 1313 bytes .../intamin/large_half_loop_left_4_3.png | Bin 0 -> 1433 bytes .../intamin/large_half_loop_left_4_4.png | Bin 0 -> 1595 bytes .../intamin/large_half_loop_left_4_5.png | Bin 0 -> 1359 bytes .../intamin/large_half_loop_left_4_6.png | Bin 0 -> 1398 bytes .../intamin/large_half_loop_left_4_7.png | Bin 0 -> 1201 bytes .../intamin/large_half_loop_right_1_1.png | Bin 0 -> 1285 bytes .../intamin/large_half_loop_right_1_2.png | Bin 0 -> 1296 bytes .../intamin/large_half_loop_right_1_3.png | Bin 0 -> 1393 bytes .../intamin/large_half_loop_right_1_4.png | Bin 0 -> 1494 bytes .../intamin/large_half_loop_right_1_5.png | Bin 0 -> 1339 bytes .../intamin/large_half_loop_right_1_6.png | Bin 0 -> 1402 bytes .../intamin/large_half_loop_right_1_7.png | Bin 0 -> 1231 bytes .../intamin/large_half_loop_right_2_1.png | Bin 0 -> 1157 bytes .../intamin/large_half_loop_right_2_2.png | Bin 0 -> 1215 bytes .../intamin/large_half_loop_right_2_3.png | Bin 0 -> 1235 bytes .../intamin/large_half_loop_right_2_4.png | Bin 0 -> 1219 bytes .../intamin/large_half_loop_right_2_5.png | Bin 0 -> 1510 bytes .../intamin/large_half_loop_right_2_6.png | Bin 0 -> 1265 bytes .../intamin/large_half_loop_right_2_7.png | Bin 0 -> 1321 bytes .../intamin/large_half_loop_right_3_1.png | Bin 0 -> 1162 bytes .../intamin/large_half_loop_right_3_2.png | Bin 0 -> 1138 bytes .../intamin/large_half_loop_right_3_3.png | Bin 0 -> 1202 bytes .../intamin/large_half_loop_right_3_4.png | Bin 0 -> 1507 bytes .../intamin/large_half_loop_right_3_5.png | Bin 0 -> 1742 bytes .../intamin/large_half_loop_right_3_6.png | Bin 0 -> 1302 bytes .../intamin/large_half_loop_right_3_7.png | Bin 0 -> 1270 bytes .../intamin/large_half_loop_right_4_1.png | Bin 0 -> 1318 bytes .../intamin/large_half_loop_right_4_2.png | Bin 0 -> 1350 bytes .../intamin/large_half_loop_right_4_3.png | Bin 0 -> 1418 bytes .../intamin/large_half_loop_right_4_4.png | Bin 0 -> 1428 bytes .../intamin/large_half_loop_right_4_5.png | Bin 0 -> 1503 bytes .../intamin/large_half_loop_right_4_6.png | Bin 0 -> 1300 bytes .../intamin/large_half_loop_right_4_7.png | Bin 0 -> 1244 bytes ...e_turn_left_bank_to_diag_gentle_up_1_1.png | Bin 0 -> 1220 bytes ...e_turn_left_bank_to_diag_gentle_up_1_2.png | Bin 0 -> 1234 bytes ...e_turn_left_bank_to_diag_gentle_up_1_3.png | Bin 0 -> 986 bytes ...e_turn_left_bank_to_diag_gentle_up_1_4.png | Bin 0 -> 1179 bytes ...e_turn_left_bank_to_diag_gentle_up_2_1.png | Bin 0 -> 1054 bytes ...e_turn_left_bank_to_diag_gentle_up_2_2.png | Bin 0 -> 1199 bytes ...e_turn_left_bank_to_diag_gentle_up_2_3.png | Bin 0 -> 1082 bytes ...e_turn_left_bank_to_diag_gentle_up_2_4.png | Bin 0 -> 1152 bytes ...e_turn_left_bank_to_diag_gentle_up_3_1.png | Bin 0 -> 1013 bytes ...e_turn_left_bank_to_diag_gentle_up_3_2.png | Bin 0 -> 1018 bytes ...e_turn_left_bank_to_diag_gentle_up_3_3.png | Bin 0 -> 955 bytes ...e_turn_left_bank_to_diag_gentle_up_3_4.png | Bin 0 -> 998 bytes ...e_turn_left_bank_to_diag_gentle_up_4_1.png | Bin 0 -> 1289 bytes ...e_turn_left_bank_to_diag_gentle_up_4_2.png | Bin 0 -> 1264 bytes ...e_turn_left_bank_to_diag_gentle_up_4_3.png | Bin 0 -> 995 bytes ...e_turn_left_bank_to_diag_gentle_up_4_4.png | Bin 0 -> 1174 bytes ..._left_bank_to_orthogonal_gentle_up_1_1.png | Bin 0 -> 1145 bytes ..._left_bank_to_orthogonal_gentle_up_1_2.png | Bin 0 -> 860 bytes ..._left_bank_to_orthogonal_gentle_up_1_3.png | Bin 0 -> 1230 bytes ..._left_bank_to_orthogonal_gentle_up_1_4.png | Bin 0 -> 1308 bytes ..._left_bank_to_orthogonal_gentle_up_2_1.png | Bin 0 -> 908 bytes ..._left_bank_to_orthogonal_gentle_up_2_2.png | Bin 0 -> 860 bytes ..._left_bank_to_orthogonal_gentle_up_2_3.png | Bin 0 -> 1065 bytes ..._left_bank_to_orthogonal_gentle_up_2_4.png | Bin 0 -> 1142 bytes ..._left_bank_to_orthogonal_gentle_up_3_1.png | Bin 0 -> 1164 bytes ..._left_bank_to_orthogonal_gentle_up_3_2.png | Bin 0 -> 860 bytes ..._left_bank_to_orthogonal_gentle_up_3_3.png | Bin 0 -> 1261 bytes ..._left_bank_to_orthogonal_gentle_up_3_4.png | Bin 0 -> 1212 bytes ..._left_bank_to_orthogonal_gentle_up_4_1.png | Bin 0 -> 1042 bytes ..._left_bank_to_orthogonal_gentle_up_4_2.png | Bin 0 -> 860 bytes ..._left_bank_to_orthogonal_gentle_up_4_3.png | Bin 0 -> 1215 bytes ..._left_bank_to_orthogonal_gentle_up_4_4.png | Bin 0 -> 1399 bytes .../large_turn_left_to_diag_gentle_up_1_1.png | Bin 0 -> 1216 bytes .../large_turn_left_to_diag_gentle_up_1_2.png | Bin 0 -> 1142 bytes .../large_turn_left_to_diag_gentle_up_1_3.png | Bin 0 -> 1004 bytes .../large_turn_left_to_diag_gentle_up_1_4.png | Bin 0 -> 1124 bytes .../large_turn_left_to_diag_gentle_up_2_1.png | Bin 0 -> 1029 bytes .../large_turn_left_to_diag_gentle_up_2_2.png | Bin 0 -> 1161 bytes .../large_turn_left_to_diag_gentle_up_2_3.png | Bin 0 -> 1075 bytes .../large_turn_left_to_diag_gentle_up_2_4.png | Bin 0 -> 1156 bytes .../large_turn_left_to_diag_gentle_up_3_1.png | Bin 0 -> 1008 bytes .../large_turn_left_to_diag_gentle_up_3_2.png | Bin 0 -> 979 bytes .../large_turn_left_to_diag_gentle_up_3_3.png | Bin 0 -> 1011 bytes .../large_turn_left_to_diag_gentle_up_3_4.png | Bin 0 -> 1018 bytes .../large_turn_left_to_diag_gentle_up_4_1.png | Bin 0 -> 1291 bytes .../large_turn_left_to_diag_gentle_up_4_2.png | Bin 0 -> 1248 bytes .../large_turn_left_to_diag_gentle_up_4_3.png | Bin 0 -> 980 bytes .../large_turn_left_to_diag_gentle_up_4_4.png | Bin 0 -> 1194 bytes ..._turn_left_to_orthogonal_gentle_up_1_1.png | Bin 0 -> 1177 bytes ..._turn_left_to_orthogonal_gentle_up_1_2.png | Bin 0 -> 860 bytes ..._turn_left_to_orthogonal_gentle_up_1_3.png | Bin 0 -> 1264 bytes ..._turn_left_to_orthogonal_gentle_up_1_4.png | Bin 0 -> 1351 bytes ..._turn_left_to_orthogonal_gentle_up_2_1.png | Bin 0 -> 879 bytes ..._turn_left_to_orthogonal_gentle_up_2_2.png | Bin 0 -> 860 bytes ..._turn_left_to_orthogonal_gentle_up_2_3.png | Bin 0 -> 1045 bytes ..._turn_left_to_orthogonal_gentle_up_2_4.png | Bin 0 -> 1142 bytes ..._turn_left_to_orthogonal_gentle_up_3_1.png | Bin 0 -> 1172 bytes ..._turn_left_to_orthogonal_gentle_up_3_2.png | Bin 0 -> 860 bytes ..._turn_left_to_orthogonal_gentle_up_3_3.png | Bin 0 -> 1233 bytes ..._turn_left_to_orthogonal_gentle_up_3_4.png | Bin 0 -> 1231 bytes ..._turn_left_to_orthogonal_gentle_up_4_1.png | Bin 0 -> 1054 bytes ..._turn_left_to_orthogonal_gentle_up_4_2.png | Bin 0 -> 860 bytes ..._turn_left_to_orthogonal_gentle_up_4_3.png | Bin 0 -> 1216 bytes ..._turn_left_to_orthogonal_gentle_up_4_4.png | Bin 0 -> 1369 bytes ..._turn_right_bank_to_diag_gentle_up_1_1.png | Bin 0 -> 1300 bytes ..._turn_right_bank_to_diag_gentle_up_1_2.png | Bin 0 -> 1233 bytes ..._turn_right_bank_to_diag_gentle_up_1_3.png | Bin 0 -> 985 bytes ..._turn_right_bank_to_diag_gentle_up_1_4.png | Bin 0 -> 1151 bytes ..._turn_right_bank_to_diag_gentle_up_2_1.png | Bin 0 -> 1014 bytes ..._turn_right_bank_to_diag_gentle_up_2_2.png | Bin 0 -> 1018 bytes ..._turn_right_bank_to_diag_gentle_up_2_3.png | Bin 0 -> 951 bytes ..._turn_right_bank_to_diag_gentle_up_2_4.png | Bin 0 -> 995 bytes ..._turn_right_bank_to_diag_gentle_up_3_1.png | Bin 0 -> 1074 bytes ..._turn_right_bank_to_diag_gentle_up_3_2.png | Bin 0 -> 1226 bytes ..._turn_right_bank_to_diag_gentle_up_3_3.png | Bin 0 -> 1102 bytes ..._turn_right_bank_to_diag_gentle_up_3_4.png | Bin 0 -> 1158 bytes ..._turn_right_bank_to_diag_gentle_up_4_1.png | Bin 0 -> 1200 bytes ..._turn_right_bank_to_diag_gentle_up_4_2.png | Bin 0 -> 1218 bytes ..._turn_right_bank_to_diag_gentle_up_4_3.png | Bin 0 -> 987 bytes ..._turn_right_bank_to_diag_gentle_up_4_4.png | Bin 0 -> 1152 bytes ...right_bank_to_orthogonal_gentle_up_1_1.png | Bin 0 -> 1135 bytes ...right_bank_to_orthogonal_gentle_up_1_2.png | Bin 0 -> 860 bytes ...right_bank_to_orthogonal_gentle_up_1_3.png | Bin 0 -> 1215 bytes ...right_bank_to_orthogonal_gentle_up_1_4.png | Bin 0 -> 1147 bytes ...right_bank_to_orthogonal_gentle_up_2_1.png | Bin 0 -> 906 bytes ...right_bank_to_orthogonal_gentle_up_2_2.png | Bin 0 -> 860 bytes ...right_bank_to_orthogonal_gentle_up_2_3.png | Bin 0 -> 1077 bytes ...right_bank_to_orthogonal_gentle_up_2_4.png | Bin 0 -> 1153 bytes ...right_bank_to_orthogonal_gentle_up_3_1.png | Bin 0 -> 1158 bytes ...right_bank_to_orthogonal_gentle_up_3_2.png | Bin 0 -> 860 bytes ...right_bank_to_orthogonal_gentle_up_3_3.png | Bin 0 -> 1226 bytes ...right_bank_to_orthogonal_gentle_up_3_4.png | Bin 0 -> 1307 bytes ...right_bank_to_orthogonal_gentle_up_4_1.png | Bin 0 -> 1041 bytes ...right_bank_to_orthogonal_gentle_up_4_2.png | Bin 0 -> 860 bytes ...right_bank_to_orthogonal_gentle_up_4_3.png | Bin 0 -> 1217 bytes ...right_bank_to_orthogonal_gentle_up_4_4.png | Bin 0 -> 1374 bytes ...large_turn_right_to_diag_gentle_up_1_1.png | Bin 0 -> 1292 bytes ...large_turn_right_to_diag_gentle_up_1_2.png | Bin 0 -> 1221 bytes ...large_turn_right_to_diag_gentle_up_1_3.png | Bin 0 -> 972 bytes ...large_turn_right_to_diag_gentle_up_1_4.png | Bin 0 -> 1160 bytes ...large_turn_right_to_diag_gentle_up_2_1.png | Bin 0 -> 1019 bytes ...large_turn_right_to_diag_gentle_up_2_2.png | Bin 0 -> 987 bytes ...large_turn_right_to_diag_gentle_up_2_3.png | Bin 0 -> 998 bytes ...large_turn_right_to_diag_gentle_up_2_4.png | Bin 0 -> 1013 bytes ...large_turn_right_to_diag_gentle_up_3_1.png | Bin 0 -> 1019 bytes ...large_turn_right_to_diag_gentle_up_3_2.png | Bin 0 -> 1191 bytes ...large_turn_right_to_diag_gentle_up_3_3.png | Bin 0 -> 1079 bytes ...large_turn_right_to_diag_gentle_up_3_4.png | Bin 0 -> 1174 bytes ...large_turn_right_to_diag_gentle_up_4_1.png | Bin 0 -> 1213 bytes ...large_turn_right_to_diag_gentle_up_4_2.png | Bin 0 -> 1153 bytes ...large_turn_right_to_diag_gentle_up_4_3.png | Bin 0 -> 1013 bytes ...large_turn_right_to_diag_gentle_up_4_4.png | Bin 0 -> 1125 bytes ...turn_right_to_orthogonal_gentle_up_1_1.png | Bin 0 -> 1150 bytes ...turn_right_to_orthogonal_gentle_up_1_2.png | Bin 0 -> 860 bytes ...turn_right_to_orthogonal_gentle_up_1_3.png | Bin 0 -> 1208 bytes ...turn_right_to_orthogonal_gentle_up_1_4.png | Bin 0 -> 1212 bytes ...turn_right_to_orthogonal_gentle_up_2_1.png | Bin 0 -> 890 bytes ...turn_right_to_orthogonal_gentle_up_2_2.png | Bin 0 -> 860 bytes ...turn_right_to_orthogonal_gentle_up_2_3.png | Bin 0 -> 1038 bytes ...turn_right_to_orthogonal_gentle_up_2_4.png | Bin 0 -> 1157 bytes ...turn_right_to_orthogonal_gentle_up_3_1.png | Bin 0 -> 1190 bytes ...turn_right_to_orthogonal_gentle_up_3_2.png | Bin 0 -> 860 bytes ...turn_right_to_orthogonal_gentle_up_3_3.png | Bin 0 -> 1279 bytes ...turn_right_to_orthogonal_gentle_up_3_4.png | Bin 0 -> 1371 bytes ...turn_right_to_orthogonal_gentle_up_4_1.png | Bin 0 -> 1048 bytes ...turn_right_to_orthogonal_gentle_up_4_2.png | Bin 0 -> 860 bytes ...turn_right_to_orthogonal_gentle_up_4_3.png | Bin 0 -> 1213 bytes ...turn_right_to_orthogonal_gentle_up_4_4.png | Bin 0 -> 1345 bytes .../intamin/large_zero_g_roll_left_1_1.png | Bin 0 -> 1380 bytes .../intamin/large_zero_g_roll_left_1_2.png | Bin 0 -> 1039 bytes .../intamin/large_zero_g_roll_left_1_3.png | Bin 0 -> 1480 bytes .../intamin/large_zero_g_roll_left_1_4.png | Bin 0 -> 1314 bytes .../intamin/large_zero_g_roll_left_1_5.png | Bin 0 -> 1241 bytes .../intamin/large_zero_g_roll_left_2_1.png | Bin 0 -> 1302 bytes .../intamin/large_zero_g_roll_left_2_2.png | Bin 0 -> 1207 bytes .../intamin/large_zero_g_roll_left_2_3.png | Bin 0 -> 1189 bytes .../intamin/large_zero_g_roll_left_2_4.png | Bin 0 -> 1247 bytes .../intamin/large_zero_g_roll_left_3_1.png | Bin 0 -> 885 bytes .../intamin/large_zero_g_roll_left_3_2.png | Bin 0 -> 1227 bytes .../intamin/large_zero_g_roll_left_3_3.png | Bin 0 -> 1428 bytes .../intamin/large_zero_g_roll_left_3_4.png | Bin 0 -> 1201 bytes .../intamin/large_zero_g_roll_left_3_5.png | Bin 0 -> 880 bytes .../intamin/large_zero_g_roll_left_3_6.png | Bin 0 -> 1142 bytes .../intamin/large_zero_g_roll_left_4_1.png | Bin 0 -> 1386 bytes .../intamin/large_zero_g_roll_left_4_2.png | Bin 0 -> 1537 bytes .../intamin/large_zero_g_roll_left_4_3.png | Bin 0 -> 1205 bytes .../intamin/large_zero_g_roll_left_4_4.png | Bin 0 -> 1125 bytes .../intamin/large_zero_g_roll_left_4_5.png | Bin 0 -> 1323 bytes .../intamin/large_zero_g_roll_right_1_1.png | Bin 0 -> 1316 bytes .../intamin/large_zero_g_roll_right_1_2.png | Bin 0 -> 1469 bytes .../intamin/large_zero_g_roll_right_1_3.png | Bin 0 -> 1183 bytes .../intamin/large_zero_g_roll_right_1_4.png | Bin 0 -> 1120 bytes .../intamin/large_zero_g_roll_right_1_5.png | Bin 0 -> 1337 bytes .../intamin/large_zero_g_roll_right_2_1.png | Bin 0 -> 890 bytes .../intamin/large_zero_g_roll_right_2_2.png | Bin 0 -> 1198 bytes .../intamin/large_zero_g_roll_right_2_3.png | Bin 0 -> 1427 bytes .../intamin/large_zero_g_roll_right_2_4.png | Bin 0 -> 1189 bytes .../intamin/large_zero_g_roll_right_2_5.png | Bin 0 -> 873 bytes .../intamin/large_zero_g_roll_right_2_6.png | Bin 0 -> 1128 bytes .../intamin/large_zero_g_roll_right_3_1.png | Bin 0 -> 1320 bytes .../intamin/large_zero_g_roll_right_3_2.png | Bin 0 -> 1220 bytes .../intamin/large_zero_g_roll_right_3_3.png | Bin 0 -> 1190 bytes .../intamin/large_zero_g_roll_right_3_4.png | Bin 0 -> 1251 bytes .../intamin/large_zero_g_roll_right_4_1.png | Bin 0 -> 1476 bytes .../intamin/large_zero_g_roll_right_4_2.png | Bin 0 -> 1048 bytes .../intamin/large_zero_g_roll_right_4_3.png | Bin 0 -> 1502 bytes .../intamin/large_zero_g_roll_right_4_4.png | Bin 0 -> 1321 bytes .../intamin/large_zero_g_roll_right_4_5.png | Bin 0 -> 1248 bytes ...eft_bank_to_gentle_up_left_bank_diag_1.png | Bin 0 -> 1340 bytes ...eft_bank_to_gentle_up_left_bank_diag_2.png | Bin 0 -> 1132 bytes ...eft_bank_to_gentle_up_left_bank_diag_3.png | Bin 0 -> 1348 bytes ...eft_bank_to_gentle_up_left_bank_diag_4.png | Bin 0 -> 1249 bytes .../track/intamin/left_vertical_loop_1_1.png | Bin 0 -> 1276 bytes .../track/intamin/left_vertical_loop_1_2.png | Bin 0 -> 1364 bytes .../track/intamin/left_vertical_loop_1_3.png | Bin 0 -> 1496 bytes .../track/intamin/left_vertical_loop_1_4.png | Bin 0 -> 1254 bytes .../track/intamin/left_vertical_loop_2_1.png | Bin 0 -> 1195 bytes .../track/intamin/left_vertical_loop_2_2.png | Bin 0 -> 1214 bytes .../track/intamin/left_vertical_loop_2_3.png | Bin 0 -> 1567 bytes .../track/intamin/left_vertical_loop_2_4.png | Bin 0 -> 1160 bytes .../track/intamin/left_vertical_loop_3_1.png | Bin 0 -> 1183 bytes .../track/intamin/left_vertical_loop_3_2.png | Bin 0 -> 1331 bytes .../track/intamin/left_vertical_loop_3_3.png | Bin 0 -> 1036 bytes .../track/intamin/left_vertical_loop_3_4.png | Bin 0 -> 1509 bytes .../track/intamin/left_vertical_loop_4_1.png | Bin 0 -> 1237 bytes .../track/intamin/left_vertical_loop_4_2.png | Bin 0 -> 1452 bytes .../track/intamin/left_vertical_loop_4_3.png | Bin 0 -> 1674 bytes .../track/intamin/left_vertical_loop_4_4.png | Bin 0 -> 937 bytes .../intamin/medium_half_loop_left_1_1.png | Bin 0 -> 1371 bytes .../intamin/medium_half_loop_left_1_2.png | Bin 0 -> 1311 bytes .../intamin/medium_half_loop_left_1_3.png | Bin 0 -> 1582 bytes .../intamin/medium_half_loop_left_1_4.png | Bin 0 -> 1538 bytes .../intamin/medium_half_loop_left_1_5.png | Bin 0 -> 1322 bytes .../intamin/medium_half_loop_left_2_1.png | Bin 0 -> 1238 bytes .../intamin/medium_half_loop_left_2_2.png | Bin 0 -> 1186 bytes .../intamin/medium_half_loop_left_2_3.png | Bin 0 -> 1526 bytes .../intamin/medium_half_loop_left_2_4.png | Bin 0 -> 1803 bytes .../intamin/medium_half_loop_left_2_5.png | Bin 0 -> 1186 bytes .../intamin/medium_half_loop_left_3_1.png | Bin 0 -> 1062 bytes .../intamin/medium_half_loop_left_3_2.png | Bin 0 -> 1128 bytes .../intamin/medium_half_loop_left_3_3.png | Bin 0 -> 1609 bytes .../intamin/medium_half_loop_left_3_4.png | Bin 0 -> 1570 bytes .../intamin/medium_half_loop_left_3_5.png | Bin 0 -> 1198 bytes .../intamin/medium_half_loop_left_4_1.png | Bin 0 -> 1252 bytes .../intamin/medium_half_loop_left_4_2.png | Bin 0 -> 1318 bytes .../intamin/medium_half_loop_left_4_3.png | Bin 0 -> 1490 bytes .../intamin/medium_half_loop_left_4_4.png | Bin 0 -> 1604 bytes .../intamin/medium_half_loop_left_4_5.png | Bin 0 -> 1250 bytes .../intamin/medium_half_loop_right_1_1.png | Bin 0 -> 1282 bytes .../intamin/medium_half_loop_right_1_2.png | Bin 0 -> 1292 bytes .../intamin/medium_half_loop_right_1_3.png | Bin 0 -> 1384 bytes .../intamin/medium_half_loop_right_1_4.png | Bin 0 -> 1629 bytes .../intamin/medium_half_loop_right_1_5.png | Bin 0 -> 1285 bytes .../intamin/medium_half_loop_right_2_1.png | Bin 0 -> 1070 bytes .../intamin/medium_half_loop_right_2_2.png | Bin 0 -> 1112 bytes .../intamin/medium_half_loop_right_2_3.png | Bin 0 -> 1604 bytes .../intamin/medium_half_loop_right_2_4.png | Bin 0 -> 1613 bytes .../intamin/medium_half_loop_right_2_5.png | Bin 0 -> 1203 bytes .../intamin/medium_half_loop_right_3_1.png | Bin 0 -> 1242 bytes .../intamin/medium_half_loop_right_3_2.png | Bin 0 -> 1192 bytes .../intamin/medium_half_loop_right_3_3.png | Bin 0 -> 1526 bytes .../intamin/medium_half_loop_right_3_4.png | Bin 0 -> 1825 bytes .../intamin/medium_half_loop_right_3_5.png | Bin 0 -> 1198 bytes .../intamin/medium_half_loop_right_4_1.png | Bin 0 -> 1378 bytes .../intamin/medium_half_loop_right_4_2.png | Bin 0 -> 1328 bytes .../intamin/medium_half_loop_right_4_3.png | Bin 0 -> 1661 bytes .../intamin/medium_half_loop_right_4_4.png | Bin 0 -> 1547 bytes .../intamin/medium_half_loop_right_4_5.png | Bin 0 -> 1284 bytes .../g2/track/intamin/quarter_loop_up_1_1.png | Bin 0 -> 1398 bytes .../g2/track/intamin/quarter_loop_up_1_2.png | Bin 0 -> 1173 bytes .../g2/track/intamin/quarter_loop_up_1_3.png | Bin 0 -> 1336 bytes .../g2/track/intamin/quarter_loop_up_2_1.png | Bin 0 -> 1569 bytes .../g2/track/intamin/quarter_loop_up_2_2.png | Bin 0 -> 1492 bytes .../g2/track/intamin/quarter_loop_up_2_3.png | Bin 0 -> 1131 bytes .../g2/track/intamin/quarter_loop_up_3_1.png | Bin 0 -> 1547 bytes .../g2/track/intamin/quarter_loop_up_3_2.png | Bin 0 -> 1516 bytes .../g2/track/intamin/quarter_loop_up_3_3.png | Bin 0 -> 1122 bytes .../g2/track/intamin/quarter_loop_up_4_1.png | Bin 0 -> 1409 bytes .../g2/track/intamin/quarter_loop_up_4_2.png | Bin 0 -> 1142 bytes .../g2/track/intamin/quarter_loop_up_4_3.png | Bin 0 -> 1305 bytes ...ht_bank_to_gentle_up_right_bank_diag_1.png | Bin 0 -> 1318 bytes ...ht_bank_to_gentle_up_right_bank_diag_2.png | Bin 0 -> 1121 bytes ...ht_bank_to_gentle_up_right_bank_diag_3.png | Bin 0 -> 1341 bytes ...ht_bank_to_gentle_up_right_bank_diag_4.png | Bin 0 -> 1228 bytes .../track/intamin/right_vertical_loop_1_1.png | Bin 0 -> 1261 bytes .../track/intamin/right_vertical_loop_1_2.png | Bin 0 -> 1395 bytes .../track/intamin/right_vertical_loop_1_3.png | Bin 0 -> 1651 bytes .../track/intamin/right_vertical_loop_1_4.png | Bin 0 -> 968 bytes .../track/intamin/right_vertical_loop_2_1.png | Bin 0 -> 1157 bytes .../track/intamin/right_vertical_loop_2_2.png | Bin 0 -> 1329 bytes .../track/intamin/right_vertical_loop_2_3.png | Bin 0 -> 1045 bytes .../track/intamin/right_vertical_loop_2_4.png | Bin 0 -> 1507 bytes .../track/intamin/right_vertical_loop_3_1.png | Bin 0 -> 1186 bytes .../track/intamin/right_vertical_loop_3_2.png | Bin 0 -> 1225 bytes .../track/intamin/right_vertical_loop_3_3.png | Bin 0 -> 1566 bytes .../track/intamin/right_vertical_loop_3_4.png | Bin 0 -> 1156 bytes .../track/intamin/right_vertical_loop_4_1.png | Bin 0 -> 1265 bytes .../track/intamin/right_vertical_loop_4_2.png | Bin 0 -> 1428 bytes .../track/intamin/right_vertical_loop_4_3.png | Bin 0 -> 1506 bytes .../track/intamin/right_vertical_loop_4_4.png | Bin 0 -> 1205 bytes .../intamin/small_flat_to_steep_up_1.png | Bin 0 -> 1377 bytes .../intamin/small_flat_to_steep_up_2_1.png | Bin 0 -> 979 bytes .../intamin/small_flat_to_steep_up_2_2.png | Bin 0 -> 1175 bytes .../intamin/small_flat_to_steep_up_3_1.png | Bin 0 -> 972 bytes .../intamin/small_flat_to_steep_up_3_2.png | Bin 0 -> 1183 bytes .../intamin/small_flat_to_steep_up_4.png | Bin 0 -> 1399 bytes .../intamin/small_flat_to_steep_up_diag_1.png | Bin 0 -> 1437 bytes .../intamin/small_flat_to_steep_up_diag_2.png | Bin 0 -> 1045 bytes .../intamin/small_flat_to_steep_up_diag_3.png | Bin 0 -> 1477 bytes .../intamin/small_flat_to_steep_up_diag_4.png | Bin 0 -> 1319 bytes .../intamin/small_steep_to_flat_up_1.png | Bin 0 -> 1298 bytes .../intamin/small_steep_to_flat_up_2_1.png | Bin 0 -> 1035 bytes .../intamin/small_steep_to_flat_up_2_2.png | Bin 0 -> 1048 bytes .../intamin/small_steep_to_flat_up_3_1.png | Bin 0 -> 1042 bytes .../intamin/small_steep_to_flat_up_3_2.png | Bin 0 -> 1081 bytes .../intamin/small_steep_to_flat_up_4.png | Bin 0 -> 1331 bytes .../intamin/small_steep_to_flat_up_diag_1.png | Bin 0 -> 1462 bytes .../intamin/small_steep_to_flat_up_diag_2.png | Bin 0 -> 1042 bytes .../intamin/small_steep_to_flat_up_diag_3.png | Bin 0 -> 1511 bytes .../intamin/small_steep_to_flat_up_diag_4.png | Bin 0 -> 1253 bytes .../small_turn_left_bank_to_gentle_up_1_1.png | Bin 0 -> 1299 bytes .../small_turn_left_bank_to_gentle_up_1_2.png | Bin 0 -> 1271 bytes .../small_turn_left_bank_to_gentle_up_2_1.png | Bin 0 -> 886 bytes .../small_turn_left_bank_to_gentle_up_2_2.png | Bin 0 -> 1234 bytes .../small_turn_left_bank_to_gentle_up_2_3.png | Bin 0 -> 1355 bytes .../small_turn_left_bank_to_gentle_up_3_1.png | Bin 0 -> 1114 bytes .../small_turn_left_bank_to_gentle_up_3_2.png | Bin 0 -> 1150 bytes .../small_turn_left_bank_to_gentle_up_4_1.png | Bin 0 -> 1301 bytes .../small_turn_left_bank_to_gentle_up_4_2.png | Bin 0 -> 1272 bytes ...small_turn_right_bank_to_gentle_up_1_1.png | Bin 0 -> 1316 bytes ...small_turn_right_bank_to_gentle_up_1_2.png | Bin 0 -> 1243 bytes ...small_turn_right_bank_to_gentle_up_2_1.png | Bin 0 -> 1111 bytes ...small_turn_right_bank_to_gentle_up_2_2.png | Bin 0 -> 1156 bytes ...small_turn_right_bank_to_gentle_up_3_1.png | Bin 0 -> 897 bytes ...small_turn_right_bank_to_gentle_up_3_2.png | Bin 0 -> 1239 bytes ...small_turn_right_bank_to_gentle_up_3_3.png | Bin 0 -> 1373 bytes ...small_turn_right_bank_to_gentle_up_4_1.png | Bin 0 -> 1257 bytes ...small_turn_right_bank_to_gentle_up_4_2.png | Bin 0 -> 1274 bytes .../track/intamin/steep_to_vertical_up_1.png | Bin 0 -> 1400 bytes .../track/intamin/steep_to_vertical_up_2.png | Bin 0 -> 1357 bytes .../track/intamin/steep_to_vertical_up_3.png | Bin 0 -> 1379 bytes .../track/intamin/steep_to_vertical_up_4.png | Bin 0 -> 1464 bytes resources/g2/track/intamin/vertical_1.png | Bin 0 -> 1114 bytes resources/g2/track/intamin/vertical_2.png | Bin 0 -> 1116 bytes resources/g2/track/intamin/vertical_3.png | Bin 0 -> 1127 bytes resources/g2/track/intamin/vertical_4.png | Bin 0 -> 1133 bytes .../track/intamin/vertical_to_steep_up_1.png | Bin 0 -> 1379 bytes .../track/intamin/vertical_to_steep_up_2.png | Bin 0 -> 1322 bytes .../track/intamin/vertical_to_steep_up_3.png | Bin 0 -> 1338 bytes .../track/intamin/vertical_to_steep_up_4.png | Bin 0 -> 1460 bytes .../intamin/vertical_twist_left_up_1.png | Bin 0 -> 1566 bytes .../intamin/vertical_twist_left_up_2_1.png | Bin 0 -> 1226 bytes .../intamin/vertical_twist_left_up_2_2.png | Bin 0 -> 1261 bytes .../intamin/vertical_twist_left_up_3.png | Bin 0 -> 1595 bytes .../intamin/vertical_twist_left_up_4_1.png | Bin 0 -> 1260 bytes .../intamin/vertical_twist_left_up_4_2.png | Bin 0 -> 1224 bytes .../intamin/vertical_twist_right_up_1_1.png | Bin 0 -> 1270 bytes .../intamin/vertical_twist_right_up_1_2.png | Bin 0 -> 1216 bytes .../intamin/vertical_twist_right_up_2.png | Bin 0 -> 1607 bytes .../intamin/vertical_twist_right_up_3_1.png | Bin 0 -> 1250 bytes .../intamin/vertical_twist_right_up_3_2.png | Bin 0 -> 1251 bytes .../intamin/vertical_twist_right_up_4.png | Bin 0 -> 1558 bytes .../g2/track/intamin/zero_g_roll_left_1_1.png | Bin 0 -> 1142 bytes .../g2/track/intamin/zero_g_roll_left_1_2.png | Bin 0 -> 1112 bytes .../g2/track/intamin/zero_g_roll_left_1_3.png | Bin 0 -> 1233 bytes .../g2/track/intamin/zero_g_roll_left_1_4.png | Bin 0 -> 1308 bytes .../g2/track/intamin/zero_g_roll_left_2_1.png | Bin 0 -> 905 bytes .../g2/track/intamin/zero_g_roll_left_2_2.png | Bin 0 -> 1081 bytes .../g2/track/intamin/zero_g_roll_left_2_3.png | Bin 0 -> 1141 bytes .../g2/track/intamin/zero_g_roll_left_2_4.png | Bin 0 -> 1159 bytes .../g2/track/intamin/zero_g_roll_left_3_1.png | Bin 0 -> 1186 bytes .../g2/track/intamin/zero_g_roll_left_3_2.png | Bin 0 -> 1197 bytes .../g2/track/intamin/zero_g_roll_left_3_3.png | Bin 0 -> 907 bytes .../g2/track/intamin/zero_g_roll_left_3_4.png | Bin 0 -> 1176 bytes .../g2/track/intamin/zero_g_roll_left_4_1.png | Bin 0 -> 1301 bytes .../g2/track/intamin/zero_g_roll_left_4_2.png | Bin 0 -> 1346 bytes .../g2/track/intamin/zero_g_roll_left_4_3.png | Bin 0 -> 903 bytes .../g2/track/intamin/zero_g_roll_left_4_4.png | Bin 0 -> 1259 bytes .../track/intamin/zero_g_roll_right_1_1.png | Bin 0 -> 1294 bytes .../track/intamin/zero_g_roll_right_1_2.png | Bin 0 -> 1344 bytes .../track/intamin/zero_g_roll_right_1_3.png | Bin 0 -> 914 bytes .../track/intamin/zero_g_roll_right_1_4.png | Bin 0 -> 1248 bytes .../track/intamin/zero_g_roll_right_2_1.png | Bin 0 -> 1153 bytes .../track/intamin/zero_g_roll_right_2_2.png | Bin 0 -> 1168 bytes .../track/intamin/zero_g_roll_right_2_3.png | Bin 0 -> 903 bytes .../track/intamin/zero_g_roll_right_2_4.png | Bin 0 -> 1165 bytes .../track/intamin/zero_g_roll_right_3_1.png | Bin 0 -> 896 bytes .../track/intamin/zero_g_roll_right_3_2.png | Bin 0 -> 1105 bytes .../track/intamin/zero_g_roll_right_3_3.png | Bin 0 -> 1156 bytes .../track/intamin/zero_g_roll_right_3_4.png | Bin 0 -> 1200 bytes .../track/intamin/zero_g_roll_right_4_1.png | Bin 0 -> 1136 bytes .../track/intamin/zero_g_roll_right_4_2.png | Bin 0 -> 1143 bytes .../track/intamin/zero_g_roll_right_4_3.png | Bin 0 -> 1225 bytes .../track/intamin/zero_g_roll_right_4_4.png | Bin 0 -> 1305 bytes src/openrct2/ride/coaster/GigaCoaster.cpp | 514 +-- 596 files changed, 3830 insertions(+), 249 deletions(-) create mode 100644 resources/g2/track/intamin/barrel_roll_left_1_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_1_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_1_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_1_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_1_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_1_6.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_2_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_2_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_2_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_2_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_2_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_2_6.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_3_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_3_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_3_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_3_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_3_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_3_6.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_4_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_4_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_4_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_4_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_4_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_left_4_6.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_1_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_1_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_1_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_1_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_1_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_1_6.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_2_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_2_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_2_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_2_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_2_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_2_6.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_3_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_3_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_3_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_3_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_3_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_3_6.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_4_1.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_4_2.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_4_3.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_4_4.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_4_5.png create mode 100644 resources/g2/track/intamin/barrel_roll_right_4_6.png create mode 100644 resources/g2/track/intamin/corkscrew_left_1_1.png create mode 100644 resources/g2/track/intamin/corkscrew_left_1_2.png create mode 100644 resources/g2/track/intamin/corkscrew_left_1_3.png create mode 100644 resources/g2/track/intamin/corkscrew_left_2_1.png create mode 100644 resources/g2/track/intamin/corkscrew_left_2_2.png create mode 100644 resources/g2/track/intamin/corkscrew_left_2_3.png create mode 100644 resources/g2/track/intamin/corkscrew_left_3_1.png create mode 100644 resources/g2/track/intamin/corkscrew_left_3_2.png create mode 100644 resources/g2/track/intamin/corkscrew_left_3_3.png create mode 100644 resources/g2/track/intamin/corkscrew_left_4_1.png create mode 100644 resources/g2/track/intamin/corkscrew_left_4_2.png create mode 100644 resources/g2/track/intamin/corkscrew_left_4_3.png create mode 100644 resources/g2/track/intamin/corkscrew_right_1_1.png create mode 100644 resources/g2/track/intamin/corkscrew_right_1_2.png create mode 100644 resources/g2/track/intamin/corkscrew_right_1_3.png create mode 100644 resources/g2/track/intamin/corkscrew_right_2_1.png create mode 100644 resources/g2/track/intamin/corkscrew_right_2_2.png create mode 100644 resources/g2/track/intamin/corkscrew_right_2_3.png create mode 100644 resources/g2/track/intamin/corkscrew_right_3_1.png create mode 100644 resources/g2/track/intamin/corkscrew_right_3_2.png create mode 100644 resources/g2/track/intamin/corkscrew_right_3_3.png create mode 100644 resources/g2/track/intamin/corkscrew_right_4_1.png create mode 100644 resources/g2/track/intamin/corkscrew_right_4_2.png create mode 100644 resources/g2/track/intamin/corkscrew_right_4_3.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_2.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_2.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_3.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_4.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_1.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_2.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_3_1.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_3_2.png create mode 100644 resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_diag_1.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_diag_3.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_1_1.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_1_2.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_3.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_1.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_2.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_1.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_3.png create mode 100644 resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_diag_1.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_diag_3.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_1.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_3_1.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_3_2.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_1.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_2.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_1.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_3.png create mode 100644 resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_1.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_3.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_4.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_1.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_2.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_1.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_2.png create mode 100644 resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png create mode 100644 resources/g2/track/intamin/half_loop_1_1.png create mode 100644 resources/g2/track/intamin/half_loop_1_2.png create mode 100644 resources/g2/track/intamin/half_loop_1_3.png create mode 100644 resources/g2/track/intamin/half_loop_1_4.png create mode 100644 resources/g2/track/intamin/half_loop_2_1.png create mode 100644 resources/g2/track/intamin/half_loop_2_2.png create mode 100644 resources/g2/track/intamin/half_loop_2_3.png create mode 100644 resources/g2/track/intamin/half_loop_2_4.png create mode 100644 resources/g2/track/intamin/half_loop_3_1.png create mode 100644 resources/g2/track/intamin/half_loop_3_2.png create mode 100644 resources/g2/track/intamin/half_loop_3_3.png create mode 100644 resources/g2/track/intamin/half_loop_3_4.png create mode 100644 resources/g2/track/intamin/half_loop_4_1.png create mode 100644 resources/g2/track/intamin/half_loop_4_2.png create mode 100644 resources/g2/track/intamin/half_loop_4_3.png create mode 100644 resources/g2/track/intamin/half_loop_4_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_1_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_1_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_1_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_1_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_1_5.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_2_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_2_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_2_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_2_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_2_5.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_3_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_3_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_3_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_3_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_3_5.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_4_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_4_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_4_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_4_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_left_4_5.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_1_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_1_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_1_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_1_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_1_5.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_2_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_2_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_2_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_2_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_2_5.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_3_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_3_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_3_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_3_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_3_5.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_4_1.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_4_2.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_4_3.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_4_4.png create mode 100644 resources/g2/track/intamin/large_corkscrew_right_4_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_1_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_1_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_1_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_1_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_1_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_1_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_1_7.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_2_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_2_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_2_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_2_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_2_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_2_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_2_7.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_3_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_3_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_3_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_3_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_3_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_3_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_3_7.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_4_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_4_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_4_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_4_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_4_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_4_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_left_4_7.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_1_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_1_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_1_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_1_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_1_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_1_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_1_7.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_2_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_2_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_2_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_2_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_2_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_2_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_2_7.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_3_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_3_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_3_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_3_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_3_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_3_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_3_7.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_4_1.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_4_2.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_4_3.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_4_4.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_4_5.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_4_6.png create mode 100644 resources/g2/track/intamin/large_half_loop_right_4_7.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_3.png create mode 100644 resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_1_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_1_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_1_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_1_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_1_5.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_2_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_2_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_2_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_2_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_3_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_3_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_3_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_3_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_3_5.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_3_6.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_4_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_4_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_4_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_4_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_left_4_5.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_1_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_1_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_1_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_1_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_1_5.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_2_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_2_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_2_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_2_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_2_5.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_2_6.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_3_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_3_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_3_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_3_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_4_1.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_4_2.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_4_3.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_4_4.png create mode 100644 resources/g2/track/intamin/large_zero_g_roll_right_4_5.png create mode 100644 resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_1.png create mode 100644 resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png create mode 100644 resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_3.png create mode 100644 resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_1_1.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_1_2.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_1_3.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_1_4.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_2_1.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_2_2.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_2_3.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_2_4.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_3_1.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_3_2.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_3_3.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_3_4.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_4_1.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_4_2.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_4_3.png create mode 100644 resources/g2/track/intamin/left_vertical_loop_4_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_1_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_1_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_1_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_1_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_1_5.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_2_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_2_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_2_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_2_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_2_5.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_3_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_3_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_3_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_3_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_3_5.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_4_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_4_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_4_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_4_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_left_4_5.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_1_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_1_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_1_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_1_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_1_5.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_2_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_2_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_2_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_2_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_2_5.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_3_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_3_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_3_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_3_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_3_5.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_4_1.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_4_2.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_4_3.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_4_4.png create mode 100644 resources/g2/track/intamin/medium_half_loop_right_4_5.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_1_1.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_1_2.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_1_3.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_2_1.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_2_2.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_2_3.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_3_1.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_3_2.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_3_3.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_4_1.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_4_2.png create mode 100644 resources/g2/track/intamin/quarter_loop_up_4_3.png create mode 100644 resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png create mode 100644 resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_2.png create mode 100644 resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png create mode 100644 resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_1_1.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_1_2.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_1_3.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_1_4.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_2_1.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_2_2.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_2_3.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_2_4.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_3_1.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_3_2.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_3_3.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_3_4.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_4_1.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_4_2.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_4_3.png create mode 100644 resources/g2/track/intamin/right_vertical_loop_4_4.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_1.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_2_1.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_2_2.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_3_1.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_3_2.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_4.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_diag_1.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_diag_2.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_diag_3.png create mode 100644 resources/g2/track/intamin/small_flat_to_steep_up_diag_4.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_1.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_2_1.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_2_2.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_3_1.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_3_2.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_4.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_diag_1.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_diag_2.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_diag_3.png create mode 100644 resources/g2/track/intamin/small_steep_to_flat_up_diag_4.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_3.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_1.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_2.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_1.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_2.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_1.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_2.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_3.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_4_1.png create mode 100644 resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_4_2.png create mode 100644 resources/g2/track/intamin/steep_to_vertical_up_1.png create mode 100644 resources/g2/track/intamin/steep_to_vertical_up_2.png create mode 100644 resources/g2/track/intamin/steep_to_vertical_up_3.png create mode 100644 resources/g2/track/intamin/steep_to_vertical_up_4.png create mode 100644 resources/g2/track/intamin/vertical_1.png create mode 100644 resources/g2/track/intamin/vertical_2.png create mode 100644 resources/g2/track/intamin/vertical_3.png create mode 100644 resources/g2/track/intamin/vertical_4.png create mode 100644 resources/g2/track/intamin/vertical_to_steep_up_1.png create mode 100644 resources/g2/track/intamin/vertical_to_steep_up_2.png create mode 100644 resources/g2/track/intamin/vertical_to_steep_up_3.png create mode 100644 resources/g2/track/intamin/vertical_to_steep_up_4.png create mode 100644 resources/g2/track/intamin/vertical_twist_left_up_1.png create mode 100644 resources/g2/track/intamin/vertical_twist_left_up_2_1.png create mode 100644 resources/g2/track/intamin/vertical_twist_left_up_2_2.png create mode 100644 resources/g2/track/intamin/vertical_twist_left_up_3.png create mode 100644 resources/g2/track/intamin/vertical_twist_left_up_4_1.png create mode 100644 resources/g2/track/intamin/vertical_twist_left_up_4_2.png create mode 100644 resources/g2/track/intamin/vertical_twist_right_up_1_1.png create mode 100644 resources/g2/track/intamin/vertical_twist_right_up_1_2.png create mode 100644 resources/g2/track/intamin/vertical_twist_right_up_2.png create mode 100644 resources/g2/track/intamin/vertical_twist_right_up_3_1.png create mode 100644 resources/g2/track/intamin/vertical_twist_right_up_3_2.png create mode 100644 resources/g2/track/intamin/vertical_twist_right_up_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_1_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_1_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_1_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_1_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_2_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_2_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_2_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_2_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_3_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_3_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_3_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_3_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_4_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_4_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_4_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_left_4_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_1_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_1_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_1_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_1_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_2_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_2_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_2_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_2_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_3_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_3_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_3_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_3_4.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_4_1.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_4_2.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_4_3.png create mode 100644 resources/g2/track/intamin/zero_g_roll_right_4_4.png diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 30e04cda64..a8dead7868 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -1724,7 +1724,6 @@ "palette": "keep", "forceBmp": true }, - { "path": "font/latin/w-circumflex-uc-bold.png", "y_offset": -1, @@ -20925,5 +20924,3569 @@ "x_offset": -5, "y_offset": -20, "palette": "keep" + }, + { + "path": "track/intamin/steep_to_vertical_up_1.png", + "x_offset": -21, + "y_offset": -54, + "palette": "keep" + }, + { + "path": "track/intamin/steep_to_vertical_up_2.png", + "x_offset": -21, + "y_offset": -53, + "palette": "keep" + }, + { + "path": "track/intamin/steep_to_vertical_up_3.png", + "x_offset": -10, + "y_offset": -53, + "palette": "keep" + }, + { + "path": "track/intamin/steep_to_vertical_up_4.png", + "x_offset": -10, + "y_offset": -54, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_1.png", + "x_offset": -6, + "y_offset": -60, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_2.png", + "x_offset": -6, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_3.png", + "x_offset": -25, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_4.png", + "x_offset": -25, + "y_offset": -61, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_1.png", + "x_offset": -6, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_2.png", + "x_offset": -6, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_3.png", + "x_offset": -10, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_4.png", + "x_offset": -10, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_1.png", + "x_offset": -10, + "y_offset": -95, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_2_1.png", + "x_offset": -6, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_2_2.png", + "x_offset": -6, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_3.png", + "x_offset": -10, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_4_1.png", + "x_offset": -13, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_4_2.png", + "x_offset": -13, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_1_1.png", + "x_offset": -6, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_1_2.png", + "x_offset": -6, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_2.png", + "x_offset": -10, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_3_1.png", + "x_offset": -13, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_3_2.png", + "x_offset": -13, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_4.png", + "x_offset": -10, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_1.png", + "x_offset": -22, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_2.png", + "x_offset": -17, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_3.png", + "x_offset": -22, + "y_offset": 3, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_4.png", + "x_offset": -20, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_5.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_6.png", + "x_offset": -11, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_2.png", + "x_offset": -20, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_3.png", + "x_offset": -16, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_4.png", + "x_offset": -28, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_5.png", + "x_offset": 10, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_6.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_1.png", + "x_offset": -29, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_2.png", + "x_offset": 10, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_3.png", + "x_offset": -26, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_4.png", + "x_offset": -28, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_5.png", + "x_offset": -5, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_6.png", + "x_offset": -22, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_1.png", + "x_offset": -15, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_2.png", + "x_offset": 13, + "y_offset": 23, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_3.png", + "x_offset": -12, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_4.png", + "x_offset": -10, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_5.png", + "x_offset": -12, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_6.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_1.png", + "x_offset": -22, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_2.png", + "x_offset": -17, + "y_offset": 22, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_3.png", + "x_offset": -26, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_4.png", + "x_offset": -15, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_5.png", + "x_offset": -22, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_6.png", + "x_offset": -26, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_2.png", + "x_offset": -17, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_3.png", + "x_offset": -7, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_4.png", + "x_offset": 13, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_5.png", + "x_offset": -7, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_6.png", + "x_offset": -6, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_1.png", + "x_offset": -2, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_2.png", + "x_offset": -4, + "y_offset": 3, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_3.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_4.png", + "x_offset": 0, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_5.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_6.png", + "x_offset": -22, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_1.png", + "x_offset": -12, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_2.png", + "x_offset": -25, + "y_offset": 5, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_3.png", + "x_offset": 8, + "y_offset": 14, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_4.png", + "x_offset": -28, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_5.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_6.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_1.png", + "x_offset": -28, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_2.png", + "x_offset": -23, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_3.png", + "x_offset": -13, + "y_offset": -92, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_4.png", + "x_offset": -22, + "y_offset": 13, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_1.png", + "x_offset": -16, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_2.png", + "x_offset": 1, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_3.png", + "x_offset": -38, + "y_offset": -114, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_4.png", + "x_offset": -22, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_1.png", + "x_offset": -29, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_2.png", + "x_offset": -30, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_3.png", + "x_offset": -2, + "y_offset": -121, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_4.png", + "x_offset": -29, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_1.png", + "x_offset": -13, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_2.png", + "x_offset": -14, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_3.png", + "x_offset": 4, + "y_offset": -101, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_4.png", + "x_offset": 1, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_1.png", + "x_offset": -28, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_2.png", + "x_offset": -26, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_3.png", + "x_offset": -47, + "y_offset": -91, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_4.png", + "x_offset": -37, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_1.png", + "x_offset": -15, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_2.png", + "x_offset": 1, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_3.png", + "x_offset": -34, + "y_offset": -114, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_4.png", + "x_offset": -6, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_1.png", + "x_offset": -25, + "y_offset": -110, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_2.png", + "x_offset": -19, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_3.png", + "x_offset": 11, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_4.png", + "x_offset": -22, + "y_offset": 5, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_1.png", + "x_offset": -15, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_2.png", + "x_offset": -20, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_3.png", + "x_offset": -4, + "y_offset": -95, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_4.png", + "x_offset": 1, + "y_offset": 17, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_1.png", + "x_offset": -27, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_2.png", + "x_offset": -27, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_3.png", + "x_offset": -31, + "y_offset": -95, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_4.png", + "x_offset": -22, + "y_offset": 16, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_1.png", + "x_offset": -16, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_2.png", + "x_offset": -7, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_3.png", + "x_offset": -20, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_4.png", + "x_offset": -21, + "y_offset": 5, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_1.png", + "x_offset": -46, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_2.png", + "x_offset": -41, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_3.png", + "x_offset": 8, + "y_offset": -114, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_4.png", + "x_offset": -27, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_1.png", + "x_offset": -10, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_2.png", + "x_offset": -11, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_3.png", + "x_offset": 1, + "y_offset": -87, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_4.png", + "x_offset": -9, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_1_1.png", + "x_offset": -18, + "y_offset": -55, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_1_2.png", + "x_offset": 0, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_1_3.png", + "x_offset": -22, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_2_1.png", + "x_offset": -24, + "y_offset": -79, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_2_2.png", + "x_offset": -32, + "y_offset": -66, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_2_3.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_3_1.png", + "x_offset": -10, + "y_offset": -78, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_3_2.png", + "x_offset": -21, + "y_offset": -68, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_3_3.png", + "x_offset": -11, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_4_1.png", + "x_offset": -10, + "y_offset": -56, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_4_2.png", + "x_offset": -28, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_4_3.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_1_1.png", + "x_offset": -22, + "y_offset": -71, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_1_2.png", + "x_offset": -20, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_1_3.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_2_2.png", + "x_offset": -32, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_2_3.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_3_1.png", + "x_offset": -31, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_3_2.png", + "x_offset": -3, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_3_3.png", + "x_offset": -19, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_4_1.png", + "x_offset": -32, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_4_2.png", + "x_offset": -34, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_4_3.png", + "x_offset": -22, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_1_1.png", + "x_offset": -22, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_1_2.png", + "x_offset": -8, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_1_3.png", + "x_offset": -20, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_2_1.png", + "x_offset": -22, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_2_2.png", + "x_offset": -13, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_2_3.png", + "x_offset": -22, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_3_1.png", + "x_offset": -7, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_3_2.png", + "x_offset": -22, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_3_3.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_4_1.png", + "x_offset": -27, + "y_offset": -65, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_4_2.png", + "x_offset": -3, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_4_3.png", + "x_offset": -26, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_1.png", + "x_offset": -22, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_2.png", + "x_offset": -21, + "y_offset": -72, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_3.png", + "x_offset": -28, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_4.png", + "x_offset": -23, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_5.png", + "x_offset": -22, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_2.png", + "x_offset": -32, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_3.png", + "x_offset": -23, + "y_offset": -50, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_4.png", + "x_offset": -18, + "y_offset": -56, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_5.png", + "x_offset": -14, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_1.png", + "x_offset": -16, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_2.png", + "x_offset": -19, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_3.png", + "x_offset": 10, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_4.png", + "x_offset": -8, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_5.png", + "x_offset": -16, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_1.png", + "x_offset": -24, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_2.png", + "x_offset": -23, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_3.png", + "x_offset": -14, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_4.png", + "x_offset": -29, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_5.png", + "x_offset": -22, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_1.png", + "x_offset": -22, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_2.png", + "x_offset": -22, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_3.png", + "x_offset": -20, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_4.png", + "x_offset": -28, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_5.png", + "x_offset": -32, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_2.png", + "x_offset": -16, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_3.png", + "x_offset": -24, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_4.png", + "x_offset": -16, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_5.png", + "x_offset": -22, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_1.png", + "x_offset": -29, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_2.png", + "x_offset": -16, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_3.png", + "x_offset": -25, + "y_offset": -50, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_4.png", + "x_offset": -28, + "y_offset": -56, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_5.png", + "x_offset": -22, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_1.png", + "x_offset": -26, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_2.png", + "x_offset": -11, + "y_offset": -68, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_3.png", + "x_offset": 10, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_4.png", + "x_offset": -17, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_5.png", + "x_offset": -24, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_1_1.png", + "x_offset": -26, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_1_2.png", + "x_offset": -16, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_1.png", + "x_offset": 3, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_2.png", + "x_offset": -17, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_3.png", + "x_offset": -38, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_3_1.png", + "x_offset": -18, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_3_2.png", + "x_offset": -5, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_4_1.png", + "x_offset": -26, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_4_2.png", + "x_offset": -28, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_1_1.png", + "x_offset": -29, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_1_2.png", + "x_offset": -26, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_2_1.png", + "x_offset": -13, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_2_2.png", + "x_offset": -28, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_1.png", + "x_offset": -38, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_2.png", + "x_offset": -38, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_3.png", + "x_offset": -16, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_4_1.png", + "x_offset": -6, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_4_2.png", + "x_offset": -18, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_1.png", + "x_offset": -22, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_2.png", + "x_offset": -21, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_3.png", + "x_offset": -29, + "y_offset": -100, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_4.png", + "x_offset": -44, + "y_offset": -128, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_5.png", + "x_offset": -21, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_1.png", + "x_offset": -22, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_2.png", + "x_offset": 0, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_3.png", + "x_offset": 0, + "y_offset": -87, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_4.png", + "x_offset": -30, + "y_offset": -148, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_5.png", + "x_offset": -22, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_1.png", + "x_offset": -23, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_2.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_3.png", + "x_offset": -3, + "y_offset": -59, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_4.png", + "x_offset": -32, + "y_offset": -154, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_5.png", + "x_offset": -17, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_1.png", + "x_offset": -23, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_2.png", + "x_offset": -25, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_3.png", + "x_offset": -30, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_4.png", + "x_offset": -10, + "y_offset": -129, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_5.png", + "x_offset": -28, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_1.png", + "x_offset": -22, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_2.png", + "x_offset": -19, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_3.png", + "x_offset": -17, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_4.png", + "x_offset": -26, + "y_offset": -129, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_5.png", + "x_offset": -22, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_1.png", + "x_offset": -22, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_3.png", + "x_offset": -32, + "y_offset": -59, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_4.png", + "x_offset": -25, + "y_offset": -154, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_5.png", + "x_offset": -21, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_2.png", + "x_offset": -32, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_3.png", + "x_offset": -32, + "y_offset": -87, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_4.png", + "x_offset": -10, + "y_offset": -148, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_5.png", + "x_offset": -12, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_1.png", + "x_offset": -23, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_2.png", + "x_offset": -16, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_3.png", + "x_offset": -3, + "y_offset": -100, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_4.png", + "x_offset": -32, + "y_offset": -128, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_5.png", + "x_offset": -32, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_1.png", + "x_offset": -22, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_2.png", + "x_offset": -18, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_3.png", + "x_offset": -19, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_4.png", + "x_offset": -24, + "y_offset": -85, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_5.png", + "x_offset": -16, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_6.png", + "x_offset": -9, + "y_offset": -183, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_7.png", + "x_offset": -21, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_1.png", + "x_offset": -22, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_2.png", + "x_offset": -6, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_3.png", + "x_offset": -9, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_4.png", + "x_offset": -8, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_5.png", + "x_offset": -32, + "y_offset": -130, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_6.png", + "x_offset": -25, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_7.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_1.png", + "x_offset": -24, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_2.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_3.png", + "x_offset": -29, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_4.png", + "x_offset": -7, + "y_offset": -61, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_5.png", + "x_offset": -7, + "y_offset": -117, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_6.png", + "x_offset": -22, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_7.png", + "x_offset": -28, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_1.png", + "x_offset": -24, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_2.png", + "x_offset": -30, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_3.png", + "x_offset": -32, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_4.png", + "x_offset": -32, + "y_offset": -84, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_5.png", + "x_offset": 16, + "y_offset": -62, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_6.png", + "x_offset": -16, + "y_offset": -186, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_7.png", + "x_offset": -24, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_1.png", + "x_offset": -22, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_2.png", + "x_offset": -18, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_3.png", + "x_offset": -13, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_4.png", + "x_offset": 0, + "y_offset": -84, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_5.png", + "x_offset": -32, + "y_offset": -62, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_6.png", + "x_offset": -19, + "y_offset": -186, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_7.png", + "x_offset": -22, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_1.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_2.png", + "x_offset": -13, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_3.png", + "x_offset": -6, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_4.png", + "x_offset": -16, + "y_offset": -61, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_5.png", + "x_offset": -23, + "y_offset": -117, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_6.png", + "x_offset": -17, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_7.png", + "x_offset": -21, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_1.png", + "x_offset": -26, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_2.png", + "x_offset": -30, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_3.png", + "x_offset": -29, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_4.png", + "x_offset": -32, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_5.png", + "x_offset": 16, + "y_offset": -130, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_6.png", + "x_offset": 0, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_7.png", + "x_offset": -17, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_1.png", + "x_offset": -24, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_2.png", + "x_offset": -25, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_3.png", + "x_offset": -21, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_4.png", + "x_offset": -5, + "y_offset": -85, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_5.png", + "x_offset": -7, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_6.png", + "x_offset": -32, + "y_offset": -183, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_7.png", + "x_offset": -31, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_1.png", + "x_offset": -22, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_2.png", + "x_offset": -10, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_3.png", + "x_offset": -11, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_4.png", + "x_offset": -19, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_1.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_2.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_3.png", + "x_offset": -23, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_4.png", + "x_offset": -21, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_1.png", + "x_offset": -20, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_2.png", + "x_offset": -22, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_3.png", + "x_offset": 2, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_4.png", + "x_offset": -23, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_1.png", + "x_offset": -15, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_2.png", + "x_offset": -11, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_3.png", + "x_offset": -3, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_4.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_1.png", + "x_offset": -22, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_2.png", + "x_offset": -27, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_3.png", + "x_offset": -22, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_4.png", + "x_offset": -27, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_1.png", + "x_offset": -22, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_2.png", + "x_offset": -17, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_3.png", + "x_offset": -13, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_4.png", + "x_offset": -11, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_1.png", + "x_offset": 3, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_2.png", + "x_offset": -9, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_3.png", + "x_offset": -11, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_4.png", + "x_offset": -21, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_1.png", + "x_offset": -20, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_2.png", + "x_offset": -35, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_3.png", + "x_offset": -24, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_4.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_1.png", + "x_offset": -21, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_2.png", + "x_offset": -23, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_3.png", + "x_offset": -15, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_4.png", + "x_offset": -13, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_5.png", + "x_offset": -17, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_1.png", + "x_offset": -21, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_2.png", + "x_offset": -25, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_3.png", + "x_offset": -32, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_4.png", + "x_offset": -29, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_1.png", + "x_offset": -10, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_2.png", + "x_offset": -18, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_3.png", + "x_offset": -27, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_4.png", + "x_offset": -24, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_5.png", + "x_offset": -4, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_6.png", + "x_offset": -22, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_1.png", + "x_offset": -15, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_2.png", + "x_offset": -14, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_3.png", + "x_offset": -10, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_4.png", + "x_offset": -9, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_5.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_1.png", + "x_offset": -21, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_2.png", + "x_offset": -31, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_3.png", + "x_offset": -31, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_4.png", + "x_offset": -30, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_5.png", + "x_offset": -32, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_1.png", + "x_offset": -21, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_2.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_3.png", + "x_offset": -24, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_4.png", + "x_offset": -15, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_5.png", + "x_offset": -8, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_6.png", + "x_offset": -8, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_1.png", + "x_offset": -17, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_2.png", + "x_offset": -11, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_3.png", + "x_offset": -5, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_4.png", + "x_offset": -21, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_1.png", + "x_offset": -23, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_2.png", + "x_offset": -6, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_3.png", + "x_offset": -32, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_4.png", + "x_offset": -26, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_5.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_1.png", + "x_offset": -22, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_2_1.png", + "x_offset": -22, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_2_2.png", + "x_offset": -18, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_3_1.png", + "x_offset": -6, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_3_2.png", + "x_offset": -25, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_4.png", + "x_offset": -25, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_1.png", + "x_offset": -21, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_2_1.png", + "x_offset": -12, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_2_2.png", + "x_offset": -21, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_3_1.png", + "x_offset": -22, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_3_2.png", + "x_offset": -17, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_4.png", + "x_offset": -22, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_1.png", + "x_offset": -32, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_2.png", + "x_offset": -8, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_3.png", + "x_offset": -32, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_4.png", + "x_offset": -8, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_1.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_2.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_3.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_4.png", + "x_offset": -8, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_1.png", + "x_offset": -22, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_2.png", + "x_offset": -31, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_3.png", + "x_offset": 13, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_4.png", + "x_offset": -13, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_1.png", + "x_offset": -22, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_2.png", + "x_offset": -32, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_1.png", + "x_offset": -5, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_2.png", + "x_offset": 8, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_3.png", + "x_offset": -31, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_4.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_1.png", + "x_offset": -25, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_2.png", + "x_offset": -26, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_1.png", + "x_offset": -22, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_2.png", + "x_offset": -18, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_3.png", + "x_offset": -12, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_1.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_2.png", + "x_offset": -34, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_3.png", + "x_offset": -2, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_4.png", + "x_offset": -13, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_1.png", + "x_offset": -6, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_1.png", + "x_offset": -13, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_2.png", + "x_offset": -3, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_4.png", + "x_offset": -8, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png", + "x_offset": -31, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png", + "x_offset": -8, + "y_offset": 6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png", + "x_offset": -7, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png", + "x_offset": -19, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png", + "x_offset": -17, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_4.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png", + "x_offset": -9, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_3.png", + "x_offset": -21, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png", + "x_offset": -22, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_1.png", + "x_offset": 0, + "y_offset": 6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png", + "x_offset": -22, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png", + "x_offset": -11, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png", + "x_offset": -22, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_1.png", + "x_offset": -8, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_3.png", + "x_offset": -6, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_4.png", + "x_offset": -24, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_2.png", + "x_offset": -10, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_4.png", + "x_offset": -8, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_2.png", + "x_offset": -8, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -31, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png", + "x_offset": -10, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_1.png", + "x_offset": -21, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_2.png", + "x_offset": -32, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png", + "x_offset": -10, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png", + "x_offset": -8, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_2.png", + "x_offset": -32, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_4.png", + "x_offset": -10, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png", + "x_offset": -11, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png", + "x_offset": -6, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_2.png", + "x_offset": -6, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png", + "x_offset": -11, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png", + "x_offset": -11, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png", + "x_offset": -6, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png", + "x_offset": -6, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_4.png", + "x_offset": -11, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_2.png", + "x_offset": -10, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_4.png", + "x_offset": -6, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_2.png", + "x_offset": -6, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_4.png", + "x_offset": -10, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_2.png", + "x_offset": -10, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_4.png", + "x_offset": -8, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_2.png", + "x_offset": -8, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -31, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_4.png", + "x_offset": -10, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_1_1.png", + "x_offset": -19, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_1_2.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_2.png", + "x_offset": -10, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_3.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_4.png", + "x_offset": -8, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_1.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_2.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_3_1.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_3_2.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_4.png", + "x_offset": -9, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_1.png", + "x_offset": -18, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_2.png", + "x_offset": -27, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png", + "x_offset": 17, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png", + "x_offset": -10, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_1.png", + "x_offset": -22, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_1.png", + "x_offset": -7, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_2.png", + "x_offset": 1, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_3.png", + "x_offset": -32, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png", + "x_offset": -10, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png", + "x_offset": -23, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png", + "x_offset": -24, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_1.png", + "x_offset": -23, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_2.png", + "x_offset": -20, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_3.png", + "x_offset": -14, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_1.png", + "x_offset": -19, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_2.png", + "x_offset": -31, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_3.png", + "x_offset": 10, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_4.png", + "x_offset": -8, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_1.png", + "x_offset": -7, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_1.png", + "x_offset": -18, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_2.png", + "x_offset": -6, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png", + "x_offset": -10, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": -29, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": -7, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": -10, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -17, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": -22, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": -26, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -8, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -21, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -22, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": -26, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": 0, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -21, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": -13, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": -26, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -10, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -7, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -24, + "y_offset": -22, + "palette": "keep" } ] diff --git a/resources/g2/track/intamin/barrel_roll_left_1_1.png b/resources/g2/track/intamin/barrel_roll_left_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9520b5988317fde8022202aa10acabbe83ccb7 GIT binary patch literal 1023 zcmX9-QHa}g82|2icez`=%d|*kdB{cwnTyhgz%s}~PIDtWvR&q~(Ty^)5nP2T0W&BP zX23Ff(uZuTP(~k$hF!(zs=J5iI_*hz9HU4cPUtX5C)HIMSdJp+JoInI;P-tWznAa# zgWvakcw$MM-L+>I0L(5PT{s!deNiQ*V^M#3`J)|x7@RnE>PSS##>U3S$78YB#Kgqp z;1xyEw5(z1#bU8qtv8#V?{9|Ta5Q4lz;hr=@oYAc z&yxi+T`F_cn%rort+vq#%DuiL&{&3x>r&FnkhVtE4Q90{w5yp;Qx7*vgV5O?`XT`; z4Fw)-1#9S7yNq`miBX3@gEShcXvap#PXWjPDu(GeZV`k{Q4Ytg%JN1o*R`z2^*U;| z2_})^lWCdcR7%w8jKyd+XViqED^*&G(^0)JN3uj(OmPY=X>3*(^paevt94KJ0?Q98 z!JyIGZsR;86iDWPG=Z`)ww@H5RJP6QL8ja@oT2TbRhdp`EKv~Ya)xVYLd#HsqSmb% zeYZGlSGNNf^?f|SQgnu4bG%Scl(MGP3Wa95+^*LH&+Bb&4u?Yogbq{{V;Z>7B9soD z>j|ZP))^F9Lwj@79PD(rQJltcHklO3ltQO9jx!{=q(;lkX1TJ_Xoh|;>hYjTn4#d7 zO4@n4X7X-HY1MKYuGMYV23>zNdW?9041fV(1GoSi0DTNl1X)0)fm{cLU6}%%feH_v z2%!u}0i-8UnL&<>ygcfZQ0TzZ;8~Ca$jDe;OIiiGVv7w&Yqg3&;0^`>inNFvFlL;$ zld?mq9;JtzJW*?jZEhsK-hY z@&JW^P?SX}l6wZCXx93DwpM)xqtg+xStXy>OjBplMK)dK8CPK1QhHOS2bmO7Nn}x| z#vqSJffOA-`)Yja=?`2wxun4SqX!ow^2Or9Yo`ueyL?re^Y=bC`3?H{t+hu7*7-Z1 z?t7#5*;?hy4-a$G7YP5hfA#`3e`x*o3v0~Ou`5d--?%t9d~@#f*U9t$U3m~&S^4Y! zxA5KW=KPYl|N2+3g4@r>&&c`XKfe9SRnmL1b@cP&%gZ-zj>hl*N!)vBdHtuqo$v8~ z%-GpCGY@}V<@atmf85oX)R%?bzdiZaUCCd&^v>Z=_8e@!`2KsH>vO{8dx!Q*zs$bN X-2MHIdh1+d92So(E!=wj{0IL7I10M) literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_1_2.png b/resources/g2/track/intamin/barrel_roll_left_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0e17623e4a8ab77255dd6afc5b2d0c519c971a96 GIT binary patch literal 1070 zcmX9-acCQL6n<^mUAr(cOeJhlqlOu~+X(Y;_s5mq+_l8^O0Vqd5{z=rlSLNB>24Y@ z8wU%RcE>n1VE)J-L4rhf(jY~S8Z<~4b%ga8nM6D_lZ+iw;g}J#QP|HLgYUh^_s{$I z_}*JxT8!=4y?-|V?3sIY=7c*Z-3p9(-2TPZ=lcLWu(Yr|>(Zg2q2b|SkH<4IGBP?k zx@*@i48z98#>U6T1L1I(AfgOI^E@kxNm-V1xm>YWuGNfYvu#;UzfVMgrhsF;$)rD> z4rQ{@yh;^IT(u_D8*mC>(!@wvCf0LIqZn`1Bx^HoTa|&+j0Hi! zAwz@4V^s-jsJ>3s-){wx9YuWs?Pv%!!vGwBfMJr)rv!sqBvPTMb&lIir8i>8EZ-9f`ggP(^$3PM?kXc$=z#A=abgO<#=+LbGg)#(lnh?bV%3URujfotw`~)-TEP?$ zSud>xxJpPcB9cXEPEzk@>Vsly$LOMt6Y&EX!eUWhk`ASLBAa40C0!{fb-iFVb=zv9 zewSofWB{@NAvcS>EB6?|T(;Efk)`5e$gLKWO!Dcpn9WK=G)G2@G@&y@gN?R1+>VEl z5JE}>l?Y_e$YkB)Cl7n?J^F$3Cl+})cK4UlF8OV4=9T3aKfQ93{p{MaW1~xh1{uDc zoWH-aZ;Jjow{~WMn!7sn=kVNL?@d=*!d?P-PyRHy`aN@LI^;|&zg|AMtlfX&?7@dq zxy#?h))H?YdHLq_q4mN3zfav=J)$mbC+H_VU!B#?^>6%lYku!B@q<5PnBBUNG7h}I z@lRkv%1*v?=f^9n7vFKD39)+d`h&~WkMxa=Yc~#_x^v+u`S9tl&n2GEsNa4w{pRn_ zy)k696U_Oi4qZKZ+#XrEJu?zdtc{yn@1A}pF~9N2;nx<=Twj0#_WG~?etFA$F#N&~ W_nePET5+tz@BEiB-+`}w}^*9eKBzQ!~6jN9jn8JV% zi@C!Ciy;WHn8IQT;fAnV3wvyMOP>Vtl->;L}t^J{<}JpJzZlTMzToSdGX_Ikauv$ON_^NWiM z48!{U{^jK*J|2%*mJvlkRb|uEZQJrZFASIKby^g=s%qMnWkBFTkq5dynoh}?!_0j? zjFi>d$Z~sI`iEmI(wN2%EE#t-GBBy7&E9%q9%|dQRc+>V72h?5M1VoVOn^YeRu-1~ z!~JU1ZV6N~s5Q`ifKV|8Pyh@JvxY;LAOebtdHz;WHj~NTb>A+RD9;IYG!}41A$fz6 zELw9}GvMt=^b&cIsqxlGs|m>wj5Ov|S~fY|60Ny1UmDBQN=vt>7G=FU+~q?7Mk?SF zARV9rj9cQ;n$mN@DmDLL$4yY6TZJB(95It;7S^JC4YF!m&dl0~oF<5(=?aZD(%iOA+Mvs36=8zX~6E`=f%r2;DD?)bUS2mihMfuEk;sPOoo zzkck*C)ZbBKmX`g^Ti)$`0p>j|MSx?A48<`^6TtB(F Kdh^YTU;YQ;|8O|~ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_1_4.png b/resources/g2/track/intamin/barrel_roll_left_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd8ed5bf97c9d6785b4bc4c0c4f20a68377c712 GIT binary patch literal 1357 zcmX9-e{2$W6#v>^v~~?DRZP)g#vD;HQE$p3vu8(@c4*IeI;?b3JvX9kp6fZ8qlztE zSx5C6i9=<|vU5_4irQ9ms2779OISQ@UFbwdv{h!i$|`YKyY@Sb$>+V#d;h%8AD_=_ zT3Mkk7+*9V08mg~R=O(9b6-?$X1Z73$?F6l6RcdmdTDwcH*Q=;Mn-04W>!{Kc6N47 zP7aU9%gxQr%gYl=BoYLXt5hhCYY0L|QKZ#sbvoTXpFbGvjz$y7Bq9f>5@4Eqolamh zicMy@&8~F1Fpp0kV5u-?kM%Mt8BeRsCpAKgR!kF8H-)rYRjgAR_L0$$Egof3iJ)2p z^fF*V0gdxKB#*W8BOXCAEP`=4OzPnX4Pj6M00w}b$0PZCi%3LErHoS9j$t8#A!4x% zxZRLtMTkIx3gwtssh6rrnbv|3w32eEtX_>HfHPseKWY#wL~^x6iOV#ELPx4d8)kFs z-G0)~S%Ogq7x%6`2vMhrbQG6RAs_(J3+WiCZFBTy4{@LAM5T;BoYva zNFa6c5D#A!5aD5&A*QnR>X^7Gkf6JhzW7Ka1@mQmzCtKeizT>BPAHX>2D9nY$IL#v zBjoW#gIqF(0=d?fEME!38BR# zbI@uJLj(d=j`POj987D83;;3bqqGoX#CpG!j4J7b&YLs^QqJ&*KL#TSsQ@U%Jhhy! zL&ZiMF&i|r#mG1;0k4A#dgIX`OvV%%4fF#T1rVmau%+c*LS!|&dV3Wv=SxuGuu7-H zjYh(3CK0(+A$OvPSB0<|c{e7DYb8)Gh88JwA<&OPPLmG5;?4Y_7eBClRRs=~JnZ>6 zJ&%-^maHyoI`D1z{yTGD$r^&}-V2*|zxGMhv^nqXXxKINo4u}ed1t_s6K~vZ?#Lf| zkhIm#8e|%(&edLXU;OZS`RM%>gM#9kQ-4SQJ5+XZ==kyZJLk7`__O-Cx}u%Tk&+dQ zKX5IoWCkvi|5TPcTYIwXOYqq-WATCZY0IW^Ro9Hgoaxp6%Br?jqON1o zg5f39vl|UfzdSh-+)`I_^wd*nQAYj!!?wER6L*AiVsi#|kKCJ7k{L#_ivP8rj0_jj z7p`j9!lOZaRqkxr?*5Oa_Yj+owLb3x4+U#lmG+i}&h1CN1qZ)8M^NMb-Bn+1v$-cQ!2i zN^psDcMbL|4a`!Ts{UHm75m~>^kif3eb>*wh59U4>aOp9y=>-XOrH1C+I^0i7N2}s zJsMln5$KyZ;rg?Oj~p%As@9XAOHa_p4r&L-1XaHeAV=<^lRMA9HF_Bz!>&z#3PTmc ZvA#+x>)v-@B%KLRzO=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_1_6.png b/resources/g2/track/intamin/barrel_roll_left_1_6.png new file mode 100644 index 0000000000000000000000000000000000000000..d429e61645084aa9c67eb53a7c325ae1d57787e1 GIT binary patch literal 1213 zcmXAoZ)_8F7{`CzpI*0$N795EPSY$!E1q)TAt#=A!y9(wCP%o%8X7Emk;YUx^@e>> zObH!S(%@k_Y-W)r9NNeQO18O+X{3pr3@G7n4Hh{_l_oSWlLm?|WWvu9lJE2H&GUWn zd7gb6H+UCxFYX2aELh*)x2aWoTJfx{y_LN$i3b5_2O9?l*R@8A#nRT+*52OU(b3V_ z*=e;}5d^W>Y+YSlPPf}lk_5{#g20KQUzVjROA$R8nH-O?g_N(9lg#OO-BjlqMK1;d zI0!R95s<8e6cT79>u8oRSSMgJ0Ou75i*5jT00Iaip=cDt6pu%x>2aQ)4hAdH=xinf z3k8gHxEUwGyXb(&E8)Hz;0yv+1b7sL$~e6_kH5f3hA&Z-)rL}p<2>#VDJ<;86FxdCvUyoB zVqzsF*R)upkeV|zSSz9q%7gnzD#);5K}d*VIvma=5`|30(DiD$+-Ni)z$D;FA!HV1 z^O#V=gH<+O^Q-l6zM+(xx%zx%4%%@PrJPQ$%Pru9NYgUM#{;cpkz67;?PvVL+}*fSm5K4km!tt@ucF-s$xDLGYqX> zH(<*P3j#7?XA~!|x&pdKGHIpZ*P7w{T&gs$S7D{$aRADNcnQ?cxIzLM335s_q$ZIM7lhd(g1X@dZIZ(QEi>O<@M)(*bBf6vI4?NiHb z!#}}mS1up;`Rq4LgN;ud8~Jc-?KyTTYq6Srsh-&#+wJd2Uo1mUB@bY|zdsl~;NLgD z%6H+O#n#_9_4JIoWM$l_EWLPS$)`)cy3sWg>An72w)4T^f8W}-`s&uNvmc#psJTP$ z@#L6N6=zABhoIlZ# zLT}INt8K4=nM>ARCXb^F5%3H;up(J{-k8+K)YEs43_NiT{bcc?vF7Gs|AndV-xyst zF|nriMVUi2`sl>TC#l1it&865?kYQWy;}clTWDtU>9bn~6R+IcF}C+x%dg

=mb> znST%O`Ix@>SI&2L_o|#__+UD->+O?w%S#`q%SLzZB#xcF7Q0S?6SME%La_TkevVHb SpKLJz>(_1QJMsF~-TwnX!5mot literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_2_1.png b/resources/g2/track/intamin/barrel_roll_left_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..78b60917ce50855eccb3d046546e67c24debd91d GIT binary patch literal 946 zcmXAoL5SmY6vp37XC|GgYmwqc%^`;hIb@csjsaVMS7Pj!R@!r5S_gEm>*n`LgDy)13@QX`HMV0_ZYksbxne-3Hxn3VvG+ z`}K+M%%grbkJsy`NC40PEC3h42bcgXF+jN#5j8F3dnlbN6qqb@1qdWa6+kK=6Gt5u zc?t>|Xxc`p2hW4&Ko&t$u!eycBQjf{QC2sRxvq^6skU zukCQtn_dMAG+$8_;7Ckj$~A#(sBE(?yH3OFI-%c9Vn0h`v|ezsi~>L@Ae3j(&T%h9 zw3_|plI!YT1{;dVooQ91lgOb^pGARy5;;G9?nddK z=RffI*{KTeKKcEl+}t}kK01Hx!N=~=%U|3q?mR>35BLAnA6~zGi2wA}+kd@zDE|wO z?mj$x^38$GJu5|z+pmwdFFvVL&VJUul9x!^T$nYTLw`NcS3}K zK?4Ro@Q|Q^<&Q{j67j}@)a{B94|mc!0v=j4)^moD(L?JNYS0M%Bz{)=;&x55C{f?V`F3E z&r z&;+a@W0o53G$MmGj=Urqh-gnk$c_W>03wFT;cyYhwM0Uv=~bTJ$Ywjm;!eGeEDI+i zaVDDNW3-q^$wazHN*b-y*pk6jT7updO*b2(@MJ1Z3j`-o8JU&Ke7P>xP1$scwp($$ zMt5k18HflF%|fgI2@Rv_(Nr^$u^8D&t6fF!Yc^WtiHJnu`4pk1>4wC%6u~J;ovP9^ zN`0$3bPUw9!x1V$q)95vuz5jHC8?IrH&xZD*B#UBZf^GbeFV4+i7G}m!fXo{+C;X? zmU|i9%eVU4=Ah~Ab%rQJgu_%cnu^5*A}P_d!trI%UshB9g#j}K zE)PfmBu9}-BArKO4zuFi&$xo%yb`r;K)PI zUtfIW)58ajJUIE1)4mvblpQG`hOFy1u@?xw*kGY&;&{ z-rf?k*^J{@NfI?pu`I)NogfI}c(dDOW%=ARUEgyohytj}#4x7wIkoWEWhlgJb-Oe3 z!maA?cuFJ&(}jtn5WY@D7QJz~r$8!Vz1lg=e%Ut3xhrK7Oa>MrL>jhrup-0{+i72s zsAW-aqL&Dvat5FRm>A~ZxKEN1O(%lzq^f({KKTCU%?1?($xUY>!K##C(z3(oK4(RO zyOx4fS>;+%nOS2~Jju#4L1Pq)Hyp`Xs>_YJ$(*eA%Vt%#+vB;wMVM+p*g$zeM;N~$ z z7FyPNvDk%SvDwsFc6@&Bx()&903Bo87MF5Ts~GzzEl)<$F7hsV?sx6W;fy8>j`IW| zQ!|ZWEkSSmrH>qgOtUWPZYWdpUr~aW>w}-OtKO+%9 z2XFx*fD~X4aKZo$P$lHKC{0jvP-$>DSc#Cy(5QekKn{UI4kaqe=BQetCV^Muc~B(K zRcvk%{(@OW@;0&ZJgDomZEG}Wkv4GNM2rYEq0EeS8X@Y8v|r@sxO&Ns=+Mzq;3-UI zaYLl$8t2(cZk_a8p~`aj3fXwLuu literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_2_4.png b/resources/g2/track/intamin/barrel_roll_left_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e10f86611bc8f7425eb2bacba7d6e5063de6f9 GIT binary patch literal 1085 zcmX9-acCQL6n<^mUbC*|kNlBordb!pIggRCQ_pgLoby^@d!<);ttmvk!b!u3aL_9R z3?*XfqRZ?}!-zA~C;@|HHe!bd1_>pTj7B{qD`|I1#7HA{8YS9NI{bNK@V)o={&^qo zeeb`N`RG2Gb3}YDRl?H>xfW%MNna%|8|7Hj$n3XDUMGkI zgcwi-EGuKhxUH78w<}K6^q{tg4poFoZU7!Y#4y=ri#VMsj%R3kjpxgOKrIs4O{Y<@ z=p^lK#^K>zw1|6U!WSVWl~z)0G{+?hLZ%{WM!-cmJzh605S&E$Wmb;yv9y@hWKEBh zjD+6I*7u7x2J8Yj0^kY*u3}W$;mzazA|va*cwNb~)Dl|b3A;o&LtY~8qq7oQPy{_H z)sjjh7i|@j`+5#FN;W%%6F!m(FlmtzNCRS}g=l8So@VW^HW2 zDO89+osBj8nP#ZaQmgHJ^RTv$`UsniayYy$w?KF#npQYICYsH{`FNt7%^M}XU1vb# zFh#IMM3)*QQeh?+6AGz7ITxuFQ_Whb-QGnEfDgbt02LqyPzGpVfK2c#3M(j=K}LG0yf&0c&z_H-tv7qFLgouRd&1R%RA*$=SW>ZI| zmNNikxQ|gCe8weexNOjB%b#n93j4{*p;kw=7H$X1g?T+TKjR7tWH`X7kzghfDdZA* zDc3Ygs9mQx4rzc4K*;nWX39N)Ga61c8dNIz07|98`u##MD22l^>4{RFBtzy{vdDR= zJkj*Ik?2AZ9HmI4F-Ygkt>!%AF-`~dfyS&E-mySvEKdlq5 zUD~sfpFDJ8!fL(c8^6;vHnMqLS$}`-ndRtt>r(vU?1<%~qkoK^d~8Lz+VgSs?DXAJ zjvLyy{mR-?GxJxjZJqSrgPG5NedR@O>Wki2*SF_y+5fuv^5n&@Zx0;KdX|oTdAarB z{5R+1AL#D}tzUg0TQ*$uaPmj(1?^yKU~l#8wqs{!W!dtyUw&!&)PGMbj2>LxesXT} r;KHSWe|}beLt}$~4lW+rez9%-K6>K|BlRDZ= literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_2_5.png b/resources/g2/track/intamin/barrel_roll_left_2_5.png new file mode 100644 index 0000000000000000000000000000000000000000..39074710a8b873fbfc9a510ca74101fecf6eee2b GIT binary patch literal 860 zcmX9-F^HsQ6n?w2yUy-#SWF?Dg~b#GBv=?QU||yXFpFVb&I1bz140Z;VPRkj3*jt= zU|}(Z98*kTF@=yRwlH8}VKIdy7E?^XVv2!STrmWTDYp3Ia`3(Pcwh0p;(OokPml7O zySH}$@aEyi`}h64c&*`}?_X8lB7iS2w$fni(a|hb08J5UTvIaJ8zrhd@5xUOa^8mL>jhsup-3w>v30+ zsAW-SqL&Dvasr?Nm>A~ZxKEN1O(%lztg2hv-uwRN)e02_$&Du>!K##C(z3(oK4(RO zyOe@dS>#$$nOS2~Jju!vL1Pq)Hyp{CtMiq)%ABnB%Vtrx>%+OgMHp*9*g$zeM;N~% zX6cFPT+5gCHud+#vfY$S>nBaH~o(3~f5K zJkR0SfM;WoOC_#Q*qzF>`UII2@@cf>P$r^U>7Sqfdi39G27Y`0sKIyt{_{(}+&$cX f|6%ya`nC_t-|*M3e?Hkg3lHxe@BjGW=a2sbzv*a& literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_2_6.png b/resources/g2/track/intamin/barrel_roll_left_2_6.png new file mode 100644 index 0000000000000000000000000000000000000000..1f24d51c337ce137ec7f4a15f01d58c7595ac6ea GIT binary patch literal 1231 zcmXAoe{2(F7{}jjY`0No$4YFZN~0ByaX@7kEurcuH|)m2ZgN18PHH%yW(7_-u!Oo? z@N`9r9@1ffq79T#;E*zrl;i?69LbOpPgqEiixg!0WQ$LD!I z@9K0ljvhA}0MOXc-ZsBdU#-O0`kG1}hHqR3payi!T`;>cR#jD1S6A26)QlQ6sf$K>~0 z13`Nz?2N|fWXh{#_^cMr7ZN0fxSa-$G7E02#G-K?KOvHts5_hD^ubV3PmGjQmj!q+ z5FmiWAW06%gpIkRshqXIq8*mK@Sy~uY6E}6T9(I{9f5{f3A&J#2}==0?S;Z8gb zGZ_nRvJqxGZFPE47l*k8oRyq>j1*-mqA-c9H?8}u4vXDob21pkIy@Z7h3HV+8&7j- zO;GiSR!rtcGDZTJ7-04RYY?Ck;)t7FDb$l8IL#f-^NEtA!V@%RVjY%%3k$oQNtRT2 zMibdwlrP9)DH9#hWLQv*CI^bSafgo}0}K;p*;pWu3WqcCxRy@mhlWa}5(E|wpiu-* z8cD^%WHDc!3>7?yVn8WLL*-QQVQvH(Fr(37HoL4g2D7tHCr{BKZ)I696^;xhQ@W~^ z^91lx2+tS=uT}D6u^=Ib7$xQ#l!aU-R?Mm8@*PM3;0AyPKmtGpU=V-;0$@cn34=V8 z6Hw35DBy4qAwb#%bQ(YgK+X)qI84wm?T6VA)Dz$_cn6?J;HD8jYZd}nL~`01p}n$xJ7#-ZaYTPO0RP%K>F1nthng!(0h90f!ZF*^M5;>SyqvkCFs` zA|fbqL{sIWuEKKOK~XRbpbj9cun1M`p2#8wV}*hv7JVWj3QyB_NhR0k;oeTEu?)mGN{mT(k97|Jgfb^}9d+7+a^$IehYDxeI!N zuUts>teLU2N57IR`6W7%&DkdsrtyRvzm^x(>p z*qDP;Zbwe@U+d~&bH9J{%4*$Ku&mCJi77jR|cu0oBm+V zy_tJkZ*5h3khjtO=9`h}+W0#4*q*)(_f4JCKV5pMcSrjoc2e`&O}9VX+;Cv_XSc5I zo7B=3-E#(=vwH3imv+4tYjO?TY=3E!Tz6>MWNW(RQFmX}(QW6ukGx=7IB@*_s#Mng u-x+Cb(~74G+@ty~PG202exI!RGVWDP%s}ZDk>@~E32xis;jG2D%FGu z6A%PZtJO6%HF}fDgrZiGBp8NbSqIN^KA$fXip1lIbb3fpilq{21q2RgO5&aH`XnltWTF{oLU9=}gVkoj84JZ?4vysfv_ImEB)Ehu zq?Mpth~>spS_0@8pmzbI7nnr^i|B1}vm-@tvOSRFqeU?d`)G@f#S9*sC1A&6EScmP z*~ex>d|vVuQ=xHLg88&ohnX#Q6mt=zhhYLN8}@kOfj}w}krRpB&`_~hguuW7a|l6W zS~6*1G8R{k^yeMXf+txNhf49n-RwBjShQM9ueTXZjK#|0I8V`jXL*@79taM`;!0XB z{RfK%oI-0Oa&AfWjyZ6Kcgxd z0+mQKMOlYvOTlh}P9qe|FpR^a)Y`&;#n&&dFZVl|8Sx*|7jFXkd0EheN`U;oR#Gj%5xq~5x>wr<&&`tkkY)gO%lh-+t9G=fJ#a zX?5qdn+t8QX|J;A^ycuIBU|~s+DE2s;3WkZdK>XhfBkEntnzFW@Y#1cSgLEulMG&z2B?WPkl~hpY`v~(%6iV z1ItW(+Or2g{^V%Y%NtHTbZo`Gp2KZc{ozTs`iI%X05<8rvEAhM3J=w@tM#4Vjz0a^ zK-bQ{FTPj0di(t!rVnrYOMJas->*A8wc^g``P7Br3*+#lXHEOp`vvXlTZS%dqHkub Se@~edXl`t2_~!XnKKLJ5`7Tue literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_3_2.png b/resources/g2/track/intamin/barrel_roll_left_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ea8f15a0f740fd04cfcb6e2f54f2ebfca0fa81 GIT binary patch literal 877 zcmX9-F^HsQ6n?w2yUyNl7?{E%76vB4LV|^b5DSxY4{tH7$9Z63;en7Trm!$!I4p!% z48g);3JFt8VKIe}fox%6VPP@Fz*!7o0v1CUh{YC?vlzk#{&*aG?>#82 zs?%2TwY#YU0q=q z*6;VPudj*GXvA@>B#D})SeD^9w(t8B7KP2v4U%i(We1y)WgFzFphZW>#16sVQU&$32n^X*w2!dsW?x$9vCvST0eXliYA560AxICN0~H z?r~NqI19;7lzFDbTQjZ36i>49NYEI?;tgA}XXk-#y`q|z_3CiSaS?_Z5M!WR zphJvb67rfha?vjJ;NZkfSfG2A8CpC!m6<>nR+f}GTIpN+$T=o{lSijALB|3g@-(A! z{8*Hxnig2rVme(1LB3p;X?oc0nx;WO+CWDbx5A~2)V9p{AkB_OTu-wm+_mfaaeqPs z2FH1Vkg1Wzu$CY=iaIm9VeUGZZ&vH7DBFVwrh+*d?wM3LVHU2K%(QGV-Xz{WU)1}e zZ6A;bpaVDnAwUAK0XSlSI;awI9hAhV+N(6!9Lz;XWvEm@8X%iM0f%B0r4zKBp(=)t z#`B;^psU!#BD^Ux59L*CWtm@=NnMwy(;~;fxdSmI)R;0;+OCAKF_LzgouchydO-Vz z9s*BcGK(7`HPJYCtc2bqo_kp`FN>tE3e+BWML{W`3J~hNn00cWK>F_Dc;pw+Cpg=! zWEk3HV!5u(u|Cg6B9};9uCP0msr3;uDdf>;!J$+{rP3Wg|MlRXk3aC^>pKm;{rk@! zIzryweD|jRtMwNA?Pni8eD%eKZULj7dK&@H z?wILJx2Q+SMl5jzxnYJUi%>8~*p6|3RE+Lq-InU9VFnxOV6jH6QsryL;Pc+&^UwS6 z;q%^!o#VlEJsW!fVBOg0@UGU}(kgdXN2~WuomvIxfSu3m9%<3Gwzl^6_KuE@HEY(a zUAwlkvlGLxuCA``?rx9I=c6b;%QAw%iDFomr9>i;$>a)!qGioHPNUhR{J;c&=X%3o zcPxg-6@M}n$Yl9^AyP8svYo2dbe6_v4yYDUnihLGh0-~l2SCb?Xy*Q*hP9th0x{9H6zQPrEd z95PKW<@PZiKaU3@L{K6_DkW+GIm;#tE?pAza-`@)aoXz-`T_#UiF8gsY2a80@mNgssBto_1@pRCDkW^&sMl@O z((*=uQhFK9!|QmYNJvgVYlMwvytI-juNJGQ(jeSG<5 zWIg0V5ge%m%2KGvAe(C)KmBm;^6eiuylY&5Cl(hDwaD*d!%yyhXnJCL-}{q~+%-Ib zW_SGDzv+RWuKYK!;Xvo))#par{{8BgyQeOmQ;%PeoWEvXExl>ruVei)M~0SOR^r%> zPd2Z2S(lZAn>)`BE!}ga^5WK!iP10bRnx!z_}TZfi>I!R^gp{CI@UM@^sYQ^!HEOg zp8n#!bDLh;GCsNIn~(qbdJ!qFygT#Gtqtz858fDj{0E+0Zkt>`_36-_GlSDdw(s5l z+p)84NAEZOe(T1q7;$i5VBo&j{uBpSKU}ph={?`>C7)k-;q&X6!TsBg9`3z%auaju z{Pm3|kIR=oSlD{aeB<)c_U=OP%wx+Jj`rnG|FO^f=;EW@eS_9_E%z`sGCq9%sRM8S E4?h{*(f|Me literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_3_4.png b/resources/g2/track/intamin/barrel_roll_left_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..214f0930eb456bea7fa153f7557f64cbb6772298 GIT binary patch literal 937 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 KJtME}JorDE*b7wv literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_4_4.png b/resources/g2/track/intamin/barrel_roll_left_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..5fbfecbf494ba7db39efa298fa8f6f7f3a9640e5 GIT binary patch literal 955 zcmXAoL5SmY6vp37XC|E~OJyo{nJ58^L=2L_90KN$)y&!*qmyB?P$XcKfL-Y!E*Yjm zku3Jml^!BgDOgGm5qgN&!>oiMNOsMkhc4t$)~*CB(q(#Bv5WyL4DvV2!uQ_eyS(4w zd+)2mgW{#Foh<;kw0~{ydNMC3wVh5S{rHW)egH_p;d?i(CU#|IWp#Bml}fFxt*x)G zZ)|K}7?w__H#ax)g+hU0XhGm*S=2PeF!Xx8-fs5>12+i9QM8C-h6bJkNz5opu2LbY zHM-H{+8wDsP(9xmh0W>A7AUO5WppubmIzBDdj@k-7yNcGhEB<4mr= z=V^)HRI;d3C6m!C&gckrM{IerJyPAMOt3gzEO0USZYoUdtn9WM51yUi&u+Ov&8i^!87Eru1(s;%&9N@ z_A+$PEXd|qk}5H5nHQ?E+|;yAwK`}v{a!D0-RXF|SS%3WI*@IQ>1PEGmq%22Dl}$_ zJ+FETYa9>e7n3E*P}wY-&lib;Owk(08KTrslV!C*vo-7wq9BZ?Jg6dO$XQb*tP0hs z@lHebI_05bPW;Y%62$Qn!~>K73;+wj0T=?zFhGeU0o4rT*eIGvBS*2Q5v2SahR}VvHJ`YjC!pp$aGQ5?SY(jNO zJ>sl|;>1;N*&bcEQ#4tSIbaE_NM{wEsK`vMELvv8Zke9b3Ik^z1t^}fqKI5T5g?Rg z(MWL5gx71G*^KS9pUD`F1Vxc66|Gj&8M@BWZJu!i#uw?aM9oVDq!P#^QHMb;k3umy ze)jdu`O_abx_%(Tm9s~mB<9ooy|->${`QNn#qHa>Y2g(8_S%1+zYuMG{El}^-W7j; zZu`!M-N(+|+b^DOyn5^IH$VM)_Tb^YKOf!yUhQ=69sTpiOWQk{!#DpvJ2p?3pY2|G y_dK}&;JfJB^E*e~?koTPa_9Kw&m8RWk5_I^Kj_9UpTD0#VgKsE-j8p8^yUAV2%F3R literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_left_4_5.png b/resources/g2/track/intamin/barrel_roll_left_4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5a5556a42ff656fe6165d1323df6201fe791c7 GIT binary patch literal 938 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 HZ-4wBKUj36 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_1_3.png b/resources/g2/track/intamin/barrel_roll_right_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..2c394725cd3084a6aea1b2745a8698dbfbad3a33 GIT binary patch literal 1206 zcmX9-e{2(F82+H!ZcvtUcA?3NG_wnbUgQ=}Jg^~$yUn^C?8a_TU5Paw(qNTCJ5rOz zoKm2}s%I#%k;W8kmXZ~yI>^P;a3L3%p~ykzEaXg@rDFLJsM@iHO!HYn^1Q$Pd7tEY z-uKYpfU9L``%(ZvOW&(KL-o3<9*$;HJ?m@62mnlAaMN&aeO$C?(c;C6O(s)ALqlU@ zV^dQTf*{S!%}bUnu{stUe~50oWWgFo~~3X5ZFY3#St=% zGC3Qc$9+X6Qu3tA!CXb2u4c;%g&H*DC`wtaF1v%r3Bls&S;AVX$awsI-ESHVQXDOWt1YA{!e=NFVBEL1QHpzMf?Ks~hG&yyh^D@*=V zOv+_qx|S&$8mty6mW2v{27s{cMWjym7`AXIQ7Tc1_+td}dB)@6{eB@75=kOV5pkN# zFr>;7(;QxQJD}GNB@8A=sL)Vn>&H($Xa4)q4~z~C@L=Pg*LT+Y9eq7753l?Dz>)L& z!d=Zh520vm?U?8Kn>!;RD3T*grS-;7ixV1bd?vy7k}gWhee>u?%z~XKqm! zC(f=rzIF3Q1G^kA-TUnobz-vPTg!~;@P*&CA5U4wq$gSWb$oR8N*?R{mwo@>$R|&n zx*T6W{s#)D%tNWom*#h2D}G_-=a`=c6N8;^Js4Z#S^n|LO*^{3UpZbK>S!OHSvAtT zO&?B-TPYFZHu_MWBp9G(6xX6i`ld1w%j?=eR5_` z{WSlue|8tD z_s(Cdtp54t*oS+Swl7xQ+*4c7lKuDp`TFVh*KUxF8*b#u14q+0y{hL9+V;jo?ZkI| RBX#jXU++NA>Fzi8{SR^96hr_3 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_1_4.png b/resources/g2/track/intamin/barrel_roll_right_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b7291c49f65d68d76094ec7108b53909a6d118 GIT binary patch literal 965 zcmXAoL5SmY6vp37XC|E~V;L({H%f#ekqweVkf0Hxn;GgDnapk$B1FtGK`U0sAudG< z2CYLG1ID#Vb}4KRk?A2|#W@5in8gUAlqH8ERU`CJu;L!NQl#Jrf3qxn?>)ZD`yIab zj`sJ;n;Yjg0AO?XrR_`Ud?c+0vzfHtxO?~+KnC_-xxACwrKP3i<>gE!v$C?Xy1Kfy zwuWI?Hk(~vUoVzQC5E8|ftO`b*HzOr8jXhQc6z-aiiSxto6i{cc&m8jL} zrp>u+soT@~p*e`{@x&7-OyP2dShN(v(aDaP>6? znKPXCre~uC%2D||TP&7|l1$M$$C;wk)Y4`3p4~d__L3-`k9p8U%#`z%MmSZfUFZF# z+;3M-eQOl9r=w^-zk_%H1;7Mw0DOQ`fC&aDl_a3LiF^+wBZ&lqfff%z84?MQ49F-V zn?at0f+`v`QR2b9;8_p_P$aCX7p)rAa>`v#@An&V>`$jLN?CXXn0k(PijqfY0cj+h zGgJL}t-o*wXTcbaW@G_a0xQ#bl_#n)Q?H1QRrOj{-*3f{KTRSuAG4x}0ze5MlxERP zarcEc>g~ydZM*kn4hDj%%GIh~uNw^AU}=|Ue1Qo?dMHs-rGzvBStM#RDBw{nrpM1d zmHYeN54?M6Plgx%_~p&in7i9AUViwCtJf|*aO?4`@GbiF_v3%g%MZPOoP6`c(SKL| zJ$U(pAD?{nV6^3J9(<(1wbi?y>}=*9{rtMWM|>UJe8T0ks`ce>f5LY+{(5Way|+I# z_79)wn&&od+FL98SAY6=^xW|~#`EUI$F4tn`18}>U+Cs0?rX2Vv32_>#l!B--u71) Hu6+1ECcK*y literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_1_5.png b/resources/g2/track/intamin/barrel_roll_right_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..22ff13feea3215d3ab18be0410ddf58305198bca GIT binary patch literal 925 zcmX9-L5SmI6n-7inT9)k8TN{}2P)uiYFXy+ZR;!1Hhj_EuWLZWO1yz*|L$fTi*Xs?31;IWY=c; zEd*BsYm*$oNKIa)WrNd9(d;Yzu|5vXFm;k_kZvZcZCn?i zp#t6p(gw=IxG^qGDJ>SvwB@cWKlc)JrqB(8Bf1jpw)lx5MwXiPjOEZ;2faKVZqop* zlX`=r=oZVh1+lBDu3?P2-Kp!w<8c~>tHmPEa|DD5)DUAQbul8;Io)1~{k7(Ax>4>e zis|NZxkWX)UgvOJBAY7B7(8#uN?$Ltds+`RbXK}qD3<9F{?AAaTieC?N;)ynUVd2#K>zoJL?s-NBe@aa?7edk-_HSVJu z?7h*^!(Sgf`{w-r|IQzMm(w4A|L5yBF8+O9`{aD``EQTMZ+wkiJbvqM^PlTKm9lVh M>-6}C_wIl30z~eN$N&HU literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_1_6.png b/resources/g2/track/intamin/barrel_roll_right_1_6.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9158b6c02d2b0545a27a21245e0eef1c8c73a7 GIT binary patch literal 1200 zcmX9-e{2(F82+{~Zex;~R6L;0iVa-g!cKCULkm0R4Uch#LvE(J5(+utjEy^zBP&vp zBNS3eg%g`uNtsP3rU@rjGGm8TE?9ApE;)5ViKiA;Tos%RmaO1NK1)cR_t!t~lRVG+ z9@@BpojYgY900)Fo^{=u>h+m=%x`I`=ZNdbKL9j=jW74Et&a^24ULVBO-)U+X3c7D zZk|1RHi956EiJ9Bt*Fc8B1wW_XhGma(W@wOC=`mt66tg%mm9aNO0`N7fOZ3(Yx8>T ze!nviB*GDQEY7FWzO13-%}BA7WN^geZj(7w^*A*VODN=Uh%sWGd|I|f!(}U3tK?V* z@Zlgp15H3uGGat*g_OOTcfc|Mt3EiRL6~y^zyshz5ZPu^9S#k{l5Y1f&yPw{K~--h z63{Rlq}@fM1n+eFFjmGrDk*AiCC-F&E}9jRd0)nooRouLU2XyAM9M2Oa+nV%e2I*l zG1Z(EHOr}D&9KqHE&x;l&LF@vgi4@n8uJ>oYn`d5K2DJc)fz(F9w4$NrWgOMw2>2 z8XPgs<7JNv`kYY3V4Q>*8k$`F_^IV>w;%k#u1y;Rux9e=j(WePr@O0n<>A5T^?@5t zwH$m0O8ygDr+XH5caFOtKZd8ow~P2fg~rsmuEwzpmd@KX*ROjtqF`*t^5B6v|||b literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_2_1.png b/resources/g2/track/intamin/barrel_roll_right_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8bfd7d68802d26ebb999b19eebdbe80ca7ae3cbd GIT binary patch literal 1211 zcmXAoZ)g*D7{{Ml+iMJ6m{9^dCC*6Cak^tW*{MO!^{TNu=ZPl^7%;kXW+Phe2OARqtQenmCI?mUNX&kqd`-^xvX#@;C6s79fNA5EzU=`H{Pz>i_F%@)CNl_1h?_jy4W2?WZK$apG+ z3I&|DyI2P$INg52Ba_|;EvarL$wjmLKweB2{hAqYGC1XNxkZwf7@y3^F(H=nr!-kJ zBDy(X)H0RHf{g{c2#x?a!$7DQlX7@+gs;HLhBsbO(sflw=LOO(F?h&B#=Y*0#N`#y zh)U&zQq4x|g~X(hMOEEqX9&_uGXa(hiDF!mlA%y89xtR)hNe|YrFy-N0GEMCV06aD z<#Dk{1}a>v>Py!``MO$aVVS0)43%K%EJqi3 zsw9v#uM7E|C_L7|ERa;?aj--KJsV(E`31< zY@9~r6SsDx-fZjtukZ7B%}@S4Gx2)YrG{k|XhV;trd#Trr-u8IJWg3w^@v-`!-t=K zfo`o`hb`gX=^eaZS~=~y@baR+k5;doTQoAhc=Gzh)eBbxuGNbd_PsQ}e`sjknVm~( z^DZ9PziGbt{=y6Qm)vh#yxueS-s9i*9Xh%75u3a6)`8>P54-31ZsX2hN9PZn&HOQX zcj#(M_X@G=()DGxm-L$L->*4xw2$lh@w3)d{yW!Vo@2-Vx;*dGuF}oSy}&Saw=uf% zcy{^dvU%H&Jy~%_I%WB)v|#p$q2aaP&i&YHqZ4K-u;RBd5Aig9Zr9=2tIqacJM~)k zHjO_d>=@6vyK}yW+=DwO&FzOi+2k(WKM}qr*VxHYvdZUA}Qp(x62X78KI}h(2 z919E6drpU!jdkg>Nt^ev_434t%9cI!7LsON#E5>Qf6%`fNdN!< literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_2_2.png b/resources/g2/track/intamin/barrel_roll_right_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c22b0865c7b94387cada8aa67e7e0003e88ad13f GIT binary patch literal 872 zcmX9-KZvAu6n?uiyUyO^VlfaQ78X-jNU*T*z``W%;Vp*savluC!hnz|rm!$%3Jc+c zNDyK%g@oZ4g2fa&(x}8oBuKRAaLU~Sdqp?V^DkT`SY%vp; zGef~%N?xKYGA-U2X*H#Il9k7T#waGQTax9g{>oUTR$976wJ7WL@tor#j5HvoKsi8% z7{4Oq4Xx**RZfDV9XDZt9#m#z^5k4*f{Cy;rOeh!&pbr-De;;-I+qDL75Ip!nF+^F zMQN^SfoU%1^Gy)st5un%$Nj!(8U&;TbcAthT*^po$4rlsf70W6o;BgV-PDhVGa52D z&J%=8jWvcf1;JKS-{_V(n_#hBZ>pkfk0KZfW^1@>P~nVOI%48$*>bu~+(W*s4@KL) zLn6Qgzy=5b5`Znh2?NwYm5^hjBu3RirNQE0Awnucr2^6bSp*6=6sstmp`DMa7~UJt zgCfC1#bzeq&Y49huVXXIys}K{xTNgEjvrD(&!dhpX5hLETLeR6T61V#!Xk>9z8fGXh7X6wr_`LV{{PRA1 z_`EkWF&^B}|4=^w>==7?WU@VXx9dSiSG)iIbMO#A7fd`iHQJ^f9UYyWon2jB-QC?i zJw3g>y%>f$9FD%eK9A4mqbNViGJ?QKQdm*sL?WT<*+QXcnya?mY_%vqFah8>XE^MR zM)6qOpG*bx44*5ArLt17Qnk9ll2|C+MbGIs9)bOL0h_*F^OdkLbAYz#8a;aXgMi53Iu*CDrkw{fl*Roku zE_*4rkMa0}=o5*wNl3-NCq8-6$uRrJu2qY)bVVRYad@?I$i*nIY zO*?Hha<$E}ivhO)o(SM^AT*55dV&QaTxMh|l&UF4Q!~*LPr4=A8w--DP#`CWypT#S=L)uIwQ3BA z9Hs~^Rm8O@nTa#`q)^I4mh)=0oM}|eR%;D003iScKm*7FECbXrKyC0WiYq8@AiK&F zAXAWLpcn+32P6QJJt##XgGa?Esw9zZz`fvU;8+OpSXA<;F*2>;t@_$qefaS<5P6KN~OYv!$LGF#p5#NPtbmyq4F$M=KQNX z*$DZNh$EFi8448{WO41|r=M`%z4rsJPmT*PeEZiUZE|O9U##7 zUqAlZ!WTb`{5v8KP7i*3ZG7NTWBr@Mx8^R^w`LE9U&8B;ZaJS?9Gcs?K6vcVaCFya zKRJ}p(|?SA`rqL9)9(+>pNTww`owS*z3{=VIp>GFBfq@7@zK7^L&lK{H!j?sTR3*~ z;KthdEAPB={pi^oHGi`6f%)O+q{i>8-+J%b>Dlg+zQxavKZ4B~Z(LtkDcqU6IW+Lk rUt4d#Il7`W`4gG(QcF`$nSW#M%zpCjkLRY^reSP!eB|;o({KF`D?#3Q literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_2_4.png b/resources/g2/track/intamin/barrel_roll_right_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f983943ad9af52037a0ca72c05ccb1795d87f5c3 GIT binary patch literal 945 zcmXAoL5SmY6vp37XD01**MLO==8!{?2w4dj*nm;8Yi6iJq!}hNR0)`sEEefvz${d( z5HN?LJ><|s*zKW*9Et?&VGa><$RX$)Dn_W%#Rxrg*&bG@ZiNc7@HflC_uk{Xyx-w_ z@2lf_?dtx^`v7qD=$(U;eBybPi-o*<_vlXm3UK`H>0xfSwzjsnw+n^B&d$#6?(W{+ z9)@AXVzE>z5!Gsy<5)=&RaG_&&9Y3#aXfE09*0RX&9c>c&9NW~pvYxStF&5FyTf*S zf;Uh`V?BzkN!pt)e2KvtLfMoFyFs}IJ+!!UM~c11WNc;^-DT!)R!NNnoq@Ipu8NIJ zEbig6QDr?L(UL`L9bLKzB~<_gK*ul>$8C~yY1$Wrb49smHfOf|csN9HOmdZ~NU#be z=yc6w8a8LRf;EtwK<-DXKheXiN%16Gs|qS38@y&pW>@JB^}%8fwPLeO&Xv@ zf>(H&X>fc~l-jD=GmJsIJ?{15;V=!u`EqH(a490y3DcZQ-G$~a+tJFM zuE)#E*#?yv9Ont5MpadYH3Y$um9CyI>x_H-i_ths()C;fUB)aGw{^;GF@ug6bk%6k zya?=BJXp?>_4+Xq0U7`nfC~@+TmUREK)DnNbu1M4D4QuXm>l#)2y2ijfK)&xfqESB z6%@A6q>C~io(0c?EI~uTS_WaanZ8>a`9>5uX&Nk-Dau)76Sz)UbP2_$^pG|)!Ch&= zx*cu2$z?c4vlU$dp2BJ@u8CAjp3sWCMP|PRHa}hi5&J3nVU<*{Q-T8&#xJ$fnVNL!pRLIX`~>wemmD ze&Fs&U46hgl5kaV}U`m>^^d3kw5NNDxlK z5G)K#VZsEau$X|5DYmc>Vqq~H1F@K50v1yY#Nr4NgiK(IKOP6)dmkS>-dB9@{qX8u zdUpNEH2^%j`{MR>$Ahje2mP+Ut(dm}eR%cd!^=*dot^c1y?(!cetv#&adCNhiDB4a zFu1z9!pGw=%QB)UsH$w5y5rcs??=&cy-tf_S5-~hvJ413DDsW2k1UIvy38!#qlL0s z8(Hpb%iwT~MH9CK!m`B=nZC9IFUB#!SkO(knmZDcC?s!Cl1*zK zYlghD5dB1+XKK7P(rQ9-1S5@km6lCTw?%uV%$CM7wbRlos(D$j4ySx5z(@sr0;CI6 zh;d6?T2p#1*rgU6oVW=K^r+AylOv`Q9ccW@6f;LHeRCf<$HZ^)=u{@?SPVxTMQbcK z5yYvg2Bx`~PS-(@FPCMS9(KE?X%G-LP!YzihGIsjTY7R3XGcA*r&$y3+I9W3KcO3X zIOK3#BF8Gtm^|;u%FO7Nx$9uQS*@$0Y!3n$GUlj5&mcpKUbsRsQ?tcnlX&}lQSXbk zeTM`94Zr~i0TO@>z!3w~K@pMbpd?1sUZKEdVJ<)_L8Smv0ogbTSQINLwa|8ksu+C*&@ZH7n$StA|aJE}f z*Hz0hUDswApJO6{O++@AnVmw{+87xm@+h=mQ7WKP?v9`P^yZ)UKk)7Adlg>%_2)O8 zcz$>L*~8#x^S^)nv)=FD@z~eDT=ahZxc}z+kN)U^_5Aww$G?Ai=mz2L<^An%pMUk{ Ee~<2PivR!s literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_2_6.png b/resources/g2/track/intamin/barrel_roll_right_2_6.png new file mode 100644 index 0000000000000000000000000000000000000000..49c4256b222a66b49f912943ee6c6f2237f344d4 GIT binary patch literal 1114 zcmX9-e~i;~6n}TSyB-W2$&?uiE^&~dRi+kGv40dPI4&jE^NP+eL*c47;{r7lvXBO+ z%rJF1tIn|Cf=j3{O@+l=v?kLGvfvC$?2)0n(2yYuRwZ%ZLXPBwuOlR%_v@ecNj{(V z-X9wcFJ8E8Apk5M*}QSQSC{t!A9nTf%fI;_0&v0DmaUt5V_#oie}BKr@DqR6RKDwiviN@lg%u zC)7|nL+A2*u_Tr&O5Mt|+B!>M5!x+tzGTF&Nx_0bPN&#PE>bVab}jAL`dp_P#z7oF1!DY*WUKdR}=BMybI6w;oCs9$EmD7B>AQnv7w31aj zYdOW%T*bqHR{&oO{3--Bj4JrTrC_we$W|oNQuK~iMbkXtl_)$BCNdGaD6wTluu@Vp zr?ib!r;?kq4AicAyi|~gkW`Fe6M~SDqxV}+KDTxC#|J)f@2){pIrrz=1_yTs4-yvgfVIbA#%c z!Dk=Emw6rA7~Qt__}Q5UK3p}S|2%P+ygatQ*iutR@?r0k> z-|^1w+CP1}acuI-6Q5>Zy7UE1M!ykz>lc^ Xm-nQpGw0#1PB5}*bmOTFI}ZL2bMNiV literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_3_1.png b/resources/g2/track/intamin/barrel_roll_right_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2e5bd987bbe04b0fbeb7ee2590c63f6cbccf94af GIT binary patch literal 949 zcmX9-L5SmI6n-4#0%-8@*nSt00p@C;-&LBU0GRKU0p2{3Tta?>+93b=C3ENRQfC>K`v+5eJQe77w0+ z4Gb)D%hN$+ImS^&qosyUJcQy}ZXQ6xFr!?yaoi(GpW_Z?`KZyD+V+EfA4L()RBC*c zmI+QHMT1gpM)x?gCpdxB87cl)3)2R{;@)k~sRbYt92_5p|D~ z0L|lag(WGKVH>>AQWRI$d#%>cb)$Yi3B%cBvREt-;0BOgj2V=L5w47>#!P6>>weZ6 zExgHcn4L_IQHd&-*=kiJY6?Z`9A`>$Tg#VOL$`A@7^ZQuobjMZn5mR)jqsXO&*Fo& zGU_#s0(%Rzvdarr)tgK_`iWERE4}#!3pp@x9t-ul(roIMWiYhE(p{bj1SXQ`iA-f`4QT|jNz`Ld$fHEckDuKx z{q^t%uI}$C@a+BDujNGF-FfcPxewla@1?WfZWV>E(Y=pJUPUFWOE zUf6y8@u#=fuiyUjv-|sB+}*x%j`m)`H+y!zX} tKM7}F{`~KoD_iV;wX09L469vW-#$<;|MSeP%efrvp5NQ~^!Zl~{s)WPnH>NC literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_3_2.png b/resources/g2/track/intamin/barrel_roll_right_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..06ef875d5a7d9dd21859b323297b532e844928ce GIT binary patch literal 1072 zcmX9-Z)h8J7=HWr+J<>ztU)7WETfs8HxA)~wv<)m}$FWO&1aMh$q3Qz8p^ zxCmJno zG&DRsjA7Ww$jIpEsK@X3QxwT@tSIub99C5&kw|1Rxk8~-sni{()9q3uunY*iD;#!5 zqrO<2Os1GjR>&8mvZdDSRI_Dp1Qudk3h&WEK3xvvRH~TZtW2m@P@HPA?HIeAO3(`u z0WlVI5z8x>mBJf&cemz6Z4z}Qw67yn@dF3|5{4-_u6ezBAYd>|Q4p$;NJG=^?NP(b2gfvRl88yo#Og>!}jha+)B0kzn2K|gk@G>1%I3+10b5gFPlx(fy zr0sUTxohDpxJB?pz!!&rj?p42Z2|CKnA1oI9K+H zH6qgFlC7}Oj+Hxly<2GSH+GSWz;W8+3HtmZLCOrH@1w{E2~Y)SVSsuNI22crX&|Q|1VEu6 z%|a;%jsQpmq2mYr{#?R z6?d_^M=*R+DWEuv-U*xCSa~;7+b=ayqZ4og?Zbj39%g+}k%~unU5grNt!$?4irIE5 zsN1A@9+dz&fKV@sWKZr9yoq?W)uOYRM^I}uE*uu4Q8^x0C^A8l8J03R%HqkoK(s@C zB>9jQKv@cvSY-3Pg% zKltq`Q#||@Gh42u)yH0+`a&C%)(X+~MSRm;*c#iuHr2Rsn_GXDeE*M)%TKvB+n?^d zdH46z7qjOsT(w_Juzw6J zliP=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_3_4.png b/resources/g2/track/intamin/barrel_roll_right_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f31e15f4f1656a72da590f693204c540a4b3a124 GIT binary patch literal 1091 zcmX9-acCQL6n<^jUfWnAW;D1cr;8Z%m>C@I)WELWZJgysZ|uq<22JVV;ui5%ZZ&Ac zlie_AgtN^gLjH(&)i48#Y?jkS2_w_EMS5VgaXnm^ao%KWLyfH3B0n<*-+PbmpZD?c zz4y-kF?MKh%OC&@jXtyIKxf|9seAf+I$gOuwg}Jz`}d9S?a;2SuI}#co}Qjfn>O|K z_V)GlVHnom-#;)g;P!gGBu_RZ`WTUAw1QrZ9B+jh_aZU7PW%8`bl+wX!L9!|d+tSxsW!3{> z0%A010+y4oQqoz^x!P3^vi+zXMjIMJWiJ2^5XLac=~O%(&F9ktfwMeciA3s(awD5X zrILqqd1<$w#{*#>D-l736t#eyVbnaADhhfvY*-PT^7vVAKp;4g3Q3HV;1k(!){qQS zDO)Mi&NbFbP8wVSxFdka!KYzV*3A}tp%N{b!DK_$TUr^NA+wB{O1_%Pk02)9ZpaRgu0Cm7KC@!PCj;uQG z1Brwb4F(Gq4@dwcxlxitI**JfswR-7!|mWH;1~$Kh8jlKOJi=*8R8J|ze9A26 zZL5sh4T|HC0muS`I$0z-a(CcSE$I8uBlLn4DlCf7NBYMW#A_75C8FebprAHN*xkk!#WyT%`xnVt!qDL-%*^9`Es zoqhlDUQg-6Q`ehU-uz;Ha!$S1@iBhxBmd&`uP>|{R~Cls#fA2hudW}PIG=p3dTs-&tIrg(1Tc`G4 z960*d-I<%49~%C&|L_S1dwl!l`!`?RW{iBkVmB|HI=m(I`&XBKUVQm^b#?dBVC}ty zTLzkb?VqXfi{H;&*!RiFbGZHQ%1iT8hmK5sw={XQa{5KAw!~`Gj}QK^F)@5~`Kdm6 zWY_h#=bu>q`tS8j?+5Sx_U!rP`8WRiX`Og$W%$;_5i>rry<;9m_m1s3y?f&L{|vC` AGXMYp literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_3_5.png b/resources/g2/track/intamin/barrel_roll_right_3_5.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_3_6.png b/resources/g2/track/intamin/barrel_roll_right_3_6.png new file mode 100644 index 0000000000000000000000000000000000000000..5eee5c0d8cbbd1b55839b4c397e8d6d242586315 GIT binary patch literal 1284 zcmXAoe{2(F7{}kO8{H^Ng>E*`NFy~gq?o##p|B&lvD+xi=?=KD${M`E$tpD435OOb zQm{bX3OS|0A|)1cNY&zsETq8-MG8zPa?a|CT(SnL)Hqxn&8#}*wS?sR{QBql{_%O9 zzLjm}n(1?<0|07TS2V9K)kUSKtCE#+gYdfp02x^MLVHVTEGsK3FE5wLWEB+^m6es# zrcIN}iSe{Q6BDtw_5h@HyrAe(eYju>t$e<`kkRH0U%o*|ehC&f3 zAr>+ipb0rgDP6Rdw;KXZEbO6T0ozd6m5v8;=|rJ01~C9E0B`{C0E7V;0w5~~up|

!f6i67g!=wjF0(b=81PB~hNV%O+yBr1|Zw?7e zEan!)a4sjpl9$E?5T^p;)uf=Mqk2|C`Mfn;aKwuKbdkJOaiKY#Yh{xj$L`StV}+wJTYh|Zn4U^t*u zcLaYJJ^9-8ksc|ys@Q3@-myKTPJa%rO;pU=GmVFfZ z{KS!-iW|946Q>6Djusj>*3NBNbL)fVUi%-;z%8^*)^Kg;vpRa|e~O)#2N%fZe^pyI z?|R^shQDVW>R9VBpFBF_%AVT7yyMfqR@N`v-Jh>&cyHs`o|AKTTs&4Q+t7D(Sxfyh zoipbjAKvrfjVGih>kszrU61#RBaQnSyFwRd&sozRe(-X7UF6-#vZp6zshh@6ZQg&O z{ine>!r|?kDr>$N*r$qpx9Ieew*6Gsux{ejnS1}~sJ9;2(bti1zH#->E#Bes(?{C# z?-OZh^xp2mv951-RrmjLe)(qc#iiriLGI0aO*_|h)ut8bZL6!-)?K_YI`Y;OR9@Qp zqquDa*>gV?))H4oc06>ybkTCnb@{>SsoC)|Zj!#aef{^agc7v2v^5Vjb-n#RqMAh2 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_4_1.png b/resources/g2/track/intamin/barrel_roll_right_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1480f47ca140ed05b39de5aaeaf3db910e8a362f GIT binary patch literal 1012 zcmX9-QD_@=82{R|y>wyAY{0nXA!5)|&T^B}9eCh5uO)U@dNtP(^q8j{7%>lr+%OLj zPmGdE9*&wpz#sun$ivYFY30;B+%%h=M7+)j85|h86od33l*l4J6 zzwi5ebtQT7#Mu)7aB}I@g_J*^@M|s@@cV54-erIQtS+xD`gCGqVsdga5C}|7O-)Zv z&&9LqOrgl+l;5CifE^tmI-EOGfZgJq5<6$cq1DSvv z3x@cyYGR(Fh>}E1uT|cbVkmJOt zNP>-$LY$HDq)Mc9N--F%$`vfW+!W2WY7aEKtL0$#zWdYEg*#5R%X zamBu54sy+*(HS)c$K5ds5#cZ$jV9v>ksuX@(RiUK`^)l;QhB%D@LKMu$AZjbni$sQ zxRE8QdDbe5&1z=X(z{M|&~1%IhlmA8184vSfCaD%(8mDz5IB_AkYysTE8w6~P-ekS zf+qkH0jW_`qL3*dJB!*yZf25c0Dq`f?8uE99&FK3%Omgw}3zk|bucN9>7^D+Ojw2mM zRSMZGa(Vyw>G{yngCDq(S`p#pzi+?eldqQ+F04Jh@!6hq>iXls>D9Z=caI!>`{-*2 znQQl#U)=oS-9HXK&CegavH$!Jf2LM$F2D3lAp5~nXXcKMzuI`=%L`Y}KfAR^z5UJA zH&gG=@16d6?a5z-!_>}B>e8iOl2k|x&n+zs>Bz{)=;)}&09!I4-z;#2sb7RPm&D68~Fma~fSW=(M$xt?q6_w8s1Bofjr z=pt58Fe~qGR|11(2=yp5kkEmSkR1jP03-}k{C+JI(h0(dL^cGWkxaHV?RvS4EGt9@ z!fcQd@Q6f26*8{TvK~=OT(-&=>Y~w8O~rIH+buY~ zN@w5lvk(v=m;^ingpM)gV6;XgELL&i`HpJzbsKF6WI$#@=_r|xM=CN`S4Af)w~K1G zn(bS~eW!}Lwm-lSWSnM_ESDC=yeyZ}=~_N-mCKH4c3Q1|zmFiK08zx~il3{8#3q^S zaJg>6=%wp@y)~%y4%++3NBaFtFc`(dB1y@Sh{_8&X}By?%NH7znrl0Q4hs^GsiI$# za6LtqGHf*`)=SAoRcl+NUfUiFt|Jy84xj?)09AknKo3+X4X!4Fwj= zD7XS35s(r@c^Vl4GE=CTL#_e0f@gr|ATD4jIjE({f*!3Ha=o5)oNBMOsN4C6iFxh~7_B2kH8Lv3X#2P`ghAfWfgSsq+j<$HJC6K*%7)dzN z2vnkx$s&gz9zXM_Z|~L*ymlrg!rUJ}o*j~{#rYFU55M%^V*gLio64$)T^etY7L z>E+9F#?2jX?BdMNm(H)P)`SmMzuq=>J>w^R4_*1`)%7b|jhoA(_G2sCyO)=zX1D)) z`|}?*K3U%#H)dK>;TNdmN0{*Z^DiG;d-M3z-WnM@^6`zG*y@L!YqQO3tI2$z_~nYc z{_j7V$3ENAQ~0@^osZsGaF3qEe*Npa&G+xS`r_kH{qDJ%@xF2jpFQ{Olcgms+kZgx zy#5P={ydzydz0L|>#dcMv!%ePm{l+TeGipG_kXiXd1E)eN9gIpp)puoh|PcT%u5&k E2clri<^TWy literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_4_3.png b/resources/g2/track/intamin/barrel_roll_right_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0ac429cc3975b6c0cf84e3fe9217fc8611caf994 GIT binary patch literal 870 zcmX9-F^HsQ6n?w2yUyNlSWLhq78X-jNU*RlVBsb1VHU%BoCg*L3<#NG3JVXWFd)QY z2y$3VAz=suv6w>06kAwGFd$?K3yUo#U@^snSX?1Fiz&AF<8tu5_wn)IeZ}|Q&#&&} z=g&TW1^~}*zqxt+#C=^22YqKh{PPZA0I$A%^Rky`XJ_Z<=YzrE;^N}+^788H3d6AB zaCm)vO-v>ej$DcnS$QI8jAHSIE!hiou{PJKomO5^FRNyAIOVtqV-1KYP%h9R z#;*x^OB=apS9)-8;x;VMy~>O&o}9}}pbHyI${elot$pMi6Ti))QAYEUsXxdRH*kNr@*-*F(lNOGE>^Fg|Ib}Zl0Z@@-aQ2eM^sl zr!bkt4Uw8@oI6!QZx%1TELm1X($od&4!okE6i^Ka^;s->yN@7!cXd4StLP(~vXl%% zo6RiOwK>-3*+}FPiOUuCL1h|!f=mi|G+J>e6;Y-1$IpK;`tRun-oC!m;Kjdx|Imw1 uZg0MNGyKK+vU>69cYl?Cy#4Im2!5k4|NOD|^+P|0+n0AYzkmJxPyYj@%5Nb z`dT(=%SslN007FG*EhCiYweRL%FE`C+r=XQY*61tFcupelf?0ZEkV^%9dw zZnmf#PPNBN27-oggpKjeMAENOigfByhLBoyau==evFNZ(6Y=O`K}HyLqy+y=I;xcc zgA$l=;G#qUMig<1;{iz~CW9#z%oyOD3&JP@011FWBx1y3t4!unDEw;mFiDOYjd81W z(&vMbhzyk=xKu^T)dq!@QR=KH?NYN|jg2GRVagvfgao4;lc}_bno<%pre`#agLL=| zz7P}Qtx>_vrvizYh!_VF3P_DWZUG9H2=hs`L4`hoGrZ23VEt)V6b_S03606jTBTE` z4$zt~OYt^3?qQRhEgkX9@ElA=#S%=R)S;LW*O)2FNz-1lIp}mod_F!DN{o-E(`g7~ z3{ZGPXh5t9%cz*rn9w+qdVk6sPP@i4!PH!Q29_$tVoWO4$`MMbqSb1aARUJ6GE30u z9t{MAD4$8-z(9ytN^CXAT_&a1f^!Zk>@|*Z)_BC5ibpen5`}*MdAXdMfJUFnV zVq`V)M~bbhI(hLNd%F7Ax9$7a)Dr$jIp4q6U%f)|L$##7@)Ee-+geku$nW}WtA6PX zVW7Qc#mN05y{Vz0w@qy;)8mCxOHT(z4kfSmPtgsPXC`jiyTIJG!Lcuf7p;E(rNkrq znpxg%od|Nv_biM5P8_HyXLj8CGveGB*tW0dV$1Tw!4r1}7Ia0cG9N7X&#;r~-|czV zwZx|y%B<~9c3z+KqCGEE6;Hicb?foisay0Rdk>hNL~-PH@3Wg{59azGTxvR2(J)jU z-0%fwD9#R^ zsJF|TmsNDy`Aa2(+g@vI+we*G`L>D&Qq8OWRr_v~$ICOr?5}&zAMKdebdxEY!uH$x z4)2i%7S`&fJ4O;e=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/barrel_roll_right_4_6.png b/resources/g2/track/intamin/barrel_roll_right_4_6.png new file mode 100644 index 0000000000000000000000000000000000000000..e8eeea62fb4a50290d4fc8f304296e074261d6cd GIT binary patch literal 1214 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 Yx^&VzJ8mACmm>^nYwD}NTe`08e=DX+BLDyZ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_left_1_3.png b/resources/g2/track/intamin/corkscrew_left_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..33b25558c8c451a24d32b598f0c1e8e684d022ea GIT binary patch literal 1342 zcmX9-Z)_8F82+(8bX%PrsiU%zb*z&k>y{3WaYBKcYnKj=?3Nu^M!}*Tt4Sx9QLuzg z3s&q#BPWzuW@n0NuwWeprXI1;##L#gvIF*^jLWQ8u#u5eD7u9qKTAlS_kG^?%lmwI zo_CczmG{8;wrzd?uSkl>k=(k`U_k zVzXIhwJDu0mB&j4LWXd}66ajWlwYk7=u|?Qkl1xH#)$YV=%_;-@#x|qnvXftyniMW z)k=Xu0jxM+C_#W0L|mdoK%9+BVOj~Z1~|t+7?lG+0$>mbXpzV+l`;t8SE)uxGG;O* z?DlD&4@M$VR4m6ON>ZjWAX-|Xv!g~vW$~&VLBbuT{BZ-zn`D?&sgF3 zPM^WY(ky3>@@_62NX|q=I1p1nVgfQ7Ko|k$lW0STK7!Mn&Xu(IGfWhYk_xdAlUlV3 zmrfNhs>2qFa~KmIODgEdL_9NG5T>FcF@`8~C}zUdR*G^Njb5uY*PeRrV<4(x?!BgWgK&XL^6qtv;xCJg(O3 zDYMyVv(c#1fhj#W8dReZLODSy(mFXb$eFnHX2VYsU7kPVup?N>kBRyp<2Yj;+B`ejY|kGGtStNVs0l>I%2Uc?@C z*H2gc&^(*+&}FxVr?CEpmzJh~tFGSHwPxLTr1{2yO{F6Z3)w|^+U?C3&mF?We;qj) zZPcB?FU$_~7x%YbIkV;A^<&b*O($t&ceS}|)v-E%>&2IU4G{5=tMd3@)dS53C*SEy zJQ!cKc4XP@$Bz2b&a%Ow&1d&&+zsDA@%KpcwgtUAe_ov^@^m~9_sU;w85I69uv;!X z^Rcb^?8=h!5=~pWrSq$YT)~skao0^ywZHAu%whc>Px`lz8qIsZ_hmZ1;}(@|uW5D2 z?hKFpxBT9mxYyMHx*Au+hc34|9yMv=p0~?abd}315AIrWX)7^)s&1dI-nYDWa*Pp` zXlw5{_fCCLG155esNc}}JifF@8#~;yq;m;!T|U=P^tgIu?ZR)#Nl@YJT~J%zxuM3{ zJ-gU@cY96wM_xyr8K^`k|NEabV@p(Ad!` z&G@dMkI`EL`VxvqHrxarQ&dAo-AKZp0(*a$M$$6v;{8iqtKROe$81 zt~cw*AdI3NR99xuZiKC4r^~pA{m^N}f*IUFm4N+FcSX-xCE$UF{>&IW@B8w6c^@90 z_dT;P&ra@|*#!WTbI;E%`g6vw>A;BJe?9tk5nu!sUN~~dr$a+S!^6WPBO{}uqhn)Z zAB*V~xz)4bCQRG6QP%c;Nb*tH2cin;K5lNsa;JIKr9nNNB zxqPyyQRNC>tBZC+X**iCXD~RHqJlCPQByHpN>mkMwZJsWsdimY!8}j6hs_y zH0T0Wld*;t>eRwsJBs>AzLm*zRCTLbMU6(3 z2*>G2l8;ehf|c=35o*w}ohc6o3Mt1DF6UfF1_O2hX6qf=mOs9X9ml|O8LA@BnxD+OcN$UG`QqCkM~n?B*u`M zKotU6G;%oq_{jsozwZ6O$;EjA4sQOq?33^2W}iLs*ts`uAA4Zs;lTLPAL@FcTs~7KHzqFS&*DhWAw)^CZ*rzi=_Tbk? z_p!pc)|>wxUR^wK;h*B>51Whs-QGC)(neBm2ffj)FFPjos_zNr4$aSAeQxR0|HAai Ak^lez literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_left_2_2.png b/resources/g2/track/intamin/corkscrew_left_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..eabc8e1e609996a27f95a8aa7796f35d5c1d9bfb GIT binary patch literal 1487 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 YrS)x=EvrIki85$uUe@&WqSYV$4~l<6D*ylh literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_left_3_2.png b/resources/g2/track/intamin/corkscrew_left_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a3faabd29ac805b7de6df27eec2d405c2759e3e8 GIT binary patch literal 1083 zcmX9-acCQL6n<^mUfUR=H1M1|7V{+% z!DK3&&C!J-U#W^lO=(!UR=dm+Sd@0loIf26suEsO$mI-MD?}Sr*{)|hc6rk=BLNTz zNHU-bSVhKaId8M#>ox+Y6GmMTZK(*EApjmg#4y?GO$P!hj+beAndj^Acr%^8T`Hkk zEkOE0j6ci=X%UaeL^MrGDyiGQ*HX%kYNBPH@JUo486k2}x+1ZLB3K!z zSy0+q#;FxHEe*9zuaClsC`rW`HYo@>Nh&6j)m*MtDp|VTT3d4*2SGpvynvAvFKYyZ z1`%(u*>&!Uuqv@)`rJPtAm zc?R?d*gPNsknBe}5|w$RCr~4c>@wU7o&t`AD32v1e>zFz)kvi*8Aiskv`)uDJ*_|- z$dsE={d_qn>bPvvsuREJ$~f>agc-aIfXz_Wj>FZ9TtGt*NCx1Tz6iu=fX^nvNOkoNGr z_2M3Gaq{e|w+24Db8BTz%pG-{pZ~ph_2S0!hy2?<{wsF=gG;r2`n&H;-gW)``(5ef z^Yf#tOi*4yy~-Csv>OZS3X`FEl!<6FUv>)!nLjWo4#2Z(X`D>OS{l=$z-vrT+$Y l4IX}P{%!I2+*i@>`_bc`9Z%Cn66=|UnZ2{qpYJ)c_&=<=**5?H literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_left_3_3.png b/resources/g2/track/intamin/corkscrew_left_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..00a524c63c33a4f188a726c17b2e72aa2a725498 GIT binary patch literal 1198 zcmX9-eT>s|82)izy$^7Z!Hv-9;D+{~=#(OjR4mXt#!#V9E^B3{zy1URVHS!68GMc)~E{JYbkgmbl1_N3!6+#T@!`gyea@{&}C|dER$# zU$1LQ>#SA)z?7auNLji^|id|Q1^KN>OtSD>$+>>q)C(N>gww2>l+#x8XFs% znwk&M+AX=$-J91enTG7Qc0tRQ$KNeqQTu~;INO6&TVX_hM$!U<>!aBQ2$WA*#( zfuJ)Sp<;0^net|`QqG7JiYkL6ZmLaWZL-_02v|ZQ&V-n3%$-Y#=190?s@1aYLV*_t z0U9Vgk`$3_#F9^1D>)RFoUr1B6AFa70{{*HFM@~`i;SWQhN%>FhT}$jzPv1tClWB5 zMG32ewmCUF<;7eg?v@Ebp`9dol)8(LeoE1oq$cSMsobV>nV%m^( zGisEQg=*G911k?~K41?5OhL$m&6UDDSz0vQk%FX_6&;@8aH~L~0T&)|Q%QlzNW2je z@-eBXh057j)zDy3w^&IGcN3(KW&%7P5rlXkkcvdIiG-0(7skfQ<015ya03!et5ddr87#NhGrb08% zVL&86lm=-RFgXBu07V;&5K!e{+7EMKXsY0m@g!gw;N}p&V3PxQRBabEESr(=NGy#M)FTypt$3R2Dc(F*vV~-)_a*W5r`~5;NC=$*P>5S2Y#t>Q7 zImY27w*z|ZP{v@KfN2^UZ0-2TXWQ;Q`hjizy*yZU=hntr|5i`e@^zgDhYr2DS$}?V z*C5ooBe%76zdm`Cq4q`>H(s)!rwe`hmmfQB5*HR;G2h5PE$kbmo|<^a{qWA=xjS-S z4a&t^uAiNkW2fNs&kJ+!Y}$Qw=-i3}_gfs(4(|DM%`>lUy*9jpzcGK{T5-1j{r&Xu z3-?zpcw!E|X7%W?Zys!TY1PK|?Znt09X&VaU%h^Gf6w`)JHL%Dq=KlWTz3(=}28K&J?iS^{t4N?AR(h<83?G;f|%i;flLynMF!GLeYW;9N0k7 z;tDI{goYF;Sg}Hpq8(J2P)Ehi6_`-4m^w-*Sg;x8=bBl@Kr~-#Og``X=Kbe={&=3Z zeL1&B@8h&CSir%NsFbM1Fq$ z$dMxv1Su#eC@d_L$mMbjQ&JSkFf_|*d7iUaEDndu=ktd`(Re(a$zV!A5)k=a;tkl~ zeU}RcgHlW^CnZX?jL<1m9I7#6tc~EEl*LQi1B^SY^T+ivT&h&b2?nKET+30MRc&?Y zTz<|UF^A&zNXnBK4vI)1W`INwWG0}nA-GGT@+q`Il8b1B1n*AULaXXCf9h=HQcFOFHNnj(A}*BogBaRDU+KBSkRe@g)*7@kOV*j01to-051T&03;Cr zv#2R(;-S|K<1w`Ya2T+Yz^?*vHGm9&oCFFObgQA?0K--ocZ2_o#{o?NjT$kq60;Gt z+f*Jm8wgk;5pOCLfmto79$=KTShI5fBej^E$t3P{{0|=vQ(7%! zFt8>Qhbb+%(m`Tg3JcQ8s2WXaik$h>?>~+w4;zTXpezu`$)70{4_ma!AqSIS9j{j)c*p^+?6Vtw1 zc5hu>&pXey3QvDfGR-^IxB^ET2T#u2-Z1Hq^YN~HvePJ7ux~0>O|wZKH&>T_b!_8} zom1<}N{9zKtqmJ`|E^!+yVxA*-nL&l_EFo#==H)EXSCwcI~Nx8Q(H$|-MNq1 zG+!u+Hq`#sHelcD+(I4vq-@f?f!m8$&QOX88edvBN_g+%!ttlLBJE^D$>DJ~l{MJP zs_6smOGAnNy0XiczNuv`Iis~z(m8SDOJ)eK; zKeguuD!gAl;pCiCwOS*$Iscu|LdnB{+J|M+ruUudD7m0X7;_d;I|qxp&y}7J_jUFk zL>E$-jB!s4=yq0>U;b1l>7 z>D~-hcU>#VWTZU5oT4V}yf}7GOPh@%wBc%a<>2q@D)gt9*Y=;MD<>M(PW-Xv!GrLcdbs`eED$T z%S%I}cjw;uvnlY!8y7bsRY#f0jdcuM^EE*X$|QvYbvbVjK4}lTR-1}kn`%t0LwUnT bA0wISl7Fro_{5RTDwx~QIQwY*lGc9#6Z@)} literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_left_4_2.png b/resources/g2/track/intamin/corkscrew_left_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1e63374bf518dd8fb63012a5f4cc40c7c6f8342a GIT binary patch literal 1189 zcmX9-e{2(F82(_4>sDrQMJ`yR%%TT7XC`00!+UYS$(vU+>ZLnaK zE@`m9B{rdv8avjMsu!t9!Ub#6V3lbK-prJO2NtbxB7sUOTX4u{3CZ*R`saO;=Xu}V zYkOTS%?~yM09tyU>*}l5_IfNZHPrKW=!Q7}G=Q~h)_2#(DO09QojSFlp<&vzX^oAI z)2B~I5X59MH8nM%4u^vvoD4(rJSzwuNfN{1a6F#OX4OJrOxLTm8sP*q1vu91@mT$S zdm!kHM5%a!%VfQ|yj0YpZOV>v!m^s2hgPTHI<2gT#8Kzc+*jBt^pH>rxM z7Aoj5&B&A|@)jCcd4T$WJqR!vA(N;pi+S?2sJWwMDOHsV@F<5{1=1F9;ZZl05ty9B zYhj@jmnurQnvYLt3ak_?RuaSA1nHxh0MADSArS~SsUH0RNAgx6BT*5b^gi85@Q7Y7GS0N368vqFa82|-<5dbO(fOT*T3`$T* zLA}IbKqNqn2C56_9DqE4A_}7fOmR^4!(s&LDR9?#60i(#bBJF+LjgP{yD}*umkVo} zVi+2%bJ=`=2%2dbRT^q+{rJfa^NqVd@Oob_4^~`0ySd);JzXo;FWI{{#_k`S zKco8`JkxASzVzOLcb@ta?OcAvVaHZ)$Io{TFV4E(g14@HshxZKhhyUxj(oIg%_8Hc z>vPz5Z-1M9^35~bFD|`MR{LgW7i~4&d> z-PpOm?eq)g9$~1zYv`4SnzesRTbJ+YzR`T?^G!Qf`Zu->pY-om literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_left_4_3.png b/resources/g2/track/intamin/corkscrew_left_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f46d69feea53f5da8baa235783451ce5a4614a11 GIT binary patch literal 1193 zcmX9-e{2(F82(ttZllaH8YyyM(Mk?DmP$@I!)Z=-j53e(Hf~Zwi6tJPi#42bNFmiU z+DI8CUPi?xtJ26p8g^15=~u&)x5<@Vz`GO{WKHg`IsOigTYKJmP@5{O{UtywEuTl$U>vE})sog6#p&7SWNSn=NcksAVpeTvuqQ2I$P$m{Hq%%fdZ&YaD zV-bnBgnf27fG0z=8s)P|e?bkGbIDpc-)Kxj8UPOf5&$v)DgXrlstABBa10DdP*tE& z<}e@A9zf9sV+2$nw42&EtSRI}BqmNkEN;I@>yave!KO;0N|^bMxSZsq1@My=P$4#^IG?@BbXwn_oU3 z?5e;KW8o_|1{U4lGydt#iHWmQbo=agi%l1#bJspN5Q|+!77YddL!8%M`~Fb!iSg-m zC%-&#PQ(sv9lgB!_rE?9-;j`*k>!0eOV{5%bFHw%v?tgXY+qozb8BQx^_}uQ?d-DD zSWk4b8wE3cD;M4U<=q{3woeZ&Jh0@M1%tVD$9pE4D>rm}-3xbob@@8?*vR4Y#lfT7 zUcZ=LJFdQcI@v$0e6UgQ&wTsb&hGgej(6>sLZQSeW-K~$w|mG$FiWp|6S;Kw>Ccb5 zZ*nKseR5;-z^&2J&Shur|N8Pvjept2r=DH?=Ir(tPxn9BtC{zPhp^|VeJlK@#!8PP z@jrI_*t6<(bE;H!uaJ)XIsDXzCo&)Xy?>T^)orX#Uis?w~ijE{kG;2^AxMy zx;T3EdYL)c?a8)H_8vU{kLk|t!tAL_>G9drF&f?S!^A%HLcFCn80dFz`l4^wd;bIP CyA7}a literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_1_1.png b/resources/g2/track/intamin/corkscrew_right_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..273ed766d9fd52d0f4fbe7cc889bb67daaec8887 GIT binary patch literal 1470 zcmXAoe^AnQ7{@<~ia$zBDoWgOju|axbkQQEj_jL~QGQ)t8YNdOxsy6<->a{VODwKP z$!Oz>l!_cJR@lg>Tye=2T~toI=si=>`_d%ICMEXs1FE&}d#* zEYR(ybE!-Lje|1yGL{f$OEg@$flrtbtzBevVOFoq8B{QMbdHe8$Jin{Pl_YB4%Jy? z7ANlXX*@xrFKincb5jI>iUFDeFw}r$AoDCVp@SuL3vi!AKSWp~1`ljU*;F}?t`f5K z62482xCqRrl?O~j$gYjJO=CVg40$M29*ZsE@)QC@g<*QR+^kYL^m@0&;&VEO{QgKJ z0s$QdEEAb)qaZFi=4C5}5M4-W4Xa!cgFosBPXxwb8k<7l(P%;j6JvAad_EyUb+Xto zwL@?0v^jzvUvx+SWFj(wQ8Y4!LCH3&1$G_gGAlamnt?4%b(+9HL#+&%lZ6NQhKST2Rk_AY-U;Ur3`AH| zz+;ew9Ew!HP-0xQLS)b=twxQ@ZuEKV;h+abhj=0pbOIOz5XQXF#pFIi*Q(8-5YKG- z4B_=6QYofX%GGL|%hB>UCIQ!uaNQz~A7zInOekYO4GWsN&?$gEQ7rttytL6zKTy4< z6az~~9#sMmUsbZaP`skC#pFH4%t@}_2^IRW=d8v(Ypx#AHodyrb$VXap+9_r>r-wn za>}L6;>G=U zN4|0FI#?1~e5;7wy#4n4d{!fKytHyoTxKmm8j=Sxzij=AT9iE%shFjhnRDOSayg&W zl=SlP^ZUJ76_u^F{}LPampv^0ZNp#H9Ui1hT==ogfK5+YyH(szwSC)w@cK8-IDcqc z`t=*eS@GSsiklwMrjOq3&q&)yE?cTn9Ma#Oh{-ng2De2U)>LtP1HNu@I)}Iyc_~P2n<+h{t z!e4l)HH(VxT*}HMl%AMC%X-svx-@B zcwe*w)!kmTZMeQ$($o87Jz977r+aOUPjy7qySLW-S$iMVZCYIOKD)+y`)f`MGmN&(rh1e;(L6v(|Bn51Z#+ zESPllC39s-G5)w~&MN~K})kK7Gpdh_>5YF4HUf0dvk>@!) pIH|0=v%>ZCy>9#ipgFI6qzp#Bs49oe)K~~XNm1$YbIX3%^FLTlmjM6( literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_1_2.png b/resources/g2/track/intamin/corkscrew_right_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f93e5d162f0aa610ad8ee6552ee72eecbcf6f389 GIT binary patch literal 1168 zcmX9-eT>s|82%mi(fb&gmnjP_r0BfVvmql?>`4t3dN?jUujGnM-5=$y$~3!Jp~%!} zmM~ zU0q!Wf^>Ix_w@9*y|&yBt8)$0?*Rf1 zA~aBVBqt$8(pky5nk5gc`(RUm^9qEf7XS_b0YN0EGv@Iq7^YIxNscRqLX}wTMm7r# z!$Y{dwA;s_lz{mqJP;#9g_1K&Tw_xOUM&f_9YRTu&+nypoE6ES#7GG)krlGKq+2o5 zPFeL_bVK#Dkm}pnYZF% zB`w#qc*97~SsJXFP8W&c0fG$COoZo?qL_(9^2wx;&04x%EteaO1_T}nU}=QNIhlfo zFX5polc)vNdZf@$%FTRzzA^{ndfkF8 zE>8#$(LP#nb1Ew6m}FB*Bd9eag}HQTUa!JR19JfqMf^TzkVeBi5e>0QEUczt1ubQn zTHQ8bvr4io)B&^sge@-;ExNn##G{#7jm)I)LN1k$=A9qdK0d~SC$C@G(&|@_46oTZv~S-5cG6tx7(NYW zFZx19E;|=3`R0%5w!NF)`*-J~>IvqrqpMDn+O~JE_HR0dPFySYZ#nz@__nc^lfP<< zmJdEPxiU5M%c&pkof&;+&8FMl3%5}Dk?T+6Z8)W-e1|B#w-Wz?J|3^R8d40U++=TN#`|#NE$f5NQ zF{>7Td30xDX5IMc(-+SFmj3(JPq!CGrVMHFE%C?WJq2Rbvd8v4zAO4-LI1kEH8i~K zBI~$3u;_*IlB*M6b?@GMZtu0NZMz?~y3`v z$|_bUa2aJ*ElI(XG~t9sW+<^_HJ(Wm8oA(NPC2205)K`BVu=fZ?Rp*e0g41H(;f^u z!(lWM^(B&II>YAje6b`|^klWB&=?XR+eO9|3!t*#%}V%0oGzsUmAq({6PBsW*qYxB zcnm}+Aah7gL`q4Ak#p87ZfN;nore!)2sIA?EC4)$hz>{0?Uub>g(N3fwj2r>vDkDr z3ri(8?(|SDAB&Q_*Dqp$7%s@9l%eA)lPYpbg)f*PlyLj}9+JZtfe4DUm|zoGK3fnA zdQ3A@x|OTWlpGXra=;Y=XcTy5gvh%5d2g^piFzPel@wdn-~@{~1;QQiW61!S6X>GE z>2bkGOEooam(nx33Tv9fNqDgUPJ}2r!f{DK$V4LfWU`da>V-meYRa~42;3s@rV%{n zpo?yUry-F$3E%hl6mr{HTY+d;&>I44dE^%cA*Ys+`N4nqIF` zfM*bibHsR54r7@pr6#yyCRA2qMk!+%TD?9EDF6ZhNC3zHr~s4!s38D0z|t@(K~;gK z!Fqv+gA@e{eqgcyasY}hn8cyN!a^8U63|q@W8(?H&>+AfVZjxPU@6(3Q-oqMuIs90 z>9E1&4goycPRTA-LHUALG)dVGs`W^5CS7@0s6xZ`Ist(qexD;qph8Q^(R#LH| zn$k7ZGBsGQ5)1o(qCit z#)}V*!waMLnXaaJCzg!f?i!nH9h|VDquV;qE?Mw%&r6o;{H^&d?_H0a-+i#NG%?lf3WfsvCBBdvU~nmJ$PtO zy7QX&=@(7`o;&lQ0LSl4SI;$n>bSHn?Jw_oFf#D{`}4aUmv0=|a;^R8`rAXNu293q%>nzw s&ar!Ir%%6gkBkg0x0g=-_-EG*9&ekZhQ@Zj)esr<^$c{MS-W-gf6jOd0RR91 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_2_1.png b/resources/g2/track/intamin/corkscrew_right_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b242fb230bf057e583fb76ae28c10388442390 GIT binary patch literal 1304 zcmXAoeQXnT7{`BOFSoHk2c1-Hq{c!D6zt>z1qGkqYHaPA#!Oor`pM!j=_0pqfTHU0f-JOkKv$5|Z!p_RsVEe`lkU6hZiii(Si zOG-)*1Su^oEh{UNDV0hT)!;Zrk_L)0*=)4a>Gb&m;V>VI4TxeUmqRrG(*eRzZZb)& zR)w9>xZFCQp9qG{k*F;$xRWUkS0hGUIc<P5vk=CV01yC}5rmdV9CA6UQgJ%nDT3&;SP~A$ zNFV^CQ8_AAVloY((3w?wT5WWo6sxoOac9WjjgVa2%!?L9Ng%TT1p`zpq7BIOVU;P0(Sp&Pv~d|W22T-cDW#R$^=h|K z7o_lrjTD?z!e>i`oSCR^ObEeLOd{2))J9Zm!EifCx+%(Uw};*CXdoc)d~#qQlgU6J zr-90cpg{>9k&|(?C5gLICN6D{WY~dRI6a;igXL<8L@Sf&6-rXAp>#T%fpD4g%b2j+ z+ZPOrF(H@4fZ2f9NQuL&V6AFDgN0mV#Bb>fITBHSIuXm|Mj!@&5da$iEC3+@`T$5F z0Om#Dkg>rK2gL-T0yGM|7~u6lBmg7)T42C|kwC1J%wbo1 zS$&YBA`zz`gwkmN=Dp+=fHLJ6DY7GX+11JIr^DJC>yN8lH8GkCJ_4^*m7LVg56KSRVSg=KCM( zYHM1Tcs}Ub(3z?#eRnqu^2JBdNb|b=;&8|Os`Cq$eMP=8QgL~yb;0t+t6SDxDE_>ptNz-V8Kd1L z*Pls!ROVSCpf41+ZgMk~jTZ%S_oCSsJlV~gXD+{Yt+m}(v2VJjd?r)r9PH|@c$JJr z#Oj^3i`x%ZC9KES9$r6m=*6ceH)sExwt<>`W!7Hx!q<4`{H@H?N*_0+yI?i5xA)xg zj`eLjPfnmKB8Y#y@#cxMM91^iXE*G4>mW0u?NaY7rf1a1S9sF3mQ}wTO*h=$|Mm9l zx%MXe{8zp!Gqim3>Gvzw)^A_<1h#Q$^PDT(`GcLmoj9hu59g7lkzwSsnY$`mU+&*i z(>*+`;ePwKHTxR+k+!yF>s52_JW21~@;kEc9pBB)zp}?SW*d8qcYg8|t@ziv?uW>w a=)%ieE^HGX>CNK>b*q|ckF9*^?f(Jw$V}G& literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_2_2.png b/resources/g2/track/intamin/corkscrew_right_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4dfae3633f5dec7b6fbc3a47a249f7d48e6e3053 GIT binary patch literal 1106 zcmX9-Z;0D;7=G{1E_XYQ=*oy&kix3VFt|E$k`HyuT<+{<=H<5BRv|Yt39OqPMwWw& zD-vCWZWauqxH_wLvtrfgir%n{eu!GIXx-(*sl5@Qj=FVvusZ8Ft>44(Jjm-m6^ zdEZl$6XB87>sJH7$gZ7Zd%N|4ZfqFr>*g18pWX)OgUQ`fD2Kx390SzrTOg zs#OC60~m%44h{|t4H1DrfMJ3>&q-jJk}s%8zNm`XXhoLee278cs=HUd%uDuXcvoG+77 zjgB_>WK+(!jB?vr=oDKk^<^|n<2XwYVShlPgK8+G3u02~E{hja>1v_qRoqU414Y1e z2{#qL6{E9p&Q40@Y_w{dbtl`ZS2~>~!~sMAbN~y$2B-owF+g32Jc{ec&LgibQlK%A z=AaY?PXr_Z(g>7dP+ml(7^)?amxp`Cvmo#g5wVy`mfsWzHXyn0QpM%ve5cmhH4#v0GjR zbsDT7pb{Vt5bAo7?9$x_nTThbO*Wgk54~37Wm$^F)OcKDf(bU5;TW4|93i+M(yd4U zDSl*9D9fM{hg_k1{Oseyx9gdtH_W3WzRR2cm>iU)Ihc?{#;M&StKac;r2mfK)OYF@4Vta$3&{)iy03rn>o=bql8;~C7-OH2pQ=n(dyA1@ z&)t4xfZX!^;Vb>NeDvgl&wsLJ?e41ajk9+1%+B{lznhwU?A(zXzrXt*Ia!<9a_5yZ z=O3P({$uL3!-bOv?@sq^K6ci9b^7Y9cV>^Q`ECA%nr#In;a}fEv)gba``Stg5Q2uCA`BshKcg!o-Oa zYinx}1gWd5tFN!u8;wRBx6m}jvUZMh3IZPp1R{}GGMUO`hE=sxF5?zJk$|yloKBs` zgL-|IV2F%FnMBf+mW8Ym$`|4^hB!zKZ`b=BsK}XP0zMd^<%lDjkA@uD|f5{Jvl;&^ThYA~&q(Cclek;N<=NeXr*=&CI9B}3t%L{iNt z;-0>A-)0DuU91i%mg1q8r~7#jKn zD8-?gW6XfZL6`z58&DYlSpa!G4B;@&z?27OgHVlw$KVNIr-6e(Je=O|#loU35$DqB zfTBpnq5>;k1~-~X(_B^q@tRE+(+j3IA2y9PezJ$>fEg`SRixrIxQc0bRq@4mm1n|-?f#N{-*?MmaV&iqm}WqPRF?+?d-^g z!D+|_9c|}=uk5%pzh%XZW#6>k9cc<2 z+}L~ShecPeH7%}vI*7gd{l@m0uWrE|Yxl0!YCNOp8gUxuSY0aHn-1H~MR-fy- zcxT3m&-O3)t?q@_8+uy~Y4)k(&Bu-qy_dEhYdCQ8_P0~|7WFhecX7v=j4{Z*LE~3i zt_|+{`=y-^M~yw*$JhTiva4Ncv@-o4)y(~6Yu_4a-1vL%&e1(bQ^(hqLjAeSjE9LS z#QW#}ZI{KCu4VAt+o7{79_6q4SKiz$T7SAXv;O{?#!hsy>5;xuuAWnY16rHgtS1+* G+w(t{^Cvd| literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_3_1.png b/resources/g2/track/intamin/corkscrew_right_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ce2248906b820cb7bfa59f912d82dac7ec3e1e33 GIT binary patch literal 1058 zcmX9-acCQL6n<^mUc1-@4KuQHJ21nWJ0+F-<0dyfw`)zyxnAuRqegbqv&$c+9CC#y zVH`GM&^V4QNRWt`o-V>Mvr;gVPy!1QFzQXq$l#bk!WOk?EQc1>jh`8V@4d(O&-?iJ z-g|#;Hafmz_YMFUpP8PV@6SE`+BNFy_fva!%>npe?%9Q@J{=es7#tk*`Fuk|L&L+v zBO@aihK-Jnj*X3l!r?GYM|hr-BtcQ)x~`?u>3qIeE?4UHb=U2A9vuOW1yS(F<3Uv= zlBq~0%jOGWsVrA(deh0aI~Gr2G1jjMAtOeZ3R%?Y)ihtr$C_o$ZDhKxwbiRfagZrU za$rhWNyBQ{K&uq=nmFo4kSC*U6QOz-Km?F6ObY}I95+eQV%b$uY$Osb!`LVmQLTp4 z!7vw!hy*K>QH_cjv|_S)flu2)t}0ngx#A`W29HF;tV9V46W4exBW8+nv7%KRqweOM zZmGRh3vdvWAd~X~)4DpEm(!IM!c8)HifU)3cit+eub z$4>WZ`7Osroq8b1kW`Fj5*(kDq^zP8lF4#5TPqfwN~OKN-s|-c;2My5j4lQEDlRpt zM4Qia;#N0V?V0Odxx3xkLVhX`U_zlN5tgWk!m_#`X5{{|R5_b#l*(@1@!A~70;Wp= zLncg>Dx^3&BUKBDhHbQJg>I|vc^ilWhymyTCV&ml0O(+V`Ve`P(vfW;w#m zkf=bT3Wpq_fBej2{>?i-urxm_!P7Ucp6HXyGn0oG_Mbla^URq`6ZZ_yT|=+Gb>@eo zFXh$_?;O6!e;|K!Nxc&Chxlb3~ z`Ad7_-}B?d(DD1f+g$u?#6H&W`=31V?)jHznXj&VQr>^x?dl6B;g^lSeG^)5Z{Hit MOwCSyedPG^{~Nu^0RR91 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_3_2.png b/resources/g2/track/intamin/corkscrew_right_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ec9118332b15e4153c7c650d9777ee20924399 GIT binary patch literal 1515 zcmXAoad3-w7{`BFl~!qv_JoCIlTJoT=!+M@J54RxxB9BLCoBlw5`?}q+91ejoT#|V zh)KK5f=qJ+K}QglO|(U{x$13kLbEQ`7iC$6_N@3VZg-#OdG7h=`Tp_!KGh3~q=N^3 zG7tbTIDcN=!uXsTuUW~7@!q<0eKr7zU_oKY-1yqBU%!Negv7+e{{8zWB_$0QFo4Bk zB_}7Rq@-~8d_IDRBod4yaf*_w)wEu(w^(d0m)qxS3x%Sw7$O3g7!Y`>T%N8{@ibbI z!6>#^35QGJ@v8j+V>n`$2w5_5Dvfh=GMUCA5Js*c3K5 z?GEUCA#;FngnPYg45X8QqXaxH5SUn~jU#mlosJ5GG6Yp(5)DZjDaxwRxQs@x%@%OG!)^)CIj(Cg_XBx*!IC3;;C%CIFlOGyxD{ z0T_pnK&=`&?JyK11b{|>83S%92oV610MZ<2M4+93ZWZ(!V8{+W8jk{80%QbBMR9Z* zq1hyL*eQ=k9|$-ZCII7FTqQuXshEjF*m(-KfDVaGQMogw@$_2!eeN&}Mg{2r<*}q9 zwjATBNJOi|O*)m`tn)a{0iTlz`Cu%J;y82z7y=N+y)eY({)emAS|btEYWW|v-!GBN zNtKGyYH38IM@1G4aY_&`E@~r$jEoNzJg5^uD+1jZ4B+wbqvKP%KmNd$g+(Ozvh%?j z01|5R^X8Pyt3G-}Ue+~nP~IhYwqg4W@u>#Kj?L2i-MjXlo&D$V+bM>Thbjv&rcgIM z@|JVA&o+&I^DdDY+Z$fBFVc0}dw9vejrZ;E3hFX`Ts>y=hXbBt7kx*kZd@{R*2>~j zi5*A&+B79J@7BVHu`TnTt({bRwddf_)-*$i|2%h{{qxRuqdJrC-aA=QH+@KpV(H>B zt&fUr%-3C<9GpJAu#vp=`^8~r);!bKR#wie{!L%U`qxp($c~;9XA?UR`*_JBN?4N--ma3%Xq8vR=+xTH)mvVnwmA!#XM*?K76&wUDA@= zp?X}iCAM}+xt?0Pj=J__Lifdznjmw1;y`rUVR6CUZB_JkL65Y?`gYlz@bC{~7PnNV z%$WbCaq^Xd!{X!|qI-&9`k@2m)t{Ut8p2mO5l-*l*?!S{tnu^1>xVadr;pZy1yB^Y6{`eerpo z&sKHn>S|}#0s!jTS7^J+6)ndCaaB1Fbk;8ipbD&7xu&f=R#a3}R#sM3Rf$BR>gwv6 zni>Q_#A5NZY18B?l?uZ&6h$(Oo@I?T8|QMle7-;=5=|r~1))$ZVj4gafYwWlMw!*B zv^z9z58?CEp@=CKx24jaY%WNlh=GuBdb!h}E!{ z#cWL4#b$iAT-a5J`=-)im`g}yxEeKJxP_$b4C7&0zug}3c;bOTIvUMRP8JFU2oxMp z`w%Q7rD6&ug<7(dJ7)~$?XdzsS&ZaMnJFkirBYlj*C|yDs$mJjrl;Me@-j!n<4uMl zLLyzvlE9=#Y>d=tQu0>R?;yi&Cg!&!!_G|HpU)(U#e0whzyN>^03Lua07(FH2!LhL z6m-~NI0%Idtp*$hyd;R~fItJt0LaOq2ZKQxMy)XAhC&cL1CIke1q?J|W#vvg>g9Ez zARCLh(&=zMpN3^Gg#};^3CYXppwbjoa{|E^jNzg^Hswo|qFIfDM$+V)wy1}=zCAK84lPw_G_Uw(GUt+_q}hgwL#Jikj||^8N_tQHaiOdGeqea*c;wZTrC}cNiQN3StL8U{q5qXXZ~wKn zTjw+5PaFReheX$ZymcmZZJ2v^Uu(^-Ge2z2wH}^$42LDHO%rXRFQEgdtTzHxQ* zCcSiG?i^&ZE0lWu>f9NZ%+$gwXx|GI29GZ4y||I28Bw%*`{>%9BfTGM z4=nAyxHxxZ{c4on*0Ao>`uCep|J-&cSo)||WhpMZdlVaU4NqL^-SY%^$8^Wff8Kmx zB&&YJ_svXpG~ecK964%c;ibyaf$`2KTHpRG{dnrb3d!|5vo3DD`K`61f3+B%gCg6e WMZVEJ=O2_2gZ8#g?TL5R@BSYo&p-bF literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_4_1.png b/resources/g2/track/intamin/corkscrew_right_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..62f7442b93c6aa7a2dc43869caea42767887ffc7 GIT binary patch literal 1440 zcmXAoacmQH6vuz-#%`mKA{B~sS;uNPrGc_tLL()fti^5?cXK!CpbG^Ksao-b+pJpP zh6T%3w*w0lC|Q*PRm-fnzzvF2=wu^Bij3IFfmNmyK~tcbffIk0kbK^IdH=lcAK&k5 ztE)APA3Jp{0APGgwZ1+#D{|FTl%MOjpX&Y`fP7H5uwg-N&CAOZiA4GN`2__9W5$dr zEG$G2q^PK6)dr=OR2eCanby%R!sWO4 zd74kKF~O5a2U8D)2*Kf)M5;kmCQM_+b#{_;Q_`P^^+jG%}e%p(IsmN~>jzgv*jU<_Nnz z{lTyhOJq|xuow}Bl&}^BXH)qcc*sRYeAfODn~eI>$yhdf3*rEn0AK*%00;rl55O=2 zU=BhD9SjTwppYa`Kx4pz1Kt1x0zeW#S_a)13=ojF!MFF^B?Ykb~EF!8v~Y$k0s z%Hg0fwNs<^;#f$BMUCn~LX|ctp+x~%6#6j8<1k^&gP;zL}S;|}eyR>im+FvO~%#~=`cEt`> z4^+I-{%dS?`~FKB^GB80uEImY*S%G>m-xN+l>A|IBBOZr&$4L;4yOxV>F8fXtUGsh zC@oJ-b#4F7=Quj++U2@Mnbq^?u977em#p76OA&sze9NV~Z&7W%AB*E-N^c+NY*{+v z^yVkZKe*hOnXDJd%FoW(xRpClv}0fGiq7%to1XupN_@AicV%hE`ofp8eZ6~bi^9Qg zmljLo%`NM0#a~|2-uhPMY3i?|;}+f$ohp5C`N0**8NY1NUpchPaIxj;WJOt3Q|tce z-L7NLh*TTvI`tp=Cf=QTM_*QbMZA1xck|M`-5a-W0$N^zW3g# zSU9Qc!j5c7M-$hRp0eokQdw)m2kO#k=U4W%m(G83wbLp|p_QiPbI&|iO>St!8EVZW z_U@+xpT1@}zG}|4V-se~y-@se&AA69(lghR)XatL&1Gr6NB999*D!WT&7{8-z4+A1 z8&~f;&fKq`vg-IHw&CjD?^C6xul(z2so(v{<;PD61)>d`?)+D~;DP-fB3+CQzIsy% z^9ITsXPc*exwjcvSJpk}^_x>XPsi7>5OLlQ&&8ho`M=SUx;}E-3$y2)ILTHFRh*dp z&gk^Q4fFSYah;69HLVkV9RE$z+iyA^{B~}2G_!kV)trCIPv&>6;rIO5*)=a0Gf=aj LR{urSviJW796gF! literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_4_2.png b/resources/g2/track/intamin/corkscrew_right_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..687dbac9bc7e4661438fb886eb7af79528641d27 GIT binary patch literal 1291 zcmXAoe{2$G7{}j=Ek)X~gejXe#f(gxH^Y|OJUg6Mdv&a%>s3!BhGv*ul&#p@BDUCJ zb1G!a5qBy&oK%Uyi4&EqHN}oqRMfT-b6aYI=IV%|V_D;9ixam_-(gI?&#!-;?;oG% z+11>nubee^7672K;e+~B#i}SqZMmqJud-FQ0T6-a#?>o|V@XNLj2SaTBGJs5GfPWL z%gV~cVsUwSxkMsSsMTr|)e;0wQ3jee*=&r{>Gb&mkw`R=7!ibAK96bvt^=e&YBI^K zR+ZhMb$fI^KN*UcV{u!O_oOpH0udW^QpTWQjVg}T1Z-%plZg9_$p|A1y0b#CkW1*5 zz>EMp4me62V#INeEESUHlS-J?!n_$ya}Xxf0FVHf#bQP#W0guyqY3JCy(Bqkv7}gb zJP?5KxDu7CafOyt>C75EgBV$q=5#hc;S3wRF)EleM+J)tQ)=~U9fcTZ%)}6kn{)@v zfhZH@*@WQbv!Qe$F2jMG0tyRIIe>-}V*!OeqA|sBhBtcBwqTA+z+MuO)0on(M?6Md zh$dn-ig(f}pDh!1=Hk8rABLHPOpa*~BZ^sY!cI{hn)ci65sxPx2=LKpdSoP*%R!)I zfW{|ALoy_jwO}I0rVAdYXaU=Oib~;snQbZ=h6bijcO(9xZr?VMIx4F2?5%G8j zLlGgt=hHYa8^ktB#+p@}74bXpu$zkcErVe;758UTiF|$>;s6){umQjU5C&infQ%Tx zqDTTdY%m;zLWX71`f()w6Q4J&LxST1Rx5o;;LCL zD}_2N29C7`y=*M(3+zwfzh$s}PiQC2JM za4@LWiD`W}8Ya-VK|4YsS)&@7Rgl#{KMJEb~V&C6T zzkKzQ-EI4=`&{!XT>bD?$M!cJFAa+<;l7pn>V4)LzCQW9KgO`3Me0>wBTcWLzRwIL zKd#=qP=B!TuiAy(UCqjS$NSIJt@ivdydrsCR>u#J~Gw=Yr_pUOvaNulj zjlJFV*`~!9CQsjTdHhrSdbVZ$EWRyP}Zr*bDU>$Lyu}b;k(#zdXCXfpk?`&-v9*Vruj8A-i{eZmspV2)%t|RPjSKGbN z-ky`H$DOzL#2QqS=V#yCUD?0A;ne2+hot3n&z9Dq!3A3vU0XV*War`!udE%*Sls^3xku{`xAxZTNV$ygjjr^iyUt}#ODY@We;)`=y;md(8dfyb JpQ&5F^M6byO9lV{ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/corkscrew_right_4_3.png b/resources/g2/track/intamin/corkscrew_right_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d00bf2a3887b5d79248372f03ffbc8ea55ae0174 GIT binary patch literal 1341 zcmX9-e{2(F82oikpntt zu;4L^X|Nd;Ppz!OY6cWjMkkF7t#H7U5*z5S*}7zAg_YSQBl#>LdEWPV-+$ickLP)h zHq;v`%chnA04i53U%D#KbMrO3v?$-NHqTlPKoMxDTfHp578Dc|78Vv26%`j3mz0!@ z88Ze!kkZo9v17+7)M_<`p#*``G|4a~j$<7ThsWa!21C(kcOsF=W-%1tdO(roCX?K1 zRoU#Q)1~)#DSyx$j&L!_l}w3*7BT9}SyI6pRRW{&aag;9h#Ae-oNrW0Z=6E!G- zSqp495NO2DA`zD??w4m{N|;7r)(l4l2%~BMC;-d|!pda4QYmOOqF&!lQC${GoaYC8 zJ{XB8F}WI7pp;5)))-i=k;fQ8&v^+)fOLmxF=h@WEGnH6HK_HpmSl7$mSCNf(`WXD z*pS3W6K*N(Pv#;r9LQ;)umF`EXaq#(Qy798Qv_!vqbtdY86gVWDXpB*DQyO=%c%D= zM3|!`2NU;jsemIB@#LfcOhsjKoknZKbQYYj(X@+Uyf$0V<%;-xQYe({?#^T~5GYxo z@gSIAMue4gOlwIJ&Xh?^+rk;4I~z=o#&fV-E0gII3WG{bYf(n8=Sa$F&L6V}UG6S_ zFcFoqNgS9-grjA=StVGtUOOIe(qXTqE5OGi-gG>g%?>~u03!e#00IC30J;E3Apqt< z5zx-TfCv+DN&{F7xN#6NfCL2~4Irz4E)0qk3|V2!2@@iCX1orN1Ta#Fl~M3Ety?ho zMJ60}NKzo3mSA2>X#tqM92XRns4|B%Y(g(&Oo6N|ob$v+LrECVXyibrLJX+PgsZGH zX19<6Zx!8qIN+9|fpj7Yvq>FE!VrK70Abz>XI}0(ln%Q$mC|`V&%woFgvmr(t&H8y zVyHuhdT=a2U=b4SrnG6J8k$v**FY}@LpYSkeE4;9${#=bfsa?!(_m5Gz0LV~V8znK ztCt@=esaU-ZF5Txx5JL%nwtOWi-(Bs1{b%qj^6tF;cs_jI}XT+wXXFSw~Zg3waL!z znVy^`;IVZNOlK~=H+}cIYaM^pZ5|j2*R*WA**o;X!q?naPW-d`=sf#4YxrL1n0R^K zlZIAW8Sf&ldymiPoZ7qKt@4ATm$$vxOO`FJ>Hnr~Wpzb$s&8C6Rq=b>0($S^TT;ce zebKZcXWlsDdT`Q(SKGvM)R7%;&Lu-9Z=GebWxfnyRLJIw#)OdWw0l{gEpt zU%Pcni+|UpVe!l?@iY8U?fkPPRA-FYqI){L$x_-m`QP;qE#XzQn<|vdlZn4}(Kljg zskcSyh~IUddV8Q_&CdBxrsVc>e;ynTwDvcrds$TW#k_&R0qT`C$*qOF*f;UyAG?0J zS~~clbNu!r+~X$u)wVmw3MX6{diMqU{h2H02P*gNANlF4gV#UePi&B{Q{7Ca3`GUC z?c?~KvfHt0s^Dh^HF({%U8+WuqbYx~j3RU^pIx%!=zD(v-q2EdAC^-F(P^8TU! E0RT*3)c^nh literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..31a01b8fc4378ddc98e0ff0b165369bb74cf66a9 GIT binary patch literal 1010 zcmX9-e~8<36o2=lm%E)u#e#(e?4)1@L4!ukX4H7g-RhZfIhVOGio_8xV3mk*ROugq z^|WfxAlu9J!#Mkv^621UvYY=bHVPdM~z#^CeblmZmA5=Ojr`)x2To<#M@JYqVNkr_&F^@nk|%z_B0-i}`%2P{0!4Lh0gA{lfywFp~!(P zVND(Lt>mDYn)GlKQD~x|JsY7;7C;10FicM-O&qrg!eQBMQS55kz%*|(8p!u?I+f+p zl$c=^BBztGNvk$%)cLY2RNIo%Q@l{iFgTUVvJxq%OkU^pidbnV4Nvz1vlCW>s5#vA zlN_WZNNbQO0byfIBb{pzd7sk**%}(o*zTZhkxZ!!Ud)k}%r;fNZAd{`9n_4GTORwh z-M~eoPBO(1q)am!#}_5ZQq_8~*s?6Y(Fi&SkO^NvSMr2x3Kvo0VEtwcBikonSKLKoKxQN}5W>E|B#S z=T@Y4UF*8$z^_Mx&SY`}#djbB7yvea3(y4^VSr+YJSrK;bx=4E3D9Y%a^U446ah(q z^fa<)Cpk4)q4%{-H0f7fu#0qNKERt0_*L2i&yBq{=6a^^O!Zn~vi=3Snos8lU zddS-2ygMnjcWb>pZ-@qCA_Yta%TdWZmnleeNfT_d;8e}FTMasH6n4;L$Or=R0EK{1 z>_sJ(yA8Zts*grYy>=T$ugB-}QlX%hN;*xI8LGz7E>HUc)fdS~&LSm)Oaj$usA>M7)zz2YzR8mtnOV`HqShlcxIXV?ZWDPe{S9T z%l@MqedZDE<`a8MFI_(PTK3?B*FKsRdjC0B|IMu@F1&T+?eC9%@U3MA=bwxYwYIK5 zdusEfihGZhuDPzTUj&@Rtu<`uNAy^N&w`bNbSok0xJzKAsiUR@Ya) JI`YEV{{e=rwm<*? literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..770bfd8262918ce18abb367c2e85415dfe203b66 GIT binary patch literal 1226 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..c755fd2899019e1a9ac0e766b9ca38232fcbc0df GIT binary patch literal 1239 zcmXAoeQXnT7{`C?h1(djKn+EToKj*5$5P;e2cCG2+bH93hdZ(YC6sU(HPqx_g;Z(S zAqQzjV-75&ks}u9Tmv;8$q3DCNF#-9u|mNL9iGsH8j3=wSfP$3{462)K5zd#-#SJ+ud$KlB8fTq^hxGGNWn5QVF*JiUcgvV7KdC zF4W_-`21v0VI!&|o^Yqq{#-sxV~CAx5Ez4KLuK9^a^nLMoe0`es-O+~3R<{aOj?b= zfdLN%WDbc4NW!nnM)akW5f&`4+sEC3D!5p+7yXq3(7Fi8%u?6A|B6~%|4 z5KJVDxZXq=EG$Yo%vJ%ji8wElZiSYjOd!sMQ;wMCLX;{QnZKT{5-FCJgVQH2!+zIST2((7K;!V1z-*$ zctl6Xja&+I=4fBu9xiy|MLAPa3**@`Y`}Cn!eFqXCJwXkB@(6$xu{89$ zVKfZ2ENcb=4gwU2S%Jm^$N?xApdW`}7RFpK<%3!nyaZ1Gh6Xkkaq$Mxg9T)3B+SR- zQaT+i6w=f$aaIce* zMOQc=#-o9BGFs4*u#_Vh2F3u?0E875zKY!|86~fh&l5`UmE5TmZMSnS7w`27xJ4o? zK?;x3c!IHHSgc?(K?e#&GgNRGqhOk;96!<2@Z{wW?CNOez=!uow^jOsZ7t2~mVVil zv43^ot;x05ABn<+s)5%_m(LtGqMwjG>#v?Ud|-=y`8O+zk@K;!UwU4Ay!VKv{J#6e zJD#wzx~Z*YbQJk~b-$`x>>2yDlZlUP+Hmng=f*qr&6hqq*0+5An$CMWYH#*^+qr1Y zsty&odVlKB;HLXV055c)Cl{;Bl^PTK}Hqn^$+9=YnfW(|5OgQ`)Y- zca?2EeX?t8&WUXs{$tMFY~6hM+4S?}4R^bjjCJJ;sC_@TcP#L(TA>5lTH9N`U$JHX E|2T9ez5oCK literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000000000000000000000000000000000..12d11b56223dfe6bfba16754a56b76f00d93f0e6 GIT binary patch literal 1322 zcmXAoeQXnT7{`BOFV`_fBVFvIgJLRl*})1Nr0M}TxnY?l+}I5pDbnHr1uL9#8x3j3 z2~{g8aEVn5R4uLtvxMaPy#4ch|M)!5 z!Pd2=>ZvoQ0syL8RyVg5Yf~}m6s5&HGTCAWpcJ&OX)h(e*LtgKY)bUF+(kR(CVW`?nH9P9CT0)bF88cQUG(&>DmfEfUR1Ik=wwW^#> zt;=oj`tU%IibQQvoJ-2SOg2oShy|}=&1&AF6&QVp!}>gAJYY#i+4O)nmkv+l6DAF? zp}<7|fkq-M689-n5mh0nfjI*#*x;l9VL}H01%M4fSf!HJXav1JjN^S2HQ;chcz!e# zg7LTpQ|Sn`fzskOy@^FFJjMt(7bHER*)P%Iq%D?qXpI_!Nr%&@nK4>flJ!#FkS!Er zV=|ve`{i6DGZ9x3Kt%(!18ChqFCfN{+7#7W;{+>Pd>JmB7ZR|KLRE}W<1(Q>3m#!e ziKAr?lL~NI(UXq{CS(z26H1j)k6JLJgCJcr?PHjr%N6zc;-Qcni)Ds}^7%Xj8W!jS z2o_P2l7>#AjtuF|TEjV)loy5y(cENe0#>0)rBSUmX>~MeU~rr>Q(jwfnLFz94@9Er zgj~oFz-C4`TFKkAf)fq83DHYSLC1i|r{cj}Dp4qmLIMB_02}}U03rYb0AvvWi=s&A z=Aamc=@g|0EC&1ph?zi|0+0rfRYM;J!xW4;VbTlJVekmN5tvC}p%5pd=3S^?Fh#3wf(pa7hz^AQ^OeC?m*)T+*Ig1Y3w2;@sAO>Rul+DHCH!i69^U)7M{XI)J_T%6)<841*YsUWByvHKVcx%kRA$3pp=AmZRvw!-& zV=GEz?xpL2V?zhH$%fDWJY_xIxQ`cr4D4F-Rdh^Zb{nPCu{M_-H z*@IVFm?!Yp2@!quzv)W{F1faKRL8&VbZob#$_%yr{nz^%-;sv96dQMn^M9dxPgO2C zXlPn>{FM5>uJQY-iyLlTcy3`wkG+Lh_HM%%`0nzWlh0Gtd$fDcog#c)JGa|5`1^Y{ zI#cUUUR`u(k7KOP9<#6MbS!M|docO(0&u&#rsnC@gsxF?Ay+sT{Q2Lp2is|wsi3g`PueVW{0G%=A=!qkp+M^St7k4~)Z3cu2M=ZCt>+0t1@VtcRtgqlvz4T$}651l-(U;of?@#2Sd zXA8&4zn7m$4%XuJ!;0OSdDnI$59Yl8Yo}UK?H$;ZxzznyWAke1<6Fty)`?fzzuekC jAL`r<$vd-dZHj}fccuPyzRd4M;GkvI+UDMs_5=R|0meu9 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_2.png b/resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a7be3036e7a5a871d9ae86ac1bd3defa496d196e GIT binary patch literal 1115 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/intamin/flat_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..72abe6d67f4d1be6232193369aa2c82799489406 GIT binary patch literal 1240 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 N=G5Hum6J>7{s-Dr%Ygs@ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_diag_3.png b/resources/g2/track/intamin/gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ea857c1e460f674dc5a0bb4d6c7d83dfa05934d5 GIT binary patch literal 1324 zcmXAoe{2(F7{}jjUAt~zVHK(?p@R-@Nzq0R=*-CudL4Bs?qCOYSVNJUbXwuWlNDB> zglY;o*a=k|DNsp)l66p*DFqs6q{@&g7no3_m>LT!2(Ge%i;VbMLh^ln{qubP_&m?H zMJ>khl{J+Bfbq?*8d{5WUNKY^WyQRL!7cz$1{N(`(o`HvN=iygOUug2L?TgndAV3D zmPjNO6%|scRH0U@QB+G1I7OLg+QPDo+wJ!G0+C2Gkr+&;^MwMc1vmysQ*Pr-cP89OEHOr~x1Wuu3G1Oy*K5c?1b!SU*V)*la16>rNm5 z<8dV_SK|sTslu#?kJ^}kljhxmg9Yzgj#zHg^ zV=2K+r+jQS?9Ru1qe2*F6Ee9D(U?)44JRBF#nH6i;fQctJP;6~(ahjrKA(p`$pFMB zK|?YkrlgV@TZZstEy0{4mgffxk=$5n6jo_uGMz$URH-SAmc}sFM0%{nWzGoa9SB9z z389d|fz>2oDVfWv;_Vv06Ayc+nBO)KcBSI}Tq;p0+<`a%W&l_KcmTox3;>Xo09X`B zKqm{sL6}aF2w+g)#X-~v(j5bQ@6Y0#)HU1a$O_oeK_p zHszGPJ$FB=pEYhad2JQ(taxKy`peEsNb+EQ+O9)2^5B=7bNUKRKJ0w$^v=4M zXPlqikI*-6x13zfzVhI}{O!wX`#$LYc*CrDM=akKMAyorg?8o5-J+-EQvc<8ANS70 z^Fz|zYcX=oKdpSPnp|*kxnljuw z`yLt|@-6ImssjM9aN~x7EseUk5#BaiBM-hZ_cZ`EFuZwWurV%Ju%M}_$!4=PH#fJm zw6wOiA_&sf*4EzM?sU7|1mU4+isKlb4~U{5%W^WA&SrCk!nA4DEsO8~$_rSgGZ1iu z!)PSxiN(Fi6r0Hg^SW3v;+3jOhqEVuz+0SF?9V7E&ymx5uc*E`9w#Zag$Nw?E! zsOv7m;ijA(7WD=(pMd)%f>*p^ik3Adk>}J>FlUBP(&h2Fy&TT)WI&*W7#m9m(>Wn$ zNCh)t)H0P>-A(}q2b>{*MggWEWZLP=Vga2J41c^Ls&%CRCt2LVldgylkNdqDp3aM$ zA@k*=Sk>gZo}4u_SS{EcB!>G5GDOi4j*IhrDiX=Y<9a%63Y2mflB~b5+O2n zI`862c&I|hssXhY$=8)>D_ff{&%#dJZYP~iAL{0C5AXGg3>ynJmPNDiL@|>!3x-vp zK#)O1&MpN}C5)${losRisZddq%6h6+E?CxWNCDsnKm%!nKKg-OTZTBW?#87z8a=adpnv3JobF^F{m4x|f&9O`8nvkNd}Gj@^_F{mIHjJG^@8K>yEj>yFJIJ^#}OrUz&x568xI7mEFf9hX-Yi`N!UUOa;Mb}a83 zVQSkZy4S4TyYrdeb6mi#H`A*+G)0gVrWxZDK`!TG~jbA+2+q(vxLC|-t zsb(wk<$KoDs}Xc*g-t27`l)@xfA7CD|NB1&th=YsbNA23{<~G(O?4qx&!XsPdV5F5 z;cD*}eP_;*$}jsrJ)OCH?8J@pD=r*$>_Ka{=FYshXg9hx{>|3rrQM^WN3Kjv?0m4H o_<&upWaooR3Y)(5*;k$?$A5U%-oI?9p)uGvI5hCx`fcz35A_KL{r~^~ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_1_1.png b/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d8080462fde544acda220a950ba9a4e1196a10e4 GIT binary patch literal 987 zcmX9-Z;0D;7=G{Ha(|pbDpVFF90j9<8MZK@1j#gac1Ol#Eaxf&79rCj{SdZ@MT%q? zXBqtvXVFfJR0vo`#10P4T$P}KJEg-Q1-m0+g~AHnhcNr$hBx?`F?inh<@xeH4?ORC z`P6#;;Nqc0064gIV&!x?*|ZktXVU)M;-~Kc%)qIW8>=aunwpxPo}QVRnVp@To0~gu z-~fhU^Yily3k%s?F2}NrC<=-q>AGr~hHcx8Myu2D!>}L6$z;MZAn+hdORAbFmB@01 zsn+;LQ*L*(ZeaGJ+HmBGG*;l33@K|BNJpnyCc9~iL8H*?81Z&>9J_l-m?uD^p)7!- zU~K~nYWSd?ne+%WX3#`K`wl{34nPLbFwDSliy$0|a(RAJmbZ(=fo1KsS||tzHj@*w zj7;(xl{e^u#p(`kHbvW$>RrX{X?|QJIfBXOc!id9PBlcMDpy-t%QyVU3gdb-ZV&eY zT!4%M*&>h?pd5^AW%C_M4Fn@9)P|;;I3e1U>5R@1?COH zMIIW3c!s0s0?QQzv8*UHU2m4lomwquwIbgi_WMbaARr8&8W`Kg#V(=r=;BbUj#PJC z?j}xu(i!g$_RtcI<6JhICvytT=sa&qa#c&0RXVl$cDoaY(PSuqCSj(6TN>$<=w?Om zs!F$6-1e+N&>RoK$z&G^00jUOzya_8wgE;MpcJx*Dkkz=6c1zy3>NAF_<4wBKnfru zi)t)#W#pGouZm(99t6*UBtk*PN_y5R({(4`cJ*%8jv{Y7j!>#a6oIWQ2~JjaNzJE> zn0FG@o0PkIjo!XLM1zFN07qhZ23G~Lq_CBudR)jMjYJlOnk@1K6iMmv zbBCAiKKOyRPp>O*{Lbw+Q*wE2<)w{hu6**5`snoXBda^;k8@uhR?lDjPB{C-vCp5! z<$KF7_?L*Eg%gimx$x`#i$7iK5i9?^^48Sd*Pgy`?9kbp*SO6Wzu38T_2`FNcYb{K z)?fC2H{Y4GqOE)1i`Orm$FKhV)h~a3`|4B6J1F7a7=7)Z{D6J;%#nWeGw#UN@3%ib j{@dUv^TV0P|Ap!MH#VL;cYQZC1#7G8E8o2Q`uqO_gdVFN literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_1_2.png b/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0de28c5828f9a2c4b3e8c1483099ff41a5f266c5 GIT binary patch literal 1213 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 QP#$!5u5g`r@r@n-14_^obpQYW literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_1.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..478fe92883cdde84ed95cafaf69431187bc3a348 GIT binary patch literal 1001 zcmX9-Z;0D;7=CZPyWAhQ4m%85Ty$mTM$jNp0?UVN=8k&ixQu1m4+SG+ShODkMhIG1 z;ObeAeh8z-6|X{ts6_&naY~Rf3r1J5AA+8vO2i74i*R6ZVN^NfXU5=p-hsH&v*s%l=>wQ{*!uQ%Im*Yoy+U>rpZ4Lk>uxR}qUibcXG z(UmG!Z%D1S(&_4bzd9V*0)^$cMNP!b9AT+sQ)l+dLbsmlx3!>G2?KjF_OfYEC@^@i zWUQrO-D+~sN=5xN3TYH6=*U9I%K%6K3WjOPq?t}zBx!Tpo+R}Og@I`vHk+v1O*5$s zkJA#tDP&foawel%oZb-1j#%r+c3*LW0>P%~Y=)C5QDyU*pjD(wQ)#-I>ziIs^TXC~ z(oOP^k^wIOQ3BG!*e0HBlld;M`MK&)x5t);_9QB$vS}krRdZZR6*{`?m(@XCA35c5 zw?6S5H1d)umZWkFTi^vlmaD4TFpPG!+HE#{*B$QfkH=#KX${Ca#!ceG; z@^)x+#@2q+4vz*Cv`8hBERJW1j7-rg$LXR}QQ~E#cD2@PwFA$OhCC=DrprlFA*>?R zDDh53?lcNL#~gGU;lPWcL&O8*;tT*-01iM8V1xmRAql9YBgaO;Kq5h7pvHrng+Kx% z1JZC*Wsof)w}|=`6xeXjcoswfauQZlanqn`R<>oUole>JoiOxKtd%YRQ(ELLT(Swp zCAEOF#(5_)I+J?;$Q`1=m`njnU|Bku=ZT`slnSC{7VVnZacaKjgn@^mAuEc=1rz{6 zu@{wC?mp7xQe!k?8}<9p`+Xswmy1QURMHr_%+ht9aRjC-()$t><}yejkV&EjgIpf@ zVjO<<$;H3#{lJ@-*JZeH@bjxNsjn_yys~ut6HC{Eom01W9@>8R%u6eG+0CKx?}D@a-^*7& zTKenEuV;T;+kNBK4dd~rcYk{H^Aleg?+uDJ^(VD^kdV&3`+NJ;w{K^@&z{~0|9D|f y-t67kioW^b)@vJw%{v!O?e)3Icf>y*;OBR49{l!B<*oQcSY26P{_MF|HvR|LqO$=2 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_2.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..af9879a1326308b5911e8c9896aef1ff608bad06 GIT binary patch literal 1228 zcmXAoe{2(F7{}kOTd&)Iq7{lX@gM~cJVu2h7E_ZO97`Q%cF1AMQm~j~6fENJH)1FLL$SdJuDM8_g%hAHqX3>R892OUdz95y2y7FmW?GKgJM75H0T7U-! zeiBG5lH`$W*jPxKw7dnDZBX;T5edSa6#xbR4}$PUqiC^67?yB2`WU9)>n(`lU_1`9 zSqovZl4cu&Iy{(@$6X@9Ne&@K1ygh+!zS_`S@oiJi_K|uusF@x-8{vIm{8mkmw8zc zb818>CyUjrkpw0dn7sfE08B#cakDdxxw9m%xWYvtQIT@6kHJlx-QsuRVV5JxQ5k_% zf?Odglv2S;Hd<9uu#_{J>=^DM>|T=cvuv2-Vt#)*9L~n$iYylg1}c>b1Qs4(QG`eu zsf>lq&m3(+CK&C=$Cg$x=iG^&eT*ztKAS3~B0U!V%0gwWqAAk}9U`-4K0|HDX zpju!sz!M-s0@(>v20#`--VDP8OfXRP!F&j+3GfWO9nchTF^G>di+(&JIg<%4lL;zH zs$5oJ&CB8iM4*L~%uE9H$QZ9Wq>4MG`7_mMenc+9LIpDcJBm1MMmLH2SR&x1CDE6N zh?!JG$)(C_4r)a^O+y(#6+l>H5vtiemn9g8l}h$l^tpt5o^rccpN|U!c)}L6+oB|q zqKGVQ8({FV%L+Xx6fqbhpiDxAt{uO6&`4^VJWJUNil(agui6`q7Ve zTz+9*!}7hK-rlh1uI>81*WNrd{pSf2Z~r>^^)*Wqt9Q0|Xo`4w{E{21TDP;yhJWmv zxvuNU!xaa2FI?2K@ZH@{j~!M|RUB>lt37x0Tjv}`_rI4US3aCFO+S@+=?Zlz*(NVWgPt^?9dmkNq<+GVqYSfmw z=f_9%v9;uwGr8u?)y)SDho_ymy6s5M+=?r?X2qlKTf?RY|6PoAF{8ruBk?(p3wO^FkhQ}QtdV8sEbMu%FmM&ka@b`}0*LJ@2 vRriQG?%%b44K;|-@jDBGh_kH57ApsrjoeRF5zhc|}(;*_~ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b432d587f95f33a28b80dcb897faae979dbbc358 GIT binary patch literal 1102 zcmX9-e`p(Z6o37B?Ya^*V6YK_ixTl1VV-#C30HURVmaF@y+WqvxVe+YE$A_>5@{xf zP4U)c+d0CTLBMElBil|FwUjWAkwN|lGn7+07WMuJ5?s(KK{E_m=huwE=e@`0pZ9^! z=e_0WsnGC_ksSaqJn{0_OlLmSDgQuEr(b#Q^4kDCF#XExc!zd%b#-@l_w@Ai_V)Jm z_4W7nV;D9tFfcec=<)mg1QBEyn&(+b5)?&FBogU#HlHt)N}G<;Y_*6W&=hd&kRZ6D zQC}<`)RI&>!{zd#Ra7c=vQ{@391BxJGV4*pK3xiA6=E&H6w~2KUUte_!!g>;QpgJ; z4lx>Z9?QvCG3l!2+^vciHG-%mqHP_ak{^Hr5HU=4xm2%L4+IQ~TI0BKBvMt?t!x$* zi(bO*r#(T=M~Q)ujE7Z1(kUgwBuqAC@kT`~I1wM|4Tk&_kFydf$c(IUT2{;!9wx{L&BS;83JjH$hjEH z%UAG7jnV3Y(TG`1eY2HsY**W82zR+ik0<2w^LS9AD23%Tv9m0mPo~Pbyi>AUH5x<~ zQ+Ssu`t&HCiPNUWTbW4NRI9~IqgraUwh#>v22cQW0281LP{#muz%eMUAk#ojl?#AO zK#GP!2pkR&4@mZ)B!LVL6{4u3A;*Aw!IQu;5azI`$+8l*Z8jP<>S%c* zK*Wb=-NP9^u@I0QN^c5gD`vIRmF+?eRht1fkUlIFbP2RC$`kPjtE*8XrCMgnE}0Fd zgjzL{Wl;f;0|<4p&^mJW;Z4Ld^*WhJ--lAEFoM8Gqf$IB6Tt)-Ow)wP5Jfh)$>EK# zABjGs22h4T1sd6G=lIFpLx0@+f%%y!9!76}Ki47uPK>=Y`{bEZXI?$MG`f>f(AviQ z?$ zcvf0ide8dk&HcZvx7V258^lfHz+1a+K;0~_4VAYxv7!Rp3B3N?K@YG z9>~s)9OA$Fc)k1DO)US&>f95;!E5-J7oRa7%^f7%4{Fo4wYY~}_+{^FOXUZy{x?8f zKXtx!_qKQOvy*syW4cOxD*k2d{(&F6(^|ND?S1(C@tMt^kFWQ3e1M7Zsj(}24=(-> D#h~Sg literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c5519a03ad43d8f802700de3fbb8b89aa23c0673 GIT binary patch literal 1371 zcmXAoZ){R$6vp3{TH0cRl{yxgLnW0)v{hwviO|c0q>j zI&nioyQ@-1C+nDE#};O((@G~QI=b}_vm|y(=he{#D@mOphAhq2#&;N#-#I7e%XvOL z&pEcaQB_>DxCj7HtbVJmDLa+f5)`nqefF7U0st1++|ax+yXNHN%+K+3bRXg2KW=zDOiO5Gjf(a9l$WI+8TmY&Mt669@z&k#UAeXEKNsDC7XsaCADJ z(I_-qrFMth<;HvgeJD&uV~#}9i%Qs9Ime{oQ(7TSh&?27(T0Xy+GxPU4B1nRcP1TC z34mS#%nCr`Y@dl8c5vf9UM4DlDJjh8;VcbdL<9f^fS%1Zak-R0K#Rp*x%?uA4H*n^ zihAtvz;IZA@I(r}6cftzVwFjvr4WLalWx@J*EmDCH>wXZ2BAzKRf*)dL_^4QCe&od z>>j-*XbQ%t2;+>Ue2JMbR{?l9;2VI@3dA&9=HaUXVqI8aifJ7Q(wn9u@FFJR5i)^U zC2?rwJ^~Gqc+5t`U1ZX4ONU)EF+WU3xICFyqD5o|1!~4|2SK>a=77Ty_IP5!U}Ahc zolZj_FafcPjrh1|NPtHrh6HL)>bxm)C{2%N0;$>f4CF|-Tp6FQ5{ht%l#t6w4QAJ8 zk68l_=a4VJL}HnQ0_Zht66aESA#IentqQ*#54jCPekvYzr{a-J<}p+Npap;gfCj)1 zzz_gQHh@_$6k18>_d+I)iGc|LP6Y_60D}RD18Cwy2Linq3>sn74jC_aZoCX=P@u)w zMuJb7B~Du9^Ae$uEf({qQZbm-5*Pqti~~9GY=OXM+hCPm6g# zCSYnUxY0;httLcjlSy3)#E&9jjdUE7q_iTa7eY!5-3SaSU`&$@zic(<>GL0GYih)S z^3g;K0J(+gy7kS~9X*|#*5sP`br$H~b~ko?iDgr5%yOmshXvIyt*X5>|9$)% ze5LZ$wSThP5>8Uzk3Q@eEmv0gDz$6)7j`x?EyE+v7IdM5!k&}cMm%q`HcYRMEo$%FKiSka zws^Gl{DV`hrk2av>z=gdJ{Ym-w0ozMqkVSeav2yuAqwdsTN9hT&>iz$_M{${qSiCv;Uo& m;xc-Bf;Buq9u)Rxg-_Q$db0qTv7b-f#Q9{wMZo?2x9 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..9881616adf406e6cea15739acb2275ae41fe9bd7 GIT binary patch literal 1246 zcmXAoe{2(V7{)nchcm;h-33|;4N=-h6D z$7>1%E#U|gPdJk)A)^Fy`51*Gc1s;k>wR{E$YD`|==W2pusxID)uBK^jg1x4RunjK z;30v?B5@u`1-03@u9QJx!30ZAct?aVZ3KV;z=wdRX4GUgT3DRs%nqL7156<5jLN*M z_|j@fDa3PQDJ=dY8!C(JIA@~~`><02kUA{b0Xqlzr&hKGyAA_OQ8urNZz zwNw&iGq@{91@ewq!ILbC!=*&wPIe5|;aaU(ueTbEEN?8&7S7y}b1+-PbiiyttR}64G`Ly9>!L-U zI~MXKrI3=A3Thgba%P%_GJq<8u*@P*j(Z@~?~Ua1=1BN~giMBVI9Ruv^Lly0DS@Yz4o3 zt@+Rw)n%BG~rFBokS{t?~ z_6uFN{KIK2oyw_faTHHiNRdLr^eZC=BXhReCS2^1qJvULc=88vQC%?cjVJbX-~RpR z`>k_sH)-kxy<^p^(|sS;+i=bFw}u{>**)vhaox`5Rh>_*m@#=n_rar!cC?Q&)~WAS zKYsn@^z(Zg|2cc}-;pH`H}q{^cz$N*7iUkRhjv{#rQg}rdGga`z1-UI*S1!#d(>k* zK5*z9_N!*wf(d_WHnA55Z8v_HHvG!K=E#pP%ddXdH2br;Usa)9U!OgUu4-Jj`9#mu zE#LIM{g>tz`r9Y7-+L3q1}C-5+ue1puQ%E(7xrD~(+0`O+7U01p QWk{fHaeM2DMQeKg2gi#b^Z)<= literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_1.png b/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_1.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb4334d57d1a3c38aeb7c22aba67c6feed0761f GIT binary patch literal 1293 zcmXAoe{2(F7{}kyZQWQ&BSnk5K$V7+d4U6ut;6bWaI0l0><9-GDYNJyB@}nrj?s{6 zDr=x&jX7eKf)$E6uwcm=m|C;KiWIG^$T^CXSwmealsH2n1!@@PwS?sR{QBql{_%O9 zeXBYQ)27x>1prKIU*5L5TwBZWLXD)H4V$)A10VsbR;gsB#R9aJ0Q(IfBRIAlEj*%om(?*6da~$h(xqQArI2?(`Q<+SmSi~_v=m2G`Gn*AQ zo67FM+#a3JPX)u4XpBpWo@`DaQK?B+#~PJRlZt0F0S+H@kujes8D=vHcRnMO3ULDh zEGV!OfTyKFRvPoj(?LZsiNHJtixxP^Ll{>BKmlNpN?Ezwi6Fd2Bj|L46qT@A(@y6^ zAOK@A1XrjDB}S=q7L9>LO-`KQb)27cg^b=PEhH_Gj8&yYFoRl0qeez+W=YmfxdWC! zgpG*Kc*ZN{gV|C{P5=cBlvbc}01YqI29$=d#vCJ9(d5Z;LV=INK?+qcTEuQZJtkd{ zA)_2Ex|p<&%Y|Hpn6D&;U@k6KXf>z_*IEhEPSYNS@!RcTk0%xgh>=J(l`0ep5Fjkj z_@sDHPDT+riCVLyJ7*U1_Gp1m6~p<-bP3j>a=BKiG^o@xiZMDJXQbSg@-j!*<4pv^ znYdWY62M}Vag5eV zfr&<4q8Q5OMOgMitN?e^5xkNTRF;T_&FJ`oIaIVqOTOe}Bn#68jRI&@QUfM86Dk{x zJFG_DX%oE8XvizZL-|Y`7PDHT5k>&a00_%0+-19GLR=1iE~oYTo{38)Nwb-@*%*g| z#W9x_^AUK6#A8M*MWK0<8d_A)seyhRMhGYx%g3*sUw8lM5A0aoL4(%YH@1}fXnWhz zHO(I%rahnd7s?($Sl@i`0o{M=vo9ug%=OF8UFuBT-P|YqLr&j+HS_PHZeHA1Xe?o; z1Mb+wPDA&0Nkr2#e9JfTUyJ_Al_lYeX9iwu|GWFz_5PzMzu|7+_{*|Gp0??qzxBqk zd-Cz|tyMSr=gsbAPQU)6bcog9u->dDZKYe5*yJvpW zSuc_^R^E_jTT; z(4o#<1M)3b9hZj}`!}v!_?)b3=DdfCm#@7yuHVsNUh@9BnHS%*yeb%or zcy;&5Wv=57?_3{SwCmf13`w<(CRLxlb0>B7g0f-w#197!iYJu|Oxh#2hn2bBmPVg_ z_ZZWeYZ={*=7e>R(({~uZv17dvWpziJT5*zBAKWfZC+ri literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png b/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..09a7473f745998c91c2c2fed3b2aa3e1ab68ff3a GIT binary patch literal 1139 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 Rgqa`!b?uUxWAoSS`X5D|S#JOU literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a7332ec52d25fa2c1e0489e6ae64db6ff3c1ae GIT binary patch literal 1219 zcmXAoeQXnT7{`Bmy|RKGRH>ul4Js*cLcw!6Nn=j9&TbxZV+U!VlH0gIk%}jrtdWZ6 zsHA9d$EaGRx{8MuxrJ&V)TCn38cR}>(+sTS;%ZW2Q81NMongkGB_!YH?VsoS$LD!o z?OW%b)i$pU05Ge!$JJl2v+MDYp{brjpb7M?-Oybh8yXrK8ylONnwp!NTUuIL zTU!wXF&GRpX3VhIY&INsP!!3sG|ziQQ3!=Xu~;INO6PJDx?Zi-a0eirfT4|Eui5WM z13^bP;*7{PRkJHYydC-a0nupOp?_q+wF?ed4^%~K3`Fit|t;O zo3-L*8)WHFj2yaFYJnQ($jq=mF5 z<@BglNtULvCK8xgVDSMo2<$RKBrNWf-J2x^%@Zk!N>$FmGYn?t32VTOMLf%6=>!B-JpRiTm=ZRLsUJ#ayj+9g+Ze01yF?0Z;+R15ic)tc#&wP=u-i z^&(>j0uG`iNV|c~0LTI;SYQN)3Io%ASO`O10k^>ufTnUGppld&p@t}{ECBG7t zGHO)IsTDm3YbAoFVH!XkKv-uHuG`&_H581O%S1eOM`EEsdA+RP&j*77?g$Z%7>TPC zo~0cV3|8^jAcsQ94&yjXlTf4U$4@LX-n{(-&-brm!DGMtxV_%*?scu+uz2*~(M@}D zD`rwJK=pET$IbN%pB>uX*1zZ2N9g55qW8edu0O@i$x`xPX8fgg@zQ<5g`fUwZ&@Y1 zX}E}!JN*rh>>Q~qoO|Jk>bah-ZGU$jRs4ZP5_C%?MO zFmKk^&&z8s?V4{e&$Gx~8?dvp7V_ZRg#cbzH@wp)%QA8gz`IzGrfaCYGA z*sdQ2I@Y#r_05T`o)f>(J@V_CSHAsca%kVGZHKUnPp#+~H+TJ^U;FT2U!bxvw4mwu zx%uY@w?4jO^R1CfM;9MfX0Ajpt}Ktfy|%O9+O_n#`?n;o+_T_a#ZP|zh2e1bN#AvR z!+d=ElZv71y>Is3>~1~C9vO^2d?Oq=aO>y2TTU1@RzInIcBo^Cz{U4vE>UBx#_4|d zy;t)qZ_J&(T3eqNN5gN7O)gq~q`dpnzpgDcTz)j6e|PfAx!;H1>Fo#%qxy^A^D7F= hc21gpGwxsbfiOAjIzDpjbVHp4=Ozqpuq}NE?DBB1u8kWH$SoYKhE6V8q=g0! zD4{WhozO{%g;jEBl>@3Gsk4KURT!qgkqoKj3=Qj`lffERq>%<*OGv)YuYaEJAD`#> zqP4|5as12U0RR)5-fLV|sS7KiRmdv2jWJyTKn7ZymoKS|RaI5h)zvbYtfr=>wzhWM zxN&m1T%l0Z)zztWIvt7{a2z8^3r*XcPR8r?27}>fG?q*bNK&C#L=6Bl0m4#mv#A^o zt;=KZ`AxwP5s6aqgfk`jvpF6|2IdX0NWn4(VNwSG0RSbJGfE|^(QtY_Z!(=Ch<>|0&9Wom zFia#gs7i;a4TRQ2>CFscWl@?lIYYQtums{HpQ2)tU2D`B%sLZ^SZJe-!5JUn3sd13 z6BF5_6cF=~Y$>6{fQkfaJJ5Q7o|7BHYI9U?OJIy>^=F-YflIo;CDCF}Ztaxec0QJ;koSNXZR7}rECaz!;imrGmm@3DzFkR5AfKe+q8mX5& z-NLaBKETF>fS45WQW6%kMvDc;0F(fP6&AjV-E(QYo=`4l3W zyhcM1Lj@d7SPTOMlDFz0rG=~>hEN#8plGQazj0RmgJ(amaajuq7T)=*z0xO|8W$~} zyZ77WA08N-J>lV#==J;4SJm45>u!ejt6thNqvP=7?Yn~e*MF+G1zOHc8~eHIv+ccI zhX&IxjFtNDY33c+ul%H)M9W>P-p-uf-8S<~DfaH)`%WXNuOG>GPwhCX*paVFW{9&6`A3lEYnF`bkHYOKHSsme$7mjA6~g5$a=1!lX3UZ znQrRHAFZ#f8Kl0PvNK_x@np*8kK7ykZk{*qxZf~$@uuF<|K>df-H##JK6&~Z6|SIZ MNlW9&#cezP2Or2(mH+?% literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_diag_2.png b/resources/g2/track/intamin/gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7db79507d386e624d80d9872fec7c19f3c0f4b81 GIT binary patch literal 1061 zcmX9-Z;0D;7=G{Ha<{wLX=UXWG-@5u1t}UeV&J07je2BU=H;+pkqmO$c|`)3X~A-K zShu28;@M-JS6Dw}v$CR5Pt1opqgPlz^h1=Q^$b#_ZaJLLjd~nd*w2o^^S&?7m-pe} zdEa-B&W88w-oG0F_RKstJ=dRm`$dcn_4{V>(rJJpIC^CMaGwqg3=9qq4h;tO-bUK~S7fsWuRvWI{>2~Q5a4d+zcr@yd z$B9HTl*zLBf><);imlb1Y^!bX6c%B}RUwdy5V}GZHF`bG+xbY{RNY#}bB&!&HH?Ey zL4pHa!b&P;XMN3*zgx$V7eZYb^>l=)K>!gz#xT|AOX0Xqk_OAJi()MnYo=1yibZ7G zIPDK|fsjbBG8tB>NQzc;Rx9x7vXHAtMqRet7{TD7aFCTKL1CgQuV%zdQ7&4l<)o@^ z&hbjE9oxr&UxGjkh$N6Y#uNi#lZ@J&>O`_F&FJV=v@TM9g~1bHDjQ)-3SZGAC#^K| zTDzR?*!dl&jM`P7pCPFT&BQo9AxT+9DI^kRHftA)j%BqPjZUY709S#`V|2;KS8%CL z#aeu(9W}f}rK2~xrq^rkpmECQV*-IN5tOKq!m^qmX5{{|q?ygtN~T+Nx-AZ50n;R3 zN+$F;RY-E>j8rMaYUNbZE_lsqw|fn701*HUKnExT)BxHTpgu$%B{ftwklPeVP-)0< zV1>aI0ZD+=0Ls$H5Rnx}^$cYcns*| zIHw0hgODv!by>X=Eq4=@oqWA#wNSG|`hg*^aL50LWTD+=3i;d6>UBOEmEv(FnN;aenhE7Oy3EtI5Ne2&7YQPn zKq(RxXk>B75&Fl^JTiXc)(@PRo0Z_1tG~X|CykluXXhVUdFgp!-^P6tf89*1@B8+> zcNR7_W{&^-q**xPVXI5CubE39vnO$|2e0E*|5^K4c+E2>bMe)Jlfv3NY&7b|MbjRY|=RVqcbpArNx2a4#LH{`!@!izLFXrYKethct z3e07RgnuDK?^78Dc|78Z&`qN1XrDO09Q zojO%478e&6mz0#qRVo#NXmK1PNdrZh7=~t9*6a0$!(1#jA_$pm7SRGs2MB}2WRh8} zN}FBlbm_c4A{aJDqD-83B~t-hBR1+Jv_bALD&3UY&mg@l9`zdIVOkh+riDN*6Voez zSp#esaFgO7EsnaRiJ&YSSHQFuX3cQY4Pi_L00DqmET*MWheF|2s{=Y+FF_1hED48W z-0z3cr~;9xFu9gc>db0AtuZd+JV|FM*VVqSZ#`8G;eeznLx%JgS~`CMxhFuUgI+A zf)pNMNS>tM$$aR*lb&g`8x>XBi4P5>a0|5zA)BAqIdE00saz03iT|07!`e z%!9z8oq?eM6cU6Q&&#uc`bznAa)7nmJ~=W;=n;Mz*xtI}=uywGb5+xW(K|0Dmd4Nb z#Fc>StRL(z{r1n;L`AuAbmp?Ut(84z1BbTueVnbhq8WeK&IOyBuRPmwmYIFxCehz| z_`SU?*C%reFK$@hF7$6~ys_{K*WGf>()gx7{-Pp@ZccrY{`~3+9hevLK4AIRuT-}W z9)DQ!m+UzJKQ?XmEdPoT3jHreWtX^#JF~jlh#h11H}A6zOGZcFlarOZMWjkCV9|_g^CYM4J?U#;Mz6=#-O9!5 z_6KfxV%-;Z8NO$3-QV0RyI(OVYdvbFW?IUks~*@^qq9ktT%ek}k*qr3Dbq|G zjmoLBy>n_hECUBit*_~83tL)`j5$Br)p)!6ZA*>*+~W7GE5}xJ?kw2x+3=#4+-)6O zSvEJ-yk2yC#gf@Kg17r_zB5XvyMA48?+4k1=UbkZwm&W!>pnAldY-@NZVA7pVehuJ zmvY;e9vgmg9p(y=F5ctNFFyEdNyP+L=9-BYz;&;Q7k BT?zmI literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a8306e4b17530b25b08239951355ddd518971774 GIT binary patch literal 1182 zcmX9-e`phD82;L(y=v`F7H7b0Ugcn?+-BHr+v(1E+OxZrlU~>Bh&0GejxB?f-Q=8! zOUI#cWLww{i8Wxr{BdFmsS8>(%$o#>BW?jRjhMO{i!R#&a~L%n)fM~}5uW$gKkoz2 z^S)nKGYsNIyyQ#JG;8N91cf! zcXv-u4}u`Qy}e78EOFsDPEj6?VY%~p%@0G0uw(C70x z0|6`;_C#Y$A}OY`vX$3LHQW`ZE;qnP@DXZGWXu~!ang!ks zWD*2fU`R+>Me;GUns&BIZrJd^mJAmS2n#p>A^$g)W zn9sW@C(gP&BF4xBuaaJ!QVd2*a*>P>w;+0_-DElynO4wRNR$?HHCSyDPC#P_??HVm7Lcg0UoiB58P}~$ zyj;jM>;i1nXhDEE0Brza+ly$M?g`wHaI#*flZhwLN+r(clL7%H99Ah$g!Uv@D#KBE z!BY{*h8Kr226X}^DVSqnS!f?W{bJv}$3L)VY(xTE{+xfm-ESY>wsm~%p_B2QA6^_- zcJNzx!fmMh^TjcKQ0qHGHBU zKl$a%?E2-qj$b=6`(w|V%B{{o;OM#0@6lH`PPk5=Hg^1c<)4+;#0Kuzz2=?D#1Gxd zUToL#;Ox_z$1P*>rA}iZY!AJ^9u_*H>O^fRO5 z62D``rpvKni$J&Jr{*u>l@oIYjV|I?)!MWA%=5=W^KW1m%)j`}oyCp!_b-Mv|NYyk z7fOfGUH6{JP2Ic`I$J^0UZ=~lLH%eGe^9H3PmqiT#*t_ zS7(JXj-^V?Dl4ObLdvKaFBJ}Gwvsha^dL*<;Lr*+lnC0*qE*2BEFt+mZ~r{sKR(a1 zt)H0H|Hsv}i@CE-Xb|bww%H98A>$Pyt$&uUuRj%gV~i%gZY&Dke;rP+3`7 zRaGUE$*QZXCr+HG(rUFRs>gARBrOa>IUKCp?e_bF(P%7@7?GrWp@8ZEW&(soPEks` zUE_4=JzkSPK!l^T5O<_RZzdbU5t-E_XDuqus^J-3(19Lx<8i+=6=kKQCntr9`Gi>w zXaqPhz>~5tD~o#->9DepQp21c7HIf@hcKZ9fB=A&$ykMgQ>%HME@UztC5WWWmgcxS z!61ys)u>X7sq}=#MC;5fV&zbVH#q{hJ7Vz(WGF?)B%8*l)|<5^60tBwip5zE;R({g z7#kD0gya)*;Y=~Ez<`njDjU$afR2|LgDP`WN5wH#w0bj+P@Ye~qXeR4jB2MD@mft` z1{WNp=w{M>M>gWl$Nfby0<#H)(x^kMsL_VuPLlL8Ou*@kdcE;rP>jVgBP02I9s)HB zbbc8cR^Wn~Od+-m?#WW2oKwj2BZX-0LAnU#h(cjhsmvNJiRc-V$zdTpbZMC@>h&eV zQ7Iu7G8mvOG6$*PXbo>i0xm4#A%%b~8R63LKrWpq6z)I_04o3v0C)f*03-p($^a~h zz@f_lBOxfI2_0Zj;KM-73?u?T5tDgk(`u(g^bZ+fiVCj0AY!Rr)2k7YPTzp%^Cy#$8w}nI7N|mJL7V( zsNQYV`!O_vqj8IVgg|muEu=M&)4>1=V;B@IrQ1A3Kjy7skhN7$fBV%Z9_`qdxpTpd(~e)u z7*vO&BgyfG%h~qi3BGm4sSEYO`v*5n8e7s;_sa&V`>hXuObz_nUOTwH@g3p7vDxQR zm-^Jrj^1_d)fY~^)^Owc%!`NU`G3#qLSB|$X~xAD$G6OAShM|t8GT{*;Ys05wLLXY zHN9E4wfc3JymS6QukQKApJ#oB&NQ5Sd*6}ihPJ^IJx!yubK{fUm1CEhX6#;WuJaw} zNTJmHan-zMN1jX`uVe z(1PDKUXPle*ix8G9lPA0Y`Lvco|@Zfnl*g7-jG<&eBNJuZ)ge?ZEG1E&0p>C7kbXm zW~TNT?(IXjcTN?`?!Pu zZGBkN_whHL(>sJ^JMR4SSC>%r@Fp{-|H`t)y&U)`^ux_o|4WAZSC;(uaPr;e9;5Q# zormO$H+MW|YTcENeRp;a*F~IJ346CDx$fGr+rg7x1UIZY+w%3F*=;4DVCmxKMMvIP G)A2v&K1Oi> literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_2.png b/resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..92e0a364b408233a146eb6ed689f5174147feaa7 GIT binary patch literal 1147 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 iRi;{R;^Qm!)%AS+-w!J`AE`wXpsTaD zP@!3BJg^H@n^=>A4IZqLK?yk{`%*AlIMBf z{?2u_#@P#J0{|M^*R*w2>)dKs>T9ccdHRoe0MvrcwHsDf$C{d&88c?o*4Eb5)yJBpy$s(>YBmS1N=BP*%X$bxx<= z?Z!M_i$7oug_&5KOQyuE8YmQ_G>$l|I>By`9GJ|TBO)>6qf;SAHZEuxe@Tl@meV#P z;BerffXpH>0Z9eWd`w@-8ez!-D;%7bAxxV9U;y9{L_kr=Xq3(7sMR{eFd3ICFG*vO z2u!7ngx*9MEDUDl%r*gcNCYoi#W3wt?7<`(&2kCNg^@;!&17Y9J5M?VTJSUe2p35R z2~|pKLA4YsOr}r@=viQJ0n7``GD1cSwz%1uq6F0uD2UOroQ6XTuIEXk$A$+S))-GG zMOO9k`H)yteC1SVQdM9vjp|7=?jT4PMSEB_!1G~`Cmsl-A`vx_DCBbGav1`n0L&qT zh@o`S$Yya@f%X@j(UK=wmUESOX*xd%bvTNW27?VVvABh|T17kK=c>!R@jx&Wi)(4M zQlJ25M?@BtI81iqVK1fl*<{$2QKWn-T*{{_l`%*G-~d1bKn6eoAOk=V0k8^&hF%dW zQK;n^GY|+6q(H(3GzLHxK*0b51dK8;;f7g1)S}>#@g%U*z`-DH-XMAKplpjp`DD_k zs!FM(!YY^11qiQ>k_}80;}T{;v&v1wL)qy>0p`nQJs>f}W-0Mr14RWJNiy2mj3yy0Sz42K>=%w}n)lXbg!uU8-}KGG7R z2!$q6c1w=IOAZs{FesT}n1Bfis`l#flP~Hf9{s?FUF%q|>hDXv)qZPx+Z!96KlsiU zjf1zJso!@QURk+lyQ}4{spl@p{B&mV_EE#Nvq!Z_*KiSL#k z>9}*R`N^J)I)C3r%($g+xV7)bkyGd9b+rzxXsBDzvB_3?_MgFH^EumzrJt%n&Ro? zgQ@Q``!+Yjv+rH%Kl9(8+@~GKmt2=V*oZZ~`Z?{on4D-?eRJrUC{{Z*JcEKee46)Bpeg literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png b/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png new file mode 100644 index 0000000000000000000000000000000000000000..181ba9e6d09afe834788c0bb64e25bac9d209e65 GIT binary patch literal 1324 zcmXAoeQXnT7{`Bm?OuQqi|L?hfd(77VUZggQuNRRD-?Ev+pMOrBdJoQlLHS|pnp`X zP*~9eiZ-M|hYf3DVTD0gp}H~(%&p=9W9!^8Iw-8@lqwYlnfkMYMPQBhHGaj{gPP@t%aAaIJ(8Vq`tWo$N^%jF3KLeXfqAfz)HR0VJ~Aho4>y~Jda zn=LB4L+x^tz5pGLurc0|NO}oGq*IqNTB%hh=L|{@i=MC%5tl9&V1y2PO7M=PqZ%2Y z5n#pvM~QrlDB=*ueUeN}22(1Sq2VY8VN?MC2>>k;F=DY*CgYS!uUdVABs+}8xYauB z@xVw#hDsE;R7J|wv{J($IxA}6)U2DZ`L)h4<&DuH!6?UMDvd%-AzA~bX9&hl+C8)< z#DsWjRB-YsUt%O8#({(aQX`OCfRYno9;qgv)JJfJ*EtfbH_b)i2@;VQFqv6{ICN^C zfe5n{Z!^SQY|?K_M_ePkA10$>38qAJC}zY7GetQJ2DjN9a5y3!4<8C8y1UcqGz2mR zC|x4dCnmx&Dux&nggvSErp)0q*PRKZM&l!}6cLLtsZ=9ZP>9N)RV?bD=p_th}(ku?Nr!p?C@LT5qByc&18ll4uB2-761+aKL8y7Bt-yb zMH0}$LcbRZaZ(8w6gY7Z(g1-3kOGjALI(=HBn+8g%nk)Fcnlr`S_0@uk;x#nnh__b z@p%p5u#M;asT2>hUNR#j|m|Ub$iS@YL zM4=X=mb03?PHWijL<{MR@F@+DV+k+a%fdTHwr^I5 zmki7s+|JMcwX8QW>!5Q{Wg8akIQR37vsbv>wFURC?%dS*@9f61EBk`p1Iy|s+_~9R zaj3t!@CR<--g<0R&lI)r^sQ;P*5v5k*y5|GmGm@xYcW3vHcF;y-x;kC>Z@k`HX9jS z*`;}PcgyK_73Zt3)%7mVIVNoX{lN>C;AZ!R_Oe#j#wkt5$CO{5bMD~HiP1BSRqacE zd@+|=^Usj_%LaR$cK_6xrAVQ7w`=0DeeQ{vWEHY@oi9D87*cJW{?bhS-qog-X2W-N zmJLI<%ZqvruDeoN(=M-~CeQ1|?sFlXtnn4;Hj_1)fsu^7UtCm+#tgKYcttCBJf|>HU`zt&ixwqj^6a?cI1uezv}D u*>lnQ+70+8nyvf$(7tg^e?N2KQK9$z#T(X#V+XRx!Qw@g3!7hG{ptUNq+iJZ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png b/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2678ab011280ec8e15622cef386bed3c911584ee GIT binary patch literal 1102 zcmX9-e~1)y6n}a@=JeF<+H9>UHg1j4hTMy(Mp-CxEFCGKvgWa!A?F%a$!)zPzumufM;4 zU|?Wya1g_=p`oD_D^^5eu^2_gS(Xt+UQr}XQ%%z>6iStfTdOSuL8sfL;=m+8;D;qC zoK8nGdOVv;6pBK*B70S>?&q2Fv;TRK%3(Mb>oqyeHaq*$q-r8jo|agh=uVEvc-U6|yC{AMc+ZKS}05tWRjv&44Va2=oM4*j?t(V+l^YcdlNALNdOJN0&oE40a_TK9t0NY8ggtDGz0=v z3i1rN90UR&5s(@|ISSbVa?_}uMS%_Xf~SFJAt_*KC1PaAyv3Dm#q&(xciL?q^|bI5 zQ2H=qMFcx4yM!7ftd8V#Gu~pMe#dR1Mu!Lk9mTkKNMfRCkG~=Cp$v z>NaVfM=qcM5b9--?aAE-ZtBHWi!K)KL#x+WNfOg(Mb}j-Zqo4rLpdx}<>Lzi*-plg z97P6!iWG7gXD_L<1b8ZICJpK@EUV$6{{m}_2Dgi z_w5g#O&wi&_{fQEKYks4Ws7s^+pTZiX8&VP{`vmcSJ&RTeCq>!Z!oaqiKRp5)^Gac z%l@(J`}dINe;6U&JpJy;-PyGbD{qCj_&*AncuM2acQNwM@pX>o!GojyKwsF z!|U*kOWW55|4i=Zczet|Ry!b{edP4C^hL{~y+KZU?B@2r`yZM^(nzn;9Iy6s%GtY#qc~ai;`Uv0{*dRRb36G;04S8f8L}4yqjTGh^_*_xS#K-v{4& zZ=BdjFYLQx9{?<@Kel=@oJYbsFgq3YmyZ9n05An7j&H7obYfy+a&mHNYAON3|Cf#C_2Y-nkbfJxvFW6QmIv|d5+WXc89|u0$c&2f>HG-*TlsRnd@`K zLDmYi=Fsep8o^#~jONK`l#a*KiKIxTWQI|Bp(usR3XM{^U2piVH|nz>@t7(`btz%y z$!dYMi(<2yYukFSRSkOXXmlO102u%kzyz=X+5iI#PzZrT1r^yA@_PaS3I$~roHY0X zAQ6xfM6hpaNz>Pw6FrcfITTnY4E}IqedAU$fsFXpcDlBDlREtk_1v1Dak(59>fvOa8 zSmg2H@zeLr|9$fZUOc%W!m;14oe9Z>_0>lWR%EO+m_?c959>(CPc5qbXdrR|5m!hinrxw)mQUu)OSF6=Cw zeZ28)@cuz&=hBuVdUmml4F^?!RXvkw3O literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_2.png b/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..20c85096cc660152f94282c9848c6a840d49eacd GIT binary patch literal 1245 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 T0@%`60S4MOwYLm6zj)+-9g-?f literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_1.png b/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a354f090dd3be1f5977b0672a27fdda2c1d85d3 GIT binary patch literal 1317 zcmXAoe{2(F7{}jkWw$YAVMQu5P_RIQ$1Hd*MT*|w2FEP!#tv6TfzupNu)rw=Dpstn zKv{}hVj(qlTIQ*Z)=|RTPAFM{Dn$x3GDZy-(}V#<7pY5?8pnJsA^ASP{&~KCe4eMh zsgbN2J7p{YpsHbceRHwa6+=~CTFi$Qoe}^j1x+hfEiH~RnXIIwq_nhDE|-rPGp4Mp z3_+0c^74v`3YAu?#V|cV;52PwS&QAyx!rERKNyLK@p!)^x=DwkQqv$~)i>vj_{zd0GS3ONBRqt0EdUe%41#b9g-fmGbvnUl?53!M)tYv>hJryD zi>WcC7FX#hjgirj9BOu9EN`?22zS`zi_$`p5hbg}pw^RGBaNC^gM}kF59J9mL6H+v zuDIk&WkZ=lOo0O>4OCX3aRMEW7=kJ?qO-(sE@k#+>_U!@!)^*yvIez-M7?HXh$W(S zI^|~5e*0k9os0PksW2RjE0hKuYQ_v!oN&;zmt_MEN5t!m1%oM3%=Gu?aybap9MJg@ zETkZ!YC4HpGlXZ*B4i!W9N(XhWJl5kScxhW29=7`XlYc>8jW@nNv^B=Pcp8BU*BNna8)_yA0u!JxBMB-BK-m{av^3YKovDRfRGpB~-+d++2Ow+>$0*f(^(EwR2sSWJ9&sqxCk z9~GM1Ez0Wka-sdHX>z0DJ$c}p2gruNnpb-cU-EV;zC?#sFTHKPvSwb#u>a`Ib4@G3 zVR_lLwQtV3R{ccw=JZ*8L+>O;=iX=s8-HB*Fui&qDjRri@{zL}Iv)Y8#k*0jC(f3v1ddKGvUM9me%MR|DQn77aEo|M)Z|e!He&$*ExI+!} z{Hy%XiDf&x_U*44=sH$*=Gf0{o%M3-{YuCE(lY4=DW2(^b literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png b/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d1bcf9ed2567de6fd395c32fcef682cd2a13fa32 GIT binary patch literal 1141 zcmX9-e{2(V6o0H^w=qar8mY0yGimU|L#tlK5pUrJx8+!l?2sc?s94~JjWlw>6H6>u zpIW+B1h7g#x!PNl?xfJ$`LDeteE{#v}y$mUrS6r@7F)?lYBn! zy}f>vU$o%91pu&UWbM#~cI|5i(d}sGpN~p=0UWS?-NxbeIB(v(j*bq8!_nEdwP1@Uayy;d>qG0k|4_gRaN5gcsiZU=gm@S%C;NLCglT`0a54;1YF@T z9*O!ANhX~UbNOJQsFtl{wWf0<=4W~p!5#DCnoML>Y9h`R)BbW^u_qICTW>W=ya$3L zL|D)yET>?_q_dK9HOn4U_n~GG-PRB)c>zR#AciSUXUyZ#2tsF=2~nI3g(|VwTsDh} zMGxijvTmPb8-cb zR3<}JE>R2U^+=(iO*QlN+m#mTC7n*%?dEZ>MEYcgQ3Wv(Y%h!Elc~vE-Y!|qDhojY zQzd6Ch-+ao6J?ErRLF!Tjaa3asaHzP<{V-H`~WI|24Db80@N@-ZHOF-s>slhT@eXT zC`hqj@?eXABtVKAB`Ktf$PA-$0@*s;HJ%261HXucWp^w>rZhgM%Y{PRvW$A<xTj z2&iZ;tGPuT51NExGg>2HG$Vypx_sNLqDq5s0gYq4&lzCxutY^ef))$wsaU~CStX-x zmr%1x3j#6$*?>^ni$t65e|X~2Osz&|(*Hv(m$^Vd3Ww!rRH1xv+LvZ2gQJRqZ%QQV zelH5*C`O-Nk; z?{1!vPv2bl{qilshky1>+s%RLCmvjHKD%mL{M?NVS^kV;Y|l>o;uy8}^o6;7dmF=< zU(arT{+{2KzuEr)cX9cPhxXmMcjoDdvs+%bzIe%Z_~yh>dq7;-)(%F7M~6ONv-RMA D8AkfO literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_3.png b/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_3.png new file mode 100644 index 0000000000000000000000000000000000000000..54c44202240b58f47533abed1db1112e769e8d33 GIT binary patch literal 1307 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 Rcyu!?pIBM??u9d#{s+O&zI6Zq literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b8afbff82e5a72c61542ec502d5e605caa6c28a7 GIT binary patch literal 1272 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..80efdf7472742745bdcb9f0b2a9bf31d51aac7d5 GIT binary patch literal 1302 zcmXAoe{2(F7{}kP+itAR5=yMB%;HK`SVPLZ#6!Drup5-6xSP8{CDk0Gjv^J$&`G1k zR4G`t4i8h3q9qimqk}T4Td+bMl@zQ{wnGamc+rAYIy0eQCo>LxEg|_nzy5i?e|(;& zyR}7IQC?XN0H|nQ)zns~vkHNi2@Cnh>P>q95Q5g#?JEkSKp-e8DiR8X#l^)XB_*Y$ zr3iwQm6gqyF+-|QC{R>Q5I9BYj7EdS!Z;ibkH;4Zg=4WK&*$=aR1I(qAax>xL1H$` ztv0pOrSW*lK!}b+EeXz*&iDxxqSuHRoz$+Evqq)Qf(|)|s7Id&F?`&a<^5B+m{ta8 z6|mxfrH}xFL|x)kK$1_$U{($DG@NE3j41#h0iY3t5sU3I8LL$KHJTxkjGIg;yM4mv zgVCrAl_+qjnv`p3rIu0Y?WmE}SiFQIsB=dse}WG4COIZkYZV$wr88m%hG3ke(?|Ql zOqjFBcsG{~q^F`{97rf2H37K|C|LyaNwp!RA&N7c-j%lab8HL_kt&H1lUcPYmtGSv z5)li9)ib!jsSWRF&m|JtIEx4 z1Ab#9;^4SoHp{_+m&^oEn+Rv6q+d>ll?<<8bB18v8kzDWro(BN$|)rPlOtNS*nrE; z6lyc+Si9Npwnu_)E*8x4F_=$dIvorH$O8xqESv?qN0K>g-b@DbdLGG=NDu}CWi}ga zHU?EYFtrCqg9IAYsgtBCt5-l;4(&?lMPV3+oUU;E*do!rhd5kuBtcYH19Ueb0Fuqj3+kOqd{2$Us z?jw3e)(%Y9cktBl=Uf-fhd!TfxSjpIz4Iq`^Yi5|kJh|VRV)8`SaKqJ>Vqr7hSA1- zvu?C^_7B!RwXUX(*wK2SZ?gW``*j`qk!!2ABxky}3=QV1-WGR_-K-QGnbkjXc3JYJ z-o^v6aancs#-k?N-hU-k^=tSw?cYBW9J+sa>)DEd$+oWcPj2t}^8LNy?VTs*DhEqH z7R3=cMty~dhKzqW`DQ*v!@Tu8PDul zyk*(`p2V>ix=X>O$$_m`&fYvI>lj{Gb!TPW*xIe5+@+h+BeyD#r3TlRT^L)Q7!)j` zMQ0A4)IYXqj$`%dzk2E#=!KoRDf-;T`F}jwF*Q10H0(Nk!tgGwmM`6HxHFNyzWr~( Y<%+K2qZ{1k3vfa6ik7Amjq7*(4_UcJd;kCd literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_1_1.png b/resources/g2/track/intamin/half_loop_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..eefe6c1667de5ca24a5b2724dc3339f140b5c684 GIT binary patch literal 1240 zcmXAoeQXnT7{`BGx7}XE8j6%q^w0(i9;AcQ9Hzj5H|)mE-PjEaR&v{ptY9MtsnS6c z3lwRfkejL6#S&{M(m)-JA?#ublvu_H4IZvQ$1Yhh4OW6nsU6M;`m==O`@H@0eE;}7 z&!P4<^Njkr^#FhwEzM0G<+`XGSgop@M|Z840Z@VV*3Px%v7(})va(X8QdLz|RaaNn z)YKpdQd?VFS68Ri>-9Kpq$rYQX`Z(_9D>K=2?Rp1n3PPW6{S!r;YL8307Exets1)> zb-IjRpD7SzA~7zWaHM2kHW#Ka#A0d?Xsz3Vio7A@z|VT9M8J}Y3Cf5!uY{)yNwW@c z7;ut6WRZw~Bz)>jL{m!XVBQEz9DFQ7nA8Kn0Kg%LpjNweI?-SVn@ndJX2fR8xZMvz zA(%+$aE+eS8X45Y8O#D^apSybas(+)l=jEjaEg-@8%pSmX1$5UXr8bNl;CB&Auc2d zlI%_@emNh>PAAkP(6B&j1E>oaM1%-w%`t;DK?<_Pmvw{-ViKNZFbz-WoMy~tF-3SP z?qFpPp9wf}QBNTen3kh3msD#A17^Vq8%a4?*2nWfr!(gBB|;%tlCtS^p-_N8CjdhL z!6Rxau47Y}ElYWG)^Oe#FNo<a5Umz)ou10V~apoKmhh8ZZ?Vaf}YFn9`{05k0EyF z=*=}lp83yJ-}uA*(a_8ti&i%ud$M9Hybn6flf~Ir>4m@COJ-v3t|Q{FXXLK>Ti*;` z?R>fUl6FHW|IU>;w_4A&EFo^(eD~CUZ+)=fE;e*=u&=oEyM}?k7GG~87w%lweXG*D z@BDVD_t^8dmq%0`#YZ3J`kFQ+i^t!{&h5`HC~o|`c75f0N4qQTc;>Yn>^pJc&slp` z+^%ZreNx{Z@lN5VzaBsI+O7emXZZ4jR$4o&@xbmc_O83b{65>Z#k&3aoM!agxUcSX zYVcHQT<+U3U|3a&4&OauzBIY1ZA z<4T36)iw6YXz~0YwON?#Kit><($JgpLQ@*%!ror}@ryn8Uc9{c)!}2Y)1Q8JbI-)z zqtegI(4FHG1It#}xTS$c@4_E@uC;P`pJuP%XmP`+P0=M IZ+GqgAC-J7MgRZ+ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_1_2.png b/resources/g2/track/intamin/half_loop_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..98b41155fc22d9019734f46cfaa49625787a1863 GIT binary patch literal 1386 zcmXAoe{hR;9LK+Hkp39CHMW=sF;OWG3wxXgIi9AEib^jJeYCL!4;~hk)Z-SDo{Wra z!h#%eOSgyKz%Uow^spHD|0rSW)v`oV(ZO^SRGIpZ6c{_h;t< zt$J|D@Dc#P;F@`J>hcrK7f~e0ckSgLZ2$+ps=t|AP@`~Fks-ofrADO z5(6o60yN>i%Wi;YI9 z#j0>Pl^!n@2r}V_ITm-O(tZ*Z>XfCNMq<-RU98+^#@g&;#G{J^xnzeUll1pxqiO^& zD6kN~MGFI*Fya&?0^(c@ff)tNF|gkSVN?bH1pp%yaw3rpL0odVU#V=Ps1Ac6VYA)y z`Cuf1U}6~|QBYDPBUf{%&W5orrP)i`d5t?v`(sQfX^`TGLM>C$sD{P$9LYH-hmY}v zxKP{{O}gWmK&meyB7m3%5(AK0f!rm;eG+w0u8$C0T<1)g{aIHOwo#~<#Sx1db?TG> zmJFNexSdUS%xT`9jd=RvJWNMLVqA{uFx)_p7Mgaltk+@*I-L=pFCGe|IydXZ*{fRzUii$+IM530;XjH)}m1Yg)VDiVTL8rST z5KKnnxfB5yjnGVsY>d=pM7>smchF(4p@X+2BHm0Qn#(A@@Z*z8AHMp54Ru-?RQ7az1VG`i znmMXP^LFlTxUnxixhMv0Nv-KyrgiYsW!f=K7E8|%hvz(9|5n-MS$n=)TSL68KiV?; z^M>V3v#x0M6}Hh^Hw6SsPToIc;W|fj)zigK{%dV`Gk)fWEfWPzlaTwH*You+O=I^X zC*)&~EdKSNBYgdaziotb^oAj$$}I&84jh=baUAktPPgQ<-rDIhX4KJjYxwu49O^q; z$6h?vEhuJ!jk|*7T{|on&Wvf_yMENjY3CeFcV)wh3)`FJt>cGopRsjhYOOLl=Jx3= z_Zx4^MbR4cMDeAO(G#8e7~*Ct%9L}vkFTzMvH8gko#pI8w(eAKW6E&-;F?E`%G#g) z9C&l5=ZlKkZ}!h=s#x5*_W^%({+Z?rllAp&RclTjI{)wNK^wns@A+WWysN)kP5S3W z;;C=H^Pu+D&=S1=&eTfP%&8aG?z+}un&_>b(DH73^w$1{BP*oOj{mW5sju}ZjyAtB zWBREkY|7T%&(3>HeB}-#+H$G<#I~Ma(2v)TR3*!9jibLVXeL!v$vdi!S?#7ORj=yB zUoFSZ@^>L3c-(WhXTm=}zqhDjde%Mj&?oCIA8z)Mrmw12h0ozLwL1=A_Aw1dmVatq z+TFAAh-Z(gpmgQx^6|^(pDCWUDSK_>YOi(Z^WlBNoi E54>$@!~g&Q literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_1_3.png b/resources/g2/track/intamin/half_loop_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..05bef03068a4cf7c8b2251b8b56fbba31dc2cb7f GIT binary patch literal 1496 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_2_1.png b/resources/g2/track/intamin/half_loop_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ef4d3247468e019b9a9c73a9221713ae755f0cdf GIT binary patch literal 1159 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_2_4.png b/resources/g2/track/intamin/half_loop_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..c87edbef1056b1022e9be88aa4cb9e0b8376102c GIT binary patch literal 1216 zcmXAoe{2(F7{_0>vD@gD1{y4}Uu98yDrX#6ut*J!mN2lv3JaO;wS?sR{QBql{_%O9 z-5a``tuyYO0RU)SyQZV3Ru|M_aZ`OQzsgez0QF$Qy57#(IBnXry1Kgh`uc{3hUwF% zH#RmR2-4Kl)ZE-`bvPUZfin!vaV|mNB}ohhgPImiB$AoTSfNmF&t#lnmd;e3)xV)pifjXP8;xG zz)u5}Lt-M5R?PXBrJA$BG7hUAIH^LIaR9&q;6V`4Y?f^{6-9N58fMw7*PEB+@n{sL z(>B85pshG-r#z@r#N09=sFW08f^k!E9Kn_6B3KatCEKK@fE(8lYxC5R9E(W++#3xu~KNeP``LkEBD+kZ2A=Xw|Yu^vCO?FnPS^rW+|za@{`sc4j_p@Q_kGm2pI>Gk z{GtBxR`aRW!9BbGo%(uY+1pp|>%6^v53WCOa<;Yq)adxlQs~0S^S;-Vf36<)zRwTr zy!i8fdG>6}P)-St*pq~9;{mk$=(X@C?|y92`(EIFT;9H}dj87M+u29Bh3lwxqVr-~ g=V@c6|EpbKw&_Ik5IeQ7h5@YY?CLnSdh?tA1C|ODI{*Lx literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_3_1.png b/resources/g2/track/intamin/half_loop_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fd0df9ecbe2e844f8f3255aaebe7809829d76ea4 GIT binary patch literal 1143 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_3_4.png b/resources/g2/track/intamin/half_loop_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..3308e4c5458db097ce2ffa949f19986f8deb882f GIT binary patch literal 1203 zcmX9-e{2(V6#s7Bb{iWhShR5`DWtLkPpNo;BRS-h8BZg)|Z@5Ev- zn?(tOnKoKj6UAdz5qHXjpiokj@h9z}3>Po(Y0YgSQH#|~akyO|T_Pg}*g%YrrNy)= z=d_SoNtEhYJq-*TFuH-s2QUR8V@7KVb7g5!bp}gPysG5jIExzu67^c~pp!}nOh)2V zzfg=w<)puwjnvg7Ea&tF62qMY>82Sk#{~r;>h-3A!E7w1rqiW~iE6b90V)D4f)EKk zlR>!x?k+KbvMXNkW~$0WEmfH+)?p{E*ONx0)nw*yi$GD5oel7fX1-J~lux9zoLVc< zfVU$Or}X<8ex!taTcaMun>S+96T1D1a<~ES;Qk4WiK95tckdg$@o<@ zS*fV7!G*d3;p?OoBO5pIX-w28rRqx7yqS8WFqJOBVihw0(u7zodKYc-aD>loS7c8- zBxjN#HJ7YtIan)^b~{W1r~wEYS_B$&Pk{P;(Q=uLMxH<_6d0F_^LPZGPb4gU(h{MG zBtvBFmI)TGIL(kZK^cQl0;XxG+8f7DzSQ~m;~)57wSxn%OGh(OLeTYo=`E)(g6g3&whvU;FX1ZfW+ekGrlv7@R@(%)qa0KbSv1 zJTNrBi!J=)SQfDz4hK)J3+(L;-tb(p%{%7!edWUD?E}v$n+#uGwB3ATZ0N=3p8mvp zXvg|bZHu>h4i|N{KXlvFqCI;l-rk`M!lq52`!; z{XO;YYVn!AxyzOC>HN@pi|#KubMf9gZ}0!&sYT=eE}65XzW0w)ADw#;N`xN%)xWu8 zrqFc0(h|PBZ^qhhMo;g))M48*@+vdytN-?Xx9!AlgN3=9Co-Q=7DXcqxblV!9D*2%Z3r- literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_4_1.png b/resources/g2/track/intamin/half_loop_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ebcae8eda3d22523d3ba104273cbcc7c1e80e0bb GIT binary patch literal 1239 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 QF3vzzwV?8=mzHk*7u}x3#Q*>R literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/half_loop_4_4.png b/resources/g2/track/intamin/half_loop_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f542853b3134533ede16947b1ae2f4eacbac3e23 GIT binary patch literal 1159 zcmX9-e~i;~6o1F=u6G>Rz>pbcEXmLz6^B-6puwU&GLDk#LBRzVDbmDAX6Wf4OB`nd zgG_Ho(H-oMsk@}&sPkMwzjq@Q>NH#w)Xb+j*gDb z&Q1)&y1Kf$ySp7Omy4o29LI_xFU$T=NQp+H$z(d4%@vDf%W5>6lm}P_1ir`bw+Dkn zIO2)LnPf`HWTku|R5Ih$n$D4!kLgi(hw39V*_{qi$D>>!=__RwYa&*+^vOoi>ja5} zFbkT9WfZIs$153ov*bi|4{A#2zJ^fI1t0)O7^dL3>U3&ux6Uxf1z{o(sHp1gbQ%>3 zPRj0L9Ug&TB)3-~eJUkuOen=g4L*?<^^%mc0tD^!cwLN0@-ppLI3*^;(o#C7|_ zCCqxJI$6M3u#4ab01*MVhS6z?PwqCL?qCkZ4Bb zN-|V4qK!gw(lk)5h}&s5>7(cX%Y{WTF3YKKI2(@_(rGi7tCq`+MgxIU0e2FkGB}ra ziX}2o*!f9umiChr>&_MA9QOOo$g^QfpZx8&6DRvR2V-R#}jE zEF|KpL})=W6=98-m`?>J47E~7)hoqj^EP4ud;lQ;4Zr}H0H|SrS`auC2_ZvARz+}w zLP3IsoEIzskO)X|pg4te0p)_I6hoE{4~?gR=fEdmLD`{($%N+3=yES}&pbSz_)32;yS;pKk$29Ad(M6K%rUAXqORC*<=*BU zZ(KD7XNdUcCok>YHmm#M`Rn_)mTVt9|Jz`C+0gQ7;}K}ztZln(!RwAb=K@;n7;oRQF@9#@_rDC>8a^W} z+5h|b107?d1FMhS*z?2Pb>y6-Ltnl&vZ(Eg=y`nE+k5_f{NljkThnJ<`*q(tL~ZHd zytUtqbx~KI`){*t_nYORYjl75!nu?09jMQ1V7=R49==dLb>hhzqyIb>-SXhx&qKE1 YO@~(P{Bg->OHJro+24EY)y=#A2M<~MIsgCw literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_1_1.png b/resources/g2/track/intamin/large_corkscrew_left_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7e49d8e864c7e3f4f58cf518c2020438c65baad2 GIT binary patch literal 1318 zcmXAoeQXnT7{`Bmy>%5XQbr9eJ7OV+bgY95sj;{dZnMmi-P{d|6s%ZTaaAr_w1Y!x zETobmr*^EmA~jU4NeNY9t9m32R$Qcx3v8iaqa`b@;uxJPSYW`<5|Z!p_RsVEp5rl@KNQN<3EGE01b-7$VUmy~R#^b}OR4$(OxTr+`3hnfX5y$!i>r-<)=E+ihVfV|eupFC@x%fFF&a$|59e|@2ox;9 zeFzakDM7&`)YdfR&X|H(hmhlk^O5XyvH+!O6xGV*dQ8QrH5Q%DZlK-f;xaDc@eYO} zskoR=lfZ01>|5&YJ{urnF+XOr=KejJhj7y+;YzylBlU=V-|0$@=z z1vxtm2Vp8niP;!} zvl@7(E$DR$VXqhuXH#*QPiqYZ7zHo|AS|+Q7wsNO;o|(6jMndaD0?D7nM{n$X5l!N z(73c3A4!BMB4*GG)9S2I1Z#odkO>PJz>rC0Wxc=p)NA;Q@23kbF28`xWGSKL));o{I2$%@OuR|Q4)Slu`7F_LAX;P{$~4m;w{<9uRoibEm?nh z&E=Wbb_~o)W_t9~C-*=7dg*Pt{#Du1#;? zRVuGb|4_*HPR>p}Cn%c_anCS|t! dJ4P*2NLA(9v3pe3?vwGHgkb?uk@L&H^eP zFi3z6M?5+tXr;$IjC6zrlYE#~!B;j2LmU7w08|K~qti_+mW|7Gi^csI7S?EDCetIA z3kHKMA%i1f@-enp#g*%L3X@Q66YHHavlq1oaCb!ICpByli!bMhaUQA`DRnZP1+%zR zF2BxCm_nqTNP6NELAnGmaKO|6wh?e`h{(m1`?$)WL`NvBalJcb3&DPj$54w{2072F z5PQ_JfF38z>X<{H@S0OW#{}Vpi4dJ3;_?(ikwzjj;J8(-b{Y&mt2O9y5q^I>8cn5A z5U_NB>p+Aax-7uLBRox9W=SaBNkbrIi>7_aSFs6Lz@yVeOs1U8!FhbOSgc1eiz;)> z=(F0x9v>MZ(s2n;p@<%*n^bI@mgh7|ycRs*)P%jJSkRe_h0^IqPy&Dg06hRU0K5Q% z0Z1SKX24|7sE1xRBx4vC=!C#70e(3kF#vG@bxdd#LN^BeS{SiF(hXi4F9N6xC@@5; zW||BeBC_jqvk_rw~v7w0zokHlBKmyH#U-VwVlh;46y}1zw z%kSTA1%Se+uaT}=(Rq0_+D8iBicY1T&u@PIQTeX#7nF4Ew5}dFUQ4#kwdb_Vp#FOG z-5X`tK@*cK3L`aN9=o=9plsQ~1KYONPEIZNQxk>K&EF;ykTFm+K>e|=eD=16;ftK% z6E(MrrT^?5>K>VS^v)Ocy~Q0L!UVfoL;+x*W#p|vNRc!5 z`>ZX84^s!bHco#(gr-Uw1~yY3E=gt4rbSP-5Y*Pk)fMBtc52&&jm3m!=|SzM&XJDc zKbPJYd`>IgckMW_Onc9}sG!qEy(@T|T+?XWdZ==qc*Z-%z9&BnHIzxU|Bh}d7d&3m zS+cNcfoOI~Y+TauQb5f$WT z@Aan|PM>+UFzeRIxexbO{T`_Pt7B()^72~GCq=1}{>YimD^=Hzb=O^L+wuo)omR7P z)_5|#Kh}O?4$unLFFMM9($g-@B1-qq`gu<8yyg*W&tjIQ-EzMCe8q#NUtYeLOwca1 zL{1$^nrR*Xz3ihM7#!q`Qg+35SFN3jTozxXP3E4f+A*zcLv(2-E1@&`?!ur(TUrP4mF3NhdnEGgp*3Z6l|R;=Ll{v4KmlMv5LP1LQGeK_7nQA1{Pg5xH< zUKkF`F{zS}sVN0+LUpXlz+nuJTLrBnK)OS;FKQB#W`#zs)+upXMKT&At7V;((`)jI ztQg}WNp~#cPfdj-1d!4|W(Ep7KzT&tmFa@0F-)*AgDYkAW%&r~qf}BxBe&^PE(7jo zv>_`Ub1(^yH63td!=9;F0Hz}nsRmUUFpZhe+GyIvFoMk%bh*M_Z%hr5Mc8CxjJ$8*8VbYcots3a1NOr}#PX_cD6aVtqVP5EW^pvyhv z4<;kAT#5iD60y<}&ZOWiD#1QbROeO~NUUD=gtrqkIaJh_XqX&l&?cTWHD?ofcCtkwv9Iqd;_OiIGrP zXv}UVdCuZB<-slWGn=`j>kC9baTnciRh(ZH_x*>m@n zv|oCB|L{I^(Z5}TXDjs^yG!Jk@KaUSZruKFTV!MB$}2a|)5UnN*cB{~dB;Z*{SUVE zI*rR(8o#c-R?*$})#M=?InQm^Yeu?0{^8cGM{_Rfa|U>1=G2MYT&CM$*ugD0+0nk| z7w>DEo9DjJ@JF3_$)ektD+AG{cb^rI*6aS$i|5>V)N*h`_raQ(&a;g_rYCBf2gmjW zXMcP5w-5iy+-QC4!s?)G^XKy>SM7N3bieTCq6Mn$13mlKbT1I<+kzJ-wm6pejJ550 zc&>NYg)E(17MHfq?R@9L@ug$6Z@0GvKN#uVz4pM(ru|b7Yg&#BPcJO#nkDUQsIEWr zI{D|MVrR$Q0(|FpbpQPeL^-}`24 zon`gt<5BjN#&F%}U}0a?mxGo)HI`>uwu;fc=gT|(=FwsLXKs2|q3iN3>)t$3&`_tZ K{eJEHhyMqyuSA0Y literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_1_4.png b/resources/g2/track/intamin/large_corkscrew_left_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..fb8ad147839a6d0b338e353f3f477d3bb46a6023 GIT binary patch literal 1345 zcmX9;acmQH6#i}9b{!4&k4Msk`!EA8AX<*#Nz54qskI0)=}AnpCu&Ud*6Hiyzh_i zz1O*}K|6Pjd=3C$Zhc*CW1bi1;}x+epC1GZj{zV8>)vWwlWz+O3JMDgMIupAQBiSm zaY;!Df*@kCxU{rXrc^2kLZ#7A45Q;XJ^PQUOJs80I6%0h%5(8WVyr z<@Lfy1SQIpluSh{NCT!d>8Ch}Rnrg;FCUnM?)( z)C@2;LinYcFv`SmV@hM6(EHMsaK<^34W?%kIVi!UQngH`RVW!;#gQbhqwR+LFl*4^ z8uSN~(RemR0fP?V8L41UI8C_6N(Jmp*kc?F2#JU%orq?$Q;-6H1%L;@2|xgVK>#KY z0P~$OL0{nDl`s#;bu&16Ud{aWcVz zyPR6Tj|+!w@pvGej>EhbY6OH;LOEr$PhkjQ<|OIN=mS|xIOmSdhEgz*!ODPIfoN4y zJ*6-)gw?2X3MQXR2nSs8Xds=8!fZ;d)4>pcNdRHq3wvJfDNvi$Gclp|xSxWL#WZ?7 zV={48tC>*Q)G9Yc1T;iMry8O0G^>OL1r#voAz+Atab14-)h|o#Ke>U9#s&tgx^wgW ze4VMUt!b+3{JgpSjIvT3dlbCTvuF5L--3d!!}E^5v4!1zV%U43i{nIF#IScq?|6Xk z+r78IraEzYCpWA(Ui;VGaiY9aeD;&&7(b+EC)>!jUALRArPgz2u$|x!+vReeo}Brz z`NY-n182ntkB`5$4;j*4y(&J<52Jf+FVfwOqN)w$vB{dwO4-&+lC`(iKAT;CWd&n; zZ){&faA8mNLSO5y;^%JcYdKYNA!KTew(PL{M@3^&Hvu{$tSr^Om`0*IQ{DK!;en>h>iaIi}IYhzrW$D zWz6&s->!L~`kR%T9;E+U_4Q24XY%#;iFW(YJKGK{Mp_Cxsy97ky322euQz^B7i+HQ z-@0P+GpBmw3ompqt(P16t4BAs%KD32XM1}V%iHdc{LXn#eX+mtpXu>Yn{G*!aIo>y zuI~~R%F*qme2oR|?^{Y#;EQ6i2l%5y8<(0sem&AKvsQkjvHftaPyT05ab3EorLm=Z zrTfxuNiVkGV&B^p==2V3=GThl$HtQP#s-dxgI?>w@4K!w3->-0DptR_B5_V($5k~~ zD#vb~_g6jamUOh{{@(VI!L{t8-1Z&k=}G0#?bxRe$+pL;p2!}oeaSre{3pK<)URo% KJ+u1V{r>}snN^qo literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_1_5.png b/resources/g2/track/intamin/large_corkscrew_left_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..0423f4792b997122be526c2fd54840b59623bc1d GIT binary patch literal 1270 zcmXAoe{2(F7{}jkjN2HqU`ZN1vfQjS>KDk4?rd8Xj`|cJZdzWii(QL%F0=@W>r;H z&7M6QL6GX|>YADwz0qjIaWhR*JkJV(Rgy%H#}f#IqS06~na*a5r4nui6bU%C)@s!` z90sS$?Ddg>AQz6>;t46G`f_=N#t;ixE3$gG#UKl&kc1C-=tRJhii+70Zy~Ep7LyDL zY#4A-K<1IKh$MX4OjuV+p|D_vB^#WUAxs(p-~g~8h^W=NQB*dW6p|d^xDmTO<93gS zLNJj)ah;LUn>hn%Gch7&apQtaNjFIFqRv@e*EqXa`$QFu; zG1Z;S`qe@>H<{276z$}BpCAOC&Zy6q2!+&GESF9fi$w@f5tsr9 z9@f%vluu#y9PQ0pm4Y)~l+&eXVLCGjYcZ{s(CZn4k;lveNlGl|wUw8-qCWpfIGRnW zr5pupEF$q*x6L3su%L^Ic=>qHJ`!d~wUn&q6oV~h60@XSv_?wK_+%h89m~N?(WC=}0b$HqD`jx-xXaGU zZinJ`$0L3<87X9wu#_WM7RCU~0tm}2yk)zGLOrfvK2HP#4<)5iwAIQx9D>Uw;${zF z4p4Z6#uKbL&0z(L5!wvUZGu4@#we(=<>M!wt-bx=2X=O~^Ppwy^6TaP*qYWA>y{ii z{F&omq-pMlKf=L7J?Y-&9dG)(M|b=gI@ELh<@&9cR9U*&vcSvkx>)kZ4up^s$A@0h zcJ$q%D%wug_f9ml)XDpq3wKw5Pj#1`v^Ccc{Zsi&`=)85#g1qSGTpC`0L=(W2ODWnz8;1?QOf*F=f1Wy{j{9CT2RW z$Q5TUe|`8+JiqpI_c@!!Je4l;MFjtJ+)pS8m+*KWNQ3asU7T literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_2_1.png b/resources/g2/track/intamin/large_corkscrew_left_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..70243ae30b1a39c62f95f32c7a8a42b5d0f00af7 GIT binary patch literal 1125 zcmX9-Z;aD)7=G`LyY4n{nt>w}nL1*XMh4VmLe;|c$T)jYpy)Ic2UZzjYE266!;DRw zX5eCq3^R0rDUBJiks<$zR4vIg_hFI}4;i6^iHk0V#Hmw9JoM)X$@BjE@;=G)yzj2H zYa%n;bKC$hV{Fyv`d%IB#htE!US{7rO#=+T+VKr5dt+Z;Uw?o9z`($?Y10M=2Zx4+ zFbs3KT*Je|{$MajQ6ZLP1c4L9m@G?~Or}sMRVqfcI_Ws=PKOEsLj%uwVliJb8Azo= z*&JOc^5sh0wB(wdYcw^M#GLW%)Z zz{(P4<-GN>uT#TOD}*|6G^HX`4Fd20aSW5ZUIoWhg3xIC7|%~65_LtnRw^OO!YN;n z@rU>T9Va3Z8C57zrR5@<(Yd@SXtlWEBm!YP6baG-$%)~Z#7bE{TZ)$q$*`5Gleb&t zM%VH(;1j@~fIu1u6$_XAkqQyB7|D+28nV__tLPX{`ou7vijcV|T^3nW7VL~zFUU2gHY)TMvqF79&D!H6hD%pn7n4E04+X!$8hyq5Hy{w4~H8Rm) zv(1>+N||kSvQueI)w{?;dc9%4KN1KEWJsiGnd7tZ-m-Khm!BwCoT}YvFc9Z3S@0_H zfSM$WX-3ZqW-&3LD|M^bs#iOmYls1e0>}U=fDSML(8K`sz_TbVBV9vIohLw|AkTmi z0fz@90FwMDM|zb^|*$fv8w;!Y)~ z|9WI;0!;bR2Xe7|eA(m2#ZR?g7GBRE9+3v$t`H1<^ia}uzIgKNg(Lf3@BaJQpQGbr z?lZgYwO{g_`f%}8W;LVF{Ntg4&DK+MPk1gpy3X~$ZSEagU-3ErJwN@>!Exi<>5CgD zw71Uc{{({dwX^8xdq$b gUG&zIuPS}}PKItAT=(nTo>nlna?R-Bkxg&>51QcT#{d8T literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_2_2.png b/resources/g2/track/intamin/large_corkscrew_left_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..11097513107de117de7839b153a4db1e8e812c8f GIT binary patch literal 1267 zcmXAoe{2(F7{}kOY_~CI2bDBZOoQ=Lc z+(MC#m07fN1xu`>EEURj31c}-0|g2hu8;<+R@0CQ6FMBON+m@Wcr79MKEM8XzJGk4 zXa9yqQ|-*TGXVg#=JgF5OLb`}=2a<5x$e}}hX5$RhPRs5mBzBNvhwnBg+ei7#*B)J zipt7L1VO5*s;aB2)jFLH!wg0v$uJbhS?zYg<#PG`K}nM1@l+<0FBC8XAPGQIHCC(2 zX45*H2DgXs2k5ZGMq~Cw(vuwz8BxSS)CiPXv}nDYK4`~=UB;N-l8}VVs5_Sl74vbE z2Cyh_kig3zVF8JGlm#_znt_bCeGNA-3XLv2HF_?4&gHjxB6^w$Lb_dy@ zEXYYQp7AAf;cPLcB!P+nY945vK<`EHpxPwqtuazaT0B{MDDREKVH#C&xW-{ZJr*L& z8KZV4>EhCU`*_5akNJzq2po?qRk$9tU^q`29Sq~)xPZeUc|5UTFe%H~R4Sj(L!c3W z-j85mr7@~u5-6WFy2q`doFkg|rV3JSI$eY{s8Wfm)h4ZuK@A*1*eTl0mX-EMqr^48>bc>sLyK( zhq!3el}tu*xg;!kX?TD+Ye=t}4ry6gFJuUB-Wn-5qD6mVTF%0BUatbU7BLx=R#IzY zFeguWMO(-xMkBstJd(@AVIhlC6qEtX00>Jg+$Fnb(zu*~@o_xhe!4 z_1&fShyL<+_Doa{w{JOJv2RK^y8LR-v}3+@`v@W$VwHRUfR_R98a`sqU9o^eUvi1w^V{YNmp1R(HF53qe=YUdZZp+pIN(5g2Dc~H@`-$l`^GJHM`i0a0^>DWasSx&=h}`; g_CH#3|M;z!;PE%xPIhb@DUk!_b&U-}Yq#$CA9uhx`Tzg` literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_2_3.png b/resources/g2/track/intamin/large_corkscrew_left_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1d8e6f062ac69969124dd54336f3e9eda580d33b GIT binary patch literal 1364 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 Sg-6?p!rt9u!?U|yKK(y&S^oC` literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_1.png b/resources/g2/track/intamin/large_corkscrew_left_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fad764d9315cf855fe7d1243be090b12ceb021cc GIT binary patch literal 1180 zcmX9-e~i;)82-2eIyhj!G$Tx$aq$XPDAGXHf`#kOdGw?wy<~xrOsqO!#zt$HVIdW# znJ{BH#$}S33~nA%dNSc6_3YtHiX34`qi2{$2}_(Z0-7QH;}Qvcj*vX>uYcYrd7k&( z+p{4sd*;HK0D#$DFZwq&YkM=?j@D-G`RV6_0JMUh?%vMkIAzL|mX?;**4C+0r%szT zZTj@-2!c2qju|s%xP3k!LEsES^E@jEAxRPwi9{xoD;71w7`Lp3Z4)@4DZsI9p^z&Y z^~U0OGDT&wT%j1&OH$cPRcm<$LxNPB$hzgAR}s*hL<}dGQYKg~iq=@NZsjK%M!*BY z7>Ln8;gN!flv2)0!DW{{u#Q7J4DToq8a@Cx0Ky0&I-Rn|qo8P>qJ}wcEE1{6^37Zh zmP#JN<)hs==cU4EK*WMFAt;oTWfCfz*7A?d&ipN-i42g`GP8zs);En)q9H0t9=G=iI8Y~d#$v@(s+7x_npPbjZ!{VZctn6^5Tf8@ zbPr#~B2^|?3+3xEy`hZT#rmDfBy7W+PSWiTczryE3lt@>Tr%8T7B8mKV}+t+n0A#0 zVHS~iryTYwQ7jv$)g-THBV(#uDP`*w!?tfi8h{`G5&#MSDga{u)DQrh;20Q}pqhtP zg+qZzfHV!X0I)a!c>qN>Oc5~8K`jc)NoeK4ed9^MG9btyQNb<8u(T2=Vw+v`kNtT5gfEIwT=|!?h_W+(mJX@=g*~|k-kJ z@o^5T2YoQ?g)$1W1k`9~vd!Zsm$v4^S&pZ9@UH4j7{Gxw#^7I;AId`h-?wq~L<*oitU!E9? zyl{5g)wutYJ;)O1yLD`Im2=?q$SOjZxX3;J*@AgPmxi1-w(t9){`Kue`)3|{^sU{y zI=S`jz3+RUxwc^UtYtgjPGrzogR}P!E_(j2+@-+zwS$8n?;JSL-H{$}7$>N!b52aW zlyCQqUhW_8y_!68&c8$7{M+{SZ=d>;-1lGK=JX?Lj&pl;W+nycj8D8DtU&=p*FP{A4hJ8DC=*+?E!G{mNe*WHq>s$99S<#}K t^9#Z5drKzzGMns`Pe(TO*uFj+S(hsBUNry06HSRhSLX)*@s3wM_#gJ22q6Ff literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_2.png b/resources/g2/track/intamin/large_corkscrew_left_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9904964d3e58acdfcd758783f895592f5ab10cab GIT binary patch literal 1206 zcmX9-e{2(V6#uSeyNxlbRMSB*RjWDR)I!d9!6w}FHp)20%^gWGB_7#*d8PAJJKWfa#elO0+@Ne(lm$R#vd@Q4kmQgp^f8aI-$d@UjQykGykPu}~y zcc6E@r)}<{xd4E+?lql#_2{hI;%0N*-^8Y@0GL7Vx(!|RvZ0~DWHOn}<~eibG&VLi zH8mj!(%jtK($ZpcI-NM~q9~GOX`c55gF-YKO(c?;jH+n`!>HD3xC@YOz|gHepEVG0 zgux{o;(|2}&PWhy^%)odI0O+amWbUhp{U|^k1@=I-(QSGCX-2+ z%h_?OleD=Qhnqt^0_Kh2yyOnbR5VS;v#gTmRKxEe>@JVf&0;i9_ykIbF|j0H!7=APb;igCY(U2C4y=k3mBL4}>QGO#v^11bAB{gvBLKO5wBFsII3g z6&=>O?0$fUTS>{rC=O0V1;Z^>ed$^#JDteSs3lmeqEVoi zY&x!M>58GjT8W@(r~+sJ2U0lbkA~%PnUE6?5zOZ)pN|a$_;6UjT~Wf7An`PX z=V(`f!75%S+>rOlbVh%?tAJcwlDKIJG<}8>b%{D^-p&k9GyhB{BU>h z%#^ynxu<9J&fC=!E6|_*?2*q-ExNJf)PfV&uKa}!fALcPp58;>o*o(>JlVh2+I6Y@ zwcYZ}u~Y4ZqnDn$vY34?Z-z39`${E=pg&aI}2~1M@+xn)1DaI z*|9oxeHVE4(2Dl`+;02Ndp}<~ct5)KYndL^YbHvMbdCJC{PHIJ$j$ijxj!yV>{@qx zcGbzh=dDuC&#rvo;*;>))-_wXFe);_kzkjp&nbR*0?`yko zA#mpKRpNW&^7W2mS3lrx9ca0=W8>4#?F09QR{mo;x2Jo2bw;T6xIWx^2{vx~?ho-k Tv)5B!KIraR-#PN?<~{!dd3zVJ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_3.png b/resources/g2/track/intamin/large_corkscrew_left_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..2915c6904c5023cc719b37e9dd67e3e9155d441c GIT binary patch literal 1068 zcmX9-acCQL6n<^mUb<|HkU@%3QgPWdsx@(B_#%|kHBMbB@r#&>)6R#2^ zU}SM*n#oy$1{X(k#|#==uwh1t?&eYn81)>{MLjiO>>{)*mS8(6<7dX;d++i6^FBVl z_g*`6Ft}se?b`rg$JE1p%v2y@6ICNk-(5C|f1A~KuHk)l|XlQtN zcw}S*!!WzuJ~}$;_W67y>1SC+5I9K+tE!SnBr=&?u~@EF8;sR$FHYEJQmL&K(bVH3`qDWGTTKnNYo`ShZxw(l@)+pa(<( zq6}yPmRB$%{F-&nf;~tNO<2p^3c)ljf&3Jq@mqUi( zAzePk?dQF;hzAuS6elH(R;ZppO;^PNKpJt0ehkPRx~+vKg;h zX|t1WZ5mDnTmrad@WuewFe>K`7V)sbC}t?tQuVG@MJ1kaNt7oVBvK(dFR>L>FcVTU zqqYl)u94X^3#eUnx+t6ok(A7^Q9(#aQZ^bbrcy>OXO_#YMx)#9BJe1HXD~AFWGfz_ zPRK1b*$(TSXr-$)dd1FGa}zlTr;~EKgI=FN_$8WFIX)@&m&J;ybS+=Bs%EdnfXHF0 z;Eao2Eka~tOd%;$vU05uZyMQ7v)b#eA_gD?paN(B1%Mhr8w1n_&!U)$3OcfyJPry8 zX$Hzcuy{ZMAjOSRB+_|Qj-YxHSvuSdo&t`A5RXM9cRWg@wP0SCDwTw37CIdh^|d@Q zkTD0Nxq00ymT|?RwQji3i&i!>^{sLXHM_VAC@&WDJHw1OB9Jke)8Y|59j_G9X0_0< zs;JkZI1ZHoS%6SKi)3H!7Cebqw%w+(nOjinbv7IpA`vMTQ%HY;@@E*bz>)^%Z}3DX z>4|~yzAPD z02wgn?0L8R+=P(YnOk}Gp9BAnp4@-`SL3g~acO;a^7PvA)1|*2fp1n$e(yO|8b5yN z@ZV2f4u4cyjLx5bY~zI=Ua8$nr+@#xWXYOL8j zZPcvB?R0U=G|-5L%a%|hR0$<$#!e}k;n7u_$%&zc8Cca&gJ!Ja*NnmEy~pRD_kqvn zz3IK9zW$AOZUlh-kzGS$?K#k{Eqz_>9(#6t5}*tA?%6lorX3v}ot>RsU0vPX-90@$ zy}i8{hV}LJZP>8E>G60-(#x`pAaIftP!u^DjV6=ne7;~9OP1AWHc2lqH1M1)5O9P- z?r_8#i_^&zpUI2Gl2SI~)tb%{n4h-EoKy9?H3?5E{RY%Rp^r6v9m>& zP$q&^HdYJh^>DGFEj9D?^-2rb2)mtfI(=@BKzJpZRyaN;wwFcn@x($VZy9E@%7DmW zieOhow-zE&5hfQCimBj2POX$u^@`DKt|A7&51;^O06BmKfEos<4W3021?6;PRd^g^ z5)up)d|>f_1VFMA#Yv>|s1QQs7_xM@89W6X3w|C8NlrCPBs5<}mx{%xY3Ay66ScKm zK_DYGMsxDITP)zRMQe>ft{E=2lI8V66;&Fz11LA<^V$Q9J0y^iAg8GzJ)stJ3Dd~c zEdw>H6vv?gAPW#`XAx`5-GVC`N!4mpDtQY^xy%LvLMS9fA~NZXQr;v(=2)`Cd6#&i z?)M&ZZ&wbs$$uk5kMFzZy%*mNoP2YzZ|Enq ze90)D-u}RC%-O|x;nlB~cc03`TWFWJ9Z!uMRJsInw`!I{k0+=Z_A(^~-v; zH73vB|5x_tg`zY)Jb3zHdU^c)53DI$IXS+pTz+|F>{@E=;?>!eAFuc9TAj#V+Va@$ Qwi7TiJUaC069=aL2lwvn_y7O^ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_5.png b/resources/g2/track/intamin/large_corkscrew_left_3_5.png new file mode 100644 index 0000000000000000000000000000000000000000..97ea42f6d9e3a54c1330109c11fc9bdce862aded GIT binary patch literal 1163 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 W?riPc&$iWgfpu%zT8^%MY2bgGIWs{3 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_left_4_2.png b/resources/g2/track/intamin/large_corkscrew_left_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8302c62a1b05d1e353e9a1a5bfe0d6abc1cc00f0 GIT binary patch literal 1285 zcmXAoeQXkU7{`Comn&rzGvY8(#~ii9u!?%qtD-yCtHXM;S3M1GL@}e2tz@2x4Q5P< zqM~AU>1bseo6J!q29-ICH-nXQG-HnGEoF-F+*oCiXyb^(+F7-~VNAZy+dt3ukI(ZQ zXlvEiR8Or20MxWBYhG2V4W*b>RaVNLwhfg4l!3OlS1&D%6DCX$i9}^(W##4N6%`eg zm6ZsBR8>`p#bUWir9x3HLEtn^n$1R=jd8hLK3^ab;S!0oAQXy4R10t&ph$_)D6?9X zc8AvO(fRyTC}N7mZ7JT9%>@Y!V$ew#QtmV;S+hD|L!&Mt?lYt!jF5Eah2Ur*p;rKt z2H0`H(nyFw;vQ)xBrB#AFt3G06MW1E_23b%Y|KqxNnpX!(2it!_*oBidk^NPSYN<*>AT;Jf3(Uz;j$Soh}p#5GWX+ z_919UO2ia&N@K|q?wm20x5o->x){kn&Wu8dMk>YRa=lVTYqVya&PGyhQ)!ta;_)U! z5h1}Bvp6u3h>eyyO-k0P@jLLan~wP{$*?mM_vbT-VsRMa02lzU0l)$f1|SJQ4gs(v zihvFq348F&nk1TavD)hu_~HC|R9 z3Yudv7te?Dc^;O$6c&IwBseRlf=UyoW&|BuFouiv*r+e{n9IUUK`jHA647g=MqFv7 zQHOl;gbw59pY z)yod_bicD{VD<~d4j5hWqISXZ3m=Hvewlf2{PnF*=l!@yQ8#18o`CJ}cRL?$9e4dX zzL!-U8E(9P_*yU5KQI){_ayawcPEK1zS5WOn%-M8Rx4?oHnVGA_*%olLF$6Q{>&cF zts6T+PB~jM=kWQyoY0l(jrK2oV83I0ZLg^1)j9KObDE3E&vfYYru|(*jen%S*rTpp zHjIq;UwY8?Lvqob+ate!b*oi$Ww2@Um+h_hS|>K`xE9G(h29t5+gP=$cFS@3m47dW zj!y3Ao}QA_vtN&h4sE;M`SIYS55Fxt)@(1oabS=-xDYz%{=1>2BqTzuOm24kq@m_boru zM+bbfZcsys zC#zbp!U07JIg$o0*kB_K4s$|-m37Hr1ur_Gup<^zp;3fJ8kl5>pCu&E`|F?gNuK9@ zcdzU5%$m_U0{}3qyQ_13t+v%-VUwknTaMPejL7JMHrca-4cRHOo?xtyq;}}8kNs<^2hvV@?I<4n&h~99`EDWs zvsnjjb5eFUi;}#{BVt||7Zg%b>2QjPWjHO*>!u$i9Bz-3#;n*!=(v0hfXh3A-ol@?|N}@J5T0R#9?rh{bFI;Rt%LsFzF%bVlNg zuuzCgrBt|*jZYdWSjt&#gbVZHgrA~=92XS?H5g1squE5l(DmZ@c%@Q-z##%x9Kn-T zI^*E-n7>FzNK{$Xg{)dG*tPh?mP?1X zd~P0?4TkxV&0Cd4r`oYY&uGUVtiJ6_t{rPTwqah&{tq8Dq))6+vFKb6IcM!h%!7;j zmc9Sz!miBsCzo$|4L>_DGI*qaW7kwknses%#5cjgZJQPuhi}e4Jtx-j@Qdz-mtOqL z|J=hLhu#=yM5V63ChRlUOboXE(s%5GzVnCnw*S2Ouz7R){9S>L>l^yd_x^h2()@FG zt}R^>-b$=I*e6|D7KrcMf9uN&*B&pUkJGF5n@2~F+&Hs+Mcurqr9Z9cnfcY#~sJu91Cj45kg6rCqnV8!^MHe#Qb$d0aGSSzWQW|aLMMluqcIil#Ssc? zNaKntq>w{uXh<~$YbfRzjRL8mSx$2qHP%>`84J6SibYET+K^WIVlh8UNWRa%H_!LQ z=Xs8A8>Ty!b}j_~bPNslZ*SDzMsyom8hM1OZU&$QY}-0A&={MVnwp!NTUuILTU*=O z+LkO?f*^>&U@#hu7Q5X}5I9AV9LETPTav_JFc^)-Q>nD3&FOljS|xBmIswbHyWM85 z*XHx%p|CR=W0NU9qe{7axL8V17~*oai;N}UvdID(mxwDtN{za5DN)ac%6g(+(P%5+ zG2kPC%ppk;QNyM}(p=41VHt;29xlodYIXov0C)ruO{Rd=Dx+w^>Ab?SS&yd>2t0_# zp{iO5vz@fytj)=zw1~L^gdjVm7!_2QNQO(~__Xe^IjlHscXAjbINTy7hS*S?kEg|S zKA`E5d^uUHt0oedIbiVsn;)Pu;)q-56zWz%K%)qe zG*KBVm%}_oDpYbO%DzlRo~x$Hi-kID$4n-N#X{Tc9EJ-{r^K)!zOl@o3P-ZZl&xA2$&{eo@pGvV{QARCqHmt`!EOk{<^iV(Mv=9n@3(d`9);s zN80*j{fD74aQa$p_1(Qgwyx`gZ=IX6>$Z=N{{F$_y;JuedjGCfBBJ8EO)vbkf8#y( z_29_3YS-!XZ1z%gw)fY`heviFT-a9$?!UiA`L?&btGhNk|NgQ0gc+OXlm=$k`7fBEtW|KqQ(_AEZH&ep2Uo5s+c$DWzLJ4j(i9*@GA z-RnO;bNcwv_;;BV2H9AxboMWw@SghWpIuuH9K6w1+jHmYdSZ89_WR$aQs?%3(t+MS ze=>QxkeL{trpG=!HIUg`o3dgT-8W9$dU1MmYY(1S7kj;H!noq*zhm{`^X$Hrc;_44 zYw@m43BzUE^yr<1N1aPI`q%W0U)s8^_whT2*8Mng_K#6I zI;s|^qmdKp?6f9Ti&ki$WJ@ivKw%Bkq~Jk@>Ey%;!&T*_Vx1){;b#fS_j&v0`Tp^F zo}mq0hMMXpssR8s?QN~yrMj{d3oB)%yr=oWApm4xLub#r(pXkjHfPQpnM^i!?%eY7 z@`{QI1VJh*E32xiR2q$jAhZ-kvMg<}m~1xQ<#PFafk-5lOioBrzEB{vfYbwqmYYmU zj#JwmTDM2<^E07{Ii9ekMNf7rNa2W4FXw5M)2J3KSinY%xu}HCn2zvL%AJ#f#eC9$ z0y7TmBoJ66#3KohA`?;;(kRSnVZjV%1qhQG02lzw2*N8AP81a|EU4FyF-*#8%{ZMm z0|A&wpoCIGsqS2GJ1@l4@jxo5>qC@Ql++);- zEL7aaiY`mWXPXMU@(Ev248y6ULaD=WBcZdBl$~Wg7K`6*k9a(ZKtPPevJ(^ed>#Un z2bd2bLJBI5vT59!rQB1dV9p-T3loJ%ZZ=bda$KR%sZ<8FhQ+lOz1~JMZgXjwBjWL< zLJ=t`7P2HT(};~#IL&H-!~G62>}KPBYbxx_B>cHdvQW4QNdSxh*Z>d!2m_D;U}blwmNy6TnM?m;p!(fGmK#3VH|_WMGVgX*ZOD;30S&pebNv5YD1<+HtR7 z2n8+ixJwknxts_~UZ@oi4ml~Pn4sDm!+1$ACc`-?2@6>rO~V*~5`eJ8!d(%v(xv0qt&rb+_ygO!yI9aNJ=tICQ|+y5 zdscloe1O}EHqG0$1BSomnol&h`wq6fxYm88rdKuO{m0$6{NB*#mk$1W_>N*`^zQyi z@%v*lIrPRYK02^(bcL^*b2QC7DO<{~j9>V8#L&S@CUyUj!H$OMP3iA;Y*z35Bi`M8 z`lR&t8hYQCu!W0`&I~p5=a0I()?aTQZajbgd}3u-yqG^ZY}!)WJO1uZ%4??&Etd`a zGA?XvDZW+s^n=M)Um^#t-P<;OXJ|!vCWTxc|LywDWBRp~tE=`-K0|!5`NxrWz*%cl zd1Xt_)q(l0HzsT3O}jnKjb~qLSY3N&;`p8Mj;q`>)xZ6Scy;L3qG<*Fdgq!8jYIcO z|2GovFzng35uI*2LtV@Mb6gb1Z_n4asmkSh8h0<;z536M9m&DyD*@{5v)Hps z9>>-kxbU2JS!SuGV$%;NqkAv54!etA$v(pu_1#*Z>g``JsyKK<3N6|7*qf=bx=4N5 zrPgk#{&($1-^vz0fA`nE>W25qZ_l$msIBUAZmr$YdF@o?&HD4c&JNu-(ZSTJ8;2vu zPb}WvL0!2Hrj6%Lxj$KTqGu`km;C;Mv1$c2_|ypba=vO={p^FlhB}_STsNZIrM~PlsHTw1*Q}|Ngd57gpj%vSOR80OGv)Y+dt3ukI(b$ zT+wQ4Y-nl#05mRpqs3mXv&->JT~#@|tFC$gr~)gNuUc9jD=I1~D=Vw2s;aB2Yieq0 zYikh%sjI82udmmeOePeyk|e<}6w5k!p7Zhsq=V@ zUY|7(#KRFfmT)OaKAj2X@)Bu59Jq#~^n$}EvgRm{4*AJs*pW_f>PVoVN|VKu%>Y~$ z;3a^_ATbU}2DRCku9P;wf)$or@V*FP$^-xnfD1u5tyVA?M6+4K@gbTXal5mEa5EZ( z$)o|*nFzg=HsUU`jk7oelofG4Li*!WNMWS3OIF=R%wV;daK=Khn3E&903C?BqB19E zgp?Y}6k@r_q?Q0W2I$?u=mTaE!J>Lw!t6{ET*eX1@lsJt!6DkBV=;r*W(hj*7)vTV zlkv0JFrSb6i^=e0CJyr{tqwC=94O`{NH4<#SvKPJCW66aG@6m++~{brScJg90dp8Z zV_H%%FlmcBM+Wjvso+(L;%F&RxSySb8jDto>Gd|FiLqE&9Oo%I;3_ZkC4!-mSVB!@ zN;v|!D1>LUg3Bm+ED;|O4=_r^JrWnP$w(oaDwS?R0ssd9JOCm9aR5dD$RhxjMU&9S z!?*<1ENuoH3PJ>sZ9t^~WB}y!Fo;5lhO!5y15lN~1MnE2NZ_Cm533ivmXK(RNvxvy zGnsgykbz|{gBzee4I%1j$>@^JoQjJ@XT0Q9Cd29bat>yTW*xwch|Q{X5=IY$`rMQ# zc%+b^#6y`>yr8CFDTh%MlmS!$gk=_ivfV=&{Juy&k43@{#i!Gx)5&-|tk1`xRzGG9 z6KI@7lazIowiFyD=rTgV3?nF%37DbE$B)g{Og#93E_*8j7GJykPPvzswY;`!-mX2p z&cpearjaM$kALi(t>8On5!-gW-#6UWhM&7GEk0kh_u%jIyhO_l&4jhz-h0nDh#x!} z>*zfD{Q&W?|Ic-s?a8rPrM)k%+vM#rJ-u-N8)}<)@>x@A*Z7;%b9ef?weBU;&mFm( zf6TsPU{144em>BfDLww(O7zs8nZne?lgB=6I55BKV)OWNYP|Pw@pXQ%Ki~Lw)AP!& zFC_jMTjI2wMc5}^w6E!&d*I5??{010_tXBZkBG)A=R5hen}X~2zFp&7P_t|IfHJl{ zHdt?3l{g`Hc61*9%Hh_0)PHDSto_vdjb9J{*6cgB`q0Akqq|>Wj{WuCkbNoaJ9EVT z->sg(VdcoH%DvVbjU&rLnmda&t8d9&$EO;`u&MS1uKl^`6Q9kP@l;b}gJtzK^{#d0 zQO~yd(>}=d?X?BEkjSFOx$7o2d|7OwM!ua`e<8oN`_oiya>300m&4<8gzFR6wro0i zy`uZp)q|STHRgdimwaPX+pJHdZJnJL)*x4I-(`<>413yr)yg+LTRKL2ZrwipulpBa f7tFh4oZcygIZgN0_CEUmv3KqD@p@kGY zwLqC&a)}d*DN^8&qE#B*phzKyE3#-MCs{(30~%AIM$i)q4jk~agyj3Y{qubP_&iT{ zN4slG-Gn*-z?inVtqaO^YB`!~4CNf|=&T0706OL^oLwF(Dk>@~D-8z2s8OS;s;a81 zs}TgLsi~>0tu+29 z1NKnZ8Hv*IB%4-*tQyW2WYUJXo%K9r7Tp$!!(sy77bKO4JDcRS!BA0?hxLpL1*{GD z2_P{@oJW+fF&8(LvM4OtVTpw!5`-Bm05kwBg78M8h@ujP$xdeLG`8?Im@Oruf>7dT~;S!qd13$C;1Q^im|a2pHjt) z)~god`C-LK022euUSJ6TOhOznvnz>t6oOaX;k+R0QU>eTj1(M<3!FW>3sHHps zSPBssqsUq$pDh|75+NoX^$sS)oDwbOGNsa0NC4mlKmb4jAOXN200jiVvS<emI;g6N zVo`-qa9=8V__6UI| zNL-=pL$s~vwnEkdMGQu9m?EG`m5<*swf_2pA6UPjodGkh{Ia6lcel09TsXIT$BtLm zo|-ti^;>vxJhJYi(=FTHSwF935pnG4ugBG%3QuoxPX27sYHjSDdj95?19vCiVm9== zi8TMbyr6B-S0YP~eWDyWXJ|Zst>+TI{m7-UeFwLZ*Ru;zI z|ElIp|6l5TvGLwFFBTg%%~$+`;~N$a-0cf(?{7H%U3V$^ROM3g=vyPlrv^QNRD!7&+_cx!0zd ztli?}Wt}@W+Lxit6He3`_?;d7RU>mx*J8?(%WvMg;X0#V-aD|SLO;QZb$yS&y}xjJ z1ATbM=Hz2NfBg8|ozXA+w5jdo4*B91@9+PCOS@m6Gvzmn;cslB@&WxunGk53-QId= IR_FWw1E^~yod5s; literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_1_3.png b/resources/g2/track/intamin/large_corkscrew_right_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..24b65b86b52c70a1189a60dc4c56f2f22c5e5374 GIT binary patch literal 1159 zcmX9;acmQH6nUP`F(b3u2X|vh7y1Kf% zyL)~_`V(g;Fl*=bQM1_BjTy^~I( zeBMPn+?X+h{ZpxD+6g7@e{6 zIhRx-164j&^Xc_)uA$8~v-P=33-yzBJL7bEaJNKKGRuYpG3IX%i)7=8VkT=9%FQYV zegO+fcGZt-K{6HLjF^;51&W4R$*1a-LbG`XaR6R`5P$|?02Bdg7@#&p9z{aP(2-RU z2~cQAaA11C5&=no6eo()NEeYAM5P$AbhvLk0|F0T5ev#rHB2TnPezw>xoEj;)azx` z)^Y`aj`VYyQ`B+4NhlVpHGD=hoNFaZb7mD)8iWHF9P?0iABP7eIuZ~xHK-@loRKIO zjJj1o%_<`Z$OL2oLTxW%ZMg?JgVfr%OP z`SmT=gc^g7u0Qcx&$f|=`rcT1d9m%J@#+)={SRA1DPltDYEu49G@3Lcy7FtDv@oi`7xpE^8D zvU|pguhu?SJyZgwO|A_-|W!;e-XH&OdIQ}vLlb=zo z!SgGhoH8Rnb#KT%ySaK~Fd@vHS@rvZp*^+NZh5ZQjunS?9NabZ`iJ0x@tM-0pO^f) zaQll-@BV5N3_mqr@xe#iJ~@2(tPLK^e0px?n?GN=XLJqh#V;H>e)F#5J0kN|=P%FQ Qe=x9i_2k5;M1& literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_1_4.png b/resources/g2/track/intamin/large_corkscrew_right_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0cdd1b76628b3af6c28ea63ef5b447b5bc34cdfc GIT binary patch literal 1200 zcmX9-e{2(F82(t_g-nU_!v(Mu?Dj)EPO|0RYVCTi!EJuif?NFq`Vxare&q0GL4k%E8|HIBnXrhK2@{$uxcX^v1@< zrluwYLCj`zb91xJ;cyTHPSX^}F@oR?1jI-rBFo84M$P3W45M1B5jdb+fMr^}UaQ}a z219r>=8_X^I>TqRKtYd{$|)K{Jg!!ev4uUTBsh}+;#`E*WKSU@8u@6&NKICAZad&H z5Tt;_A!!lOVwPgsS}WLL1&1{rPDv2v900HY@CYJWEMdD{aynBk*EyEW`+UW4_(3uW zHO)>~9h41cQ5WxYi8l1|J+kUokIa$HOh62V|57SobRT~$jH6V+-J0=o#DGD4&+ zbk@!lFkgv|mc6M;Fk6)-YMIJZaT2y-77J;!xlsp);eyK*VAv>MUlz*5;`wyO$mz8b z1$YJtaF#HSN`5R6qLe6?P5AOkxTqy6#aylS08#*W00;me0iXbo2cV1qSO-hPPyi|^ zXcSo|5D5^cfa(SY3m^xeXoE2VrdX)@VIc~Q6nJ7h2^bo9Si~>b!a*!9xzi~jn~mtY zQmN>$&Sm!jBGgJrHa3Ows#7#vQq`-}g4s#AFr}7YvFfw}5=Gp&#Y>@njtKb}DeOna; z6B>h0uvo?8fIJGrPM9E|N5P;DXOi9(`xq zfmfb6up25{_l)@3haUcQYGb_rGcxIJ4%5^X$y7+rHOl?No+N zocR65_ibZaww#`MY{A~~(9r&y&B@N8&2J^SZM`>rd$9WlInx=)&s%{`4X?fTZQF%i z1H%}qcVTI>`;OEZT07Ztxp@72b?y$SL-V(M^X26`e-88vkG_^)zi>FF-dI#KOw~`) z&uN#A(z73XyA~h$X@&agf6Cee^H2AEy2-X@=@?F(8n-;&yNJi=-KOZSF=6cAj)QgC OL0|9cp0mr=@BbgaOAUtr literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_1_5.png b/resources/g2/track/intamin/large_corkscrew_right_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4a4609f1c6297a97d667653f479fb2701b70fd GIT binary patch literal 1262 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_2_2.png b/resources/g2/track/intamin/large_corkscrew_right_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4599e17a7d3ce0215fcdea2fc4a6f77fd63d0b GIT binary patch literal 1203 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_2_5.png b/resources/g2/track/intamin/large_corkscrew_right_2_5.png new file mode 100644 index 0000000000000000000000000000000000000000..80d24996bd1a55f0f7b895a6cad63bb61dbddeb7 GIT binary patch literal 1187 zcmX9-e{2(F82+}h-JmQDHc;4s1q-X>)IttCu;PKYr7kBsgF0w#L3MpE(A{&()p_xNJkB~g?uYcYrd7k&( zy{^~OKCNRK0HD3+rLOfx?KEO$o5{%Y+TTe6U;^u2?&~(jrlzLm=4O-0G-b+^mX?;* z)>Z^T+S=NtPMvCVI2<_cq9~GOX`c6qq7V*;5^%~0k+gYKr!Pkenm1YzQ*}8HhZxMt6KK$bMZNAcPh~|` z3-hJ8SXILHT)d$vu$s462`A>o2|q~%SvJb^iC|ETMsvxemdR8`N9*-E1gHRLb+tBGYCtn)u@E+!$L?S;7w>k9G!x;BWs(|=71C-sujv&M za5N&amJnx`16V>Ll?aJ@^fVFti5fY9(FV$eMT8kQ2(Dv^jkf>lej|R zIodVKU^TA;a&{PU!UPU8B-Ci*_=%^@cOU-12kU!Tu={0tqq6zivzZEzdvqXwP{A}XDRT-{zGud zH)r4d{MY+Ce!MsG+=myQ`t5m1`Lt&-KSvE!n-P`|UqZ&0i2aGPh%Cqvzz} z&cqMP&fNI>z%J8DX8MVRJ3l==>#%U|${B5N!Qjmm^Jme^f03f?-B&u77o2~gC)x%R zYln|4Id_sC7~FsK#^sH#J#&5LrP=fB9?mpp+l?02E!6kMwXwoP+vXQu-+Hil&t%`L z+>X=TW8d*=f8T+?i1gDFBP$*tdxs}B4Bk1fUc`rv^B0bN72KkpeeeKlHFu65)<;hL z6W#WG$48eguKx1BhT6PvxBmXw&391c>wk;eo95EzdHLq#grPL(>F(`1{^FY-{}0*J B6G#96 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_3_1.png b/resources/g2/track/intamin/large_corkscrew_right_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b0accf7c2599cee917afc26d9518b3f734892d34 GIT binary patch literal 1105 zcmX9-acCQL6n<^iUb<4ljF`<};~L!!ZgOm=yKU#V)=N$2)!poM1QsQO6C(yW+)aXH z5NFWT1-;HtQav=fsF?j zy}i8{hS}}*zP>(}*XyMylH*uW z(HNObF&RzB7el48QZ-VIW{xAU0Mjq?u6V$sN_bYG<`P^v6Q~wtb17+=xs_JM?}iWo zQ5IAY%gb0f<*4VK?W!ADBx;Aynu<`x3m^c5Fidth;%>K!<2iKUb3NVLkC6{CQf6^E0?i2y~1SuQGyDM`|z(PAo9&Sni=Z`5k7Rtte!20VjNc?VZ= zi&Y}r;F8T?&We^=YOP(g*6J&$pKv&6m&@<*iUcV!jKT}aP-j`Jm`X3@i)O`WH&_Vq zm?ApjA&(j%v>01RiX|<)REXEhnpLl~+gA|_5CBjBRDc4&5*i%70`lt`=od`>Er5{6N*ECY44 z++m<%{jBN|a-NWm%O<0?f`xXpw34Z==?zqG;ZC4En4fe6Sx-cyVqsp5M{? zJ+F35bzB0r;{Pf{( z2ESajKeK6qSomeON7;S8Zkzu0lZ720X!N$rTW5cJYtL0{@sW4*)sMAZC$_BBFMV`* z)Ald4p}Ft4y}LL3OBH`czQN{=#PXSgyZ<`5s+<^j_wO;^w(IAANWDJQwbITfV2OuZSkby1aAJv7 z3M-+E3I~)?pxFw!U@;dcZZSn_tg#7QEKqew8K+b&P-SWZHCc4(&k~aFljr4+=ljR! zc?P<>tj$f&H30ycJ6^W*RPvHapba%oCh>pT0jL4pooiQB+N!Fm>gwv6nwr|$+Pb>B z`uchVK^htw8XFt+27`ehOf*fgtc~X#qA2)$zECITED{xvWI&sX>dF}u7EQ3s!D$J?lmP$+01iO}t=5a8lF=xWEi>c!?Clv`?`G6Re!!;;Iufqb93?WN{mBb_lfKXZ#T^5*OlG zZ%Peji_!d4QcD3H3-nHad4N$u%n`jcW^^PeA!`rhMY$xU;3$LZcr)s@;sHAu<>`dT zW_^4vBo-83DH)o|DzK2!>dZ#mPMDn(?Pl2k&xhUaSRjy$M6&UCetf)CDnWn>z!*Y^ zsFqHkYzBAcX@9{X7u|`HG+vGsr*l(KgKM>Bz21r$Slq;uq-bOOTxFRj76_)JF*TJf z=PAJ15Ruh-IZSflVGpJF*+kfxR=l}nxR^_o%af1-zz%>2fCPX7KpKDo0$@c94Lu@M zWT@sCBM=A>q(IyXR0cp6KtT@!1e6&VcfpJwsxo*2-VAIsurr8@*L&S~P_jm4K9TTc zvr4g;g%vN<2?&pdlJty>adD%dl2XZ`l--G`P-Z%whq;nb2h12^HEA6b=3)tt(?Vc_cv_H7rTdB`?SXQiUJ2V)4 zeaFy}8T;Oc$})A+FRvUtH`v*G<+1BdXhz?G-CvyirZ~8+_1v@S@aMBX-7SIs%hFcr z-4}j;X@39q;n!}3E$Llk^NI2fr)q+oae}B!1)eowF?s^NY`mUwD2lI))J|0V+I$+;?8oQ7>vWdTBSa1Jh z{ld|UpKbGA#rnyQXM(n=6`@D9D?f1`?|C?~_=B%@wGPHDciM(BbL3M^2ajIauy#xy zIFLMeIdbF1h8FJH88AfO8(lcB@zO*0zSg-N)z7axydP+05$4(dRUJEtc^-XBE<4Np zbiB>gQoXG>kZ$~X^=%~a<<)20mX29}U2Q%CGRzQOySp=Tw4r-zG&%ZJ@*F3)#O-``(H?0j$emZ8(VsML4CJ~=pVOIO>TWglL1yZS!LO?c1F h*?y=hJ^k;rY371X@alE-hYCQ@v8u~*apk7|{{amfGOYjr literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_3_3.png b/resources/g2/track/intamin/large_corkscrew_right_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..978861f75b29995b2fb2edc06c7666d90aea2608 GIT binary patch literal 1397 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 S7(dZc69)Q+`p&#E`riNeclL4s literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_4_1.png b/resources/g2/track/intamin/large_corkscrew_right_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8fa2960dad7f98c6fce65a69ffeba650a9451ba9 GIT binary patch literal 1300 zcmXAoe{2(F7{}kyjoX-5Sfe#mDXi#8Dik^4z{@T1(q#osxOWuB_(6Vj8UmnrKP21Wo2W> zjztipyu7@kqC#sh7%-JFbfF&8>l^$riO(Cg+ITI|{;D`ue!TqMKoQ?Dn)E42424 z9@k+S1F1DJdcua9d80+ZIFWD$DUVG1W2}_4MHRaq*O|-)f;G|{ZsjT7%XmY!P?V3R zgoNTx<-(caxS9kS7HI82?*^!d;32I!f?DGwpR)KePAM-YU^ipbaJbH8Hu@|?n4@A& zHs#^c0cTeB8wFXCx77VwOl#6A392a!CB0gU{6iP*-nZCY!J`aJ82WSAn z!fGm}W0OXEhVo{uQqC32i+zPiZX`VnD~)P3uGO0L2G(fe2*OD-UR!aQJL2>Agd<8K zRmhOQMk7vEE!gy;!x(gvvX_ko?LD%Pjt6t;M4>PQNdPPWH~|m=kOAlcAd3K46hlF` z6Uq`)(hLfC4ERY9H3NkKkOh#}LLUYt21Xq)>4k~}9)iaKO#usoI5@4~GWtbxSmI(a zPbwwnaw%B!(%Av#t|Ub*Bk65XlvfBbZMT`%3BYA;N9g*S+HR6*LB7Id}Cd0)4bg$ z{BLYjO?_;83zXM(ZToKVi{!P2XS!RyXll6q)4rt_>v_rFDd+lBXcmOp*y#l&-rmV?DxI3H$NxJxm|d_E$@gzMxOsH`N%x9ropYO~ z%12IoeYb1!KRb@Uo@p=5bS$^8+_I`cUVm6KOZ8l9Xn&adOAI)q-^{5Wca;P zs%y8LYj@PoDt%!^@4a6ZbBCX3ZqcZ?fqA;-KY#C-`AWKPPgmXQnnmYlo+{tivwu+D zd2|9=wN88Z;^tcE`N2(hM~=^~nwY<{XX|Ly$f`Zpg`@ooPxnjFj*7uQVuZhbD0 zi&?F?IeI(#L;k^Ewa?DI@BwjYelYUR^r8Do>@BZmzj@=4%)U%@^%?7pRUdaoEdS1& z?V=rPTcihzrj&dX!G~(^{up?5p0Km`ve0&M)AW-UGuE!!6^^cj1LL=<943q!$bGt? Qh!!-~FReSaaP|BD15toT761SM literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_4_2.png b/resources/g2/track/intamin/large_corkscrew_right_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9b823577d92651f89b75f34ed6d05f7f2014006f GIT binary patch literal 1371 zcmX9-e{2$W6#urg&|gX$RHkgBl{&i8jdbUFR*ct{Ds^bDdOD)0RBs!0WL^{<##;uK zO{&CP6_ri4(a0>Dbj749wxpwm)w*DI&FVyliU}$%HIkM&7MuAU#^m$fCoeB~pFcjI zcc`sZHLGYr5ddJ;s+Q(;Sr%tYQ^3jg2)#4A;DEN(>sMsQoSdB8+*}Talb4s5pP$d= za(O&nK|w)bVWChWksyd%sl*6EO_Expk+NE?PN&=N4}`-Lu~;gdM&tlf09;+H)d~y- zv5A)3>0B`_wJRZg8n?)iUHXe3xG8Fd;HK5HuE%&BjPCMOjNqZ+sAvd3t@ z-7)6%$HHtnjscyTXC(M$otQDmTr}ph5kZ%J%x8{6qf=D0S*iVR3L@}NB~F)p&fx990m+9VuLXccwsyW)JmYic?MEw zHpv`}%IhJ6K`YDpl1Ub3wM2S=(8U-d#64nNKuX0FOiJrZn}Qi z=W8*sfk0@znlT$Z4s+1wV8gy-EDY0eRIP>q0Am2ctQWSd+)Ie8v@4N7UCx&FT+4ME}V}Po-biu54Xw z-v9j4XZy#^gTvnGP+w9yj6GVLbcC&U#eYwI@8fQt%^#w#U*K-PxK>??_`vqw-cV@c z8vd<;{!D*aQT^;A-FU~oEvW?+kNV1{Yh7zPMjFj;N;>bpYpeU9_fO|gy8f|zw4&sz zPx@YKvG$eksct6bw(gjsB znPb};a~3zK54!M{J0}e*J1-T5XF$_|HkEE;Wm66}yrHwY>&mI4b6QTvXzqYzzK7Yx z{xF1+J2NF`N4tMKe&;TJplIp+h21+h)$E&SJ@}A&%+Nfu+G4vbWN!TabL99@3%_A0 zy=VC~cNM+NyZ60&qQH&H%Ol_DEPIP~T&Tz^&Ni4BUt-Cx5u3Bzt z7d@NSAO0`qeW^%gvTu;sW nPaX`)ZeBQ1opbRy{Ff8`c;i<8k*1n#LcppOt(H)MLKDqLczig?V!Q|x7aNQJ8CI6cd#3FtVoRqtFywz6zsG> z#kv(}$N^m}*kB!HDdvC*6KW_)gGIZfLJgZK@f_83q2NfWR@{q$KTAly&%Za%_r>RV z4sC2T%&3`L0|1y|T)(cZRA-ffl2nxPhGS?a02N?kOS`@_mX(#2mzP&mR8&@0PMbEZ zs;UY>5Q#)mU0tnEtJN5$B}sx|D3&$b?VQ`~_WOg8NHmcc5ye8Wh-m?#12iQyo8>l} z%Hh;{ygGk?4o57pxILBjW^*A@gP3$uj#9WxDxO7yc5KK^#{H&LgcFmVycn7+Bn(Pm z(EtYlcm@e`NZc#SgyqGQ66UqAXn|8agb6hOGyoO^;bbzGQpuxeNT(a3>7><~ak(af zK^TuKF}a#hXla$sf*LrD$%V1J&K@A$0_BS_p_C;mT2;7GYf$SL4aMSSj^sSFCuj*q zxoFyz5Pj)gRmeMk3#Oq6j zBVr<5%o4ytA$CUQvZ#2QCg3Cl4-*SmlY%P~59Bk6VsQcz0GI%<1Hc0y0FVSAhX7a- zO+u#~3Lz+FXcTZ5@DU(t03r<_10bh>UJQn47`4Ha2Z|x^6g&m`%>mI*AZkT)cc;_j6 zy8e{DxABkZ$A*S`#_xV@oa(4sHK%@S{QdPOKMH)gzIWNrqt4Hl+-1JfU(PP>MNX1! zQx1IL<-WSjJuQ0{${tiDJLb<#-X7O&JpAU9=9j;F(7dzf`FpQ)6^5_)_I}9iow;m0 zm1}-ulz#ZylJ?FdHFm61=c6+>Ki=AS_Wt0m@+T|dEmS(u(Ik0z2k&3|Dixjm_HRGz z>i>1MaIvpF7yUT>sCS<7X7{0+?3S6|rdGs7$)CzAV07N# z_Q`FtYX_PhE?zZ|xO)176ShG!x_@wIleo`(>Duj<^WA6fT{_pj`wQVj(|?)pvg?BN wJ;OD;XW%}!OTYBUm2dhFZ0o)nlI*m?vcf;0zFk|jpu`av^{wkJG{5!9|8G1o5dZ)H literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_corkscrew_right_4_4.png b/resources/g2/track/intamin/large_corkscrew_right_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..ab5277efad57de3f5a784f2417b46a1355697ac2 GIT binary patch literal 1338 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 b_EFO})<@@Bd#83+p@EL2w)Vl-dba-$jNvbP literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_1_1.png b/resources/g2/track/intamin/large_half_loop_left_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..147c23f34893d9369df093422f49570ed49c3cf6 GIT binary patch literal 1334 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_1_3.png b/resources/g2/track/intamin/large_half_loop_left_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1af4ec1bf7980482cf78c537fcc10200c09b4522 GIT binary patch literal 1386 zcmXAoaZr+X7{`B!ipm@o7B)&OrnqB`t#|cqqxG6dsFbhswOIGAk)h)*Y^-p@MU8IM zaYgplu#s`a86{J4czQ;KjZ4;SQpYu0WN*ba=D74O)~MXguHWdo`#jHc&p*%ikMH-{ zS6d^`&3P>c0FYZ%Sy7jorKyr-F;bmfT~7nR0JUrCWvO-6tXXMkX$%G&#}e-R|^yeZk-uO(&8`L<}$qz!fZ#NqOH@L+PNXy;YD%JaNX;IF%}=;ODj%)kqdc)(AR$BwHA?EFIty-b zs+>NZFKi0Zws71Xoer=uz##xv1NcTDq?o9aEB6Y?0HzBotx>%zK?UIeF5;+Bo?x2RIb zj9#m4#O1hn8!l+9hwo3DH3qRBf(^H3Ss~#0nh_L0pI~( z1b`S5z!bO?8uifQf^-BI0v!Tu81TsfjRQyksN+H_0$n)tX<^6$X%~25JPH(2pv0M4 zHP>Vi*(kZ&rS|*H;jkwj55trePXiDm3!}KWi?8wtb+m*^ke;N$KWz`q_@Xe95OM&@ zXUfHF660$L#HdkFCaue6@_TIIpeIfTVKRy;6wn7C4IoT;VM)oogl9H7VlmWVe~CU6 zl9D8$)vAp~9U?ZPVmpR-q)0#^9>Ya(r2wk<&?JNo1o|)-R;0p@E@3@-@dGV&H3TU8 z>(*xgq!mjcLkwmYmzL@#Lhl1&zB(B+O|up-(xEtCx2bHsQ#B#6TJ;Zh2^%U4HJ!M*OE=viT=@J z2RAnkU1j$cpR3NAi+^Qq+H>_(dGq5$ozY)-B(rPudaK1@s6>XiH{CRWgQEzJS=Fw-S@epxe*QC+*Ney zYx$PKY*yjBv|#a(*|*o8xh2?H(6i=Tyy*Cc1vkjw8ua-I;T!LC{`cha_L9eIlXWde z^Uku@Y^}O};P0nXN3{a5x?ujzq3KJ}MO(hv`e?BJ)BU;S-EP>QkC%l{4Dgz$(Np)_ z3;u1Ld#2?4PtUjY^mdKtMk&UyclT+ujqg-hhBrb}-Ed&X)w|nAyFAxZfdN&rnu;IG HH+}m*y6|c) literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_1_4.png b/resources/g2/track/intamin/large_half_loop_left_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0cc6745c5b4087f10b3a28448b88a520fce1115e GIT binary patch literal 1359 zcmX9;acmNI6#iLiueEcxj8#<9F-1owc0@1R&0gJAX@?fuYkO6uWU>?;E=mMBrTu#F`cak7aMv&PcOCQDhx*eP+>*ha0tVNAaFzW4rl-yh$5 zudS|DHGSIbX#jxfD_2xDWVtvSALI+N8Odb|01$w>RgG2IcFL3~IXO83fgm?Gck0xs zd3kvVg5>At7ZenTq*5t{DU?c*rqz1AmSq{M)#`M*{r*5W+@DBfcpg&#k^q#tP^%Rh zjS`btVY3rX7v=Tqf+02bCi4))1&WFo3~`HP z)a{0$kQft6Ns)q*5IUKPk!viNo+DV7(&|$?g0v^93nUB@T&z$@30kh!<61_^*eIJ@ z=MFG|m?fNW#M0j6cnBqdkOm?HkeGptLvXi9<(FwgBoouvldLDhh2aHCF4W^+b{!AtV zftUd@CxUrVWl&5<<%XovmeP9CreKEa=l$s?@o`uvM^RiPQc0w=T%jijR!!M-*U8xlAa=ri?jViTT z+Gy09%?zfn;tD5;`IJ~lt>~xZX^j->B+w#*E(``p7*l7LA1^I@`1}T%8)|7#acA(8 zY(2TMa#`bww%x1iJLk>G=bxFx%VG_OKIG3W^BH#R+Y;LO&D@GFnyW2n4{AGj(o)gW zc72v-Nwlu`kL7z;9rx1T>&bEO=w9vWGkw*{N7>^*|o0^4X?6KMC zKD2HP)jLqZEvU+vPLH%whwJyhGD0*CefRi8gP>`}#&vrp9#wySYuzt*+i$NgH8)iBU(<=SoiZ_mmsVU85@0yFj^3jsj zk(tC8-<{g5+IaTCmUy|5JhAXRcewD(WPJX=KQz}!uHJeazC3p7Gl%x(!QFj-ai_F~CbGuAJDYfaVW)-KuC7r!L7 ztFGU9dcN<{uQw<6+<&(_uWU!F8XdU2Bh_LKx(|>wk6irt-~Uy&aGiZ4fBpuGlMj>Z a2?(gIms~l!<~@IzU}aTp<=N#Q@BJU}OJmaj literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_1_5.png b/resources/g2/track/intamin/large_half_loop_left_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..3200cb2b8775796222d838e3d2c5125390aa4469 GIT binary patch literal 1473 zcmXAoad3-w7{`BYT5sB}%gF9tTSji83t}=}CkRr4sL(g-Tg_QqQ{E#bXYY|!y2hG2 zLFUqWO%P4*R(r7*3BgEWL;5db&$Ar!euuNe z>yL%mbX)=SYQ#kFta>4Bl(;PlpPdN04IMsfG~`Z3!|8NCQ~;m_zytsdfDeEU01^m* zS#Tw^n4ph=u_!JE6b76M5Kw^_4j=&_g+d1g85{2D~y}2GmNR#StTkTFnwC zt@1KtFlb|0Uoy$Utd_t4FiVkwMsY@{4~VIloKER{X>%~+iVOzgFq#tcflP>~q&%HM zXe2O;K}}nYjMEzQIoYr;84JU7T&7mT0Dv(7Vb%+KR_-+do5h_-$lR{im?9CSPDdDx zq{TvEQkzWbQeZwM7E()la7j`tf_fpeilG~W0R?2$+3?FgEPDLv2R^GPCqQZ6^;H1m zQe|^zS59qSyL!9!2u!`T8j4$nM`P{Md&{sNGJ463=%~B0fNH1pgoDe5h zP1$fc)d~%uZJ4?Fv9xv&e zaFBap{Fu&jmymJ$ovpc7N{VNEaQX1`t2?(gw*P#$b!JYzriz>M(=pgAvbuhUUf^=SXVos!JiMQ$d)ec-~LNx@w9?y6Hq521f; zyTPCAOg$OXJJYw=YFgKxXednF-`91k=RUy-)m-Lhgw zWBs}|>b!U0&G6HEmpjLPyY3IpgUtLlj$KCvsuj`NE;;pydbMbGMOWJu%`*P1p2{`O zX1}><#Szh?IqJQm%8LWYPazUHCoR0CEv+2>*#91j)^Mv&Z%GfI*UNi(w0`78EU)$u zoPQ}Y(0y|7S?B$=r#tAtf#{#H=Bdpm8aivF8xEh?m?^&RdNZ#5x<&i+)4n9#>@U;4 zbTFFUrFC>@qiW;LX*a*G9{11CsmHf3e~50IzkT_Rp5%8+XW;$&r?mcdp?X)QMN(M3 zc2@oKWf@ECMfcqot1T7DDIT)5mb3f^bK7uuZ$^`$byMHD4ZWBU-g^FgB)V|8kG0L} ntuk7k)HU7|-m-3Pc*)sZx1~P5Z{@Gq9D=fW<#XHS)NJ}6Y}BdO literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_1_6.png b/resources/g2/track/intamin/large_half_loop_left_1_6.png new file mode 100644 index 0000000000000000000000000000000000000000..d81e7d2346ec02ec7886597816c22e32d79a853f GIT binary patch literal 1320 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 Jxa6&E{{uOaLfrrW literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_1.png b/resources/g2/track/intamin/large_half_loop_left_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..565741ce5f31821e4efcc0c8742968d18b5cc43a GIT binary patch literal 1159 zcmX9-Z;aD)7=G^`-EkgMCK+Lop^MptiGx&9v1rjA8AtI7lvqQ#6ewZnIEyLCLKZT; zzh7=}3;G6ILl6i!Q@ zAmfmxKo5b<0^$J4Zj{22#v(m}%1LBv@YHw$7#esMi%9NxG>}$9c}+5mgk=@#bqlq) zJYm3NJ(TKZHLs}qWt&tRLZKNoW;5kEy^1OgzY7R27798A${XSESeQ}c5iK1z3TewM z)NK3fr~_>SWL!)2_l%G@B)pOnBWu} zsPjG~dQseuvN+NyWHGJdCsy=4e)Qr_E)K(R=9j z?pp_Mw>uu}T5xyA-G`Mm&V_5KEi2E(FAaTs;qXfPuLZ+G@9OdG8^6Ev@TbiyUdF|* zmaMApHx3P*w7Wk!+17XL)!?vt<;ChtJGY*FwEt@E&F2JV@m}AeaajAiWG_{<;~mx2 zV+YVjc6RK8?ZY=GhaLa?J7}DwXSnX6%MTA9;J-7bPmk~0xaYS|@45AD=WiWdeE6F! zAvksF=80uvy&s-`^1SEs0ql>qpRZj%ZjhV4c)#4c^U;sBFbiuQzwzyjk?v!WFV`KZ z?T4kF&Uaonhi;68Pkn|#wpQ7<<22*PnaN?vSp%wkkBp zcU|t{rRDeCOB2(RPx>m?tr7pS(elvD@T2DaUq&wdaOl59PqgCnIdS*juN1FFMkiZp O!od2${)_MJ9QhvyK>IcT literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_2.png b/resources/g2/track/intamin/large_half_loop_left_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3a25657b0107f4fff40c3115e6457a7e1f6934e0 GIT binary patch literal 1140 zcmX9-eT>s|7=G`w$4%HD69*J2aVLW`I-n;tHd3)i#-&J)>&1nPShR@~rxqz@>H;M! zVID&pSa5`SOzp)!0^Yp67kX zN45nQ_Al!PfQ7?bhDO_UpdEMjb+z-QNd*Jwf|0Fbo7-bYM@MI8XIEEOcXxMBPfu@e zFNR@#eSHfSEb#h#K8gx(94m^vEQeK9NhA`POs-HUTGou?G+Qky04xIn?+S-K(I^p% z2a+i!lNIs>sZ>@gcB)o4I1&pnE`|4MAwrk^IhC49aOF&>Qc#@fWWzD$npO}8iG&yn zx`^c!tekRJ^PW}(M~wh#NoZb2$npUQ01}2NZnuWxy5Daw%#q7MtZ+(FNamzmQ7PJ*<)rOK zzBX5Ov)~cI8v!B?ejTH8-eAEWF0+aqO4U@Osat4DAU!gT$AV-k#N=hJq>6Szu4dG_ znP`?XbGC`xL6@0 zH7;2X8;w}0sn4_ujrr;va*=K~?ezu;pGXE|hEaJTDYciy3#s&UzTjAPtHy%FW2)%Z zBtnmp**I$^#ZophZEDqWwo$cOty#nZgaA|k9l!*b2B>3z+7LJtSCMHTrz-eCp&-pd zF$j(TNCc#KQHnx_fQnI6Ng~I9+s4zta}W}+sO;5ZWLgjA4Y^cG*tXed*r?5gM}UgE zSlufagjDn^4x=~2W-C^j%T(rzHB@c-JwOv!FyIceL{y~W5nk7#Mp`SGY1=Xzj)ht^ zn&(jwkOK&{y-2p{?f_53v-LWi&D?=nsc_-27>&yDxIzUIbRff0CP$U|z>GjPLOvuB zNb{pCg^Db)`S$VC54f)1{(*g?+eCQmw;!Hu_xBACZ5msBZ2#!?v)0PHW^WZXbbb_B zx@h?3_2pMC?7lSU8ejGDa_-0T#P8)JscV0J{@<>Te+sMGjT^@mqE$+YdqaRj}Z$EN)VzPeiIsKmClEr&}e&&s%PrPzCH*n+1 zg=YS}w>M6H^XX?VE|XVe8V7zE*s}EG$V0I=2Ue}&$KM$_wVwLti+$hiwO8)gL5_+C zPJMu_+_3fXxvS@T7wuW&ta^0lV#mRk2Hzc|k9Y6+_sr@3t_}MV_l~`A=-bNrwgL@+tR`C=50e~AK!K8f2%L<=Kufz literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_3.png b/resources/g2/track/intamin/large_half_loop_left_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..740c5b5741b06e859e39293933a5c1e21eb409f5 GIT binary patch literal 1178 zcmX9-Z)_8F82-UFZd*4CX|RL_Z`i=e4pQI(w@~DCH|WOcZgRsWlyJCHYN+#&BX(J1 z3Y6H80v9M*WlgB@SQ>MvD(^WGR^=Apm^ZxttKFRaE z@9}|tPkZaqRscYIUvJNjdR7X?)&)fBLFmjfoBG{*2j7C=FOi!zoDU_v9YnK zscFH21qgyPH#fJmwAh_aCqcMqn&LP{5PXs(Mk0|!B9+Nx^Z9ARFl#l!1t>RQ8H>+n z3k1+$$Q6yb6G=9m;d7c))MMp}LgR?nZ4nuJ*o(>nmXe662(2Z&#f)eaqE$ngGxHt? z;BgS7fXpFj5z%7SQrcE4I$+fWYdpL!Lzs60zyiP{h-kHj9S#}86t{bdWea|PDIC6= zN2n?O2(9z5oCrv*AE zae723C8UZPF}1{;uEI**Y9le+OOSqw4su*f5R$=QCKl6DDLtDlPfwes34ucdSOOu^ zRyyb4inzZ_M=L(18qAsUbS+c8Uz&p!+-fE5b`R?0aF^hAOAH(3>&rr!SiF$V7n43!!?`O-fWMVczqKL<3^-*YmBSL;g4hNKY zIH$(-yjnH#uvR7+24(>?0EBffqIJ55a704MN`*`&9zrS>X`hb^1cXpXBwP{Fm7oZf zCN#!1&Ei$B6Y?kwV=zg;ECqF@e*EMb%kK|<;LwhK4m|bCcl+vnZ(q;TgIy<2p0S+z zY;9Z58&Dapyck@KeBfTt&bG}!mzxvq9FD}Jz+e?_*BA35~w&V6^# zCDEbZS}(jt_ipsWkxktny^XmRHq3fP26lxvJvw@E;n=}NS2rYPuFv)lFWj~x?XN~^_IDzEq(fW^7{C_wu6tnb-1!^)wRZ@@X6aRPJL58F*`A`d9s6_Jkk2Y stF4PxExnqa*>ZdG)*h+yq26Az4r^Dot+~{3r7ke&+uGkV*}eDZ|7+s{I{*Lx literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_4.png b/resources/g2/track/intamin/large_half_loop_left_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1b5ae7529e32930d4ad4e7643e1d6c465e92c7e3 GIT binary patch literal 1513 zcmXAoe{hm@9LK*7wr9T-izZ8M;td_vqoO?-OJ+~{Y_dt)<9cQ|F;P*;FrUpwMTZU@ zGtOg*9WE+TYG_obtX6Ry8Y((8bdNR_jVYa&tUP6kcgtM&jjp@b=kvMGKcDv>@Aqf- z!aBw1{PFn!fYCM8m2YO|luWJ6zohs)(=XJ_Z+ z1&rtXi$pVDMS3L6?j5`{VunsZ|D5@niylLL{b8sa7s$l%z$IIcD@( z?O~5E7Gl$J9B7mXL-9-+kxh>}jkwoB1)RFD*AxvplhIH*eGlRQr~qI9umRu&APhhP z0WbqeKqCXaZWxP_5xdfH44J#tTbE?tg@4qcf3^IUWDQL?VP* zP3iSoqmjm>W|`E1V_pIaDy97-npBCQMg&a~=)|BOhpaLae%Z8whyVS+#y9II@cP~B zYXHb{)Kt!GsNQ}5!;O^@f>^?r~4f&fig3dbWylt9@B<&V<(5;DWlf zsS@Xasp;bO2~*>O7JkJKrygzXZXH*7hY?(1hCSP{-irTP*mia44H@_9l+N(G-P10g z9$D3sPg{)_pS)UixA;P6!=gjitH*q1YkOh)tiK<2=Wp6kcJy+~OQCPqkCe7@FIGOh z)?0F7MMLfOo2kJ))#n?xHO}JlRu+z*c=Y7Cu{(Dz>DpzSxcIv8_X&gBdKA2>qxF+l zzrEw|rw{Jz8lCsc<493k+1lkd$GOULy9|mlYUIMHu?>dD`<7k_U!XOgS_VHq+d1~& zt)BV~!YP|OhoW;9#~pirYWc{ydivr=f0UK*zJB>)ckiFg=iBZ4!KpJ|Jbxtg{`lbC zw#ma9atb#!m)lqW;Nu%J?Jx6>h?{tklS^jW8}$p0b^X$Q#djuI+O%osp|Vn@F?(F! zAxr7p+q0jkIJGt(Ee;>t|JB6f%a>{P?H{^VI#eJ#-@L4*v+JsV`J};X<71uG?Q8OK zkjU{F%bLXpCYR5yEiX9ok@Hz{$v+2kkA2YlWQ+4|-B2NVa$AQU>tF_u*AkaD&OcH9 z@#0Il+YE6t@mp`p^J|h1voFZnPA$4}qr0i;bfBLhsxV4qW0Wk&ipR-K4+V|;{MTe5oe5KfcdLwL*LY&pGy)g2bw?M4U5lw zs(opdvkS5Q+`S9xsS^0t2ghbyXg literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_5.png b/resources/g2/track/intamin/large_half_loop_left_2_5.png new file mode 100644 index 0000000000000000000000000000000000000000..524d5080704584249e2cded6141a375ed2a214cb GIT binary patch literal 1727 zcmXAoe^k=<8pl713i*reu!hR6Y;uZ>>!`TKjBeiw5|!ecerv?o!eU8{8Fs%F-DqM_ zBV`jiwy;4LPn4u=v1JX5+ePCP_sG1sT(a)hE-ucIPU__vUa`FEd)e7J@8@~W^Uw4C z1nFW~ufSk$-K}~YLlB}~NLb89IExiB$0c_p8ZBuehNl8gfO(hTrX=!Qc z>FF668AKwHL?SI(w1~=JFgP4GpAR93NTHCSs9LYro6RQj4fM3EiY%+E7lfp6@kF0xmV?H$*Xe zBIXm)fSd(15HKM`hnna$l0yzkJV3*vY&r<=6daIcrfp)epS8>aK*Ore@3(QyC^bv~>;7Su8S{OQj0w41~p2 z@OY>QHpr95v@T=2-{Hc1!FU(~auE?l$T~UQq+(gLkkf#8EK0vq7xG%7AzwT`i9-NL z06+mS0pJ9{4?u(n@T6cqu0?UD9mhg26R0_$9RhA4z+iwQ09R9SBL}y`xLbt>3^-;7 zzXs0*B0iA7M3sW7)3Dl2LWf=9@#up=XEYkblU_6>;ApcT6BV}8A9uIRxBHRsd4B&V&3q#WG zH_`N3OC-Xzn12%*2=HYxM5R(_wQ3Gq&t;n-j+4*vir6DCD=J~&ayqVK;ua3>hVY;$ z`TX3HteIaKI9MY_!1{@w>XKm8R|+<4t7zWyh3s79&1}I#d~|oeI3Z3wx_-i1obuhu z3$CAA3pZ7EJ#xt!b^XDrR;V_oIhKC1)R0(W2wBGyVO#!@mZ0_XbJws5^EKJgbK9S< zMLSBTAcVf>;yZ>9-77Es{&RZS@OOg=-Styt4luqhmbJHdzY!5HExF~td0=UEGpeY5 z%yV>}?imBbuFW$aS$iw9R+a9*-xlv{9Y0~OC^=lWqhWOT1n1PT#g)=it8HC98;fMO zoS8QTvo~8v+?lf0$<7VMrcb!g~C!}Zg?GwJnz(OP^xMHR=M)X!;Dt(}kH^_5i{wktiYiju062c+R69S4i+ z8rK%I#X}4C7}kH#2QoiZ#2&A-kfmcv_bqk!H9U{?3duZE-N%} zGOu6y+S3U5zK;|gntL*RY^-^EXTxL-e=L1wI&^m6_3*oARjyjDDqPsP51@TUdgosE*>b_KYjx;GN1EWnzCDFlUcm~Xbm#E| zrNb_mU;lQ~gO|Hq4QL2#yZ%*fQ61~t9=gCd+(qDaGfuoPFMmJdoB5>|h<|@nZQ|Mq zYt!?7VePn`JH{NKPd!VYN^k1^ajLY*VH)~j&UPFN%ni1%y9oENiQe3Nuv$u3v!2>g zA6sSpM1KDJ`9`UKu_gBHy_1LbS&HP#jt*>%MUJ>@<>))v|>VM!LHtqn7i=Q$vID<)42dUT}N{i}OGIV2yEi zVtQsRVQR^ZM0~JcHMs3RlDS*WelQ-DUOes^yJjtU0<~z$DIYDl`Wf}`(ZPnY0ZPST3eB!!@IlUQ(dW9^Cm1Nj3H`~Uy| literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_6.png b/resources/g2/track/intamin/large_half_loop_left_2_6.png new file mode 100644 index 0000000000000000000000000000000000000000..3849bc0761fc1e4dd76bf2c6057726a64f9dff50 GIT binary patch literal 1306 zcmXAoZ)_8F7{`C>#@ekw4IS3munvmWaA2cH)<9j3?HHxKWe42G1sW*WX^{e_>#&iU zG*VcB$_}ljCUtgFq?&?#vEfZhDA-_!Rccb9z$wivtm0&KR8nQY&k~aF^Y6{`eerpo zgKIi;vudBM1pv&_uU@&XTgsBtP$&|KYHDg^N~ID-)i{n(6k#?SZ8pZ`a`}9LNQ8^W(>z}&7Ev|8w16bUMx)ef zRoESBw@2&qlc9(y8nY!+o@_3NBSKm$W(b*+R*Qel{jOQaeVLZccBhTAF1V>bKk_K3$53j|UemrbV&g#rX} z2B>^OG$g^Jaw>^fvbZ~E4Cd|80-G*I^3$0T6eALeMkdoKloX;iYqd6lbeqb{91)K< z5sL8fR56PI6Ct!w5~oSQS`ohk3%jYP-;xMBGckWY6E7AgAO-*pfDHf^fG_|F0CGYA z%OY{;u)%N;@)=SE7!-Ih!07-_0!RVK$e;&>K@xISm~=xv2p)si00IXzDYTkpPCMdd zb)ld+8g->o;e0*?%U*H|KpkR?m61V(iBmDWmMs{=MSHa5OHOlHm?@~FK%)@q)Dk16 zuu`bQLa9k+&-Z*K{@CKkwYt&PCrlXFvveA8ZSEV2)Qt=I;sQT;qwv z{@(E;#|?AyrTT^K#;K{?Cu@!4ZOuKG4&SQ_T{%Sm5+y!ZhT6`LJ>0BrnCfnny?Y=k znR~SUhZ9}IWZzwf;ir)|*Wd0FRO$DBv3XOtyHFKlhU zTdN<)R~Q1d%d&?(QGMpMrftQCyU$gf=-PSl^z7?n59&_R&(W(!KOH#GI+7f1{6{yr zKQ-k3eZD}v!TMjCkB?lhzQlICv|wU~LNnP|YT)!^e++g`bN({aZ{m7R-L&}B_O$eD)2$7&!+$@MPtR-G+IK3p<+J{}v)sK6yH1`M+`a7B z@{4!6b_H&&y0f+})M_0TiN3ltJxpv|g#G*I)ZU&L{oVG?`z_b#LndU*v}kz!14us- YAjidD{&rMWQ3ee3Z5=DWZr!r?e@o0sCIA2c literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_7.png b/resources/g2/track/intamin/large_half_loop_left_2_7.png new file mode 100644 index 0000000000000000000000000000000000000000..d0717d27b8221958d33784ed828f631c4f596afe GIT binary patch literal 1262 zcmXAoZ)_8F7{`D6dm965=!*twQbva-R8p4%57NN_x2=pDJK%;Dn|RYx`l8AqN2pq$ zV#TU;xh4Y-;apDUD@iW##4N6%`egm6cUh zRn^ti2!hnq)YR72YV>+Nh8ancU>J(ytb)M1-EO}>7>Ps^iL{~=ibc!_2os>GI;&M} zx9c2EqsMFV2k3Bwjm3qO?9Jvvqye#*>Uc`yvgkw(4GP$xn~eJ{sR*wmJ$WTGT}YU< zfHeRI0YnA~^GMvQ%7oR$losZVu*kw05yFHX02%-mL3owQrPYck8Zwy%X*y}MWn8X% z!61yswU}B@XpFSZ#G+>2U~yrbXc7XXTcUh1CX`~MicN=Wjb^=xF;EXH8PhT;gDp#Xa@J7Z5i5x4VkAG4nTB-+l?vBr%sM?|Fmfi7K+ztyw9Fat`jX*@ zl8}p80UIV=t4AC%Zhba$KLf|QQ98e^%(1@MWxEuzbXby+C zSj;WUQa&%kl9$#7FlQYhYUq%TjiS6_5(`$T=!i}GQ!~*l%oI>Hz;%e(sIn3|JA*lG zl<2aDe6E<}lM_;2Nx)(jrzjW&PyrB@Sa?cy&!lxb1GyX?@IRA~N|9D8W4CioCyyE3 zxY18w5{bnrW12SPEqci6pbLco3`PkkQ>Ej_m)1=^{ej(EIvB9#&gk}1f26H>ZRd*a z?mp|l!p7OngRp;N{*NE}E=8UUznkrCoxiAzs_A)d&(^Ws8{T}p{{(+(KeAzQe|)v? zqIx`eXvvY*2Tj(76KjXh%`|Bz!LEl3t|`Y(o-9tpUm)+)KDyj_@I~RKdwkjVQVl+K z;OgAY{}yjOd-}qyZ_uRivw`ESC;ET6@iE`9dVa_CzB_Y&UEe?5h#oRGY#$!D(06{( z#LjhiTIzfwQ2RWiQ@;wAbp9Eb8r%3+>(agQwoKQ^wwqo5)@DDNSd)F-bI<(f>iu9Z zJ>KIvI4^Rhaq@oIaUHX+>DvdDtvAGZ>E%`9&Wb(t*x{q!ef8dJlWRYpx1jy!W8MC{ zSDHUqHPmqJM%LQhy?j>Vjzz8G@3&u^9NMyU@@(~ERiSXZyk%b+-SpDoRYN<*+A2RZ zH;tSg8u`h07v0h0zrA$*PuABnO$F8}}l literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_3_1.png b/resources/g2/track/intamin/large_half_loop_left_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..72c70afab4965c3252a6b165c95914c829143812 GIT binary patch literal 1152 zcmX9-e~i;~6n}8s^LW&|M5{XPES11^!IceLCW|Q&(;|HE|ghH-J z#1oDAk|}>C%jXMXv80r(RJEqDBo_2LWX>HAdQ^$XDb#p^EoFk`f^1JD>$cWvm;oF_ z5~2*K0+yGtQp#D$yP9Pj)qSWbqA3+2(+j`@h!`e2opBsj2}1Mx$9aAt9InLUw{kgD zD&dsN%eZ~K$1f5AnGD7$N%bpPHlcIrqM(&U!w!3B+!yfr1(K8Kkj%|_GT;)x9R^Pf2olP-zIqX9A%^yekEs0da< zs$`U!o@kUZElWo=)9IoKGDy*3hK&kBN|LhCXd#s<<#Lu`R3|4JjRpc-1|ow|c_&-M zg)$kgvdLOVt4E6sb+TEgPgPpTK{}nZ+a2(D1=1(^{R+n?#rCpTA(fuU7i`mNRv8dE zOc9)M(W6GlY>d&9LNObj(BqX-wq7xt&0B~82m&YoDu50!0Z_vLwZXF}rXXEIc7-QE zrXbCL5dfP9Bmk1#C`BQSM@9sdlgQTKf$=nOEChKhBDv#HGOY&knp7+%EK9G~E!5`1 z!$8FxjOyk!k7y9G?N=Kiy%{aGGUX|wiYg7l1+)hX_?#ie6A`Fbm{a2sEgdiFY0K2> zwuzcmn&XfG$OeSkUL@Oe4}m9Q*;JRxRgSw4e&E31W&zgydVN>B@9FP*Zp-rFeS=#+H&=Hzr>(!g z91Fa*{o?(Pmu$MQ=fx|Zz0^5Bf6sxhzVhmgRPXs47c_Y4$3cU69TlbrJ@b=Uj zLk9oz7g@WpVAtVcV#nz_yU+9v7GGKDwnxvN8+ljhIlpCW_t&{VXcZRPHhk#nw|(TA z{6{P5pDsf?`};=5R?Od<4$l+0XO^xx6&xAec;bU2oul6jT&}D=cDR0d(L4PE;}=fh zR|m8m$8x1VZ_j&l)1|RP`udxD?hc_Jmb@8VbMueK5A9pN;LOWA_n*v7FTeAB@`>NO z&U)7$SoX{K+v{%ap1wV_q4m?nbN~Ijc=&w&{ocRS{XI`Ud%SWFk4lT@*rV#M>unjK Nf5Ya!v+K7X{U27b0^|Sy literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_3_2.png b/resources/g2/track/intamin/large_half_loop_left_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3fd5ddc22e2fbc3d08625643cb45b03e35f5a18 GIT binary patch literal 1235 zcmXAoe{2(F7{_1MjoT=sm_`a7FAaA*yM zG^I$z!p>Mm2~DU=6AN5M!9|NJ;T(r<(!hZQDip1wfd()%*vv^b@>)XjeSZD(eE;}7 z&;IuH_8HS&nFauu(YB_wqgI=1F}qP$%kPVOe*i!S+TZJ3T^pxNnNn9*r_<@`>+2gD z8m3O2iXcd1V`EcOlgVs06n-U7cp>iQHUQz8R za9M$u0uqNL1w;uO@=0Sgi^8%ER$XvHf>1RBzyjbx5W!&Zqo`!DBuH|AWryAFyx;#Q z9*2s8;zl!NvauNHve*Ty!;kY4DaPoa%tSI=BI`;Q+!%q{>}Ha)GCbiFXd%Rg;;wjF zNNawz5YfuX;<#dFwe)l-c&fO#N%2zUCiYwl?nu?04z}i zPa5b9%4MzYA{{C@6J>9vBIT;7@a7L?VKUheBONArD$y7nr zsznO87)0a@eitTrtT7)Yhqz44JuLh4O01k$tJO!40>A-)2!I5D48Sk|B?Q2lSQ`37 zC?{Yc&su*FpR?l3)3E$4Z%VJJO@tzh6WB6@$e?U*BX)R$poLt z1T{@Amo-@PLfruO=_$#?CNNjpA{0oe;*_i2%y=|AkuJh~#bN{mhS+TeCxv-9+~;N_ zzb6s#XXJ>c%H@Izt3`rgU>d*zfUw3QRI_^_H0X(1k(21;%igrl7{uj-P1OKY9KGJ37{LVCDVayK8-*t#wuB@`Jr! zd$!gsoxXQBl$Qk-`g(8oM4nxnLp#U%S{#j6w{%ZFoqr)YHeaL0sDC;xeJ>@)Zd|%| z>%W=O+0I`u>4v8=@6;UlRe9s+p>O2C@v8$rE!WnK_H=oYgO?Y* zOIu9$wgbN+^rmydRSwBXQ#Xz!mpAMQI*+Wy%~o#^J% zx;F-Q<&3YLG7^99|G8zRJHLh6x@gAY(VMLwoI$di?p(Z%J!Eyw`Qu@ u#9Q}orU(Z*xkZtS&2#bi&QWDU5$xOZ`nQ7{7x&l5fVS1^TTiuY+Vek;)-Klo literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_3_3.png b/resources/g2/track/intamin/large_half_loop_left_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6f03290cc2022ee8013973c01afc9f54adb978f4 GIT binary patch literal 1231 zcmX9-eT>s|82;U72jd(#%nUPDGNFVX3{r5C5sKHrjufxw^>l$DC6wHNDZNmVg)EmP zOtOOsMMoGgupBiRWYL9>q#lbdGV~xrY8+(X4u%Yw2PRV|406cN5t8Tq`saP}eF zHWNk*X|gh?ox_|0?g|jRWEW#pFhNIBtdix_f(Nyktxk)b#cAH=7APUagk(-u1yu`V z3K6XwFV@lq5*S%v@&MEiFbT2ACT9|Jr%6F`g^Qw6kuvZMgBy99+2_Q=E_wEC4Ku5OD*Q zGP7CSQ=~#Aw^H_{DpIbRERW}FP>&l7Hj~MTT3Fo5+wCIFgt+=Le=-~yi6;vgty&}j zM5CMI4M_Ko&s31j7VW7^r$-HUtX_cy7E6&=hbnh?h47e0W51#uYx53Tj%S zT-IQn%j^M!Ur$OVMnO3h6AE^z;!ae3saiBUt`=dwf*FAgMVwZHn?$`V;rGx|z^g<8 zsYFD}B+7*htQKuF4OIXO0K&Q#p*r0Qn1lXUsbq^qUqH-eDYu*TdU?NJAgn=~HA)f* zib&Je9D|o#7RaG6fWa66RT64+{rGKj^nXA9fo(lqELeK)dSAUCSmAi5_w7A9BlPE) zHzqlT;Wa?rYd?mrTAAH2f8hcCt&>xe=iGCS{37Spj*abC$jJ*f4@~ZfDX$d|s`9nX z>CguBJ7&X|Cr|J09yZ?p@o?|X{yUC`f5cwR9qL~&Y4o!TJ$>ts_J?)*ubLM>lW!c*nd0Yc}3GHwANh zlV2_0@{0d-ZFS$^-BXnMYyY8sYq_gK*D)~TeAhQqwSj--pWB$`^|K;6$hkHq-))~V zG~>~zNjGKjz8&xV`N@ARPeY?^myeI(LyNW^ySrt{haH{k`qs{r^`8!zN~|KD)!oPqUB2}C?EQ;|?oU4Z(aq_e(w?bO?Snq* t;1&Jj*6k;r9lgL9ao<{X<3l8oM^``r0TAK70bFDUw5qA@jpLlBkBME literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_3_4.png b/resources/g2/track/intamin/large_half_loop_left_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf5f458ca03e9ed466a765ab1e0feea0feafa5f GIT binary patch literal 1229 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 Brquud literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_3_6.png b/resources/g2/track/intamin/large_half_loop_left_3_6.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0319c9ef824e84a768507dd7a80c792f8b7f10 GIT binary patch literal 1257 zcmX9-acmQH6#i{x+{T6tYi7X`57WU3H)+TrhgLb^Hal`;2i&koSqhx7kvfieN`)F5 zXrydqJG4rJ1&UU!q_P?oZJ=PqBa~U>B#Y_B1qvxxQ#N1pqL0d3)>X3S*Tr)oLo;I^Vb%01a5VqO+~CR#jD1S66E^nn{x;)zs8X zo;(>rklNbXy1F{O(P$(H6HQYb$MC#O6a}x>8w`fy@q{c7t7@@SB20iX1D2_`*>p}P z>T;WWeseIyM&tHmO3Wz!Ts}hMh}B##FnW&_m3S;H5`$hk6|`pJf|~Xf)W}3pwitjN z2QCUo91<0flwX^T>Pi^{ESO-)4$BgRvJn6l06T&RTCK-mkT5J_HV?9F+TqB0JY(T7 zOr;Ej&PeG^ENZr676G?<2wpOaA=(>b0!c2Cu_sgqN*YWSqnX1Qp0o+H;A4GZdpIE^ z6pyS1ltMH&kcs*5`%eJt0OVoN{|kUc5$4a=R+=6-0x3?!%8BN8y+qeix3zDfCUjE zs-=?#E`vLAv@dUq6kN%oG+c@o%Gn86k88E0UT;B-9B$&xW|3ii_R2AL+#g6s<{h01^N(0MY>D5dbS-Y3LSV zECSUmivfWE0SY86KxF~s02K7lPrwKZ6Hb`%K{Wy%8BYR+238hv@_LU84@j11gij{D ziV`an6j;$RH~`_UrzAZaLG1}lP|Z@&7Av`u6TwV5k%QSHrUN93SWH?Qg*rLH?O-I2 zGZOG5V*y2u6;v6PawNmR1b`}lu;PWUBKH^uuRD~_lcC^ah?xv+vvE!*?{*7>$xE7o z6cM9|6k{4@@q*O|?I`qMFhsxv1r??ee)75c@kc-K?&=N>yz=MBo0U1Zyme{k;=aDm zYy)Gn8rlxPkuBd3t?eDxe8mSIu0Q(CO?=gp?sCoC*y=H7))O~TZv1RcOvo3T_|G>I?rw3iJ;Fl(`A$t26srC4^ZH>*B_WX5gsA=h` z>6w={o?m~6?isp!zheewJ%XK_Kel9O&Fbv~b-ymS+ws19^-z0P*Aa`n$kkqL=(_l_ z1$kony;$q@TP?oJzE8Uwuov!3+c@gDbaM%B>)(BB?y_~-cSdGz9e&<-_~yXVO>++H z_(U^Mv<;SLFgIqtk(#snH2L*GWy_V>n#T~rCYR#wT^(GN2K$iS-3?iH1>s;X+rlqoWqOfHvKS6A26 z)F22_TU%RKSEtlyGz6igD3WCjR;!ukIk(##2!x{1STdQBq*A#|XaT7QjG^9aR@m)o zhg0kE>H|S09JRy~d|LG83j&2BCVf3;P`XTNpA`%7#IT!61Wf5DC#5_^Nth@lX%(>G zz(E2Zi-b8O;YD*{MLDg4MJ+5_;G_@2qy_*601JX}DC$zFd>AI^^}`I4ve|Mj*H|b7 z6A2Ze(2zw> zOmrnBzgP_CClV+L6f98MfZ7Q#AEFB>=_qDSkeq1p=6RvyOTu9WS6Fo_2aS78`mmLX z^Q`E$<^p^n;w~iu6Ji7wlBhz5;U+?7BPj>Vdac%=!x8m*6QPh8i{&$!QmF)iiUU{x zA;KsXSFvf_mZv-gvru%zOTJ7wTAa*Hz|Fvv#}H>EsBl zTc-_>M1&#|25pAHizW@UsG$pkK?24|C>koquY11!)}tTTZ0uq|+x6dGt@N3W_GR5G z`}+IW^;~P2*1i?SPtIF?D7bd+$tC*+2f)4Ex}8n`oH>1@?-0H7Xgl%)kn>` zu(HSKUiQSixvE9m8~R6scXkZiP(=3!2G1{^cHyFQ>%p6(?Ten(_nXU4c{en5wk_-ac4oG(1>>7O zo856_YWzFf&`%Csb;$3GpGzozelhWObEz!* a)x{{6yZ^hfHCAB_I#zVGA7B3RyZ-}`*-WPZ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_4_1.png b/resources/g2/track/intamin/large_half_loop_left_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b498018238348953b82ef0654ae9b56439659544 GIT binary patch literal 1254 zcmXAoZ)_8F7{`CC+is&QbrdOCC6~~Uf~OqG4N7vjv%6wP4tJAVETLqDG@)qKi=3o^ z>Q2^?0*xLpv@XR}EmHK9Mu(oH!~)HzP-byMN^*%6O6USFswq;i;Lj40@AL1?^L_Do zo_&42_O{s_vjG5YYkO?#>vdT@o^8?8bM4-!9smvKTi3s)KF*potD&JmqtP@rHa0ai zH8(dS2-4Eh(%RZ;FqupQfzvd_ag5vT6a+pH2!zAYL_$fYr&YCFsSr4zNWd~$r&I6s zqCP(!43Xgo8&9~BDIuE+6^bz$LmZ@*XAGhPmE7j2K#T|IRM?SC@MvW>gD4ESMk{oB*jK`A~#XHd` zOr?y3-b5L27A0L~JC8X;!Yz?Pgbv8eNRo?XU5e^KEk@jKA~}q4Tbw-22iaiM6;*g8 zC#KbrTq$0trgRk0bHLyMs2`Xm#1b{w6J}?M;&YBrL5P*5G#qC!z1w2+*|Cs=jJxTi zz~ut&d{`*TfpRKb&B?Hs*6A%~%t2T@6z$`iU@#pu{87x zP>w-0&zb>GfDsBPcA&BVascuM7$RVdg^CwugHVlu$KWl1p@D-%yl#W&!$u@~JmyX& z1G$`BD&=6^%jf}wUrR{_Hio(sGp~|T*(q0i$!a)TQwlI&HtT@}MeMlFNugej@Ov0Z z^u|WSq&$*K%Oy1pD+LR~Km|Y*Kv-uHtlK@2G2o9BiP4!n5l+SYo1c&*Lazv_dJ z4l~<_m(Q{7fO69Vjc~Z9 zoO6CmapJ$sTp2*IeoAc)89`(-tKL(y2{`iH>t>K}&+S~g=pJ}`7#Vt2L2*pd$X{;CfB-6PKoti1M$W@g*u>O+PF^ty@r_vYW$ z&K=w1g2N5F+RiOFWg9)-9shjs&fO;BW$VgMtAju7)=Xc>pWP(ImaP!qdTP+2sKAwQt*Rp)cvJU8wNtVAG1D8}Xf^ z(Rkm);vcZi`QM+>ho|=SC9FMLR&MK0PE5U_w0|-+@929!l4axowsq)a?u+9K4c%Y< zHqo)AyY{}U+1uaO_*LJ`zZ-^@{C5etQMH}T4$Obplbt)(J2>ybh4zDVw)x?tRdeO- zJ-q`RukWs{AT@h42M(04U%k9N(q-HgX?_&H`Oi{#v+1?Qu2ER-6v5Ar+OJzTd^BE% O1=g5QYy^= literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_4_2.png b/resources/g2/track/intamin/large_half_loop_left_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5ba8a71dc62c853b2f6fbc52ca995653576bf3 GIT binary patch literal 1313 zcmXAoeQXkU7{`AW+pA*57L`rRu#!m@=CC=lt6t{W9){{^&-L8U;L74HlF9U3uL~1Y zsyMM>>1|^M6I42hBZ`W(i^O2Z6cdt>4Lh{xE{;yB_%cT=aW&KKH;l>mdHd)2{_%O9 z?zOFknyGW90sv}Ow&>f+bx}Fqs+N@V2C$_a00~&TdfkfhIBC+Pii!$}L^65u4l~5fZa6nU1lSyv1 zs%#FO+k^Z3bSPqu#rag)lgkH5En>u_9Hnp?RRXIC@Myn_jQfnK2qz}p1u-~YOc<2F ztOYg#2n-V9khn*d4arL>B`oM*$qb(f5GK?B&;XbbgpO%3JXvbnBoMNHhOY=uqY&8KdqIsn9^p@dW?98 zC1X63cClF>pAWl=ao>144D$(@9MfoxC}tr@8^d^5)^D>#Jf3(Ukd8)knM|=*gh0sw zjSoRXGBT!QQd&!nbmvXMf-P1QGNnl2S#}&swK5r|P#9EdMyq3SoTq5FxxCB~@pzM= zh?q#1as)6_2+zozW|d&o`W-~r&BXkcWZ0RF`wQ7bsq_#M02l$_0T2KP1CRtDj{sN} zO+p6`!$Bx!X${~|;3YuR07M!<20%^$Jtz#)FlvP~l+xw!=ku7~_fmW+MVd^E)yg^? z9IA6+Iv;_CNiy7|-q>93(<}8& z>sq=G9^Crt;YHK-?SkQfD^=$VH+Lc@@?h)nlMN%;Gb5TF%Yr@k#>bAfFZ^R!mx9!qDP1kgdzI{pD-uv0lOU|u1D{uU&EnL6f z-q}!{>~8w&gz?z!YhC-RYMcHF3^2HTuj-ejv+RvCUK5kO3BMPwz20v*jf}E&uQXo` z9^Sp!-h67OV`$FcSXVVR*gJb-fd8mvcW*COw3T08vH#35n2B+=46WVL_XaHV6ey6v`YBDnj;JB@nV z_1>mcPnORN?UUxbT^AeF0@WVcbm8f&_m6cBtWp2X_syj?AGm{`r|X;B*%?PR-g&Z& z`BFWwe|^sft)sUbr{g0>dU}}CVM(8C_#4~Or3X4vIM`?--~4lX?ZAEOZ^wREa;d(i zZ%d?w>;BwP(|2`vru6=MJE-WDx(x~Q*n@}D`@Rp=bTN`oU(6=|x8p)%| z<_tdaYCys_ohn{V>>awTzWl|!RiESs?E13{tj_;#5*e+SvA^DU{K8Q<@7#|kk;jFC YZZ_Yn599|c%ACQ<6|MR+%^&XlAHMocxc~qF literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_4_3.png b/resources/g2/track/intamin/large_half_loop_left_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ffa09d38d3b7b4d2529f6501624573f6c885cd8e GIT binary patch literal 1433 zcmXAoaZr+X7{`B#iiOFF6)xIX;mJByRIf%w?rotUviZ7RlTPl!>&?)kB*S8pj0!I_ zTCCy5E}EQSM~fC$R-|~nYuxfWZbN4mEh;i9%vw~`v2^V>y6!&D^W5{#^Zn!deL5;D zB-5tOo(ce%CM_#jlbQ=sCC#R!dRMpd9sm?j`B_zIYE4T^OHWUyP$(H08JU@xSy@?B zDm6Phd&-n4Ob&;GAbgPs#c>%yD70FQ(P*^U93GF??;i<=O&&+U%Iiqx6y5K+qhCIz>FHTu9T%myeFJS>C z59m-}!Kp3{l{C{sE=D52f-yc!DB+|9LO%xp3;-pSs-e>jES81Kbqa;O7&fRUG@fd`FrIYZ? za-oY5`LuY@NQ7+KsM{DPZONb;M*Vb#fXkC30u?IK;kcO~>^hytY$hF!pw}B28HvZ^ z5U@0WYoj7Ay2!`E13XnkWQr=BF`X}N8A*6zlc6M}@#u5`lPO_ya2}r!3biuKq)Z*t zd(75BmnZBGCL$x=pyxt{QY3LZm$w@+T6HAPRsS04)F(0Nel! z0uZGFm;w_)y%xHiFdV|TK!X4)3cL~!#sI_t)G(nLflds1)i7X!VJCQFya32VK#oz> z1k<47SuGNmlkoYB!Js=93&NBZO9c=;4Ye>aCtK;|YQjQGT;WdWd`Vki(i?%HIF|tg zY^sD$SDHD{^1_sodkf2`w@0G_yX`I7 zKtQBW;A%CY*J}{IQNXvMh+Bk^GX4n0i^(}q$%Y0lv?I`q!k{b_e!&9Tvo}A`yru#N zs~%k61VFk(TJmXCS;u$P(u4j*ISEKE<dQS;}>ki=`dLZGW*QjucYD$o366ohMqW8#Wd-cY}p_IdiYHGY?U1|DF7E-IDRA z@olBYPCub#e(=Ha>{mq7=<$n>7mI(IU%I5Pr%w22rsDbS*m-nN*0;N5_BnU;z%Tcg zt^M{!&5n)vcg|N`eGTR=7^htryAw#;Qe>2u6u*egyY_P4ri;|e6N~xtGsy$ri;v_W zX*<1VX$=Lnm89%MO`~P&-E(-n{?)tYi5cDf8Wf9QDa z&C4&RS3GX2S~+L!3Uu@4*+ag?m5*75^=4Ttthi!b%`y#L&WZRoM3 zpJ@89W2ktYUHn7yc-mNh6uZngvb+}0yYYF;EHT9>x>cT6@ZPUO?L>MW_sWHK|6dgIlw;8!sseP~+reZcWwS`!Z-b|BQ(P zx3eO*mK`k26hB){zkbg&Al^DF$6C;E^C^s>zc2Sc9TR53RK9?;w4&tH>e{{k17VDZ AJpcdz literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_4_4.png b/resources/g2/track/intamin/large_half_loop_left_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..68cbd344c5993ab24050dfb995aeaa1ab4a0622a GIT binary patch literal 1595 zcmXAoac~lM7RP@OB8h3rU1$bJrV>kYBqa{9t8PZ@p%RBAdvTL&8q86PElsFFyWXKk zCe%_xd#JQ-J#NIxRH~T4D@n2D+HFM#8|tJJjElttb=xwL8lv%rL_DLl@mD&X`Mme$ z{qw$me7|pB(?(74!o>>#0LArnwJo_>maA}PrxTh?5{p&ga4Ov%+#l43!saOBOs0HlIbW+RA~BIoE1?WBuNfJ%tHW+>G)S_; zjx_6=%S1F{pqB%S3Qz>!Px8Y~LBcQ0M#V6#fLT3!L_rvl0)PXc=krN{z$O+`GMP`Q z9K`WqqcLH#O?$mC92O%&sY;~4B}%1Y#1%+a)AI9i8K-^Ay*ib zN;8H#^tof!pwl(%53&&^n^XZk#y1lJn_fbhr9}Z~~j5;9e1HT!M z0!$6GINxLt*(`DwrSba=p^%+n0_ijZb6R2}K&(Y7N`(6)dRj)ZN-CoZWG$gNck~gR zgo%ty2v7-MqY&s+5)*+~jTmJ!`CPV8z{NxYX*L40Nfg5%4Im33%z5F+$^DMlZuO*6 zsK@;~=4e!{(-9_+^}$p6W%1|D{?jS?44E zE)3a~ttDB84)Rb&$tc!hgVRXT{%`aXb z-gJ;hBGedTi>$)x;*&OfW?XM~n<)7Yq?Y*^} zBRxYc$o7)6^_Nx7Dz@Vy$CEUDvdY{t^uF!>%qpel=vZfMw`cbOW#cd6qMLWlt*mS~ zFJAaPx@`PJSGIM}jZfMNtA66X!Tq!g-=DSBUFx|)e75p_^{*z4GoI>K653Bxo(mz;v>2&{inf&Naj$u>l-YFY9xLz}`j6UW(y5r${3*QVTr$-{pW&8O2S0nI9*&<>? zOlibjCH?Y=c46^M|2|019b6wwdO)GWzMJHN`GNE2KHu?JaC>4~Kkx0Y RbD;;Ie#6GvPuFkh{S}P&+vETM literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_4_5.png b/resources/g2/track/intamin/large_half_loop_left_4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d4e0dc2f3ab51fb9cc01ede33aca2c95ba07dfb5 GIT binary patch literal 1359 zcmX9-acmNI6#h|4uPrKFXof3VXfWc$%JkfBhPhL(iVa<_>$OA65VLD!7MJUGZX{xc zN*wJ_NhOggW>Co_$|}aXu@qa{;j9iPHg!WoH>Rk#H3pT%npF22#^ihNd+(q3{qcRT zyQxtsXet*=%mNHxvrTViT!UE}uu009OH0!`JDACX>W$ zQQ93Uw}%Xb43Q`sPdL&UKcPUhDn6qTS+x=;E%&nMfQ^W{web*>8nb6p{^?vyEd~Y! zFyp{UApr)7It0mpFdrAgtP!LW5&^pqrKj)0W0a78PF|k>#aA;Kl znuxGe!bT_EY$j;SMcvbhAk4%BLQJmEqL>jU%oOFIX^+_)ayX)1Zz3E{PfX-;IS9lI zkh>8yARr=QDy}f5342E8&zd7S=R`h~ok>nZzCs|tL?X3BMk$oEO2ukOyP2klhEV;l=wlTlAL8O!IVV8MDV04xAb0D=IF0gyoe zEPy1Sg@r*sOeIMm``IG4GaUA0uUCwuovWBLTs~mG8xR{ehD@nCv-Z> zWTGt=236WHr5i_s1RB*SCrCwBD}x3Jw926eg<%{fG==bEwfsjfeqcv)BL!C9yRo$} zKd-M_)AII#eTVdCr=+uNL$F^zt55ej{zDC_UAS%H&fPl)nD$MJD(u&Kg|Bp9tiWzB z?V%qJ{HODMP|~!ka_xdem0xeHvt)$}4(hZu^Dpn&&?Z~)MdsU1X$RZkoO9H2zjyuo zV%^;8dV52&-ehZUT>IOFr(jjTPhY!vgx#j$mmUvXzp%6R)*HMVM?3ze=bboRAxjyJ z$o_erea*;E$eT2nczLxHP^_lTDRptF9 zcUPA69~6vKb$oxbxgxW#{p7wmdo<_K>m8Ea-(c1w+1Grdt&y5%oDR;%%iA89Ge^yJv=;qYS)L4z6-x|U|2Hs*-)4J@X2%RgTclt%AZWni+az0dG@xU zv*;TC3??O%+TQKU|4epyW<_cnL(87k3TBDi) VOM8!Ne<2m1eqCeT>9t$-{tqu7P;dYM literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_4_6.png b/resources/g2/track/intamin/large_half_loop_left_4_6.png new file mode 100644 index 0000000000000000000000000000000000000000..f5520753ec18dc75becf03530be297a04361021c GIT binary patch literal 1398 zcmX9-e{54_6#dw*?iZ<2p&L(ArDRn)Q?@r&wFwV>gKl)$!#!B%3KT7)j0T?Ykg8QG z6sfagT{5A}E)@3&g;eRrl!6sXs4%u}tJt|t-bjgsb!Ln@Dolp*SweE|y}AF~laq69 z~$DNI&PW@@tU7?0!wkP22+u3ny8XU&?Gl9G~|nwplDmY$xT zk&(gSa56J9v$C@ILZJ{vB{+_eq(Y-n(KKZ;nQS(P+wJlDLo6FlBv1*!WPniQs8l?i zPM|kP%odr=PB`6aua6D{Es-dLi#bYJ4yE85l>)0q9o}S|T(PxB6i>A?9hMh+ZzX zC}mC!?xo3~NfWlwQI{$1vrPwGFzV;>q$05rm1;3uPm&gm#;(`9Ef$}{5%hQ>p-?;? zhXA2~$i_jPT-=M00kJlMo1-cwruW9Jp@cj3C_D{w#9XeF&zB2?q*$Vn$!G;(Rws`c z+?LiJrg z0HPcKlOS+tprMO_Y?u%M3I(kg@W=s607wEz@u3BU3;{hl7%)SY0Z)vV0tF6~1V^Xg z8};H=tK7+Gyk1i<=!(UHFv*2z0cyy>tbBqIs68Tzm09B|S3>Wdwgnz}A}|~m@qkpo zkxRHLOrRrCgH~ZR>X=re*VP*IyJD;#CL&UW0(t;s0fb2}%t^YZKuiXEG%B^*o`Mbp zaFvSG=`;odg-T3Pi48+tIO}zHocwBF+vwulefJ-`H?7>2DAYZ^zHEPX_OYV#H*iUMP0ua%T7Sz9 z-R<9pXX25@Yk$6;(!uK`k4+yOJ+hd+-f*_NJRwV~Iy5HdWqA;B+4&{dn%a)-lQj?4 zm9z~nSnbYz=7TZw=bfsNK|W#nd8kR)w(e5dnMr5%$sa#t2hfN6yH8DU7v`f>!SfH{ zo>BuGlj5fBrOJw<+8cb|@qt0}OzGTAYzEyW%Gs~^zIe%(UCkF>JTN)0NW19t+GkTt zgF|#t?MLUXR{CF>`5~`RwvOtkzt)e2zF2$bcrJpCl=0rSxcb8FEuSp-WBt}eyX|E8 zzR$An@9lkWwchvshiv6eAQPq$(dZc$%{=dKU73IC$ zw3Fuy9O&O0v(FXmVYg%?ZvE8Pb>jNTnZ9?AG&rMpM@=(*cd+tuZC8zmTGl_+{`E~e zetXS^9qljl&Q-V9nKx($E_c0#f8216-rRT8_xBpr-O{$dn%1kXthjh@%beO4d+p(2 z&fy0)*EYQ|Z(i=9slr0>w{6?a7iX{|Dyqf=vJb literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_left_4_7.png b/resources/g2/track/intamin/large_half_loop_left_4_7.png new file mode 100644 index 0000000000000000000000000000000000000000..06467a4df9510a3aa819afda9f6bbe30b94217c5 GIT binary patch literal 1201 zcmX9-Z)_8F82;@KyRnJ~sk6vAYSL(xW0d5;6Aw7%6}#ndH+N_=8aVJ0YN*?ZhZHEG zNOg@CJhq}WHm1Y^b)4G4hz<5bKQy7yh8$yC3S6>gHc|t`Myn}ifuAKL&-?Go`y|iv zzMuB>Iu^ApYXbl*>gl%k*Xyc!w6`|Z^OLt$dH`qweOtC}u8$234ULVBO-)VB&CLrI zENE$IK@g<1wRPdbg(i!|LJ&5Fp?RJaMVBl~fj}S**FYoTH(&ftiXGDxh+?=&l-H6{}i0VWf1=97}13zqeGt&(+M zK)`{Q1`3ZPBqS3;3khR2kHNAHRs}e(K$x`vzyTm2h=ihk3{$MuI7LlxT+Zz-`2BZd zF__6IYV=Y^E+Hj|jmVWD`O6-k%GNI@1P{~AUnhHx<)JR%!CqcSt#>?{|QH*-M$xtX0i)pD;acZhksX%~9z#2h_ z1j?i_K99SLOt9pNm%ZtVGF45M=LQsd)U#T( zNCSaIWFGYkX2pX?eY6_n(@}R$^%pYHav@u--i0&(P5@*86aZ8JasZSN0PElw=#!xu zhkAjt0*L@&8l)UR=K$mZluR&0z&Hm}9+(e8Jq{ijPXd+!P7d*iCchUCD~?25Os4~y zrk2YZtaD**K==%_V&dXvA!U_xN~yTisyAJWIS;g;( zhy7_atYy`*o`uyS$+9p7pbj9cdl9VDJq8x=MN1_z8hH#kpJ!Yy-s2H{K8dgeNLz#^ zREEf~wkZxTJ1tN!L%$V937Ddx#@3IY>@@uK=m+-o_wr!V?Hjx6z0hOt+WO+iiP3?f z?CK}%2cbH%ZFKqBr=7?jeFKAMy2{M>965dRg~{!SvDxbSnD$TC=|k+y`a>%=NH^`C z&atykjjdyN|<~C37 z>)6wE=3dKk+nq}*R;jhm!F>|%kez5&Q|3qjikV`cmORnjk{H$$s=+Zk) z!?Uq}*B;bQ1;4YLtPRb+b){`0xAb_o?Z1&z@2}%WHpM2V?afPv#s@p@U5KK;M)!_= zKX=a2Gs!#9_LH@}VCdYk(D-0^KUU+O(DeBhPkGcWTa zSAH(fGdG_5s^iVwh9z_TcdiZQMC|nZ=eyRmXYkz7k;#jvJ`sk|FVff7badbT)Aevs z_nt)U>n|_QKeJ=Wj`5x!9(+_>Ik@a6^xEvm@WZj&81sPMNNf;}H0;vhncohlchq$U NJ)3*&Kfbo}*#A)=6C?lt literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_1_1.png b/resources/g2/track/intamin/large_half_loop_right_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6b6dd69527a1f819826324035179da3000ace856 GIT binary patch literal 1285 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 yo1S6Mjn_W3l1OEd^vrO0k literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_1_3.png b/resources/g2/track/intamin/large_half_loop_right_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..725aac1ff46312b8e644753260e770c083c07fa1 GIT binary patch literal 1393 zcmXAoaZD3;6vuy1;J^wcDWMycbX!fTR&B_UHKA@N6s@d-6ON^mqIGs!wJrq@Y__u1 zSftZ#-Ue#bIw~}?bBA=sXw`Gxq|yIrt1GBYzd98OkNR(5uF zPEHPjAi24@d3kvPu~>|vGNlqD2(@0XB}tRbW^+2-KA%4jh{R%vWD=DDOaX8;SF7b4 zjUux}W_Ku@F5K(WF)SGhJI2O6N-3gIa7}7~RU@MG5;uvSwJBMrCgd~4g7$dKGn)vg zgg_?+W(-gS;x!?xgBSJklOZ9D%V1ImQxt>&F#tFKIs`HCcvhj1l1MxX#aSE=8VpgZ zb<*vIEGtC$VoV^zMGBonWs+*FsGd@gE~SlD_b`Mfr1QrNBDqke5-SL)S})g{lqNfF zckA4KlRsZ+n3r5=s#$^c7)+p^B*XyF06+pj0YC!~ z1YjHiFb%GR7824P7>nW(U_wC;2K*`z!vQ1!Gzp*sg&rLGjWA?~F%NiUyd0>NK!YPj zy})Xg_E0LXN6#>}aF~wA!!WHSGyv4X#V7&p5$XIAQ%pf6v~<$U%sN9U{}_xWBzzzj zAu1V9i;0W`YB8uOtI^YAW$2!8fR4ukFgYeytDzsj7=SSCg*`3z8llbN8XuRtoUb86 zA*EJJ7>#<1#e~Xia+woDX(h_4Wf5E&*NCA`1g#S2LZKgnVRbtE@@3rVS3l6!P)C53 z4@b8EkSVIEu54Vh@7!Va&V_H!uf7OxUwZazQO@-A^`readRsfQm;Uv$Vs3B6p9dQs z{ChP|GWBNZ%L4_H^1G9rPgOr!6eqN?ll4t=qxQZ_Pa@2c-jUSIQA_ITik5_{Ex7HY z^LKN8x&OS^zr^3#-A^-Rb@cahqesez4sAHm@wIS<{)rqp+?IQbsbLBQGezr%EgsH> zh-`OB{#IsPRrS{;wXN^3W{i3A-ODxm4}4Xbswgk++irOWG@JK-jyya)FQgl;zqxPa zx&JCF+M7>4UQ?PZdc27HY?7K#8M_K<7Z~P$8emWDniziAQnRip{{nio+f}&Qd8Gdy z`C@L<(DpmWi+|np@o)91wvH*XDX?I0>4L$cFUz;qHn%l@;Gka)|IXTt+355?N4f2d zjxB%8j_~nYH@lFebWeWX=-+*Zf|uW__MUq*@`&74R60=RJ~M1^F22-MhrRbh{gvRs z=T$RF<6!5t(b`U3Sg^m?xFdrsY;P(rE^D8W9NL+2W#G(afw`+;wWzRkVDstq6)}vv z@taVh-&=|b3P9tFK~76Y{sHdJd-D+*tRdv;a IRU7yG57#w&l>h($ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_1_4.png b/resources/g2/track/intamin/large_half_loop_right_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5e05578bed12ddeff532c0c0facb010a61259d GIT binary patch literal 1494 zcmXAoe^8Ql9LK*13W|mc8=h2{TqE~XXipv6Q9T+e+T;1CkBf>cOe!wPo{Wl&>u^z` zQDdDoO5CwxWgA_%c}2x`%vgDgQ*!Rc7IkzwrR&G2SXt@acXZvoKA+Eh{`tKBc)vd# z)m8G0w45{mKt@G*No`{0CTcs2p6JV077YVH2i28zrHPeBqa`IJ(dl#sgOQw^oRX5l zWHMPSR%&W0Pbd_ks8}Y$ND^18l{y_|GMQ{PhuiJ(`$xjzSUir30VV|m&Q>b9TCG5D z5SuMho1N%!tGqs4AZUqqCEE(v%VATR)tl__!XAY8SCua_eh zg|tU4^XkZ;NgcB3#$2YD&o&u!!7)FFD-j_IRHDITdXluL)pot!ZL#?(Y9;e#tH3fsNXfy~DT6_&a4Q$NHBb)-2M?{6C)|k>2*Lx>zfhkV}hGHTv zkO-J^F-M6Bv?OZK;8vs7*=h8;I)i>!H0+1*hy=%>2f#3ZFyVzcA@?4>$zUHFlh|$V z(FFoBrIOTY)dmBFicJ!+4MSZr)Q5{l2qdZyLX`j-MbM5y4+evHBK(p??C0-(V0Ud5 z35q8E+6q9@p^B2?y7G>jw&Jhu<))WhgZFcG4mA|ru%BQIRUTwm*8OT}`Dx9binpwL z+#9bt9OU$ZcBsrGO7p6i#fXUJXuL4BZ~3z3v(L!lRmV0B%sYeMW#?SpU@xrwj$ggt zOd&Np_d(eKr0D9?(H~}~uev(9Y?NxAwQbj4Z8g2&F01w0XU5Umi--TFR;9Ndzb-mH zvn%_aHwU@)>F?e1pZvKovunlf{P`ILHMU9&zM+QF@2BlZFVwPUY?;~K_{*jtZ{B< zd0pSpN9+5g?eiwI%f9@6BKOhV)w%LLx8nP?g9RZXA2nVWe$cL(DtQU73X>&NwXy7j$>QlAI5eoN5&+Bttv*6g+3 z*Nb*kzKtZklF)+VXm^sv=4045%w6_`TQ7PA8`}L9JKN0%4$qrT$+(QSUkM$%nFuGS MD6J~Fw5tB#|E=_e6aWAK literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_1_5.png b/resources/g2/track/intamin/large_half_loop_right_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..429d50f57c2a23ac83c9e695f121ab2293c84101 GIT binary patch literal 1339 zcmX9;e{2$W6#r7%UXfL-bmB@k+?YKRbkv=Zb}T#fs@PF`P0xvzO>9wFWZSu*!xRm* zs7y(Fx;CPsK}(b^S0#&5VsJsF2~~9Gii!(5{=kU8u|rdrM!&P(Ru^g8uNtxP!YG{Sdju{!X#X~q)ZC{x3#SNj9Nv4u2HF7nj&>B^GnxLJe(`)dC z=n!X*ruw+7KRq51;Xq6Qi3!MT0A&!BSE31^`Up;QI#=4_%P~=SnpB95DydbYaOu>3 zBN4VxoWq!OTQaO87jchsEX+hjVil^;VJZ_&SSiY7Gi9{olQwpU~t+r@Mr=c*+7I5{& z{DD-I%cpT*&>|K}WH-ndv%+J;Stk|tm}0Cw8S!M3(R}_9ELg7tzybgR01H42fD8g) z0VDx!7RdTwDoLV%#y}qqLK=`F0i*z=CD4UI9|=Qd71CiH;%Cc7SSpbq#~=6LxT+3QRu;72#1`uu>7hy!m&3uu&K3~0t@clT3@Ii zG&U?;Ue~j;e_`jN+Oi#I;f)OoE`7D3vFnd5j^T|icphHdd**4r?&X1j zJEJSRr&o;*uDbgl?@s%sCpW)YwQb*n>g^Y1v9Edacq8Sv)dzZquWzd<^W3`f^$Mxr z=H?^KE~dDB-Y)9){MEdezIsN@(eGO8(!yn3!%dj1e*23<{=4#zYl*esy&t=KhX;iK zJwLYp&mH@|-E)t>Cg7@c7yr6qYt@4O_Kj8VF6@f(oCi6O*s^P6BszO(94t>5kvf=K*sT1`)_lW^Rl06pcuOoNPJ@f^+`@H7(NU$>3yQ@R;^V|w| z&4si7Y-RAu8=m31rWb9U-Fj!XI9=10(C|+N1RpgWxc#vIK68BU{lM;xokdCXGg&+y4?%3C+8l%x@wc6cokKaEM3dQ1aL2wW~Y2a{3KHni0cVk$;N)Z`kn5OpNfZ3pp?a00ZamuK)n{a9558b_&|dI3kp0^5W)b&0o1Ud8G#NAdeksrf*}WZZM+D`BtVYQ z)db6+6Ie*8(?NK>Mv8JpqZCYXaZ~`&XQ3nub8wX&z9u9lV+vPX=S^4x^PVsa#`w8F z#HCAxOa;nSWD8DNj^22yoB$Gi8fFS^3(hF0P?hQCby)6Tdc6h_8bv}Yint_*PbM6}1W`E;D!I_Whc*OyP)Ny=;TNsSntA;LO_k+1 zSpRIS4uI4ZWhEP`N?TvF-)-O&Ej%>$pZnUGE8dp&9cN!f&hW0TH-EOdJf)G5J+|&Z z-WvZ*=d62L+)}0LS$AfPY}^^!NY&*>8*iqSz4y_xf#%TAnv#XTUpjoM;PzddY+72I zx$nv{(sZyW&|jag-)!OUeYtGt?(^oyEq&O%FVtQ4j_*Gaoul1|aTA~4KHovpc_t@k z(aQQh3OvaiIyG2SQQ&*gjy(9Ldfc#`u>_s0jUCv{HeDZo@zbv5(_49?MYfdv>+|#@ zKf5a$vPYW*#RqNEO*h#c2-2|sJV)}hL*90Av5Gyj%Xo_z|MvKuecyt&JoT%cTT8vB zKaR25E{e>Je*I+ZmkUc) z*E6Sa_Q#J3+B5nb$LOnA>>71%wo1JA<&L!lKQwezb&VnIr=Jw&9sTa4ByzE5Iq#&t z`h#@K%x_0)2KI&v59y}->Ib#!XpWx5qJhzWA7yef=FUxgdAWA?SNYEQzuB#fzlLY_ z9ck$JaOwTQvHPb7pAOP%uG+eU#n}@_x*z`8+@F)v#Fhna5XWyVKh?W8Z$g-De3~=y zDO$+rJ@IhiqO-8JDUie4@T&4;aXyFkPNMMAqrBGeTy=P^a>{f+S~z>P?nfc@53Q|p WbY-5;ayS_vP`0VOq-*1@gZ~3M&wa4~ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_1_7.png b/resources/g2/track/intamin/large_half_loop_right_1_7.png new file mode 100644 index 0000000000000000000000000000000000000000..94c0992295fbd91d67dfe6911b4d0a5bf62a3f2a GIT binary patch literal 1231 zcmXAoZ)_8F7{`CC+is(Rg ziB;<;dO*ROme?1K6ue<|W7bfiXwe00JauLz9I?|T7Ma*#Nyez=X9>yo`S<4ezW6*( zUstDX_RIw{0RXc*o@rZGt&de>ZiA+pn=U`<0YC$~*4o>v_FO6y3VXMw>DP#-Xhh&5`kCCtt=$t#XfUWk>%3>;!GJ!ds~ZCJ=b#5pP@ zuu6c-NkTyml+x0aBEv#Pr?;9h2X1wfl$T{g92fC=6QNK#8dZ|X{OD+@RD!_B1G9wS zaUGR1vRTZXr-B7%tmsXZ#L;r1SjkO6EvD014F(%(VlfLx5CY8vUDaj2L?}EGPpBEC zoF{>cMg&&pccG#Oi}*-6$fhFh5!s(hM~b;jxjX?$02}}a0Ehs{0E_@oKme?Yp`cHI zatx|D#te8Igh`OJ0hIxe1&}wu5DsGuOnP882-O(41KtW~3OE?V!x{WuEG*jMF)oz~ zD2iMxDzNHhbOYR{B}D@hLtRNTuM%R(DVM#eDJfe?=3%a6)&nbw*ep6HiF#Pv=cYx! zCl>anM13E3>=bg~`~=kxKnC1ABk zBra2UnzoEGSkYmEE)@FBFoMG*2^G3}{MIGf8+U$S$GT1ytoq~9i`9NlM_a4?kwfns z*1mFO>8!S$P#*rgMU7necmK>4|9l&1KhwJA{L)!ulkJy#&JL*3u4gx0MepnWuRHJE z*uxJW*)y^J+Bs>RX9D&fn>>{p-1;$ASv&t>e#Ks%SaJJ0rmi`-^tm$&pI)|n^PWSc zbno|HjGr6tu8cq4zlpsy`RB=l$fD-MLS7(s z3tqa>SlN2veBYwZvF7ok!y4)4ps?@L{u<+OA2t2k8%OHusRcKm?CW}P^5pVb>dX7* z-QKZ$`w2TewDQ-!+&p{hCA*-!s*fnAS8cc#n_ud$TYNxv*nhaX`)4Bb``AT&&r_Xq z%sbl$hTR|7PY;D5;JR;oy literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_2_1.png b/resources/g2/track/intamin/large_half_loop_right_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ab146386c11be7ceca27c75d7fca024b0d0d30 GIT binary patch literal 1157 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_2_4.png b/resources/g2/track/intamin/large_half_loop_right_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1c7172ef2dfe5d9ffcc5be1a50b92818601c8f70 GIT binary patch literal 1219 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_2_6.png b/resources/g2/track/intamin/large_half_loop_right_2_6.png new file mode 100644 index 0000000000000000000000000000000000000000..678710c1885f8d444f15e56aef278ad0fe44fa8c GIT binary patch literal 1265 zcmX9-acmQH6#i`;yNx;umQX^?y4c8NG_2|ckK~v)xM5uiJF-J6JMf4X*RYbDtU%2w z9-&GD9lLCGt5CIIag`iUvf(PJQb`F*s7r-K3%SgK4R#S&C51JS;Lj40@4fH6f8O`U z_r1fL+AVeSm(2$N)V00c+EHe-T;>{8x!anI-2kY-rVX3dm)DAlipt7Ll}c4rRW)zk zyz1&|1VL(QYHDk1bw;BR!^{*#GK`hyS*KI*cszkXC>o6=lT(UPC>Aj@APGQQ)hw%Z zI1Dbg+3O<$K{^uU;t6Le?aSuElnJpBYQd@#Z3c-)Lr!eWLnQ*XR8&wVym=*DDkLp> zz?p!H1QLTp1SH|pWFp#PN)Pj9SmfXn3Bsfi02%-eK?IFP)axY_4HLu|O;6bE8Bx3! z3c*A|k7;_zKwipS2@?7-j#sD$7loh6F02~tSgd|79>ASK}#ZPN0%-eocQY(#{o z;!Y;*;WGhePWBWMfl^wAxuiymqb3`M+eymBFg~6Sx?EA8FA)l*W3lYiRH0CSKra9^ zfM5{~71uK&7G?^l7T^ZNV%D&v!NFi| zyHye$VZRuc{pqBfSCX)p#jREt15g1Fmc8(n<(@47hyTq&b z#(Vo0yipI1k2k){qQftLdV4ZF-nst!$EwkZ`%8XmR<)cM{IT;!XZ6j7y0v#kK00`% zq3`e-mAc{e3jo#BBO-|rbZyX25(%O_P2ZGDZS3tszWc=%fA;`Q0y zX{ztm_Sp+VndVb7rhLyH!nk8@=+^iM*x0gk=g6+PKU}>K`tO dgQWukmx#=kmdzy}be4SsZR^`x&#l{W@PFxrGr#}< literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_2_7.png b/resources/g2/track/intamin/large_half_loop_right_2_7.png new file mode 100644 index 0000000000000000000000000000000000000000..87eb0265b7d4a320b07f4ac603a8d31b03808353 GIT binary patch literal 1321 zcmXAoeQXnT7{`Bmy^R6g(zp^T7AT`)868|=!4R;6aBr;^X3BYbx%ZO@|06 zV3fd!0f9z591^sNVjgiOB84dx%rJ0XfG{KnfC7L)5KbgAOQnKB;nrwIC@QSi$IRyY zE*A_2rKnhrNmP_f!zc(&sWqdlpy8dk#Y@@)v^&E1<9eA|sv_hXT1m2M9fxyP%IacV ze$F2?hvN2V%9EH4iZCFifkY2vCZG@ywM#7Zja>V?UWNUT;UwWwN;;YOOav8>Z*^x14dmn-V`CnhG+=`;jV z4k#Q5>Ji}qDIHPj6Sy_0bEk}fv@ntJrRHO^utX^msU;FZCa0AuR-@rb%F1MynS3^T z*yD?bqL~B+7!u)Wk(rSR2Bp)4d98H7sSkV2v7j>*3uQ9*AqIdJ03HAV051Sx0FnrR zSy4DN@zCpr@ff859183h@Dm_T0Z0SLNuUjdZVLJhFk*#qH+TwO4M-elDa61^%tobM zAUtk15U@m}-c%|IvtCj?Kusl>Afenc#;@Sw8X>LoW{iPZM`YfgfU&ef4Ae4&P>FPy z%s`_iJt>$CZo4_)wMRqVR6GPT2{lPVKY(!nVU~q8Yxhi2i^-Wxs-2E!;v*4Ur=tx9 z)@0&Pl|`*`V5k>IgQRMLQl_+W$jG2s0i7uHV=zi)k6&F`^62Rg9B6N)!KRttcV+un zb3@&hrrv>m-KP(hFKn2Ex7MW}p6Ql-(YN=+^(Iu-(|USu*-whD$m74*OUm}uti4BX>R=_mhCe#TcigV8{VH;|vf!$74qZ`rdG)!`_0uE&4b(OE z2bx4gMY)eX+a`>@wXgcXlIJ?^!0(%0+F-hEAS&~2z7a0%oGI^`BG!x^9Ua^DV)sg@U9s}R!0wT;o+_hn#hWjDeCq8!dEY0cykjFaRG#^)yR@`^*XH5V zf@eqN9|My^Js%iryQ-(Zj=P8L-;E=K?Be5JwjM9rd-5+1-_*hm@x literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_3_1.png b/resources/g2/track/intamin/large_half_loop_right_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..96830216143a2e2d776aa0702b7e5bb6f3ba9eb8 GIT binary patch literal 1162 zcmX9-e{2(V6o0JUZez^q8d6yeWj3?M13I{v)12;rW8TOqH+RE|O{{PU4c2hc6Pj4$ zrWFfm;DkDBY_OO^tJYa{!hwwxY~l>nTy#Q>Rr^PAr$KD6nvqobT0-)9zy5ijp2V2qGX=&xVPEPFuu)yepk?N~ZWsE|4$CB_m#~X$+3}sBVdKC_a}edeSm69c2nhUnwV5W@2VVo39sHCj@W^ z)1V4iM#2hlTRCHIl$^-)qDBBURfLLe03INKVUo?JIGw7;qfyi}&(8#dWktD^PNPD> zN!Z=A!^^vBeG9r_g1tTh! zlX5K^trwE>Mi$kIHaqFTeFPb#nXn+lMKKi)=i>1~I&J8Bb#}I1uOo0u;7MXc#>V8G zLJ1F6nOM!Qnc;k0oo(dIW_ccU<2D=VaIh}7fO|!Xk~uyWXf2E6;)$6|u2M7_RT=^u zCJQzt;8H_)Dne&tLOvCo$tvYS$}ATfjZ26I@BzpGDnJ%s2B3xkYJq1^L`GQ+Rm!{v zBmxpN=qyxtKms7if#L+xc%+9=DTXQ{sNJ}XBY{DpJ z%}Nn9swBrD9Z&@jYIzZB(cOSE8cEe^WGZk-@c&pIp&><@ygiJGN1PHFG~~YxVbRSig4s&O>_-hn|TJE_!Jv znjWw&IXHIza+5uN!ZL8=)2&~gd91m``_ARDzm;Kp^VEHrx1Xy2vt!?nw=a)fIHx@@ zapq9Y(cJ#k68#rnb82qV8tYy3-rd`VdZ;J2_Wtzd)ZXUc*~NqUuD<8Y)0fL{G`Fm5 zx9MPdQBPVu!ogC@=_HoL0n|Tb^I~!Zi!sH?-!UDHUH` WHa+!jZFNgf*f6|t{fFzGc=3N|6!@V4 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_3_2.png b/resources/g2/track/intamin/large_half_loop_right_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..89c1c6145f1dc3ba0b003752160197a9e3db203a GIT binary patch literal 1138 zcmX9-e~i;~6n}Te(c>lz96DvuA|n}4%#<2y9NN>~F-Y-xTp`1Zq{J$VsZc{P#Y`<> zaD!W<;xN@LI!!S%G;t{{4*&}{Z5$l!)RmoB+Sk*`zn_#bfF2mxymhEEc6D`icX#*n^vs(#ueY~% z{`~nEhV}LJEm*L?9}EUbGR!bE&$FT!R}?vwN*PAJSS;E0wClFoZ88jW1US|ckNYGE zSCip%CSv5cLQyDJl&X`dH%x}WViAwb`n4FYi=n(iPNbNM5vvwucQV~{&AFBx4S+y^ zN`ua01sSVkytRU_T@9dS7_|j-TSv$a0&oBVhRI&976|B}kQs?gaNJ}fQPZ^R`8=vr z0;DfU`@*O)P2f}@91TWzf)%N_%*bgjofq;Yx#VcJ zn{}Fn`dr0JgO3M)0`Me+bd1XTqs36XLd#ApQ&-HEZlei~@QGAFjS`tyq#!b7g?Cb7 z%}^Rvs#P)O91AsUua625F_KEqjLP#FQOv1oF_Wp}^G>N$pPp{DS_lF%gba)P(Y2j+od$u$ z6yB=|xGoX7ByFYnaxO7xX|+nOS+m>i>xc%30Vn`EfCVrK(7*t7z%eMPAj?EO!&>Tm@T zKqfu3?&nNgD1~Gl!!)iue?YGo_y*jCfE zQM*pDEGhwV0ili;=?>jJ1X9Udqe112dr+!XCLZS{NlYeXGMu8q22ENFSz*J|9MOyg zk$@vDgmNS*(a2#t$4@=(xq0^o_KgnnFmQEdSEpaTY4C-utBxQ3P&#HWzwgkyXrlMv z7tz&c$Nrn0IXSAvtj#9|&P?9w8jOE*O-IXxuSHS@6eHruiW}JW8_AE{ql*4*y86?Q%j~!ob(oLW#!KY_~AWI zz46z;cjwkF&#(UE)V}`2t~>jOw?Fn|`kkjQ*s5pM`LXfhkLo^W?fB=v4Mm^Xa%snw zv)@0LtWSM#&HZ8bs^Q+hyJptp53Ilc=-6A@`E6=d%&paT%+z}2o4Gj-|{o>Ap{{v_Q^U?qS literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_3_3.png b/resources/g2/track/intamin/large_half_loop_right_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..33c0ee18c61a8556622bc5f64d65a7b54d398f96 GIT binary patch literal 1202 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 NWm9#<=jF9W{|~@g9I*fZ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_3_6.png b/resources/g2/track/intamin/large_half_loop_right_3_6.png new file mode 100644 index 0000000000000000000000000000000000000000..b8d9ca932523d724323453d54287165b4a9341ce GIT binary patch literal 1302 zcmXAoe{2(F7{_1MZ8s=O)nYm*ri=;&D-?E-1{*x!hTS~aExSR18Vekw#%c~$v`WPr z6fCU30ac53+F%)_6e)4wWhtg;7v|_j(GH3p*u_RGY@tYjy3FueLh^ln{qubP_&m?v z#s+=mgeemM0G0K1wN1r3xfqQVqGA@-&3yoX2sAElURE5(jT=`|QX&$GN=r-2%F4>i z%Mk>rsHhk}e!NVnRHCQ`$1#c`XxeDCG7g8s&wNsS=ZENQKU%(lcrUi_)CV>ct%)!X2UfaT70?6tIcWLnKAmawn&ak=EK>sQ~`?B5{XtO(<_veT0`q}R)Tbzip%U_m%BF* z7GjBf8UrQ*u~HJ&q~I)SuN@0HsfgFy8)8#YZ#EUn=Z7H%fB^t202}}z0D1w)AOIFc z;?Qn|AwLvSqzW)7aASbi1AzpP0+5kG7Yh9(p=GR1?dJ3W zKOKoU5{XbYn}9_xxf!5#F~-SAzrw_;7(vJ7jG??OQt-sb_%uxAR8pW-AbO3&h$$=- zYBv)cYw^3;NXVUtg|b2n=F?h&fINT#fUwBIS+sj1xx?n;Y@nC2ON27!$Nvg93B{V4@tAbt>@)%4I#pBn`5&!e}2evjfP+;+2*EbdWp8DD) z&2@VRDC2?QX%injDlGWn;M^Hi`I8r~1WWb>x8_oJpWfZk;d}=i`E1b=)3rr6$`_Kg z&%J;BDec-Ft5X|7)%%+)+plHw-5?O}uiiXy{nhsFpTw#UhL+E-UIh+s-85^>tj{ZV zHOY5o7dFo8ys*5xXV0DWOglc;6IdMldgRsDCJvq;IHuTFoB~H4h7wogGtJo*iDbCUCy)Vlee({^*`Q za3PE5&9~lc{UX{{9qjw<7k547K5(q#-T9-J*VY`pkNQXBeOE5+x_0~H6Mai>v>X?$ zl%FW$H*9f?)Wl!zKkbe5`wmJLC`$h8+JAqObL8!ZKbQUr&YT<7Y?Kd4zZE^IxmS5} W2rSycRvjwB1@+4sYELg+xAT9%=TBPz literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_3_7.png b/resources/g2/track/intamin/large_half_loop_right_3_7.png new file mode 100644 index 0000000000000000000000000000000000000000..0234d475145bacc66cd6b0c6d7cb2e8e103e851c GIT binary patch literal 1270 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_4_3.png b/resources/g2/track/intamin/large_half_loop_right_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ade5e6ede86c074f4d874a9a02b98236bc42f4d5 GIT binary patch literal 1418 zcmXAoe{hR;9LK-?C8Z@LZc#x@kPIeX7psZx|vgDeQl9HO5nwFN9o}QkOkuhS# z2o{T#nVC6q(RfQ4i^H7uW*9d>dOK^}~WVL}OqED-ty01yBuSu72kZQ$`NLLrT!Z3Gceslo=s zbB6=^d_06Bz_?<9k1B;yjYw`lC=05!<3^Xv%8+zW>4~WL5}sHpKuM8|k|;E|#zdGL zN{2_|2^stmYbfUI8}P9)z##!w1^9X(w6G)&uGB45_%KaKZtm04af=_e5h4yH;pwCz zvmA9&IHM&)Mk;L6MqS3Z&o&Tp!Kk0jkqAX{M54lQ9Z8xg%C6J7&1Rp&5%PHYy1V1? zI0QTm5ZYLXlZ`VxGAL5@;ijm9j_H`Vr90t{4TT3_mWa)kaJf>xfE0--6xGTIlQMZs z?>1WlPItr~O7vksDPw6#wn53as6}=?<}#6tT@`Q{!ajQ}>`x?~Lks{p09pVn0Js1M z01#yXn1sNgUJG3`jD!gx&>+By0gn_!2mna{HC$*$AWcAz8U{@;LW6h4OMnaqa)PC% zxCWibYLPl=ieZeQkSi7o!K4;X1rU7}X5kVvU+EEQBB&*4V|8kOL%q zmQ>7EV0<-+=v6X{K}}l?jLRDGyJ8VPO!P@)GUx#?0w7F!VM@xqhiBB=qfv?7_8x68 zh$|GNT21No8boZAh;10+!V#ZL+)apLasgEGp+N}k2=rhuBuj>0GB@kxyC0}4FD1d^ zC%3BsNL^4=xMcN;eFrNPhm0R(M~79B>5DJ?dPvvx*_|8B!^fK(r^$l{<^-Rf+qo$4 zsyETrkafPHaniiQUwCGn9q7-#xw1wh%^loK&5t`aj9Da2tLfQXS^NCnU*8ljur*(8 zZTXN@@Z`QOHG8{v$8Tp#8hdUzNIursyDmO_nA?$4u)gPR>xrW3Pkun_!q;(MPQjHW zM)}fH)4v)wf9)Qbx~-xD4AsA0`gnqRse;gXDMU%$7HAT(SH6CUIy+ zc&1~{wm`?+CDuw)$zJqR<;N3?k4_aj&r~`03NN%dcJ!=0iKpjY{(Ir|obtLa8=A*Y zTKPJAW?n?^k%a(VHbM?VG@R(8&49C&c8{7oZ$ zU}o*bOE*O)3U`-XG@mOWw+r7E=O$J?`m;67KB`5(;>tNMxxACQ*PQ=2wsv+^?f2)# zm)^XT$I0{la?-xKe$a7wUiR26QKq|VW${06wzj9wSag*d?ws;FwOP=A?5X1OqwV># zHy#oFEX~{0Rp)K>G%?pajXd_tS;#|gtbQ7{YgY$9<=)#Vz5Lt$<$p}8F0y#rR>AYm zl8PftLv6EDDn`V6wjEukf2HDj8@a9 z>s#X9vBfWH443NfP`3iMrvCQH%>C-{v-+JI2P?O{Xni?6R9-OV>VXe>52-Gostxv#VTPe+C8 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_4_4.png b/resources/g2/track/intamin/large_half_loop_right_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..aff2dc5095b3ce7b689c9cdd38484acabe6f85b9 GIT binary patch literal 1428 zcmXAoe^8Ql9LK-@MAOEKF1pa8q=`mG_AJ??qQWF2eagoZi%#6JA|-onK6!Lw#*7x% zJr$Q!v^Zl$%5`XL>5e6B+`?%a*|W)v3L9%|ah66#&1P%g(RKIwd_MR2=kxyK{r()@ zTp^h`WBv>Pz|67@C6)1+9k0@~qUq%Nc4l zTchP0NTJz++MNowhwxEkC~On+Xfk02E@kRuY@?EEC6FGy*khLYoOp215DD6*qFxCL zD0o040!EBx$7vpt9_O2%l`5dq zJ+fM%$HPJx91)X`vV{t+1n0?gh|(w|EMmPwYI0*XpTZSXu>~x?gd@awQl&tSi*W;L zuqv!B+(qfUK@%0Rho(Gq5ny0|sRC>*;2LQHD^ud+$~_{Sl93_87BzZd56WXG1uTt( zN6LhDrPxhilwKJy6Jduw>M>7I4jA^*83Ha(h6q$5u?E9PrP89&I7!lDwNfru$nTFv zqY$ugz%|nlJ6-H%VLqNJBsPTQwur_ZHTq-D$jiVK%;3@K0wz8uygh_tF)Dfhd;& z1ZY7Eh;q(+_EX41JGCd%uG1idg85=f=c1z-?B827>umwN+CueF530*m<# zgwH3I%Q3ZDsny~LUoYUBMTkR;c%*zk%8ST2P{D>eF0>%fC4!VR9)3YV#^mcC*jrhF zfi(|q?*t%mU0KQ6stt#mPpaF(3o;L0fg?o=jrK z7`Xpk?HvPWV#|(Gx2Afh?ha&KKG)iIzM8aiXCBY%$h}!em*!Uv*Iwz3o*=Rp)@&?J zGY=2?hSx02y%{YU^<`$QOBsq57w@mxwuaRI`aZjS>_}^S-sooQ2iJaaSJl*)KFw^L zzeIU+&(}BhUPxWEM^L%eA)YriY>ZuOT=*OHa2IuaWyUUlut+g^uKC>T_MD*~$IoW& z7=LnoNp|hsf&}}Ymv3~ITMsSOX;rQML)DGjI<@9M8s)R9N{JPLo%t!n!mH!Nv55_1 z2hFxgw*M4AWzO;D26H2C|J9Oj{%$PDLw4tNtF8;1>Mh3}&K36&WN*D}LG!JGXP>Fw zab0BGW-^<}6~i^Aj+*hWE*#jm`_<|5s!xhc1wV(go?HnGk+UA|%bEN*boS))MFX+7 zj^5an`(UG}7sYc^S5<5szSqAZOV*uu(YyCS$rs%mhyR7YeA!5Ypme0Jw)5TEBRvP| zo|2hA4F1*BccFRq#N5Kku5$g>qa(`}wYQ`&kk5zT;|H=gJ*Ix@3!{$Z`K$WpTjkdp zIwz*9yT&Ifzn!zPdU^TSye-p31lD(H^sNrQkkO=_Y-?EFz3{fbEvJPVUfuQK;xp}y zW1GHIw-gq(<{#yJbnpBArRDYg)3$l{PUTK-=^fK=ZR*(9{d-R8{eR#sbr(9oeeMiy zKXZwUwNwvv9NPY3@#E8#MRWgqJk3jb_52Zgwc<``Emrp|9xYI|zM|yPy1E1Z12vM2 AP5=M^ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_4_5.png b/resources/g2/track/intamin/large_half_loop_right_4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..5596e8037c5c30a5e3dc1549cce3ba70c3b38bd6 GIT binary patch literal 1503 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 Pp#{xNEsg!lH+B6FW8p}v literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_half_loop_right_4_7.png b/resources/g2/track/intamin/large_half_loop_right_4_7.png new file mode 100644 index 0000000000000000000000000000000000000000..5882446c8263f1fe9c86c1b1efea7a8d5dca7dcf GIT binary patch literal 1244 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6030d032de86fe5b3b0a376ca92ad6ca383a5cdb GIT binary patch literal 986 zcmX9-U5Mjk6utAe>CCvB)uKi7P}vFrgG7jI9->6e44ok|Stct{gBu~TeJB_ti^VA# zFi1x#2I)hUf(0XVF}PJ{Axd|R618B3JXEa`v;&1HGOT6E!=NL6W?4A*Ue3!s2hP23 zo!cs&T)A%r08VahtZkjXPz{|3z>#AuQwrw|??QYi(!(klHl7yjw=RguyRW(~K=POmZ zR_B^6sngYZfjNlkX-QmoZV0&VtC%Xg9k4t%$po;}grbL}p4Z)~MwYJvw4L`ENxDib|oXzJ3Ss9p;ZdU*<7xeFUS6-03JXeV1fZkAql8zBF{zfNFu>tpuvM*gjfP312S@` z&LCGpei;pFD0bmi@GOV|C=yoIb5@0FIK_^u_j+~|dDCfxQZ1qcOm&raa*~_ZeA0+H zXQp~drFYaE9Q$K5nvq#x^H`C_RX$&qnQBRNtg_p%dR`+6y=fexWXy^p@&UzwP?|+8 zmAehXuC^u1gFum1kmgU{%fhu>cNaCiN}XTu-Q9KQW* eeAmTSEqHC`viA2Uf8Izv!RGqb+Lb3?c;kQ1FRNw% literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..52875eff50f4a21a942c37060b90475c23d81ed2 GIT binary patch literal 1179 zcmX9-e{2(V6n|r5w=riEi!@L}Ns4slh7BI>5~?0@n`NBY5pJQG1fekdI zfhKFP;6)l~W`U|FDdB_yBRQ5D3%Ti*G~qNgE6IV4R;dwU(PA2$?rRCj=l%NUeUi`T zy(624yxohIEdqe0Ubo za0pQ#b67^i@^MQkW33nLsOm=b0Gg8#(wzV-Kmfx;izQ;W%PyDV@l3GnbTC+oMDC{3 zD4(|zRwre1vkp(dj z8BxBJlqzbpmQOYe6;*VLm2}}gf(%l0h~wfsp9+Pt@pwL+HZ-kVEY@l@1a=WzNsP!? z=$xG^;K4E-tN4{_C|8q<^=x&n)IeRh#X{O_UWb#z-Mq&mF>EZ*To%s86VsWjsT=h& z1px+=I7=kpkOe#yrqmdhO9iLZNGYGHmh^i4E}{T@01|)Gg2@8n0EspfCy>G-O+bYhG8K4aJP8a9J{A*rTO@=hWN${{bGfKtsMV^0 znq2lE5aBLLwy}yMpt(fTBiHfTqQR|Vqu&uf<4dq>QK=hn~m-TrLk;LPvy*AlNB8=gCSTz$B=w&TBZH&(Va z)~3|4Tim8~x6d5?etK-9)aO1lvEr8g_P3+dUUqQL`KJ%g6t7>twPxs3*}rb<@*h4~ zx^?70{8a3jWrtk5hI6(}y{9kiAJck-rB9wAw6i*nQ=W0UP4pa1aY=v(JQ&*P)}jDJr`f2)@5opi^A)jKX*`v&$2 o=MI$L?A?AOJ#+nq`GJe%HD)UD;Bx2Mrou2dFw}ox!_LG11CzfD%>V!Z literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..deaf2a6e9014ba8b29d62d2ad8408764ed71d837 GIT binary patch literal 1054 zcmX9-afsV=6n?kfUGA2`rGFF* zu4*~TksC#dR90D$!U9+DIJ2Y7AjK=%Nx-_R5V4NxDr{VJl@&SW&mM#Cy~p>@`}p|Y zTRyVH@1MDE1_1UizA}GoG#?n%fvLc#ui}sX2@rrIuO43*(Xp|yef#zW0)g@I@rj9v z$;n9!!=|RDrl+SP1VK<#oa0zY5;RRQ3_X*{6bhwk)v4E8zTY1Vs5r0;h(b_N!pUSb zm5yg~Ora=Ns%p(OnqIEcEpsF$GeKR5m~zz8VkLuG&v0%*ZdP@_k?r~AVZYAfppuYc z!IH3wj=8x|yAmEWany^Wfr@r5gz5x<2%ut^9txQ_ZpC6{hFKTIMk3KR&FiHSa$TGX z6Ko_dMj186>!fT_n#CAJE@KP%npAG8j-QCqc$_B~i4-(i(K$UUW=m?x(H+mM`+2Wd z=?vWv3tlo#}RY&V08P;e##gjRisc2lyki3l6E*M=q z({~F)&qm#PC``vlnW7Ucmy)EMrWI4EYA)xNN}l6%TCIM+j{w&pR=}uAh^ygJlT38D zY*#7wQnkL-8dQ6`?I8-1p%5L3@KHh{;~K*lf|ylD%hJ_czEP?Ab#KsNK@~7V3Yluu zN|MDiYiFfeG10Kiwp;AA>x02{!~)0w27m=%12h1-7@!eE4y6rbmyzEVW1v%zXTjmY z7Xe9t^a#pPs4OBUiJDpDmtik>8Uzkx5ldvT}N9}5E=#rSwgVWUZjN+$%%OqTOz&CYvuyXV)@phF7+ zasc^&&?t-SNbU~sOuE?Z(#66Z7|kZ9C{i-1rPDeU&(QG#OW7Rd3h|am_GAL7QDnwY zkwOlOJYjVF^r7J2dq42*u_Xy!y7u$w5xKlLfB5+0XWu)ktkoZ!oxg-OuCA{Aae&>r zeUZEJ@%&rXhpR8Vf0DSFY5ZQaZsfnd(c<+!e)Q$xx3}gN32pnw{PtJ8Oj(yNr0ln! zJNNM9^I!flxp4o#M~SCr7e0CD9C7c8M+FXR7eA=ZF#nx@cKe?1-~>NMJEvc}5ZQR- z3FZ8zEuV6)z4+0}Gp~Phh&;ICyt)0<^332&`qXlD?elE@;BQyo`QeN2-}v+&<*zA4 zy|Oub*VdCe`Sh9ehs&70EgTfyXsOUCYwx#2&SyZfi?o-bHjSejp(J9*}RDaOua literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c15008653d6811f7a4132f58379a5dfba3e942cb GIT binary patch literal 1199 zcmX9-e~i;)82;{O2M3NY%)kLn7-VSCA`O&SwR*i{J8G`y^~^j54AR8?F+)vyxIj5Z zta0Fg26i}bgqaLopqzssDKgE73k)1G@Q|Se7o0lG1s0t$%|Sj#NS^oCKkt(~&-?D^ z>vc|@{M2Lsz|xFjX2Y8Ia4FpEIi0!}RKrji1amiU4q z6r)mEQ>vM0y`aHz)@&gin42JdG!x+Yupq<&fmAr0iN_1NUK$&#R;v)$MBs=bMAFQp zZG0Z{m6%Z3lc)sJRduYEs!SB?umdxjNvqX~+Ib8YC`w|vkhif+PK6`6WXi}EY9$(Y zSw!N^K`*NMv6xJ2AwC`R<+NZi6RQ-nwc0qO0dNB#0iXh)0gwZri~!gG$3R(vS^^qH z&H+RML};Kpfx!XD11MTyn1Bfm>VB9HK_dYk8BYS10d5ZQ3)Wx&i>S_ILP)2TLP4uk z3b4Ut^8rHcpj9iEK)t#{G$^&|(Q1KoJ({1;OR!jVSOAG4PTcIFQ9n<}K2{C-6OmwA zixje2#mK^1iDX%*184vU8(xGObdOnCzKHKrzd*9@e(CZ?7FVJn-q?{SRfiX)}N7{`4=ZryiU;*mv{|@cH+4V&FpKk^yPus}5 zxUH+|x1DEZU7ae0TIC-X>x+il*3HITE7#vLZ*2CwbZy@BMOR3d^XuAj`|jsAym)QO zPGjZn?r-mc*?Iow&F2s0&R&|;ckI{5^c`1-p^M_VQ-5zCR!IwG?JD1#ARvB3G-5alWuDLVr;O}Ynu8;SA-&Y*ibYOJ!^e58t z6I*7OMo-~uk5=WSykET#Es7HldTx#$y0>L`8h8ESQFQRoHR|~7winQ2H%>HE2R+@r KU7vTZd+&em#1tn0 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..717555af110ab209c70a75281e303c1ca78039f6 GIT binary patch literal 1082 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..58ed5d89ff7414cff530b718cc8e11a27128039c GIT binary patch literal 998 zcmX9-QE20I82`3z%XahVSoJEGhX{ShLy&mH86@0AFPn8_EW2f{H;U#kxIPpv4>{>U z@d8)0Ck4aNX(sjPL*yz3?8(Hy73o8Sf)#Q&xC&8<7O%>{Fe*1;;NOgc-}im|UcTQC ze&6@u+G_grsk5g5;PmqAi|f&xkLu~^Sk&F+JJ$hXu(qpW`KM2Cnh@pY!KoV!O*+f21 z6pD1Y!dW$`(NtP(z3W%{16!c53^%KZNh3p;Dp}W=y^_$jGTo*YbjriPJ_@}w4hjVY z9!wc)Xjr=v?==#mE{=vY8Y$@5M9514NB|0kY4Ny$<0eVk9JeP)om{SG7zgz_YPWGF zk>ZoIL~sh3)~JlZs3xb^gpwmxTe96%+#pA=IGs*$G9{{PRui*;mA-C=rib<TtgLFy6l(Ko}~|* zQrNbRdaOcN=YqE(L5MX9Vr%ZklPwbN(@ox>GmBddGt_E9e+6TlK!nvQ3AA}=$=oM;+(yK1zYs_!|&z(b=xD~iYk z6aYd|7Uf9p3Gh;}HW;uq>k0I3SIB1Nd|oXUHHI#+w8b-yz_dkrU!sPY6jBIekf_EW zmq)%B9Y6d0?BU4|Tw7n2;gv@}Z%1TjdGXbaXFq=D!PdO@+%&9(hI{MxOJ^TnyZfR@ ze*Nzs_}sl6>a|bbe(JLc?6GlJ{^!DdEq-(Rx5Il6&lsIE?E2;NKV9{2&u#s%ZM|^r z<%3^$ci!Ah{rK1CE3vB=|Nh|m!|yIHy|KCUi+g2$?vgJ5*?H@mN9U!x3-7tO?OQk0&AHthUw(UkW#f~r3z>yGX6^fTPyE61((2+@7q8s>AJ!(Tp#T5? literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f1de89dc694a588d766488b89489b1e3ecbf7171 GIT binary patch literal 1289 zcmXAoeQXnT7{`BGf!hnSkVYzNOvMTv9$3RUN+@!|ZI=piRVv)@FhvSh zDbj3ZJ4nGwIxNdEPH9*P1CFIi84VPuq0u=@C|ICqV?gVyW(y_$EFt+mZ~r{sKR(aX z(b{6Jsj9640Ms-sYgk^Yb4yWIp(y3mm2M3H3eeiTqOmlVm6es3mn#&C2@@tvoH%jP zq)7;ZR8&+{R#vKYIvs`?2m+^Rl4Y$t&$-=hzdslb%dyySI-M^RFay9%fFi4{R+ZhZ zbvO+kugM>vq%aeS@`m&`^;;5QE*NMszO2oa|T#oU{QcDrUQTifI$#WsdQ;Hf?hA0Oal}Zx7kuI*MndX zMxz=`rNh+*N^4^DW)8KuFjg?}0m2<3eGytrFml?aHEIlIory+C)@bDj&O>>EOiil%LOr-1(?~EE$5?m{MibqZZ6)!wCmXds#N%aD=_yXfT+R<;?JKKA(p`!vVb? z!6YRS(a;IhmLWV@tC({{^1^T-oGYfrU^S{#8r5pER!5@-)@0&I%EOeFIm2FGTneXS z$wCGP42kfx(#2>6I~s7}ArBo1*y15qDjLY8Vuiv3hy!2&fCoSTAOt`hfGh%FNfZH{ zJPe62ouc%B!+;M5vKgc)0BHa@HS}Uoq@Zkv2@gz*;0bsmAPHch5Id`OIZ&TqmP9rZ zaVL|ZTrLSqUK$&~oYlCXrbI0x>$$W^$Xi1NM`X;OD9Ra_%Ij6Ys71^Mr4`rOY0POO z1(#j)xgsH7G8W3EW3Z4hk|dM?Oall@EIcK{Z~**yqH<{i1?@Rb#X#^W;%tyAbUJO4TJP5&#C?+)|_|Ju<{!yTOO7siTxIUFf7`isrsapo=-{+GG5h$wHRfr3oq^OegTHgvh6^oX ziXX9Wtsm?d>UlIv8g0LAU)cL*bK|+gFCRX11vzs;+SYbnSAVAS(q0>SYvkO)&z3od zR&E=9aPn01%?~TDb**#9`G?IPRH1z<&z_D+t!J^0`!{d=>HOn<`}t2VkIz28YWsVq zV&?GkC$H?h-g>!y@%GPs7k7WT>T7w=*8A&c?QA`?nVPwF&%GBT1^;4Vs>w@keE;>g zW1BpxP#+TkJ)^Pt_UprzS+|@hp?wp~q z!M0!SeAToC?Ni+zAHDSKqAfq|Ir!4DcKaqpa$nbp{a3|@SMZU--jmbkKkC*h9E#N` zY{zp8njdwmA^yxFNq^1*w%ywPw=zh442qMrZQ94tVrIN$ey^_h{frV%(A3z{(7$xe GuKxkLu1IkJ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..96d45f219855d42a87048981882999cc70ebf20b GIT binary patch literal 1264 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..39c696b568ade74115f0f46004ec8cd77664e83d GIT binary patch literal 1174 zcmX9-e{2(F82+}h-Nu;R(wOQBmQeLz2Q+w*Bb?!cE9vH$-NH=@Dda{@X`tvSw^>-h z3)E1wm~$zlm`01-A5|_=b?Qy4lvvm_ogPq435Pb?#Kw%+U?qz#;j@I~d4K)$KFRaE z?;C>y-p++R3jqL~{e7M-jk>fEkF;4DdF-cK4gf4*@Y$iwjj^ezskyn?VzDe(u%M-- zrM0ycL6Ek#w)XaRyUXRmaW_p<9LETPUy{T~B$7y^G8sLeFPdhpUdP>lA_2>E`2DtE z&>0H5qcJj(WYZZwo0AGgtXxrP4Dpd2B4d|*PDMad5C4PXtl}?hk~LiNlvirbRbZY<=IpU z=5h|)=A!Iw)=BcHSHyfWE-0jwq$3&=&vI&k*Uf;FaJaoLlEWB*@Qbtd#T4;fs|ewWj3Z1dG`O!V&UfF&~*0=&ZyU z5uucjDq5tLOUxM>tmLgW0>ykd5uoT0$HfF8846`$v0N%;=z6(Wtkr4|I7EOZ5Ik+A zvktC+1E%gI$a#*7D!TJ*eKsv7S6=t)9H+vH|k{y z@C+hxR+)DyK`a@jv?!NN2BtN+luK4i`Fed8QULe>kN{8s&;XbQpn?F{087KL1T__! zB^CuD4&oHhy})Dv>qJ>v<$(7?wcLBTGEu(;w)t3oy#F$}F* zHDH6w5de6&gHr6Q>g07)G)blA*Xp6{T%s_qmtm=f+5q81yl$(Xat1j(9AFeVsK({2 z7B})*)y%_snP3>G184#W8(u^kbob$igp-vDkxbl&R4CAXKNk!N;joCiBZNCa;TnzS z7;F? z(AwA?-*bxw$B=C&=65`~`>hN8Z~(GHlz>J=<+r`{Ru>>D7;=J$F4yPc}?fz$G`LaOIO5*6=`0Ha| zPVSs^pRIjz!h7Sde><-}gq}JT+`Hu0#I5Da;wwI~PstZoMBbSkh3)IcukO6NXmMY3 nq-F7UckUj!X&Xz<6;AW6gU3D#ejD>N#0CAE2R!FD4Ilj=M^1sF;g2XVTQ&OGt3ef zm}HTG1qLoKWWq2*nmEaYR9WIo3QRIg#S1sQCN4Tjp+Ub#W&i>veYW-Bm}=061Y}X#JYb=x{i?y1JZBXLomZPfyRR zS+g(<>+S9B>+AFQd_Icuvn(SBoG6ABMNTG@*=)X4(hXzWvf8#y`GKK<=la88cQopa z#r>%?oz3yZQlwl_YG%68EU+XNqWfjelL&cLk;p65Sdy(|L$#7@RZ}giFx@tSI7CQ@ zF`x=qQN}81SH0-AYdC88ksU!ZDnf=2fCq?RnCx;Ta9kyb0!@$cd{vU_iNsVsk17?M za{CyMpZC%cA}Eug1SP7pl4Fw^mnjQ{T12-bZvgiPeY8MwVjwKDa*9voBY9oc&4giP z%vP~6U2!qs7QiEcHx7h~1@fL?i3nF1*$kx{N};V9XpAS_VgQc?$#jS=ifmaC%%oV) zDorifu4Jc84K)pyJ3x>jDj+dzOc2tdn2W_q>2xKZH+8)+KHhG(5#TZqS&S;W*fK8E zNU6c5n&Cn#R&J}~cBwT}pGN(p%N6i=f?l6M`bC;nI6f8WEQ^=YnQF0Q8K&J}Ai`ma z;7UZiYLv{y87(E0b5d1H)GN7G-LUN`!~lc<6aW=K1E>NtF+d&gEQ%{gDX@MJvKYzA`K2T*D?HXIhBQ86BuDStBH&oY$8QWefW&XcW> z4@JBvL7*IkbOxDR=lBE5`v1QF16xOj1z2_M>N}mD7#w(M{gQn<_i_7;#Saa9vz1 z`1RsnYY&vyMWw^SjWbV7&L25;?+ankN1OM2Hu!n^-q`T5?9l7%ss#>xo2S0zD=$5V;d&s_Px6M#k&W$Z~Z3bC?1<99eA3)6gt!g&#}EfZ9aZr z${*~iKK$dMZC~G7`0b)!D;pPbwHp&3PU-m1m-pI(&rcuUx*>n= zwSR;m>x6Xr;LV-(iQl@M?~->8e{%8G$ty4P+;Qxx@8P`vEnnHu4+hr^4}7)y%^m*( D?AZI) literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..44fb3650f03499064a59d25f4c0e62ab62cfdb50 GIT binary patch literal 1230 zcmXAoZ)_8F7{`CCY&V#*N{x+NMhTT2dXPGfaErHixEpj!aW}b{k~OB_Ax$Xcz#Dd< zNRgs-DR9ODRg3n;u~c$M$;POpz?s!;jxJub(EnDV=2TTx>2$iebLUo9 zSJ%|kAP7=hTRU&wJfqocCI}0|&>Uyud50(pe!o8)j>hAOR4S9pmC9wp0%!`bwmOHy z;C7olUP~ZIg(GY%?o6s;S_|e2GJ_*_s!p&OeRh+?V^NV9@-u4Ko{kH-@jx*r&y-SD z6gY9h&xXZ<;xDP;8BKwOl-@vMxSb$fG~?m8AkRlUo_H{*Mx$CHkC%`1q8r~SO$7U zsK_vvWicQSAVhH>tfj+Tt9Y;q^{Km;sO`#A?wyXp@^Gye^yM zbIT!LQVD4(rI<^>a-Ou=U;@A#fUv?MP_cU=)bEWH3S=bwL}EJ4I2@eY&3nB9Veyle zFij{7q1r4N7BAY(&}o7`3`Pi;prK}~96!0D?ytu`(7U0N18eSG-CF7QcC@|T-F*1i z(alE=E`I8x3-H>>>NA7SFKeDSe{`ZzRwiegUYKxw@IZNW=9`Cy9=$YhZgSm+y3<3? zPVHJg($sfvQtKNW@lG!-UL0wC_sVdoEz!5I@$4(f6SLwSKs}s%Z|&Wm&VO;W_9Fg< z{*&Q7-yND*zq1_iW`1A#L+=<8Y~OnR@8*-g$lv#kR@MC3{peeE1Rx0C}Vq{Tk>}OU2%3*)79JkVB6G!$kUy|ZCUA;rq7YLCeoefHvjf7 z{SLOM>-x1V*x2fgFR$(|qxZx$&SS*&H`Nngo?85HN6Y2G(bLqfl`Yk0>s#;dKwIf9LVm8yte79V-1fE>{bW)Y>)fO_SOm%(6P3&?M&;Y1OEeNDJf0> literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f492de6db2916500124f733c7867a29a84f14048 GIT binary patch literal 1308 zcmXAoe{2(V7{-B z8YrwTr)#joG8;Hum1A^fgpM>?lERizNdrqLaG8x1*WieasZex`uO%j*_t!t~^T(6t z_@-KY*~|qq0RUy|YO3oBQ&%Xoq^QvM9y)UvfFiJI!RWXDk>^2E}k}R z+VttuB@#(VNy&^EGZbpI8pBYMBxu^eFeaOgb-7$VUmz3;$6_O*n9b!d6c9L|3{sOx zZndiH4%F?zeSRt!GDo7ec*2uP^CTiM;!@V2a2iz{qY2oseis?_8RH>V9CBwwKA(;0 zmB5SuI{`Ra5@aP&k1QFK=i*A3L1E4eCpZXWY5*tz%n}JJlR1@2PNU&*yq}_mES99x zIUWeWXjF;G)r112RJd8AXAz?lV>sOACtZTU8=?8QIV@UKIwh)C<1}JmbS9Q$-IP0E z4usio!Wk32iA*q+kID!jr-8x(R1TowB)Wh?AJUkj1e-8=QZ_!z#b7^$$Qhl|u17pZ zJjjp{8=Y`5NuMn(xUx}SJ|Vz#OeWW95F@6u5Tu=^Jq+Ww+e02tG!RIH!>N&xY&Hvl zk_8%{1PjW@h?0&YmK5nuoA``9lI2Enq0B@w52c7qrc)^NDm9Iu4366jl-pc*<_LMb zL&1<3OXN}nFdHN`TIMvXI4k0J5Q3YI_$@<%Ga2<~lCfNF91;K+0k8qU0U!V{1VCB> zU;&DR4jUABC?+WlU@_n&Kv)k%3P2h_RslU2p>R?{!85Zz3jS#2Cz_bOr+q11JIr3tqSja{r@rIsECg&hPslTRcvhOtjU? zI2D&Cg<^*jUn>uPDRX6*LP!hUUC zb>)_tnvt84mxDPI!kZXP&ZIau4#wxbKJGa0%MTprwiuA$k=Kbm!=bM>E%V>P86 z{`KdMrRVPK9kz_GGLeTz1M1k(w#l>ECYsT{(BWlr%W!S$XT`7AEtQTfGHH8yo5+^y z1Eu-CIl4=i7p)h{$<-D6w!6wR+Bs#dleHIn2J`Rtt{RwlcP?1GP5<{)e4=aNg8mxi z%7ALl@Z#5gx>YKy*gEE|-TLB+u9nX?+`F3F);#P$&VN}|S@p-gMpd%j@y}=t^3^-L zS6Z|4PoN9+7q<4yJNA1|=k;A}CVzKJ^;@3Z&rZ*8TfTkS#n?BeN*`?MxPjJd|LqiP zx6TMR+P^E?tlIzeZ}|_F*6(XKy`h~gp3+kMp6;ghTb*6Ic05)$^ho0%hyMe_*GKCB literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2f7ba6d373ffcf233b8d5c9336d2b40ae0a7a19d GIT binary patch literal 908 zcmX9-L5SmI6n-7if_dkB(44|Dj-YOC%ZQ?&sD$_$q^%o_B4KBiixe}uDJ>9UF242u+Jm3%kVBo z(HhGQ1aYLQo@vfTqowDi^LZY}+w1G9st^zsPyxm+a4{j&H9gphlbs%xqone$>t%Vf z*`p4P<6N&Nk$shBOrE!8WnwhV#!GLyS}cn!ueSmiGG?o|W03xko{fcQq9(J!DsndI ztlVUE{Q@=CYXCNY4-f&Y0CpIl28xKrHi|-2Y!nJC7N!Ek5)=v`6_C|K9*aT+#Y427 zpdy5q#&aNxpefkU>^UQP>Pw5zOcFQGqq59VqeTpW9d`u3r-Y;tQ&z$Il^)fjWFM?= z;w{=#R2MiBlNekV$f3%P2eR)B!>N-*(>#mHB183-lVubGDgdFzi%BE*3WPhJ?RMNO zcm;dC7Ij@64$bk{Vi}iX0)dT0HkFxcg)X%|GDzf5XvU&gK)Ku;KX<$H-^(BP^x>rn z@BRDyNki^joWK95{lo2V<=5fO_TjJSpP!y4Up;&K=9kBx!H>^A`Rm>2Z&TGT?w`2R q?>_ody#KZT{TEMu|E<3B&U5~)Kkj|}d9!1Hi@TTSKY#G}%l`q!D}Z+Z literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c679ff724ba115f83ddeb12474a0bce83d7ee88f GIT binary patch literal 1065 zcmX9-e`p(Z6o37-OIu0?QG+`$%rLHSXq+b;ddk&ZOIEJ*>TVEi7#W^4YLL^NBd~~> zW*TNDM~M(M*eF*C?3gKbGt;!YKhCX6m?s36xtohKYIGe7C1@)_zup*p-g|uhc^^J} z-a9@s9UK|jF$4f3lY7VaIdg|oce(nUzPRwy34lJBnc6?$(4L;2-rnB6zP|qc{(*sk zZQHhC80K=h1_uYde!rih0vyMRA}>i{MUhjfR4!L2mCB}Bv+Z`LLj{0kK;VbNVNWdP zizfo<43oS43pjNB#x^Dp)t&|Ago2B^<;9rP(X%( zQyxF-4G2CaLIhRYm90>wp=fQ@M9Tu{k!U;~Br_qVC~*}i13&q zx|0!~8YA-wR!@tSd~{7u){T6tZgx8Bhy@4%C;%#e4zLE$!~i)EIFwM3t|7ZF5Fk^K zWuY7dTL2^ilD#NHAx%K#7^CgWsQ4Hh-2Qb}2s-fCIM(ZZuZ zC5BnmD`>t*nUHNpZHM(vyt0|AcFPS^ZxbG%eONHy4zs?PNF}1Ynv7}LWJS+frrxqm z)M?N>kIH~-K*-4=?a18$o=W7KO*)^u1EpH!!eKEMlM)G;3Z&>jj-_;tGWbAEAX_0n ziuh2HKzRz4S!D6f@zW0sZ`}TYSNBbeF!uZ9Ifv9I$DiCkI)8XR{JHs%i~A8>xpC#s z*=M(ZC+vFo1!i@1;alm@v9Ygj9=^}rZJ&6lJFRa9^ZR^=;Mv6 zZ=E0f`RSEIJD)fjer0I-z1_n254TRwwdTHfYW5G+RdiK|M z%pSciy?$q;3 zqnF>f_wGk7ogZ2_^WocPj~rOKXYpK(`{x?|`l*t7jnyBVwe=etE#ss2SI~dgfBCyV X(3}`o|B8O#ScJ)m>G99@9DMVC?Ec&1 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..49a1dda5e70ad55fede86052f0152764c4fa1d98 GIT binary patch literal 1142 zcmX9-Z;aD)7=G_>4-Ocx=nVZ($kch(W6^%-heitaV3Gm_ikUL8dNmF+LKAwp#DP;r zSa2~FrkOg-l$x7f)kO~|I&qq!r%X~{(IM3gU1Y);Cr+~uGx<3}^1T1Pyif8x?|X3L zhQR!}OXdQ={Iw5`ZSK}PyRmqvubW}$Q6E4bY+Scxb$9CN>FMq5?d$97@9!TN7#JKJ z#4v1VXlTxyIUcXqOHqD~V?~jd<&df>i9{lk$rTEwWmO!f*=kXKU>Okj;ZVpOi4f74 zKbc}OSs`DLiY2vdr)qVbBe5Vetni+AkkDjbPNk+3TqzSQ7ZhhE*>LoB(+c1qkq~7; z6S2I4l~S&1-rXwWsNqK~33W7tEH8inAYqu|a>a36^Z9g!nHGeZaJU+e&*pNdRKh8@ zm-YAsf{}ayg$%|iS!2{JmoWHrQPj(l>4XUy_XoU;Nb)irQaB|kBy&>ER7^W=Icd9* zueD1q7Th9u!a&5pr(tx?6DasXC04P6shX-cH49A(q+6!(Xn;%wnY_#uRnbn!)r?v< z63tSkZ5ya=x!kmm3{rHM<)WgPlI3hPT1cfzxtwj9wMwPgY$CuF@MSP6@8XKMSSG_Y zE?E!hjcBo{Ra%8cr`krtq{~HnJORQhl75+CR9;9*-DR;tDm{}gIF{Y2u^{o7D!Sql zp+(4Sj5U&CF&myS;?+{NQMFpFS;PVa0aO4DzyO#5sAGV-5I7W5k)b1}D)>O5AkBgq z07n2M0#ZCEMIl{4W(1X!$kE}3@ig!p1O+T2d*V?ttp)PBTr4JR+h{aw)aAm%K*fex z%_Hc9Wcn0`(V8Kn6)muDIXOBMjL{ZwljXpbaXz$RO zk*#M=NZTh@PVAoeV%G;Fuf8&QPqVt7ay_#~+4%A;7xtLT zE-aiPPM-VByDK<)>ypox|9s#)cKPfAa`xD-Umksaa_o)O-wxEj&RqH7(!}u{ZESS^ z^-ZVlz~BCJaBA_E>CUn76Dt;MefZ?mZK+MaEVBCV{s@nbRDR5UJk_dTPhXbK^@>aC zORrXXv$KKY=f7G+E&TnpfK$Hq>0j?p?il1wUhP@FKmAVTr^oas=k0!Popu2JA<}FZ x9o|!WA$sND->2{GbpCzuo95#2ko}vmcju&)yzi~cUGZS;>J4KbKJfUy{{g#t`v(93 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3a493eddfada89c23ae3fd774d9fa94befd06e GIT binary patch literal 1164 zcmX9-e{2(F82;G0-9{ycYe<1c3n}4bhg|S5$2j!FV|3$SH@U?UOH#}sMLM~VGgNKJ znH5q@qlb2+fr|a((1snXfuUzowUZJiDdfZjiaDet)zyS7MQdzyCZ8oF&-?42_eq}T zeLol+@Gh9YbUpxJL4V)o9nHF|8B01^n>l#%t_DCW7~D40+Z^Z3o7d9P(%RZ;v)S6( z+S=RO5d`Vz=;-Y1bb34UEL;3=MeB?)N)F zA$K@J#Nu=^#b>gCTwX4k@p46Dal}X4CC;h%+^UGBWpX0Q=99i+RXMjH6z3!72gk0XU~ZSnvSA0}wzE2}Ko`OT{parYCrQDi|y&%7b(o z=JPJn;bEKv@1_HoSHgV?DXO%bVxu~j$O&38U|2yn!W zDOd@!nkhH(C<7bqMu!zfQr*J?EgToS;N2$@0I zoJ%O;!7>}G__b;{S5v3!+3H-W0qr=7QckDW?GbQ7q-mMsV}a(fNH(6B%4DsASuZmn zz#+1LDgn0|!c!4Oj|sU{a7tH7`Bb%3sMjAr1^^!bG5{(7Isj7uR1g50;8_@vp{_xz z#A84rL4pB>7g#)i0)Ube#!0C0&09RP0Zz@rm0t} zCTw!Kf`E+J8P&;a?tp)ULMS9gA`(eNDI&>`I!op` zVw%URJ`W7Ip@P8_2@M9CT=V#;XYGGH`hmB13<%(*nLB%%{f7R{n}(kG`0yv49~G88 z(R&!`CkDUj>7N`v^nCkIW3zj@I@@{~c$iq&vWr>%-;w)-?e08wG+=>fbrxyRiZ$F3LwX>tG$6qVW^!;`5eiyD9 zpKjb~IEPntf4}h9qBE3OO_w3h3qKl5=U)s67Pwr9{hi-hf_{tvVmaVfLiQTt;ee3)Z{NU;H ztNPYm{^6-TU3$;GTib@u{n&lui|dzPzkTT!)HBw*?`zxTzTbWxU%MkRx$f^Z7mjYa z@ZI*_7qI0^SFXKyQk*+AduZ~ToOE^c-tV=Mjg8=uHCKZ4rS8<~4F}&rXNl6gZ?3U< bCT{0fK8#+{#!fwKN(%aW2R4ttynEz-xt92% literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..887eba0c3ff9c07dd4799121ccd77c79e78ea3ad GIT binary patch literal 1261 zcmXAoZ)_8F7{`BGx86qA6sVzu1`a8tx>Fi*%AtiF;|8TU+>sqxv~dTVv5`(MuEPS2 zG@&Go6uFp!ohh?G7bc9%==`Fx>JB#}sFGWlY$Qmx`9K$-zVtL%2I z(}}u0CV#*j3Nx_;mrA>GQlM0hQW#=0s{~r-wV@(!jJWVoAC(T-atWcB^~=TRd?jPi z0}caj5{N7k6OeR3Q;2D+IX#q3u*$&&5yFfC00saKK?IG)tJjN0W7KROWtgnPQSf?a zA`zHQ>v64t)R`F6%o!~LX7l2_Xm*7uUz`r6*l3PR79A*|H(3m37NdE>E>MD>@kh8w zQb9- zQz;iK`S?P}RgU{A>Cn6shvke$OBgX5PB=))&9VWW54+uoKp-87NXcX=pRZIZ5aa8`yy{NPhjI(a5-e1VT0o$P#iX&5sFTG# z4qEg&qd{*f9+Wb1xtM{~5<$~231AUGSYzR@**%rs=Lwg~L^$+Ru3V0?+gYcR_jm-{ z^-%%W!E^ob9&tYW?gf`$$Z1)?3vk*+&Rs_hez8UZ#aDD%mdQ7dgkM!bDM_c z`q z{NwS|Yg@iq{>F+mLr2=LTlR*whP$sln!v3i4F-O?F}V9P`PfC>$lso^)*qj-o?dnu z9XYZT`jz)H8$y4v-5q)Ldc|$^%XPE;E#Y(0lY6~aO-gRt>yQ5Iv35N>z1BQ_W!?Ve z1HV4$zBae*ho!%pMh*_|NwwV>*s*>q`#pN>%h6^0SNnPsDV_fMi3435&sZ0)UHN5F zZdE>NpFV$FsT_A0ta;&LOLkEG+tkXQOFM6>yDmK3bN|ALtg>}<>hrSU+~BK7W%Jdu zZ!P#HoRjYlUyjwE?T@sV?%BsKt$44qNxG^(u4)}VzZkfC?9kY^3$Y1w|DbTl-`C4+ Y8e09`3+2k&HD=rRCCF!0jW&GoUNp}}A<7>&jS3l=ms zHa0aiAqdjk+`Mq%LW|XE#c>BkkqqPJd5z!8o(V{tl}=G2Us*CNG|OxY3E*&?_tK^BvETSCOgLsTZl=F@_n3zv0ywvu(B zfU^TX2_yzd3P>hmDkRO-JPOMWSmofH1Yy<+01W_#AcDyhL{Z6Rlbz0Sn$CH>g<$Y@ zA^|fQ6gOK*i-X3ToXsWJ*&xnKPBBh}QtqhA$azlDy%>QyTvjJzck_ftpoB0TPH+iD zP_$rHk80&)aW-QjftdjoFTeu8CLu(^;!4{*8B);LNKuq4QWlQWb~8_)ewRJMI+Hx5 zii{TG3o)^j3RN<(SuF)iS(BNt*;$S3UZj_v&REuD$J;HZ!Q%qWa8yQwpzUnNdQ;?L;xfJQUK%tC?NpWMN=>! z!jug40&N2V4x%JbTtKG*WB?Q_FoHvwhKdj7!%&yO1MmcJQ-GxrA8!fz?NP~|m#C!}M@Vcd- zPmTuFR8-5R%6b-7i-g+^6##VrVVy;|Zud}VC=f4|hHWh#_gD-?Pb;qISdAEFpfiogqpj4{KV>(=?6cscd(xUo2IV5QSXQPx}V?L`Qb>^ z^KQ1iwfh_#z0gFdi))6X%#n#c`c`cXw_$3ir``C}shPJe_qJWRZP-y6R=7oPVi#tn zzZmq*Z@+PJ$&sT=pT2&mZO`tx&j-i0wBHqnKW@8tdTocc0>886Oq)LO+|AND%uq{x zhdyz3)vZ@YR{XYZ$?hH1C$WaF(8j6r?YY`J@uDD_AV`$Huj(XyR~@ml54u_{T_yL}YYV9RcXu+}}O+!fOZr2lAX7ga7~l literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f82b35a6b2ceafa342fc27e007bcea6da7e9dac4 GIT binary patch literal 1042 zcmX9-e~8<36o2WV1aEWEsQxK9TL1_lQQhlYlRhlfW- zMn*?RF%0u~JY!>H{$Maj(-hBhk|ZcfMAKBmFfy53u~@2B8;;|4yEFwH3!*R)iTGkM zJf5JEDK?W83q`qH(du@p)z0%I7G@_@!LNsLQz3F1y=L&0Ot@ZDom#Tv;ZasiH6za-o$3&LE6pAvCaCPFG1)@j9LwJdK~Lb@#F>vGA7;!J=F1zCv{6egnbYEn$*F*$#zNJJ`}YKK!TE$^CDv?h{1g$cw%WGc)S6uzuUwxKjL zTH7+*N~UL9s9p8?7=jGbOqAo}l9W=EY&>2}r7F3cT`IL24cB!M1XLh07+vu4<$zQt zqb)w!j^sP>vTHWF#m-K%hbBm`m+|{Ucu*oKg=IBCOv?RbiDD{UD-@lo-EDCo3z#N( zbs0BfWH!NBNvWKT)-1hQ$#$C6Zg&%L0ATFEn;PyF}Uqk9_X&eY%8fBczmr@q*J z_vDK!#&r9M>mARGG|u zYir;Cv+wNi$&Xz;y|=fE+FsgXm-lVe{+@Ja?w-DJ=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..222331d91c78a2a55e218f070d750072cb0ec64b GIT binary patch literal 1215 zcmXAoZ)_8F7{`CCW7n|b0!U(aARd0>?YTxXd|ayq_76g0aIKu2)AKGH z;BgS3fWjdu5y?f&rIe*nw85GKHh4I%K$y1!zyiP{h-fy;Hk*QBNvCt1WeYxENtWx0 z1kB}ZgvCx-9W3hPF_(yYWI|A!Qk)K{Of<_Si+rZ+LrI&%Wp{EoBamK^7Q<{f!6!0e zMw9d9s8&l==5l5VSU6zy0W=6O1tAkwR~qx?C{go7DpFEc@^GBREdpr^xbTR_nG)!% z#AzX+6qBlINYBOQG!<6!W($eo9)k2ybb#X`f)Eb`(ve6mkk!yPfW;6Z zWu~(>u88|8bhzqG)&f~wnQWwM^QAdx!p&yVYIUJ@4tEGnr^K*fzPT)zjzkNobUCjz zDiq)uMB>ack1BpV9;DPTmyP=hs$9y&Yo&anQHK-&9snc&6aZ8J3IJ3Q0GncI7?hxz zgyj;80g(Vv3S?ZM%mT;(C|Y5JfJqi+{ID2?#mXj8K7)y6r=ok+Mj$&EE6!&su%u%aK%$7tVfIp}pCf`kMv?u= zsGL=!T3)S{^RQ7N83twmECUFeEW%B@hq8r&@oJTf#~w;57HO}S^ZSKhP$V27(h;Kw zl_qkGW0J*d9y{bwC}S{AzzhX7rg{A2YSY~ZKd^s$9|vCg?fR}}zqhx0gZstz4!C=V zuPk3Q1I2jj?=xLrncmNj+|F+v?YXn9@5hUyYi_{{^;P`vp<6-zu>dt|bKm^%(!0aY z?fm@j)b|(NLj!M57gykmSI@Y4+y9W9{c)aT;@|}a1pS*bwoTAK@jYsQ^v9n7K7cRU}UB0jL>c>MfzfSKn+$!8S;6uOcu}>|tckH(tUrY ZeEzR`k8RfYZ<7M(-PG6p$;Q`@{0|#z9KZko literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d197493215ff485b81df3f775e7324dbf5ae1763 GIT binary patch literal 1399 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6cc099d97ca37a5d48f7678f073330a3ae1b8d GIT binary patch literal 1004 zcmX9-afsV=6n=NTyY%iHl~t);ksgL!lpt{nBY#ARnmf89aygeu!6FfYtJq0oQ46ax za21Pm8nBFlMfyjO4uckUhfym84N|d=Fbj4g2jwU;!u?UT%8ecRGh^_*_xS#K-v{4& z?{99Tk1Q-L0Kk#;Q>&-L84v5;Xe8|J(#|G81U8?|tc7%HYHE6VIueP@%*@Qr&d$xv zVHg&TM(5|}6F833G{y6rBngU=(=@eQF4ybLcH4H{zVDAG6Pf~!1yNYc<>G}xs#u~b zRkq#`TWz`HXg#kw9GN_cW!XhlNa)#=p%6`t-Y)Y_J=<%mezy|%=E2xaCqX8m$blhY zEfsUBu|X?7=_OG>p^1zR4TM}AKm?F6OpV3#WYQoAlV!I>v765ibbY_sM2?fB<2aX~ z#1tzNX_d_Cv|_MYgD+b`ts|K|+4l1(CP}4nRw4z3$*H_r5i3o(X{)xUyME0JTEhb; z#z9^KlAPkIYCem#p=Wwc*tqwJFY`AD!B;yK`ET+k7mTf6~N0Yp=GN@}Kt2}n< z2cCsSZY<6aWR_;~9AA{As-iTC#dfvoG@G7n5BvS`c#I&a0#V24R*df?r5>3d@|97} z42qqx(Vw(~!@&VsBx5lqkw~X-iKG;k)daC3hs#RsYOUL9`>r<`av%$sCdG6)WfaIp ziL)wFr;+bk`oL)f19vjnM;t&FKm#xUEPyV+2m=&C6AUs3IY#>TFE@nrA5w2h-ON* z3Dswfan70)I|udNp*=){F%btQg{7%jj!P9Jx|A0Ty^`HLu(B8@C9$k6v+sjw3?5^CpkKx{4XmwZL{Qb-4uU+jveDTvy z&f(F>`5V_(UjBRe){D1~|G0ZudG}v*_QLs({(JD9tH-}v3hWchp-Wg_+gSbLnU}Wy E2mX1rG5`Po literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c6aa6dc9c29b45939bbc00ebfc24fa97b59106 GIT binary patch literal 1124 zcmX9-e~i;~6o1FT^^Oxqn6f|<8kkVEF(Wq8#EL}<8E3icaRrtzOo2vcSg;8-E@UKC zr!41U8kjO=Ckv@CvEm4)PMOI96GoV%nh}Rr%}f>?=FVF#Q_pzDuOlR%_v@ecNj{(V zMu&&|ixw_l2mp%)wrm>d)CW7UvbVdFyH+hG0J>p#>-Noe$F8n<^X7GTch8?cf5CzU zJv}`bhV}OL_Vx97yk0L&`*@y{BtcPvnx@8Lu~aIP%jHX@s^hfUZQ2JM3!=~;47$T% zA`XKGc@coPkiu3m^i>7^b>hI*uD8X|n9ND3(K^nyyb~GN@R@ zX}6d2_(X!0Nxw=3bXqZ3EzQR)Az6^jikx>s1cUqhURI(6g$b&>8W-akIg?lOwqA0Q zb~9U_ExI^xOW+9s5e3q~n2g7tBZEawwF8N|X10tH8W$`M$l|V3N54B&Nb(1v#6hPxfqYfPk1HDr?9Lhh;g~IESgIs%h{Y$vfFhIWC7D8 zmo5`Vm`X=ED=rn%p|Yjdis@#p)NW5A4j=%a0T=)lKpCKc0qQ{HQB*^giJY29f=WY@ zgS;Oc5s(B(^`HceOcCY7s1iqx33rWWK;R)DVqwLjN2sLX&zef15VLKo*|brI3l9Mu z?dJ@SXcBUsR2|l61+8|ZFq^8(7EL!AOgeQBTBX7VgHkxGM58M0i!r_wM_W8y6ns^YY6iSW zCXh~|G>!5cvW3p^GmrJp-2H) zxiw2n&ubqZsP5SNJonJwhr1SUE5FK4{F(gdNABj(0qv*Ml(B5@ndMUt!2a?2J0BeC z`R=#FkB(iR86Bg>KHj$L^qPtHS8v?$_>~*}vtQ5L@%%o%(%e}*bxywV&s6%_*^@i3 z#(&tN?h9R*9MrL;#6I=f<;zR2eEv(~Nwby^&Q!mB_u|gc6~@}P9$EGMRqrQ9FsyI= zlBWjmtT;Y#>E!tI^eekh%>Mh=;ZsNMzkcJ^hQUMUj-7a7RQodU(z=^(?B>tCmnq-I zZ%(|qYhCJT`bFJ{_8cVEFK*v=e%bJ|&aukH+gnGT3y$E{h1Gu?|8KfB`Pr?twJ!qe iE*%{;&QD*N>)KO(d;jRfX|f{~3~V0S^y$Vuum2Aqz4LMa literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..40b06cc996ed62266e763d62456511003af828b9 GIT binary patch literal 1029 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dd60072a472ca32e559c4a92a4a32c72bc523a23 GIT binary patch literal 1008 zcmX9-Z;0D;7=G_>?sglMD^gu19TW{3B_9Gt&4=i6Gv0Ds#$~KR!3e<>ERxMA5GZS(DoK0ZD%F)=wgIW;vk zJw1(K*v!n#?CfkRlgZFD#q*pji>jK_bJEw^$Bb&BVqM_3pChym>ot750%Y(??83qCl3JFCH zEE#KRm|sbBo5@iJM*|9t6trt06l4G-00qOeM8d#viy&;4-H@bqKHoKr>x~BTeVk5a zxD+L&S%nZZGHcMP#p-q5bi}GB+a1M?@@WRAgbXW_qRQknUMoxGhSG2~H#CB%8V;Jh z9Y4WAQifC>(j_1)jA^8V7LoHgEzDMWx;?Z4v>}m6mBEVwS;?|ZmG^WxG}UfR?>pwu zukC~m>IaD=Ly%dT$#Z;BmMf}SFBV&sir;92uG`z%8V-jDa1DqWMmH0@hszx@-{Z^u zoINOdLu+f)8tis=&>WdaFsYP~&d4OCvaBvjWhGu#YE`Q3W-AK9QI7*f#B@1fC~2!e z)=QjImc4qu?HFCZKIjIc(RIWDWC3&l3%~(r1N1RKF(e+9bmZ75>PiG?G*mfo1&Aa- zG9WF5Dm1bska?vO|Vlg0!pk>k<@nJ(o;%P81Y!*i-(;0&Swje3kIA{S5u z2*p{HW4XJ)%~HMJXX>@P&^sMImy-(xwN%n*%4Db-M>{<2i`14x4zd}fq>(|OI*nWo zg<^dC%wuym@BF}PE6XxGy?ymWOg>s%c;?uBAG~hm=FNk9K}X(|Lth>l{Tp0*>g7{k z?S1>F>G9J~{BZGr+I#TinRm~wUG;>8ciwvP`QV#h?|tO<Y5m8q*FW66bzJY**N(jO```GVn~y%bT0D2n z`tYr?wx*hd17IuKczgJB7u=%L|_$ HdhyKv)&aXW literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..41a9e916512ea4c810957dca0553ef174d908ccd GIT binary patch literal 979 zcmX9-L5SmI6n-bg4Ko!hL?){p zsY_U^l%=pyO6j3s4?&7V?O|jiC@jNHXqOPl^Y1HfWPNz2*cwsn9lG%JtQ^2txiCI<6S1QG7 zjcPR6PFLy=G(Rw-xH+CUJc%i6)({JpQnYoVXVNEiKIkaXz(`IT)5KZKLIDSjgenKN zjP(sHXy!)!{5-)LP!!RS4vvAxd2!~})BMhFI}ShQ}lW|yzKV#}AENb{0%k-;gU#LA?oGpfNG4XM%7dY<9MR+zNnX@9&3 zavbDkD3qaC1H#6bUO^ZTYQPz>(j1%4%ns3sMCNq{uL@*SVf#Aon{r&&M;&wG)@MOy z5xZy-=JE_dDl}8(_^K>7b-i1y4w}uN*NZ)GJRHtuGX%H+L?3gtLO!*O15mF@94f?k7IW_jZvzFmw~QjIlCY^Ma?6O zgtcd?JFohSPITdo(P&2Gfhl4Fl~cK5MW$k&o5%*^7~i6yt2RX-u_GdwtIZ0z8!5ITjz^| z+33-)2kpt7{deEGpQWR-uYdXCgLdtE;s^X6LTHEQ&da;Xy$^ri{_a2doo^nmJvM=kxyo#NMNB literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..42810ddc66ec08350c39857a43c9ec6ce7e34b99 GIT binary patch literal 1011 zcmX9-Ux?du9RJ?G=KgR*tk_{5;^;&0!mOBwID*8x+*xm#m$?kX=thQ-73o93?5t2& z#0ph{yUsza3rPFDK$p`{3%c7>`3_~xM%e7j)+4O_pFp5UwF_QtF14&%U<&uR0 zSuABL7FTnmMpJFIjc#c52d+S43b&+-DN`YBjj9{WepzVOlx|axI+bDMPDVkN0F{O! z54MaobgXURy+(4}CD1T~#wt3p5em`(5`c)2fdAD9i?KZ(A z(|jr;k(^3pby_hQ&E^b8D0^bHCA(eKkMbl-WU^^arbUg->4IL7Ds{E)>wahkQ8gSk z`ja-!LsEuR9>@|!{&LRD9e_nImKervfA}}===S{!_jDjfY5=eVN3%TT7=xC^L?Q* z$hpH}Yh)jeo5Q2t1TE1x&ZbgXGA+{?jpGbas;Kd@Qq!t-8qFvO$9*1D5i?}mR7tx) zJ0;$$$So(|@yuS^8TNwl_%7lB6aWLj2Jiqn00RtA3`syG19>irdJ+XX163aUEJP9@ z8IYbr7K2;~`32OipvZ*>!LuL=ph#FjOPNKwYG)g+)@qf*&>Idz6l)QAU`k88oswKq z^(j5#>`~4e7h98B_sH*~-iS&9OJdm!p5w`a%#`w?Z5G_B+48Dk;0>byjr*)9A|Fr$ z2*p`cV!4MP$|YwoV4d1S7~QUr%gKd;Rx0UCrp#t)JmU#WTg)6v^iWA7l|&|m90vJ3 z3dQ*N*%M3m9{j+Svs*H}@Z0UnG1=W*Up;s1R|5I;HD~VU@U^uT literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..6db012b424be78366dfebb7ff1c48a775985dbd6 GIT binary patch literal 1018 zcmX9-Z;0D;7=G_=ce%gzL#G`UR;6m3Q7S};kg=$_S&z)iv7D5nA0kAqYLEyy=!YJQ z7`2W%a!`*limQ@g#o)U0J_HGvae>?uTAB2_gYS z1`GjfDwtb|b(--(JBj)kG!W5&fsmI5-~mJoQ(`eKnKW?Rr0Gqb-!2q7ns%$vK(3o4 z<7p<5;ZwATXB8r+k&;2Hbyl~ysw0?f(GChJDw)ZqX@TG*DzC6gnJ+iQhOOAX<^@&1 z-|X(YF$UrSBnpr!0d8PaBav<4d6!ZAT&1g;q2ZxTo`_3SvX~_*Il3vajw<-N)TyaG zOAp=JzHgzP7mHIkkt3-B!xjahB1!dPu~n(KjfQXA-JP8<3=t$1z-t)UjImBqXcL7l zTkhq}e$feyok6RA(Ah^*L@Y)n64_K*ATkn7s~lezqh+O5rMlg01)e|XG9Yr8D#SD~ zWynOm#8_p)sTZ~_t>f1F9d9tWg&2SwfC^v$SOD7qJq%C;o<$`UStbfPJPry8RR-)V z1Uw)Ckdi$ie`Qvg#KAW3;cJavi8*B1C-UHM6SLnv%jPva`-Y3_$ zW}Oo^#b3P*^Ws0d*4|3)i`|bdT;95&tWE#<)4}NNg|KjH@wE?>eE9VrD-UMBqgVg^ zeSPV}rFYKP-(Nca^o6%3ez@|;m&(@o<72%e`rkiay>j2NYkR-FvV3l3_tA}|W0#iC zz5C+Xy=zZ-&woDl*u%Bs->=!Pe!O~ORQ~0t^WT%RN3r?J>u0V%bQ}A0b>j?7>sJrI Ud3^X{ug~X$ z1@jFfYwBtM03+L9Y+Y2USScn~NlN*XJzJarNWg-*i`z&4tpSsYXG1CU=W0p%N;6}2StN={UM4A62HiOn}(uY_w z%G08gP5by<*jb4AhQu(;#pMbesx{#{3qjgw+Rd_ln=RsY#{vOS5VEOMp-_N8#R1fZ z;2}8~RnbYUB}=+;=3w3yEqGGJNPajy1Z7&eT&GkT)EZigv3fmkq+CpCnLXn6CPI-+ zTr6e@z!(vpmOB`=$Ex+)iLi@~`YnmDBOUYS)A3^QDkK0f0l)*`0U!)O0)QL>U`Z4S z?K}(zVJ1zXfWv{80D=KzC;({yIVE)CFi1hc3X?9F34#aUb-+jh6NOk=rNgH6dJLf; z8;v?eF`Unfu;it(0NgGkJW494W(1VW=sg8x*OE;}^YmbPu~{+}@K3Wc$4-^9I=?#OT<+(n3>h;d~!6Q*v?J zq}_r2)a29k&)OEQV7~5r;=<5n@|T?-RZos=L9kL1qL%lL!+Cyr15+~0m~ z$>7vgAJ?_Lb?v7$gAMym{cvadPUdZv<H=w(#FLun>aqYipFAt8&Pj78* zK5)CPej&HHKBZb$&fI;+GBD%K>&2x9M@_#Z-O@1g(^Ics3a|rZ%k{kzmKRo9=B@m& zF4?bcw(eLpw^#dZ|IHYKIdhbnBci+dy_h z>q&WT{G2hz8bM!o&)DG;Y;#9LwA?+qW%ilo4QraX%eNcXAN+Y*%jx?AS3p1GUDhQ; z&b%{u=Mugf;D3VpDCZuRbvL z@xA+`LfM#}XKqrRwWNJSIyno1^znf}ZOg`~|1@so7eK|m{B5kmH_m?{oidk*g7&ug Kt>3h~vh9Dx6+4Ci literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_2.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2a60c810c099db50abf5e9c971853d76d6a5ac6d GIT binary patch literal 1248 zcmXAoeQXnT7{`Bmy^W5Q*hqnbCluE}free;O%HdnV=3d1+jeL%l@&N*GYTGZglZ}@ zSVO^6FRspplvuQpj+9w>NzPHQYK1CIJY~8Bs;cVh>YAFG z+S*zKLF(%2>g((EMxznKEEGkuEX{FtLEwEpUoaSs$K_ONSXGOq5@rD;0T^0ix9eOk z)a|kOMIsntqH#weDP$Bemyb|p#71a%TJN=?5@!kv*l8b?4B9erUQPQ8YGksQvKoNH z4BRA;SR~3LNl}}P>Pi^{ELdR40jDGgQ$_$702~OyYqeg3K{A;l1aX>S(oSdA>%9{W z!(`Hc>5Qb_!k~o1WaZ5^FUCoP5TblBI*?!^8HcPoQQTm$8VS}+bGV(Sct7J0JHj$A zE8dhEPzur9WKv549SihMfO>#QLh!KO8aLUKB(K=SoDeBWDR`PO>p0xtwwgs75#^|a zz$!j28x-;}Uojb+RAMln(&})N*@odxl5(@G$Z;XJJ1&aJa9EM$-0*O*ScJg915*&e zqFO3pU^8ZCj`HX2k%Bu>l!i<3!c=w=YRppBWt#B1R>Cj-%(!XiHm`BG_IzU zQjP=;8WC8n*MUkdbI3!+{A?oROvk+0WT=o$l}dLY34jd%0RRbr7yxMi@(6%sF%l_8jc|#C zPf=opf&$B41}DHg8dB0T5!4}@c$JWf_E^cCm<(p7v-t93@$BXi+lrpd#K-s0mQ&jC z4ZHVW3W>ch%xezqaBG$|Hx4|_{eAvea_3Ov=XKk+>Hc!+&-YxQu3Q%0{A}=S)7?!& z`&<4o>AxJ&>|5XT;*D#q7Y=US=>7#?;0@DjYCqiBfZv{P3FQxq(xNrHHXNWQe>nWr z(2pzo4^zmOnZ$`*kca`qnei0pobvywUWx17i5Ot~=G5z4+I2JsWSG9Bt4puit&K&vSF| zWnxeq>#N+iWzmTxv&Tmk&b&a?UOs!|AS&Mdw5)Tb-F z54xHjtY#L^@40&8vB7Bh9gEC|2T=8lb___Dl zf3M&Fe$U*!N7wH8J$Eay?2jgYOw-?>bxySt$LUwN$0zAV^nUt34K{XN9k|}BFJl57 N?dw*3(YERB{{iKuC-49O literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5b27320372fa0c7758fb82acd03429d2e808c988 GIT binary patch literal 980 zcmX9-U#Q!36h8NF?jL6v6*>$OwGVO2G=m^{2$wmi%>=%g7zT~eF$2|6?36TkT{D}$VP<@qV}O+964w^hbzRJvCBoLow!!Szg`ia$boIF3NMiSR8WwO+DX8*b z%UDOp0xL7>WM=~$B{Z6;=)^`SOl?a5Du(HqjEUnmNxB@jFG>A!d1RW0?KTPmoXO_- z94!%?N)~jgWHOq~8IDl*#AZ)+2dW>J2^Oadc}}K8ja76(Z%B={+V*unGQ+qTC7tnc zkl`UKL#_-&4M-bf+qpuQR03X)O4itLr*??;B`T}2c(p)TC9b0hJwuM_+Nfnry!td~ z9Y-FTgqbW$QYD5h^FmdYElqQ()vjd)?RMn*AX^yI$p}4M9#G}6(3mK0 zQteIc;jEjSjE>PdmC3NVT!F~T6s>WbAxaH3T~_N_&3>mFhtX`zgDPT%oH13xu24>m z_Zo7~Dfc~d6gbH!oXrjq4^RRy0Biscpbs#?0Hu%wR5Ot0qIe{cpfk|q!7o580g?gf zIb<=&m5^USg9eIScoaMfq5vfct7tj1N;U05$JKhhdK7s{5}{NJF9TCs=k1*25~@$? zF=tN|Z&vLcw+1Kv7>%Z67FYr+&>4j%Dl$_mi?&&Dn`X~zMxmF)A)1X@QA9qV7!XRc zXrywFf!Ax!WWqYF$1ny1K~dyNMXS|xhOV=8i)TE62}F7*QAsI}R05eKav0?EC=%1- zXJ1_Z>(LL~y0R_9#or&klajsS=Em-sJ6qAllOJDLS=#y2e7W)3N6zIp&mWw*d;7X@ z?Um=?`LE8sacl0g@z4J0uixFce&hS2vsZV^i=V!IpW6$6C_a1c{;yy3?_|AyPpdq3 z@$8Qu4!i&Sc7ZMa;{EZ$!RS4iJ$&XyviKe2e0%ftpOm$$-yFf+oyysZXOW_ X58k(mmp=GBbpyq%?aePQy|wp0vZSKW literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..9e790051e019d988c28d67227de95029ee9be9c5 GIT binary patch literal 1194 zcmX9-e{2(F82;9c-Pn(m&|twz3Teo(9NNGcPPym-Hz?ZyhdZDP)g0s^HEH1fI7chERCs9OvO{Wv4oRUY2rDTrI6D#Sjfo=sjeC@4IDUN#?KOx=l%81`y|iv zzDKrg^>nm8+X?{a=-$-TTdzy%;cRKF=aIwIB>)=1w$0l&)W?Q~28+eg*x1TG23Srir@&MFN&-^Z9In zfHN3!M`L6n$!4;AE-w}ISh

F~m!@iHtq$b;<&olJL<8olkfRSC4PXtjnN4jDz$Bst2m<9>fB9KM}O z!F=9<+gz00%{oaQ^@x}^j0-X;CFzL5#B*G_z^jJeNjTgd7s+9aK=?#jjIz-bpHf9t z4{JtTuV%_Kc`F5M9I*R=GXzi>AyRfv7WL&RQTN8mQo1H8e^T7HhQ{1P&3P2?Wnr z>70WrVE!^4t@zT_V6G+?&1`kHGy~f(tCg_ZJx&*gxdoDx7&gk+mxZ#i_;@C3Xu4UZ z0M8&2XASdCIe;ZYloI7~N&mPKF6EQel4hE>Aq9XJ00{sY00n??04fN8b+9xHNl-~c zqr{>>#6g?_ss|V>fE<9L9ma5&W}zB@g(x)A;EC}BU})fFk$_+i2eG*9$)tr`E~4v7 zwW`B9m%|V6P#Y!N*|d{aQPCjfnoluumr%`(9-PzBHc5Z1kj*6E(Y5eX$L6(X5<3aL<_eLgM_5JDjlcSi_!g2ELV z&ok~Ki&ecY$U9*eg-IN$6x5me@e|Lt-F@-{Z})EHz}o3+d+U8)ch|b@%a46{{Eg$< zlJ>}ZFukw!R&Dv%`!}MWbgwa1Z&_^}T6*xQCIpvlmVkIxf$2gXY-e`NIQiR()}1-HNWS&$kamyC3$p9yqJ?#&1$LUJ@7eOrGlN ze?ZJ0E$nW{f78EMx%BXl7k)pm=-R>st9JZ&`Of@~mmf~w zwC?S~?o8#*ai8|Sc;vNvXiafD!=+J}C71rZJHfl>fA2klMJp=xC z%c(2v=Hju>T-cq{IsDj>rspO*hd122Wx4j<>z0rHwM?A;vgxm*U%BgogYFGmyUwlO GedvE7{1t8h literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae294a3dc9ab66be9a850359caf55292d5bebbd GIT binary patch literal 1177 zcmX9-e~i;)82)bKt~(B>I&{HlrkSLes?}6eLP-ktF6B}~3B`=CNXZr1>6Bh5us;?k zVaRe0QsW3y23cT-lN4FxkS5GHb%Bcxu8=`SEMz7lE^;|1HgYBh`5Ym6-e3Q`Px3tP zJGy2yH-GN4a{&PJ2Uqp4?bH_@g~#2={bQeA0>BN{yt8hgGj?@#xm+%{+dXH_obK-K zo}L~AK|CH$Z*Q+J7z~mm!Lp1f^0FLORV9%~WHPy8(X3Qzw%v9dk^l@11imjE_C}+D zSe!_v=uB296s1yGty-x@Gtc5ki0)H(pB4(}GL}=x@dR7WgsMfwo=CRr{7k#T`GJIk z7z1<>DJV!eh1LsRr|O3-0y+|$)gi0|0T2L?5JW*y&F|MSEKk$pf-n(@)HQ7?mxJZ9 zpY#S9A0Y&23F8zzq>-{tt64T-@adA6uS%vJ2~d853(_La%T!olm86i&NjXz7Ev;gw ztyZBiQ$`u!6@f1T0&#%p2$l13MJ!xq6f2Z!sQI>Df#U-1l_`IW!&4!;AhRV^v=VYX zqc)91yPTP^4A`uoUJAoQBo$%Um?)-XIU9==Q>k(;XPIWBR%^H05cm~Y-82~~6r~v2y7ywKF&_n?2Kwx29g+?CQbpZnk z3DOKOIbaI_iU2A;m?B|bfMyg{lhDqCN5)ftXF*6nqOwnm;c1;Ka0D7=0#T8SM|fR}=F?iqNLv-7 zWmllnpm-jd0NMb;ju*)e-DCI@@ock6WiyYVR;z3{EJmYpJg$&Lf+8{uX|QCOCu#!T z3I(AQfEos~Bs3Xl@txzRUhTX0=m)m1T`htYf85;C>AAuFmFt!s{6q|Yo_Kwp^RU=6 zxM%!#?&!nyUyhx-ee!zX^7fbb!_B8|*Y9^rb>i;}w@$fV`*XoYXL(~s>D?IgwC?apK^J6>WHk)kyvSIO-(X9tI zZ2X2lf-O6}vOTzN^5jA^y37+zMuzC`#BJV>_V0h|^3?-Jw?9~wUUL7$e_M|cKVO?S zdU47XS*)B#r#GK|?yrG;+iG{`$4`AcjCoYgD@(?P&kSuek01Nc)5rHNExfQCaclLP z`H@8x68%afyTEW~eJ{oruTIke)+&aWnS zovrgn@0~^W4!E>`R(rW=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..46211fab16b0dc38aa07b5b1a12b76d5dbb8ae1d GIT binary patch literal 1264 zcmXAoe{2(F7{}kO+pc5IMmwlk15H|D0|yp%m`aK{#tln3##L_8K*hpN>0HGNl-OXE zQ)?*D;6*xDp}ImYq+r7;FfF5jDg|b!c!q+N98$4Dw?L>^pw2~JOGv)YuYaEJAD`#h zVO?%+p42)C0MKk%(y^ji(P}&^msNA`)ZMcHkOAwmuEo`{rlzL0wpJ#S)z#J2*Vi{R zG$05fm&+R)8&x`;4#Nxtfzvd}Fm|___4$0EP$V8tq|;eRDwWHa0pKP;kxh2H(&f^4 zyas>36be((xFeZzXT(6hAP^{GGc~cKinD2WMjvrw$9zO8WXr@^X~bWYgi0xGRs#nL zJUHNKB+4SGfFc)FmNRNtG{CY0PVf+>bpTKRI1q$YC^)s6*Xsq7=@>!yjv*oX?To6m5fpCF{1&SDasH@ zH!b>@T*zIB`AVr!MU25hTA?)RQ5$A-;)I8$0}K=Pc;bOTDiRSBiF`I&DwQBmvp^q0 zu&9Das_6{s%oF~CT_}2zB|ck@7bkKR*n}z+MwQB}(b1@ZF`3*X<#$wg$NY3M>>P=4xm38AOP9;HAP#^H05xMA_N;ygoSPTSlkT3&@0+0rfRlxuT1qvoyFyn`k03Lxi0+IkW3UM(i&VvSdb5vlG zNuMajibWAtz0^*Cd7E%vMF|>5LeEMjzGRP;J;_QaGm*%{TuHA4Mh#*%DD1e#MPptk z$#X6t$R%SzF&!&PX;{u1NfIUilmLWP7XGT;W2t@KaG_ufhaStF$q;rs?Q$_*FN+y` zMnee4Vg!~V4Ot2;+H}yNft((OF_^%iNLG*EIJ@cYqaWD3VmS>K-u!iawI8r_w0FI* zYgf?HpPnP{7=~B0)5m9S_<3loc78lN(7o~#$2c+hFdAo&c!o^wrTsetQySzVDGxT6-;{5 zq>)*tUtZtYv+$Yst{?jT^1k{511)qD{db$t1 z(tCPBHm`v@x@78CJ0H3%pH|L)aqUV=<&0LYy&<&SUwwfq-I+Gf)pC9f=h)h_X6a$= zoknZVx|wHXeZp++@-M~%Q#Ov_qgM~ko7H>5bLqs&@b4Yt+Qa>$f3?r;)P3N2aACJ} zcNf*;JA1AB#n<-^342a=h38-Kubf!6$Lnw?`VJWKg$$N-;uc_K6Ssn zX2I+aXS8;{yMHse#eVS1MSCmm(?hpASM@xXx)gh$#*TJPPL5{U$KF5cdik?I27Z#L zx4Iw9*f8#~wjhU&*Im7IeV^j_bKmV$KRM^M;}HGkH-6)u?4TCQulm<|&RdRLWN*TC fk>=j}uUb;DskM+^Tfe`G4OkX0?-*RP_M`s+3hg+i literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c320755e3d5040cb23cd8442749eb3fc5d0428 GIT binary patch literal 1351 zcmX9-e{2(V6#wq$m5td!M`~6^C3P08;{u0ipuuCiEoD30ExTcH%~F;_3RXR~4l65C zLL~)?)>xrP!6F?tdXXA7R$U<_Imgs8E^KUt)G(w#i4)6KMkOPDEg|{5_j&K1_xa=V zc?X&rwIxO6MF4=3`gOIs#uwYfes1Zf`y&YU??g+hU0C_&&fO)`w$Y-a6tyT{`T217hQ8jq*aX$%Fp22f6iuqU#{!acR0fkMOdH^=3qoE200n>nL0GZaCX>08O20UBEuvKT#8b1jX|kpRXQ8SxHM)jVdqG9nD$2vp}0}5mZ4gOhE|b`TF(-!gL3!` zz7QJ{Y<%1;Bm)zfh!_VF8c2;mZUssgqV`F(L8U%|vx3e!VfLq7JnW@Z5=JevXjM*~ zCcqG3GcDMen8%#p?5T(+BXBUmizRBMN{6Y9IANh_C&PFxmY~xa@%e;MXkv6Ul}bS% zV}a6xU;!}^meEm_ae{Cp^!}tJoN|q(gUQ)g1{SNtVzpGNl`Ci!%4jrZl5!Zb$E-o8 zdngc$^Fn$82L=)`(_))J?lP&oR-ALtVXtwBv&ACbWQ;~=C3aSA{hKvoK!81z#xWP(u#jQhbecKINz#=3%N~w}M1vJQ^O$ogi4B=29v*A})6;D0;fv)C88mzr{eM@$p zsjsbWS$E*X;p#7bc}Y}v0p9plarBLb(#i`*#lLk8H$2$lZa9oybg<2>pPt<{jki1w zo;>?;(UiJ$#Z=(3?bk!mwB-KE-kYH6Zq@0HmbKi%K2gWgocr@o;l%jwljDO|(lgyZ z5c_I}kL|y<=ki-8kH4^OxbghoLe03aldMdPj&wh`w5Kz)V(Idee-+eI4mS?2sS+oH$pt`F4}OXYf+$Wd!}w^4*DdGu5fS_Yv1O zrD*$40s4HZQZ==(v!bW}!&mA~on0z)4=naI>xwI0-8o%Pc6r+dCNCD1>?~|U{;=PR z6>QjMna+{W2Unfj(>K22ar@c@FSJalTRe5|EL+t6v+QYCYhS)+tE}cs+wO%63Rizt zJ~q?8p`vErRcsv5Y>u^&yN3=9m6h(g(>=TX>iicgGG${=MizgsakiSiaxl64n&XeY zZf5LKfb_qwAWjfnD$N+`*YSbA6$N# z8#vZ^WNP5H7yqy9wZXQEu1&|DCKhER-UrhRALyU?XtHALKx5ax#j)9jYh|J9<##$N z=O5jCb3}8zTJ__;Wy;REV{h+$^M0NvwyK}se}oJ3!AHXUy7!(Ie6pi8_>Xj+!Y})C TW2HTt22fwuSbL^s)8799U))~_ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c2d2a11cc8d907e5b6cccf953184a4c94b042859 GIT binary patch literal 879 zcmX9-F^HsQ6n?w2yUyO^5Hf`j2?nOHki^2m!opnK!z_mNavoS%cpzkoAy^ogLWm?n zhG1bag@h@lu$V%~6kB*8!NR~4Q&>!30u}?A5D8b9U@^sV`Qvf$z4!6K<9)^V-jC1j z?28vqJ9&0?c7A@|>-8=!E-o)Gudc2z z4D0v%*Vos?Xf)zDR+2b%!E|9@D}<+0p+zqp?%tR3NZ+pQYBQ^=_|z0K2_^$m5kd`H*;pRn z`_-`BlBi};Yodn`p<)D}0+<+P?cKpj*GxeiKVRP9w7Y!2okq%u@0APtaBpnyZMiqZ+%&QKM@ z+u(UnB+ylCViDeynTPT!wzAAG%cQPL)OnF(;M{>25^7ADDQ#Cm*ceGW%}&wwAw8gd zLl1$cFqy>-k(y|nJ61w(63@LXnU_UUR|RShyrQ5KPz4BeSp=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ae87046f35573c66c30618109200b19f60a995d4 GIT binary patch literal 1045 zcmX9-VTjvw6o0qgUG7%TD0Nm1(qTVT45N%pf=0}|+?k!x%Xzt@NIzs4G=mQEAxhP% zkyWo7#bsJD{@x>RodXEL!jnt00Ua3`*|TR)C=?nU9UU7R z8y_FXFl=ICVsdga8jr^*D#>xIBngU=)^#nP&zH;9M#FZTE#L1C22>JQ21Fs8PDe7C zST>g|6q#~GtT*IlOLx6ur(5GlEX9O1A!?*zrjn@Y)JC3bl~Zm*^EV4Uzc%bUJOMHZ zSr$wQt7}-Rh_~yJflHuX5)EXuYa-;t0Ym^9!!#T>2*OMxY7Da>ikqt1HjJHW6}4If z6^XOaq!?r51h0`PgHlXJuW)%wC^e;;E8D&rqlqLRXCzWk=(NUZ1+h?-tF~r)hU1sK zUcEDH;VeWXh^i3FLBho7YLssz(k)i=QpJv5>zfYR5Xp!_6Iq@trkJ|IHFe3$EA6u0 zwetN|dFWZF>);VOL8d5LWx1>*6&0nD%{Gd~R<-Kcc4up=-|r(JG)R;&s*ZC_LUKv9 z!xg&eS})t|n_GiMZ?`=}VG_sbXq1n|B{Hcnj4p@;Iaro!6ib`+hVOWT4hyn?=@M?p zF*8F}a;#O5niX}^GTN<5uk8#5JBS5H0q6iGfCaD#(8T}+5IL07kyS%}TTFmPL5T&M z2VVpv0n(zVNTHgD>35|vX0)5z3HM$;;Jj@9!WH0aQR zfNVfMAQWU#2;^>p$mc5EE?p_#gzmarIxS@~N-n2S$vmAbvy{bAEg`ujlD$+M$uVRk zP=!J^i##DXe)>T8uNyz`!s5IHhkw8Pd_bJJna7syT7B-)Gq*bXZy8;e_#Af4TPWu}dp|jvtgyJauQ~!Uwmz$Jg literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..61f0461bdad94444f2952e030f97f72a292affaa GIT binary patch literal 1142 zcmX9-f5;Pc7=KP9n{o;C51vlg6sugrOG@7a6$F5U?f&KhqMPd#hk zkgKMx+$*Op95#7J@BUbJ=@5&fR$VpeEtg#JB2!LSFmR>Cup?*b>$i#Ud4B!#eBkqW zp7*y71?SCOG#3Eog*Fcick7C7^!Hl2`Hltq1i%7Y2e)nNjy*j+vu4e*SS(hnb@uGp zbLPy!Fs!$?*JiUhyCL>%$B zJCXFKGl5*5EtR7cO|0peMzcucSUAupFit7#mU&-6Brc|CEf=np1!F4RGK!scHRysU z4hafm4l4% zQq{=ntx}_-*(q>v;EaJg2|gJk3(jEK7tts|4`&);u`O58MHYAPq$?4`GvPpqrz;|- zr}%nKY$~a?mh0#WYF6zI(uao$GDgt}j?3_TK9MMAGFqXat7>Cr zAj)7OXP2UGIgaO(l#=Eu`Ph^q)wO)9UNz0zhyn-$hyXHx0x$*8!~k`{(kLk+rHG6= z>jQy+ECp&13>FXvNN}PIfr>0r;YAh#omnW%JfwfkxV)!RM?kZvsKw?`;>iVczgj-5{j}<{McZeNdX6^KCG?gR|4ckQI~s}4oTox-JHsE2p8fpp-JwH; z6*sOt`1Z@SQwM8TZ!Bx|C$Df{@7T5X!cy$`g1k90^Wx8MR5mol5n<-m{`QXxuW!Gz zxHV?mHGeQ%c=|s@Kegbm%`bcxINe^EyG8FkbZzePeqzy6Cxz!Ha(B(~dzQgVpKkf{ z2g{oy4(k=`k@UHpYx)l_Jh5S5^5u)tLJc6JP2(X8aTgk=R5xc D3<~me literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa8f7458aa811d94f69337d2128cef023df194c GIT binary patch literal 1172 zcmX9-e{2(F82(DP-q^q@Rc_KiO`33o0}3AGjHlkmg zGn80Ni5F;~3r%dW85J+Am=Q0rz!{1eSlkIU7QH|rP1fj4sx~roF`q|Bp7+;3?~}aG z^L{)y;9uOitP=pRxc}AOA*()T#j*~&mGAdWEC#?12Dk0#vqqcEwqU^myWQT_*4EzM z?r=B|1nKDLSh#Q@>h*dF!pAT)&$EIMlq4}8kEhewLP0B)DyG?NwFn=eDZsH^!JsP= z@kC?3M3PEpxO^d0)TOeKtkrW2js&PKkwxWzM-i~BL`=pRJsl_)L~|<9FmrRwlHUzN zIEd0f;gP(E=t*Za?`oCZu;GKP5S&*aEO`Oo00<$7=yb|%w}N3gikjrOsc^U|%d^=m z)O9!E^3te}^H3qoFX9225EM$vFmaVl75Q8_q?ut4>Gt`(6pyn4859{Y!6mYxtR`xP zTryKeBVU`-oiuRq01X3A3}6aEW>J3u3+l9J1d=r=*HlVylEYmB>5lsGWPr*GOi|*E zxKK??bv549({qLj>m{d)#P9$?hG{0s^GQL-M5BddQqN`$O{-NZ&1MqX}Bh)N0K_8h`)*5&#MSDgaXe)DZwJa14w|P|ZQJ z%3(kxK#B&MADA3~Jb)q!lLX9hP>aBF0-8DSNO%&k3KhzoKP&r4MS}- z3}|t=!+?l&(F)4tJRuDeO-gA7)mF4PmoCq1HCSz8ELS+b@ z^;I~$5%9v02g(@C5KyC`!CK}g*LMB+=m$oJ26)gjb9Gl)Hr@bdS8w|6*8?w{)lOcXxV0a4KD&JUtDpYGc0D}yZPNC> z@9N0PT_bI$_sn;Vx@Rh{eXo76ucxq0f3Wk;+Ur*%8!ufvwf*FVs`WA+`jwz@x$$HzwI46 z(Rl{7JiX@ib*`nWmkb>5ZKd9x?&h`h h=YQBsU$$W_`$vb>dqYS6?y*h_`uhfYC$_wC=zsjv{^9@t literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8b1d70fdea52829df5ca4f7c039091d0ed9ed72b GIT binary patch literal 1233 zcmXAoeQXnT7{`C3+pc3`kqUJj(#;A-cCs=qO829HqSjGa`dNrkEfCzjcSqQ@Aaff^T9@qj8-8$@le;KIxJSwixC-u`*Me|(;2 zXIraz(!}W#0RWR)mMv*7)y7hwYE>y;>ydf^P=U7PE0&hVva+%X6DFuss`B#kii(QL z%1Q)5)M|BARh76j zToe#lB*G&}za|sW7E>t98)4B7?}-q~1^^fU>ZgLNU-6QJ+3(PBx*DpOe}8UNE=V{KE@ZahvIxZ z?U9v0Iv>f7B{dY#vOwnmdN;sCgbeA-G0c{v__WoZ6~YBkh64<)4R*(UKT$B}fNFyI9uGaY2_W=JzK

#Z+9T_PU3J{BD@0DuTU6o6p>atMGWF*I}w zFdBwRhQR<&fB*&JW}q+tvHb zMu{S#G?BCzM;JVBH9)%_dN3FyV4Q+!OX>K@xz#rx{=la8Ru;VQ$4}j*-qW(=#T5&8 z?F-oU^v#>RbO3(Q^4R7RdwV}s#KEejjy|HxdZ%umJh*Lpo17V0J+yVl-u93%t>xtn zx7}~_+`Uly=K7znjP`GP3!5hp`~G?UyY9|fr+&_iIonTt`0eBKb#V8w^M{A7tQmT4 z?Yj?*HlkiR>aIP0a7yvkiTfX{?pm&L{{5b+X1?nBo$puv)tMdKqHa8c&%4~ycJbIp zo2`!G^&^PR)zP{CosYjlkM`Anjz%NDzyH#D_wh|rXCG=UuODw;rmpF|nkdYeURihg z$9(sVyPr(IpIdZ$ykYT^yAKSh2=sjOH%))O-uy%Fcv*SZ*>aE*&wZA=bY^_j+gBIv zI9PpwTImn(I^6Wk@%>w8%?8C2>lSP{Th~DRf>xcB`Yv`pPD*z=WETU zS2VrSP(w!MM$RrfvgO&?3y$5~IBnLY`d4dCoxJ??g3hlmKQX1@*6=Oq*IC#8+cLTb z)CSI(yZvgZ?LbF=|KO_8p5IK=#^#}aD;n1}J^+T%$uVr&nkywPpk-<6k}nsp>-!%K Cv>ey~ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e163da36b64f4f1ffed4e68703aef6a74030ca88 GIT binary patch literal 1231 zcmXAoe{2(F7{}kSu^Wt8NP#j7Rw;0c2bOSzBNRO3M#?zlCda5!O_!WlNv8)MOM?Xu zDWPIFE~I5$D5Sy>DqdV6V`;D^C7#lR8Y&K~a!3=a95`czD#a}1wS?sR{QBql{_%O9 zgPj{3Et8*~3;<~9Sl7O>R+rUcW>bAFe?`Q92B02vzPxE|ZLF)Sn=oNQeSLjHL&L<0 z6B`>F5d>*!YML}@lF4ed;<$~XNS38J&Ls$ZAP|T~5;rzyRPz5Z+)A&1MNjWxIWtVX_`iK@`X0 zahS=Naif(q*%*u6jXHSDDdL=D7h+UEp~Gob&bd>X$3mEG4y&ETXpV646dz=Qad$k$ zr}Cnzh4Xr%Sj`wnU}S;G11x@kN(d1*Ig+R=L-KiNs3^!~Nrl4ed#Bnj7FBuAD;_-YcRU92Hm&*{Cd4NU{ zJYk^HW;Ta;id3-Vl67CYER9x@`goxVn=yldFqs?{D~s7UyIr7}pu4urpA3bwiKM3H zD@78xX+&TRqT3>Qv6!D!f^0hG$tq$Y6VnT7r7{Ld0Gt2_07w8R0Av9uApq9IP|z?40FbPr)pfLcl0P-dn!lBH-lo#fLP?N!9@C2YK;A9XlXA*r_SaKv}E}ahK z^NOzLVa?0z0l2@JluV3lai>sTvrA={Qt_p$(cE~d2n%J@2nY+}uo+yW#mnM;4=ssa zIV`4?a9&k(O@);rLDMh=pavkUu?W`ep2!^V$4Vt47JVWim!n)R*6Zc`ejc|42wRlI z6$;PLwowMtomS|!KoNy89HvN^r)$SgENZ^@_y=}w+`xj>w|{!O*6-7z}+@Cf1XdiWK_m+;a6FuLIQxP$+a*Jd8?>AOdeY>2Y zTPLfVue+#2>!+{Ve%pE8F)cK6;PZ>@s+(uu+V@F=?m5;t^Xi==zDq|IuDf%fwBS(u zxaHi7{4>49%nKh~9;B&9SC0lV*`7b!1?$o-@761)KiqNaMDoYK&MiaasS9&o4(0as zYHh|h?%jxYcg$$se`fkL_13ogk$+b67iJ&4JGgCDn_KKhJ#;+PnU_Q^(F+J2iiXv&R*DvvWJU&l9dM8GA7M`$xMjT)O*f>l{zxzue;P#rI7&ZRFpPp(`g^`Xeh_`ERGj vf9QPb{C^!&vIhqr_KW@KW%HiCR~{f>c=_c3@#$|hDxhQShW4Q~-TVFrYtA5g literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..68473993dfbaef308472ad7354d17061cfd93b5f GIT binary patch literal 1054 zcmX9-e`p(Z6n{;BT$`+%Gf3t#$YvO+99`&7uQMwry}H{7HtMN27BtE+PDy8! z8)gv4i6^Ax{s>#pAQ=RfLaV`L^d=DkMtZ}*vU*^|U^5*qN^n6s_=;-L! z*cgUk$i)cqjs1^j^0YnUwaa{HL^-!ol(`!6mkH=f8dOM#-rs*fW zLB<#61GE^5$V5~nC7o7sY`Vl{t3sh6R_u6y@`ocqS|B)yipi{;;WK$LUy&=8TC=lO zx7Z$-I0Ie*d~pb*Af#hd-WMr{VkRS7QLU{MdU_45@q|~R{K*KRMd_l%Ru#cYOD#j` zl+r!Z7+59Lso`EKL_|p{&ag>A&?G6BOqMmx%;&92rQK}ydOZYw8A1j|7IC)f7aByo z&1O2WLN{6M>CJw*yVDvV4}s&9&ld><1tKibw8HTj(HWL1YuS3SY}c%Qn*ou-6aiPo zfSw?7DW;SWs=0W*q_)glw^i%+ZzBdE3ZMY!040DrKnDZlfM-!kL8St+TYLy)60!_b zB4G1?1VFM6X(TG}sFFa946+Mw-*^f*7NR_skbG*A$m)?|L8?~MmR0I@E#zqV<3Of7 zjPBzL0kIO2ZCdZeO8sPYU^I3rZPe<8yg&u8NEnYXfrLP&;+(D~3R$&U%38Hj*RG*{ zo8mZB0b~P0ju#n6?g9MiRIbyZa>fHFjRqTw35kT1O37q6O@$4HEU~1?g_}IljRuhz zKxzo(NK|2v#W}}MO?&>i{{!zGn-}2O?VG2Z=Eu3&=Z^1LIdT1s%jfp*8u|5Gw6!qx z@6`IjwUeHg2hVi%Ka9Qg$4=ilbz||wOIHr#>ofU``|jqSTQ^=gX|58RPv47A>Q4;BZ}uIy^!Cbyhwix#oO3^(S#}w# zcU*5h<^50id-k1Ik0N+&>L>N)@!t=AzWB@8r58TnmNqmTd0k&Ua(3xSXD^sLGCzCy I`PV=GAMh2)u>b%7 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1c11abd2e13c78f026646f4d394b8703cedc484a GIT binary patch literal 1216 zcmX9;e{2(V6#s6eT*urh6fL1>aSdGH)NUSnLe+yEq|9?W+)ZjIvA_`;t@FYT)|ety z%F=0B4lQy>H6B`ucjEPB(7cIK5s! ze*Aa@K@0{%LqmhvX0zeAouWvVr8&+m2z)3MlB9StsixDpLZMQv;&wnf07Eyr-6o&U z>JQk%5r-6G5=l==6EfLIu_RL%;&L?dv^nUqiX0jj@IxU=lU$i3Ulf|w35a&dP5Tim09Zj)v#-kRzR>ER;+8iuKbA+3x_%IWWd*Uju zW`pTMG+Ry-$221eOe`>afi(b75h3DcXA*U5B%gIfih^7b)9?_3nK;7YcVZEjBf(KA zfz5`vyd;#AP(_o*vI;DvjV1!cTsYw+DL>0bI4qU=&_1EEEXV@Fq?{bhm~Mni}2cf&v2|3m|WX5gf`4RDCcLh6NcsFrEN31zZf`buwOS(nO98l2LxWB09p2k*@MPkWwSBaMzG`|D<&T+Q4%rF&(hYfFQCF1PXEk2Ca} zFYFuq?))d0Kic=kk+VCmEo=JY{_-#0zN$TObldq&ziBI`A6I)yOFR39I#Q>PxY!S0 z+WYD9!0D6c7t~9-Rac&B`ujpa$L>A*Nb{g+)md6uC8Z|I4$4+b57wHX3`MwU0I)+h*{#t`9$WMWAC**TVhnD>nTPI)4|g literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..b77b3651bd17497cefbfbca7bedf289245b62273 GIT binary patch literal 1369 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 Qn?nn#SJYK?yxH{0{}|Fp2LJ#7 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d41716eb76d8c9989c4090fce65e098f0bb61896 GIT binary patch literal 1233 zcmXAoe{2(F7{}kOu-jI!kVZPGQlaW8$5O~4M{MBG+o)LJCbv*r4F_DHnu>=xVxuRX zp_vU-a*%>`6jEjbB`KqcgB+$?3ae($2F}rh4sKXuk&8hrQbI*YUQ0;6&#!-;?;oG% z+0(VwHNACqD*#~nsy92<)$4+K*qaUYJTa~9CIAM|wYs~rJ~lKoG&VLG42CIFrc9kW zwW+BIL6GL==9ZQgi`{O=aR)__4CCfFuORTjU@#hur_)L)Xf==GZY zep^6vgu>2fj83N6OjgLN;Ziw4VTi|R2Nq3kE@DODikV}3ItXjpiu-* zny8GG$z#3}6)JlZdLUDg3)Qs#uvmje%w!@g7MIP=U=Ggd6x?)(tuGVP;mBw*t>x5e zi3F@05g3!i+GIZ#6UkJF$;5o4DXEx^>BU^NdJB>OcmNOpkO4>mFbY5!0kAHbf}#LZ z38)om6!18RkU(((jRuebkhj1v4ihv~{4gJaS^_)_w$KS1tDwB*lq=p;HIS)A^AD90ELKo6AZ&=sVe*nTKZA=tw=DS+ z5h;_3sJWD`v2vM+MW0B>=P9q3@%uSZ#jP4;Wwm@%(Uf{&4Nii!-9VS{L%{;27KgV6LCJvHq#I4*juv z$<=d5O_PVXy&uI+=pVK$r_b%{!GxoI_lI8F&`YmgaLst+#t}XI^k-+cK0k2ghlxet z;`=whUS?=pxN$4CT~&KoYT~b+&=)W5ojk9%{I`FZcz)N6;}eU!Ip$Hv@Zve+Z--{i zW8P7YO^o%vGV2-dj(gmq!ts+modZp6+n&39xxKMEr~BS9?Ea}`v5^Juil6+p;a7w1 z3-@V9hgw|Y7xt_k*gtk@a=B+|SLsIQj;n!t2imUOMOJS4z4M!~*=ydLwz8wA)PD!d7o0SR< v&TiecDKkFL*fTlOI(wtz`xQDHyWVi^V6FIhd)v%97qF^xZO7?1Htqf&ME@tG literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1181cec1bbd019bade20701de16d69f12a3bd2cd GIT binary patch literal 985 zcmX9-Ux?du9RJ?#PwuYVs+QSd1{I5D5N41(L>3{Zx!F51F1KYGFt{jzE7*r95sT&_ zY9D&DV|gf2r6)a%P`IFZI5iIy14cchNQ8UnFb^FTR@j89ffYI7XU5?3{eJnpd_Q0K ze7@JVHcKnZk1Yeh%EtQI<#e7*>(Ry8v>)bPJq0ieTNkffNa@VX%!v~xW@l&T=H}+- z=NA?hFbrElNr zg4Q&0(J0L37=n~(rp)nGNor_XyIS=cjiA$se1CX!G?`2g;5ra3jP7Rn9xnCC@{q5O z6lYxRP3)t@8y^p*C_`qmOg>*K6eW_&0P|3^`B*%#gB{TCgi* z+vME3)N7XyU271u$Ad6Q?jjCA1~33@05=T-zz74BLgbNYAlE_hKqNq?p~-;D3 z0n+oRK_f>*eg*aGD0bk!@eBw&$RbwJ@>Z2>+NG|e^?J1^a>wHcrCN9yXfwmvdC@7T zKB32~JyG1G+MBle$NmrvCPWUH0#>533RkE|v{@ExtKu}Rp4*HPRHVauKNoWD%%MBcDT& zkcOW*m-+kt54?SOQ-amoH@8z#-&lM8%IS|^ij~1gn_b%>`PrmWlGuM87_>WKD*}DD9`abr__LuC+pWcn??pq@J hIrrj04$SYdTi171_g;SUgY+cWxUjkQ)eEnE_&>qvqs{;T literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..c248297be75ad77f8b58fdb738dea6d19ab03458 GIT binary patch literal 1151 zcmX9-Z)_8F7=Fh#ZZNl+lyJ%gI;pXP+ojmun$VC#4pKuy z8Z25!g9nsYLqjSySj~kMUFJzjsHVyi`r*_PikwoC5*r0lv>%ER^YaMF^ZxttKFRaE z@8L~jzP^P^76L%u`d3FL>^fk_vYt*m@4Iq`0O*8GuWcT+$BvGUdGqFVc6N4kb#-@l z&!0aZ!?2#7o&^gQ;BL2@qP!f(iXtz|0aaCEu~;gV$>)tysbX2pR*Uii%YeZ51_I7d z$Q6!w;|V5}7IJy1P*lriqE^pxB<5#&6&{cJU7GC4sMJi1E2jMAykgD88&l_iC9j-iU~(G=WLY;)bOH~gdS)JmD~UVfP`U+!x1G2&Ev^3%#0w+1%uUS^mZnL zibaBQx>?*SxERUfQ%HZ5k~Kz6b1|Jy7Q}2>GOVDBCcHj3Ba*yK2NX_;3-OGUF%-j$ zmaL@N$kp0K2MbOS@F2J%;L$KTgZuKHK#^5Uf1;*ln_3CY2&7Y{iLj4M_?eu{6;#oT z$<>rv*JI6Ms%`41UUE2T59z1qAj^eCF(J$8a5$ex6f+sqFlv=bv)M#IDBww9RL;Q_ z2(e5CYh1h@$Tq@-rdDa?8xN{&)Jr-XG>-dRZjtoL45RWwT(Xx%@`>bJE^n30R*eOT z$5hb~m0VhgOh;HfE*8?kIXzk}rW@5#t92W(0Db@!Km*VL<^bv#AR7XQA}Z3e$f^n+ zP$)>UVEDii0EvJU93?1}6_61^($ai=^vyI-Pn1wOr-`0WlPkBN2u2#%OPfrF4!e^4^L- zHvDcRxlq)D(iAdSWb*d$)5E=gJ^X<^6JsL0^!v3byB}UZ^77`vWA7gyKYnoFu@PI7 zzQ^ya+%RxJ+xh)hJNE9mf9|O7`BQIvYRnFmnT@M2-aPU4y$pW&#{R$EN4{Ho{O~-)Sdq?!W$EPj>KCTZo?^Dm;+L;4Ipg$Ajc!b1v;4N+ zk)IF8ICX>zj`{Ba1189F&NdIKb^qr5r?_OFtda!+!{&mqGPv!0} zt>?d3w(6OSmD9VnM84hiFdb?yb>3B3`K@m*?cT~h`(MYpg-2h!^~J6 zzwi6-|DVxEtxcM+#*Sv<8~#fTPO?+<6g6gIvt!z zW%x8L5u8G1H7aK?s>SII!F0r$C)+*64GRQ|)7cCsQ=-b|H9@OLm8Q~kH8(K)uojG4 z!~IT@hm;KI0uW^&EsSlZvu!fp;k6)F9qM*u`Dj<7QYwp=vQ#z4wN$~=<-k-2b$#TR zQK!BiIB4W2Q!Gj47`DI*C0VYjYNJ$YSF4?7GjQEuzaK>r0$c;KjxnvI;NfzQDh!3n zC~uETUS#zr?eW22A1zYJB%4lWiHuCqD#z)fR8it(<#x5!ZM8!`m<)MPL`;{HhC*0H zs!`^hitIHCUB?)78smXKncPD>Kn_3$umBu@F2D!_6hjhFSx1hI!huAB#z2h+Hw&Qz zNCu>(QI$cqgxn(PRZwWd{oq*;1;|NQQB4~qs%B+dw(5Ci5IEy;fMPAY08Dw2x6+bL zC@!gmoE7DrNy*!<_YT}48bo9YSOUw^$vjUKWu{yZEu(1H49}?rzB3MeG#Rp@h+IG+ zAQWd&iRB&uH_MIDh;7s#K=1X0d|oaV)pA*5Xp^PuJmUyVN2L1_HO^&_LLh@g4FWgQNY;RpV`>6TEl37O1E2m1^PhR_l5Fhze zBYu9lf1`c=-14_~lE3EHKl%LWgm>)j@r7?b`0B_0vDVJi&8t7W-(7g@_RZo`|NZvy z<#+Zz`}649t(8AcV!C&6hpat*>%xugv;N^r??zw0sy)Bdc=pQe>%U)R-@aRVM-eFKn!B LuI{|_+I#;4YwfhI literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea9ab7a1b594536073251ab0f4e73ff8fdb1b35 GIT binary patch literal 1018 zcmX9-afsV=6n=NTUha0zBGq+TcM+-v3?oXw{1G(U6)7`db{2^k zFq`$L7+sxZR#qf`bdqsJPR&?x9acP~Lcmiy7qMt@kxi&l@dk(d%ou#{J-&b5_rdqx z>cOS#&K>vc0Dzr~3-gDfIU7}CDi-yxp0n2gVsP-uzBefENv_ zRA#F+vC&joZN2N4`vZq3u^c<22`Mv&+bU7l>2-^5S99H_7HpKlz}XshvT0CAC~{y+ zSVP0w_+6(XyVIg?gxRD|Juve6tf&{IJpA zY9}~IN|4F}ZUA9pOg)ut5^|f<{9L)OJ43sJ)8MzdVmXf%V4Kk9R!2$(J$53>~=+3VI>|8VwZ=yetGF zAPJC`LS-5`BJv8TTS9>YH-l$D;2|es1vOtAIBKh9`Mw*5K8m!`d7zCM&Q6IA zu6TqNu=Y@PN5$4wwY%;0QEx~jfx)pXm5@2SAkju%u+4%~F*mL8Cq+2*?8z z076j~rAY1;(w0#h447K=7W8hHmu0C?Pz^()DT|@19PRRSTc9>YGR$R=f+LeaH5z#w z@`dR5nY}ZA-~54Nhn6JRclGj-h@4%V-@m;3)XF>ZuH*OJ#{YzVe6K3sz2}2}^W!&W zzrY_``0ns;&k*6CzpQ?|Uph1U*2O#K-hAZ6&-wWMw_ker?FWu2=gz$F+1XvOf2606 zOnv!>)p%Z7Ieh6NedU|?gnXQ7UAytomAjUHedxp2g5_6ET-fvV z*n?sA^up0MR$pGzu09b9KUwbWefQhlmrqXYyRdTd)6t#AQ!o9l{5*Jk?)+b|ql@34 UADlK`jXcBRfu;Gixo2PhA4%-EegFUf literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d5a07f3d7d915d40987c74eb0b938e0464256f GIT binary patch literal 951 zcmXAoQHa}g9LIlmyoDh93EtnTn;Pi%TpXQa3j&5vs&M=+H#uh5dtRSnT-$*sQD_YFU?!?+VI2lI7+ z3s6*`R0Gli%E7pPsWPOhfnY>xdv3ak6QU!TF6tc7sL*YdAL!!9RHCLn>zWI%nFQT+ zJwdYA%2#VWxuH8tK&Oo+WrK zWz?&UJ$n}Pma}lRdV~Z36~F{=06c&(zybr5N*0l2BF{zfOs2qKp(B7_fmjBl05VFb z%_3JuejQC(D0bl_cn%~HR2i%5CA&d)oXWt}N26vGdCO&lQWjAI)+z{2Np?xir;M0) zlB&0AjMm-Bu|G$%gen3@Vig9j3S?bjt(xT6b+==WyiOE)%Q!@Ma&rulrQyWFl6pO1-XImccSjj_C@lC$fRWOl5khmXSsxn?gMn`2vch^!T~g z3V)saz{i*O6*%|DFCV7n#@^1mSDwFp^UF)me)>`_dmsI_byiaHe?RlpwY$bY*PlE- zb9gWJP4;a0cl_X0>oEWAy@xNqb56W-`|6Fi`~QCZ=g${@`rzUDUz3CPcRsrH=Hu6| ueg4YTJKuR{J^_$+!}^cmttUU+je29%Qk literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f92648ebe030776d9946504e537fda3cc5351700 GIT binary patch literal 995 zcmX9-Z;0D;7=CZ}C%rpIaTOygu1Y`TLy!&v3nL%mnLD}?y`0N1LSS*ktzwz^kU@nA zQG@FwNRV>WQAR&Rs2I5-CqyZ;Xpob2GY8dG$goOrMGpz1Lc#m+Gh^_)@5}S$eI9t; z_rtBt;?b4kD*$k`bY}f*GLI$oL~1_ie(A>B0Q0c*;<=54&dtpoIdWuvetuzLVR3PB zX=w?=uv99wyu6I(^LdIYa2zX&ysFB&u347VXtX*VKL`d<6i=sA0aykEepQw;l}fH^ z6lylpXbSC)((UQ}&>oFlj>IHpRpW6}$~h|0(y3jG>ouf)M~n7qlgORLK`{#o2~`#x z5o>E$&rT29nQ1?ZCIvKA(4m7+kOvR|6b#eSX)~L32*PEUT|w9@mxrc#&}yMxFH2?e zEM5?Dj6xJOQZgykVe}?vd3?Pqx_!lu$~ih)DCQZFU@kSid+g8DTSx$rP}8h8#Q0jsFEStaXEvF)net`&yfWD=r8D_aK2SY;htaC3@J zXc6PYvNx@EXN~@$KSINp$N-(giiNby<|-m(lzGRjxOKDZ)x*G>L;;$PXr4ztpa>93 zvZy6;kC3&D=6Fmu8;_v(`!pNzTv}f{_tf^q{k3DkGpWU`*z`a9RC@dm?#W-?I6nCO z7OlLVx^VZz`R%_xcyL+1eK;vyJ@fC$ub=(lt4sIpT=@3d)Av_yF8_1gJBfbWcYgj} zx_u>u?^xIN*Nx8~`&;BT-n(nx`RPk)?cEa}T|C8aU7npUEp2RH{q5G)jh)k<99;k6 q)!}#d&^~kOo0UJ&OK+WiXYQuae)DDLmH!fRP}p!S~+d`{#Xp zeD58foQQ4Ouw?@PY#M)lbgDZ?y0v-G*X<`mTW1~u`ccD>FMq5_4#~#eSQ7? z{R0C77={fF4h{_s1tXCNNk&} zhEwUNo~82zzFd*2wpw$ujb@1@usA)ea6v5|He|f0lJgnX&c|yN#aq-{UTL-M#6lnu zkYd0Pu(E>LS%1A8=+r`}6-6Bhtr-Y85da=Q!Z5|}*Fqr!$4fLl&-06kL|xNv7mLWY zLu4Sr1fzVImhhND#5GbjXtls*OfFXyN;S#y5@9M7jYVjI;ABcvSViacqExgL%hen& z=eEj?Rol-%K!9KZ!fC(_j4B3W65FXr3nmG8Ib2h-{oL%WPE@+>Bh$ zt4%Z0w)3m5iJFc-K;cB3q!J995`?TQ7gDK8HftA)u4Ofrm)q?&f{+4u9wWRaf)1HLHQ@Z9D)}7>h;yA`?yuWIDkaTC$YWs%Fl0%$Db% zPJ`k&WC8L3p>7s>SMDA{nRKDqqzd_aP-`_-6oq6`PNx+znxUe3hBR5y=Az3y(TYcq z6h<133M8@^o)4WT2H6Gl-Ipio zGbaxEdQ*qq`1Yw6%BKC#(3tPy+@+WPi_g4s?z(dMj<~e_>$j)h9obj=7eBj|7Z>zf zr;lv8^3~HDe>ggRU}N&t&;EY>zG>gp+3O#TEPe3%w)G!xJUqCx{K!u$Yk}v)A#TE^T|kc z$L7h4vu_PN^k8$>E8l#M9lY?GHgfi5@$mTvGN072Ge@io>z6M7HYQgV4u3y)URsI# g@uP}E3(1GPIb}y=qH8nN0wY55(Zp@f5b#-<1 z_4NpXG&D3cHZ~f~W;2dkDT-uSn&X^;zy|_>a5$Pw%8HWHv~s0_TLEbU4BhN>8ay78 z*Jlliws3@rCtazukX6M(F-BpC!`95xM!&-(ah9ln9}iIJup^t~wM?+2#YW4D9R)57 zcu63!NSsH~qCOutRI(^6Sz*Nm?@16UW&jufTnNJJ^?nqUES8wfcAQ}{Zg<}AABsj{ zI*sB6GikIkCY#G*=P`#L=OmjDp#ljylwxC9m#n!>1ZuULZ7fD}gp;TEAQOzbqB1Y5 zenktZrFda9ttWwj1x7b8`G7@2h^Wz?v^diwuR6qn5GzXxJkDSSjzGP3Omx`d9F-DS zHNfS=LNO62r^BOa0u~j$fv{i>oN$wrmt{qci+H_BQA|gpsw@|BxpKJ-0m=hQ7{TLu zDuuFH%w3>@MQ5z!O_ilwC0V+cABD}BUQZZ}c9WUKtenjz&`i)(UFJ)Qp-eofDQcxa z0vC-4tlsZ3NggcXBNIV36>(=0{(L%8$}5%15F`O`03ZM$0gwP713(c0uquXvJ^?0T zP|GtGz~dl90@)5U20#`--Uvk;#uzAjU^WP~7V>)i?rSC`BNH>ZWDBp^q_Q(n@uo(@*?V#U=F1iXAWVqes&|qm4~zTUwB+~1 zLjF`Dq$-J$roc*pplK)rr~wG8EP_?Lhe89sNU=yn!Ve{6vy{`xdOV!Z$K%!jVGWab zg2L0ZHOF8jhZ(v|&~Jee9LgkA>FV(lGn9d35hFkpoleQR~%cg(aC>z!=pjgDoD+D=|Bo}D%Is|iQVE4KPl zmuEkJdK$YezUs=k6T4>B_icUm)PklnfvyQNkJZPYzIte%_$k=1S-E+0{_QuG$ZO1) zb|#2!KRJJK`F9S~tzM|KD0Q2>JFkuZ`TDaLhbON?Z(cnw{(%0r^=19MBVYbH sw7PZV?fBIT@pMnd_{m7?f46QUA-d(;k-p`tszAWfMO~doUs&7wKa|TIN&o-= literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3a23df19f271413a93c6d2c4b5c9af42a5c4e48f GIT binary patch literal 1102 zcmX9-Z)h8J7=HWr+SL*(5_Pi)oLZP~@uVyl+ zRPxepALpS&oRtZ`N(OXVF<33l$4ntvl(JR1V25zVOZk1QL<$NMRCzTn#xruJpcX8> zY$vT&uCZ2fap0D~69PO6gn=;`k3UZYOPp#25)Ccu7-e)`B;5+*jrhq#fXyjF$Nwt{;N#6;wiPKlMy;K1t=HGk5b1I;9*-aQNhGDPtR{$Yxw9;qPb4e3yj`~14Gv@h z(#Vt71N=Lsn<*CR=wPAuObd00H6UF046{MposzMK;%(WLuMA)b&&v- zh9n0CKiDE536SbR2^wWZR0yML9NAg8A3OsB4*?MiD;_;UCJlcss}zed%Q9On3w5-- zA)uo}oZ%6(xLhDqn>C!E*^U&~Qq}cB1JxbE4GfO?DOZrg!x9}035FidCiSA3w9017 zE~9pX5d>5KWCKE-EaDxx2k^$C>1LBjryfA7R{3C13Wt?wRHdmHL!~&{*mEJ@n`OA9!baQi5H#Rt|T_z45W#`?r2}{q@8 z{@GUtx5n?hx$x5q69!dzSO53u=F3ZoYd`eusU6tWfAvc4?7a5ex4RBKzr4AB_M11( zote8Zar@RbZ2QTTQ|aj^!@pc)9^JAj_uKN`xyg^78LfUocbz`8+p{_{82;<>KX--i zE-Zfe`|w`+<941}6HY&MeQ{R3er7Io_ce54TEAIiF5Yar9>3S`KeRJ`@PoG(IzGVo Mp2@ML(St|-2eBmLi2wiq literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0f545fc09cc8d1ed56e9a0bd281fef30cac15149 GIT binary patch literal 1158 zcmX9-eQXnT82;_^24kM2m@}(MnI%*>u)x6%JmrAfDC5|U?1rc5A2)Z7{!!%;&rw4m zjTTa{BF`XZbaELDDNy7i#WXt2gr6lO&-?Yy`y|iv zzDIWUdD`Z;&j$ds^=#|vuhqr1Xm4q#S?m zrsn2m1VLI_TIS80hdG^2f^aho&GW1zc@;$thr{uBGMzSZxhc!4RI7v=&=laY1x{Hlr3$xlJnSs zh=TwPR31smNH&TVQnqT|4$E#>72%u;Va^Ev2Y`qmGKz-mcGcz5C~BPJCVaj^D0DBG zgxRc}usLbW%{eI1<&kkAL`W*7B$%+y#xlH?7Y)njAnk6Clj3n!BE2#rN4Q8*Od7Ib zhH_TSET@XIS(FAg9$-G;2m+UikV(vwc6qb3Yzon$qE*x!9OrPGMA`!$JStEriODFu z8I}rhrKE=|+4!uf!%_~lkuF>yNFU7vcs?pgi9jG7jb@Wc(=dutQr zOvcXVabJ;%l)PFwkg2Fs)pU8TFbi986eTgt<8bo0TcRk10f+$W^QNAPs;3fC7LDfDXU}03`aM_96{u^_ zDsV0!6Cg$d!vic1KpsFDgHZx%95nneAAyzzo)}L8mH`5X_$4e9z+rAe7g*fjNW z*@QJNyAKe-R$9e4%^?~t*`m~nSFZ*#v+?|#QG|tx%LYgX;&G#1+TrJkppR8Uek~Tt z=rJ>=m#rME7D<+c27nfTu;xXiM)wr{4*LzAr?Ke@8?&nG|det#biHr<}yUF+BObZs7ZY4pISZ@zbM z)q<`OsNWdAaC7PBSLo4q*6=?zUPccke?8s#i~UvM-lJnZr`Au&bsw+(;ci2&er(IW znV%PKdEs!!$qQq8$ECL6uO7a&WBGR?vij5}ZD8Zx+s_WYEHG~`-MW45#K8xb9(K-b zY*a6f-u&j8dH_CuJp9R_=50gYUhnr0FZ^=Z)j4y?!RHz;ubBSt>lc?Cy?kQlhVBo> zE@bzdeC4R0b*V#I@wx8SAoS(kiyg_*wW!;(&(+?(B#g&%HwUeF4e?R>A)|ESF@9(+4=%?d%7UT>1>Azl|IXgMCaxnVP z_WirBRle9Y`q?u_`uxBL38U5~K!y&Qwm``;Lvy}02H Z=0AS|J$h}?NKH)8)7{r~X3OA5{{tEk`zrtd literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f7affc2d35cc2b2ec890efcb55a7576e120f4e97 GIT binary patch literal 1200 zcmX9-eQXnT82;_6w-3i{sd7TW0>xB0u)}jXW5GkOO9!XBg&XOhgd?0%upwtSV+l>H ztR@v2I7xvpX@WV=1(bWXDDtj|{pg>EI2 zFqg9sW*db$SgVt_yG7g+A_UnfCFroi#Ijtfz^l5?N?IIlo0G#Cf%J;B7-1txKB)CpH5Xsd6j;flX3~y(2+~K<0gj6bLLv~zM5DQ6Qd8A(u~@BEA+U(R9!H2Y zN@p!x0r!>ZNX45n0@Lu0=L;}Pppt^z10>}XbWEa70HQXv!ZhmZ;d+Uw=~ejykX2}hW8#3@3d zi5%l7vbf=~LEZ{Oc9G(Ng*Y{j1+9$!5w-waMG_b2X~p1ytL#@oeprTb6) zojkVYpHHvtfd`-bXt=FOTc%!^v8;XetKZPM!QjD_hlUSap6Fik!&L8)5h+u=AdJ_3Ar6E61)ad%S=D#--)yE~RTgAMabz z;j@Ety>p4Z zXJZ3bj^1wA@kQ52=c7kAORgt6Ug(?;7@wPF4v)X#XnF3BcaNl293qx}D^4DYPhIzX z$1i>T$5oeI*T(gGoio~Od$7N|a{jLuhbV5|bMwE&&wS{s(l=4VwS} literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..98974f6c7107a57003118a191a2a288b559f31e2 GIT binary patch literal 1218 zcmXAoeQXnT7{`BXgWF4H)fx*HQ>0{N9B{zlj#%OWH|UnzcCZ^%EN~?UD_J2obCAXq zQ=v$m4O~c(q9>f@gepzwlIa?$vD1nbt6pLw1<%kx2^~T#q#;XK%+C^%@ALN0^Zn!V zJR=+X9IeeSH3I-zySqC3YxR{{EN`r@W&ZxMp8%)_8+!)U*Txw$X4KWy)z{ZIG&Ibd zIdj&mSqOqOHa0djHJPkdD~@9nMY1f-^Da>og27-ksw5K0OeU}Em1-5o0BHvd-Qsc? zyKta5N#f-qwRfB}F*5W!#wn9Y*SrrPae43qVE3W2~q zMS)f|`9Jr=@@IjnXTrFp_7P(p|aDV&lN zl3F06N3?RRIF&Y#z{moV2Uz^TCLx4kawKf7G%0A#a8Xn%QU;DOsF5ekJ_j0h+G9MG z5?L+C7ouV*9;~FJQ(7FBG6o}IL!CI`At@irhIwB0`4Zu9T2ZuQvY5|TDisLK0(nMaowb<>|r{Y(WhM!enw-tSpN0cDqP3A+EN}p9n{?v4oz{ zsznlTG$OKw0B4cBsO%@>AvPs@vhhG6EtdNX!>utvv=^1*N(PD4(^sWpL?`t3+c{%EDxL- zzFIdl{lP~oZ)CTh7(Tk`a_^_dCK{G#^DnIU@{#-M?QL84_pRvv>Os%QqE(M?UK-xA z%y8Q6`&M4Cc=w_^3zomiy|K>&U;litZCA5?{rK#m*50lk;m-Wo11-H>CtKymqq8^V zuCJRnasHW!!Bg!IuGK(*?)8107uUHD{|^ht$HPa&b5TvlEaYTqSH|mk?GA@&<1*2rFu!<2P_Ctk; zRk|5ikb+@UDUuI`WiHAwGOQ3Z;4zBiLz&g(LxqA>2P;yf=!t(b2EX?nzc26igWr4S zPi~hE9@sbl00*~T*xX4bp47dWbkhGjcjIY*G@Lws>R3XTmX=bfR63nrUS3{VSy^3O z#V{Vn@!v9dY&JK!#JMJ=S&fJ4kR&KspM)kvfe1R zOwR5|Jx}Qe`XDmL6Gx!2GMClFyiq1CmFnuuZc_;C^1##Lz1B2#7PGKKfI>r^2TR6! z8Wx!NsF#}$2sACCxq|jBgu()V1fXD;hT{f7SQO=O+^!_;RjVVzxYg~VARw4rfzKBu zl2fRXMwbmnwK%;aG+nXXmz{y)$5oOgilqW4)1t~&G(l@gt*+AbH9s=KxE)P<<3)h; zkdq-_1+oE@g|Xdy$)hR(uSI2ZtUEI+M7t85Q(2;3qRlebQ-!`RM@@BP>l3#*3+zSY zqDhG7Sc)z)Y?T-4vTUkqr(X9=Gw60B-yaW$v)K#*p#f!MOb-|Oggl_DW1%&vIMaH6 zW)0`wbbqu!SsKULe7-~$WV)zwoGwZ&C0W++%=TW-i^FI>=0OoLUB(TCv}$yx!MiQF z->L4o#wh4aN8x;a3-JJD03E;rZ~^uJCK#Xul7JdIavc*I4XF(L8EMYY@Z`A3wRq8ovzu$}^cRGzwqD54JX=HgTFFB;*Q(DYf zvx+;f_ZRkH-yfsVjLHE^Vx=Np;mMlJG^(Oy)SR}_ciU0uPU8^G$E+wKA5aVkC0Vo* zxw{~mjm~7kcI>;*2Lqu}k!v-z(a@M;lP%gj;|fe57Kai&Ef3!sX@z{6r8}dza{iQe4r|$!@%k he|Gts$DjFq<)7_@mFHi3|9>V*q;miO literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..30bbb56685ce0f4950bd5afd804d4583f9b026da GIT binary patch literal 1152 zcmX9-e`phT6o0j~*EW>6#St;En`ASsr)F@DL(+Nb)kZz-b)K5d+c@RwB0J@rCkrf& z(?!W7gVUvuNsu6!1U)cdH-lu7VWeeb+l_TJZnrI9a2Y5b8eDW$zKaN-_v@ecfzRi? zlVhX7{=UV10MNf_g}KfMXqk;F4uL z67|OufmE8y<;7x2t(b{gJd$rw{gg(`W)nvOTDY|AbOJs=Vg zp+V=doPw1S&T7uptawnvkD4Ny(-A6r0XP5=!xX1e^LTWhFB=FaNK|P1BbVb^04;roA0;#m79jwZ67#&{tNcdjaL>hSJ9tS zKTiceL`OGtEt=Z#{mSLyI(Eei>*>``)=cDUuRrZI(b|M#R%Omovi$G|JN?bnVtP{((z@6E{8$ET@C?8yBEYdp)CLGi%Uwa=%D72&{}H?D;j zJ$Uzb`L)HHj}Ka(y!zrjD=v&*)yIbp?JOsz_iesDd#-B5=OB-oD2_;Y)7G0~eF`y}J?PxV~nj zkyK7Ry)eFSeCMtYPOAI98fZN_b^gE2{(ndQn2X}08jO8;ZsN!YDYRvTO&dmsFRkDG F>Hm%Z{2l-R literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7be3deb2c981f133fe254b4b3b2f866d12da6891 GIT binary patch literal 1135 zcmX9-Z)_8F82;@KyRrd|6ud~)lGNpZ8#~N}9Ol%+-LQ;vyNv^?YowZUHl*U=4pNhf zr&O(@Sx&7|lY%8V<3%p9W~j|ZoG4V?gh)dRcx_crUsW<20%Yv$0^-!uT)!0#bU8kDwECTip5#Ws@3Zx0T>$aTvs6A z3Wq(BC=pN4sWh)=gZYA7G82`m#^Q*d?vglE@q1Je%gE&U7+XmBOIgX9iQAUes1iMw%et#xazmSd^&nhUAuM_U-~k9Ch~#uCZnuhI8cm<)`I%6ttSF0_ z3@jAfq|3{o1n;4Pm`}p}3Ms0zoMvMNm&^-VDVVcD9?DJlytIIGA{CHWDbB|;!Awrd znM%=0nzmkP6r2oj2>=ZNPZVG(LS;~277G*@$@C{GvQ|@z@H~&ZM9LlU;R!#ji)>yN z%$QhC$yFm(E2J8x0jou)i^6a}Nrf0TA_xglOh+QwM52(%n7LeKcD7clLEx4EmO@C~ z$>!Zc2@h4+cr~Eek$g>^t!M4!aszhZPA7$;K95(x36Z8{j*kbM%c9vtaz@WuMYCRE zK#)UZ!Knm2Y8X#P86z&_)1etdDHqaqxmd3+LIwao05Sk700sav08|kGo8Va(m7$?Q ztIT6SB0-V?IUlfi00jUg6edWh@h}&Lr8u-SaMySWa4hiiNLWOb2%c1Zx+doHG1D|` z+k{OncL!NAt^&(7%mpY9;v<{^#uFCEXoyplu$ENv zM$#-AwpE1n3dM0S2cQKYYHR62DJa;d}y0zx<}Mxzo*#3&-gkOoT@ zIAWH^ZNC==Jy5}5nuIw9nq2evsjXd0cYomM-XQ_(T$p>g**`SU|J1%sA0Gecx$$?l zt?EAxjh2H8TfElj<6nOBUibRW+vx4l8-3#r-roN+dF8PiKYVg&?BeFFZ#_D=bmG*7 zqiYXb<*H+!={q0U^6Rbsk?Zr56RqkU`)lFa$vggYy>si3GyhFa9+Mr{{yN(;wXn2t zlY_s%@9<4dpZI=aY7Kg1Y|Qa@wN*dzW21M^E8b5>>L2&CUAk#K{jPS%)wO=gb8h$L zk)DCKcV3CEIoY@L?7EAGUL2g)*KS+2UmEB*wrTv&`=(zzh;4WxufWqx|LI>g2j=a` z>5YL=w)4U9Tiurz=PrFW@a>+#?Yp+0dgF^fetMG_?wQK|3%k!gIU2r@oqjlaT|r$# w?lVO12bX`ZuYX<|p4NL`|9l69Hg*)~f8IY3dg<`1P1V4_uA%;~`d&EkKe-0%ZU6uP literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9e4a69a1e2aebebb9191174991fe456a341ebe30 GIT binary patch literal 1215 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e9844b26c88afbdf49479828f23f47a69b7a1d0b GIT binary patch literal 1077 zcmX9-Z;0D;7=CZ}CwJF7%czoZ8RkR5PJ@dsAHoP2U2bG|xx38EN!=>uSkR6YjTo_W zbp+OpZgyN8MGIH9e(0oXz=G!yw8O%}II&=q!*v=)r*+mbS>1}9dLMpv44(IWdA__4 z56}Ca**_ zaBy&FXb8iw;o;$tkr6x`4l@ib2)v?5niew*J)KVH^TkTVaou&_?{vEi4Lk?36o|z_ zi3FKU(U~llFUaMJTCEv%FWYRD1PY6C0bRn)C~0YtqQR`Bg<3vZuju|-rtOzDI<827 zND>JfQn&yFlZ8l6^WEMZbg>Y;_-%Q-YynV ztwu1RFptwR$*B=hr=ljKS)5T2(zcYVDy6#W_;HdYXfezwl%%mSUC=Xfrl=Mj-SJG< z&w1@~bE6jIA*28v2Qmc_3uBA8Sc$}HyzWJ_O{3JYT(lxnA&n)HB9)DDWlg9WikH?J zd81{gJGK0VXQP%I46zX^%CK=>NGeKJ(+bICC7Z1ki=N{&*Vj9p4gx}lNFHO#L7_@0 zbt>KzGObvtove1O^=_rT+1NkqNODH)ElX9hxwUe|cfD?t2UWrh zC1|Rom7oeK-p(l1LVV3O8?{2a;dZ;X5f2arFaRt78(N1eNXJo@K_wYE2~^J@zXbP#XF(DmDq{%^HyHu9 zTSuwz?5V>C*N@yA?EG{}TWYn=c8@;OerG8@^FwTvKK9VPs{?ob`S{WEm#&?>NW58} zP5k@(Rr$q3kHw|mdAZ9ujb z|5{LXG-p2^Nz zzMFi)`65q0{qymgi%VyQa(Dh)J@FO((OA|0-Z}iY?j&w}ee2+X}eSfonTCLUoS)f_Ukm=jBEw7?_{G*Wfq&k~a7{rcy9lIMBf zgX;#pJzWdC0H9~hYR`sdUEGZMovqCbozD>ft*~xjV}EmMX=#}=XHIKtYg=1edwY9F zM+b&sot>R?=gze`91fCnF$~S~tSI_rS&BxZ$z(d4&FT8IY1Zm>(gm~|IJVpGw+4gu zP}miVyOSv{lNIs>xoE`86_s&fK6kgo+9E!?A`)qtoQyJsq_3Ej%&Az_R2wzji-X{V z5Df~CWhAT+x0Ev0dJ#ue7pe@;cnSlNBky#7HqNmKM@EDQ84< zGhtLSFUx98(a|L5w2BlS@;c)_cSdCLGH*o1 zQc|vH(OMzdFf>%rEmn$f`ba83Ga;Uji()Di%Ese`blS+}%G1-eS`7g%0g=SWjD^YL ze9;*wGqH+at%mY7WxAfN&XyXe+i9^-Hk;S(;GHhf?Uq?CCN!6Yv+=}KCTr?Oy-b6^ zVlr=u2zDjtOoeGJ#^+OkDJ@beq^c#oUY|iUfDb?hPyjT5DS!$Fs0ofiVHs&EGD{o* z5(x)sFS+Azq&Q@>vxY4)x)o~JiH^3LlU{70h8A1K~6 zh6nbkqnD4a9T`6U@wPi+$$r*zoA3KgFi+pKTpO9`8JjtC_td+mFWgABpS}Ie=5;3~ z4-6!Zt)!Qb@%qu>>Zaa&@9_zJ-W$~U6DwC<`S6x!)!s#8-|6_pKl^tMd5YuvzFB&B z^R9D!mA4b$onxC0 zy(h0e@aefHUi@}^!K)v9wDwJT(f8iqjph5p7q?FDzaAPM7(I9DU}D9dYHi13hbG2) z7cKwdV8;tzZ*N`J_2a3DCyPhkZ!`95{k<UE6(gV*?4x@yi3NA z{QQegYW?51(xXw1Z<&@ zGaT{6;@)J6&E|QvD3!|bT0KMKnBUtaGIrVTR0MZgBF;zYV$xsAi~3}&p=V~Bn$H0| z4q*xu4$F#IF>bA9ZAQs~8XjcuXih;$a{;gbJcfx@tL$(nZgQ6! zSac9J7iIUbPA~8FiMU@T1jQ?*=xB~fs9dJR7xbW$ba;F&FNZS%84zhP#>Ucox*!(H zvZg1>jcjeUXr;i$fjtP$2)GrDOxt~Vcc4g#Wq-UTWtxhH&a=2pARS>J9`}2*0Qau-K7L&8(9I9(p8|lXV1R130FvrCOAr%hi`}G4hSM>MZKQtya=*_c>i0?h(9RiD6@WYgr^8PfTX>x>h!7 z6z~itaaNgkDj_@-p>i=!O$8@&aKLFFSQo}oIn{C6+);KLwW`t7*7I2gP+Ahf?W>d3B{Mq2&x(_mvfCq z8MU|^K_DVslwxNyPQKt4b+6J4G`N{n)<4 zSKCHCjRR7j;-tamL#+4~e@N=xO+e(T+H!=t^6KA)L6a>X+9`<=-4=XN~1at&oV{QAc-bl(~s VzjN`(`j(h5uwkfweErLB{SRE%`RxDz literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c809936e6fc3b37facb6211c9398e39da9a819 GIT binary patch literal 1226 zcmX9-acmQH6#i{x+(uWbsiBbyMVjSw7wG082W#MjgOu%{M|NO?)f95UiVd8}F-k0~ z2{jZs@Q4MPSYp+pl{8v)A$8Pwkpi7oIAa4vFRVfnE@Z|IN|-R=X9>yo-uK==@B8EX z-uvraPQ#4ZGXMaF-ZiWG8@!-V9j&@XzaBes9snI!zjnjw#@f`>)ZE;x)9I#7o7U3O zGJX1V1VLI`Tie>&%r=`1$L$nFvMkMU9zo#4;czUL$Yiqld`VSn^*U|`qysRt-s3U( z{nkLx9uXa}IFrhFbFxrW#7Z?uVTjwI=V^1uZIw7QA>cz{N{+dU8D1?!G&MO{%R4Q= zi-7Lo`FmD5Z0lb36{&iXS|C@GO7)C3Ri1=;%xEOcW~bH0Vs_5q5NIaiZ5#_`#AqRvQS(Z@ zLIN+12&^&WwMu?09wgHdHW&95(xI{(*UI^NeH@YixB(CVkN`*nPynEc0N4OS!Jq)s zNvM_?6!18Rk|65@Dgz)3Aa8~u4wDSb`e88w)g*XqJOOA5xEaLHnL`0ADmhb0E|&`{ zN?Owt*wC{003Otnl9@?by;+o39a7Dct_O0HvEo#=0?Rej1PCkQv>QF7)z9KVA1#Ia z$!I8-jw<=IrsiS2LeMnK0;mEA8(u^ja!+6h2jkT$5sy8AP%Kg&59{}H!61*@!-PFX z;%N$(X?uymG`9_UtuTbbI1aNUROm+di3R%GkAGlizl#O0+`Rf`W8U4nYQ=^nhmS@5 zALQq?zc&mopS2yCyY;92kN)U(efRtRMbDh-J2u!}-SYOY!;96c2neM`uws7UoRsp3`ySjPX$C zCq1w4yCB@QWlY$iEAxUUs+X2z_8j>33Uz$Oa(&;?p*!&5-JP>LH{JVZjrNh@(*YP> zv_<>Ul{&Tb+|a>-JBIe$udo4Hb_6u+Pdo9p2K-}oKxUBESp#1%{ME8iw z^i3`vbp@S?jkB literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d66066f6c5684dcfdcc34600179f7f3de7a9f542 GIT binary patch literal 1307 zcmX9-e{2(V9Q|(VxNRLPu$Tg6bWmc$E=va|oKW2Xw^7C^x9pa5Qpll)G|=FQhc=^; zl66?1(VG;gSg^7J1?ng|XH5z#v4jq)UUXuCW)$e4BZM?qWRV%amXN&9uYW!-c`t8o z>l(x4ikTGvfXOYZn%W8zFO;sVq|o2r)!PL?321$zy}57}6%`d17nhWj$Yiq8($Yzj zCLst?R#sMCUar(=G#I8MNrGW0jxz}Y?{GLg9$zRFj>U#ksa!sf=>VYzG$l8gsx20^ z)uwa0^d2uA2(gi-%XsZZ;?F_J=+n zj7C*hwT4jYXtkcz8hF%b$2d_hcu7Z)az_|{f(@t4YFwo=X!Hz9akz;mc_;1kvA!@L zmh7>VTgnE~<52|xsu`d(1GNokMFjUL4I!;5O7N1=l@|OtF$Vi-w3@?JRs-rX>H{1Z z5g5tAB|SnW=*UGq<5Cc2Vv1^9iyAT9OpsQFadDj2Y7MzuQJ+r=httEuxm*qc6%Vu? z1Pdt0h>A&|<}~TdnEY95Bqt8%L)nSsIFzFb1+G*Y)EWlWaeBQ#(N4DT%ocLFvY!E9E71um5tU^Y1+Drvu(4Qu(7Ud)+-d23|clb8snVKS$!2DlnA=oBVGZDBB* znG)?5zuO)Ox}{h!n~K4F8mA~21~3I6EO_B8(7k}lVe@7(xYzRnLLxz$OpL|C*=#(f zbKp7;fdxq{O6i7aG;7pARt@c1=*3`|fD-jQ74`DR&oi*SZ4CpK-M_x6uwQ9uTHd~D z@6m(nKl`bnvb&(k*5Spw{ZnAKr$#@2{UfSo?wsPg+>ytZ-aH-393Fh@;m+3vFLr~* zY|F_5$6l3J+!^@A(KEcV6BWMhIj@?hT^{?xD%AGx{rKXkzP1NaU_dreq;h>lbthjx z`9=7`ooq+bz}@;U!LDXDw7PQL?xAT@S}Z@b#b=*6IC2#1Y4`YZJxBiB_^BiQ+k(xj zdv8?DK;EXwV%gxzk!`I*=VaDf^LMN|^6gZctoG*bl|SYNxog%B8nzEr8b@jlZJL#u zvS)PGQ-$eMlG^CHwxg?S>7BljdyCqG&DpV8?wfzFeP{BO*)`K0hhBl3%Aakioms|T zR?7cF$Eq6k=LH45Y}$r7A021k?d|C6{27pSt~#OWM#gx!ZpQBN+DkLfAGrT(VvzjPo^z7F|hTzX7TcG#&%v!ttC7+o=kU`PcP!F*Y5?lb-j1Hhq@4N9Q^JX zSG!`}{!=e4D8(Hg+V U=TP^?3l4*p<~2=cS8V9|A2anq(*OVf literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b60a3eff524ef68cc9d2eab108836260c4f22379 GIT binary patch literal 1041 zcmX9-Z)h8J7=HWr($*1d7#R!hba5Q@9AVzz<_Bat>?AO7-P`|Gpoc|qQ2o~O4n(5Plfq}un!J(m{;o;$t zk&)5SQ4GTZfxy_NO&$6GJ^2?HLHUQ2+rz#xOM)%tj&xL6{74T@dQYWHX!HDVLGs zM5s`d4aWqWk%_oUN?A%V7_G$REWS_^&4z6INt}+v;!#EoSGN%Ww~stwwHDN zg4e0EcAX##ArZn!z%xJ?7+ns>t3<+KRZr4en%Om6bX_1r3LQzuNnK(p3RlxaFQ+t% zTHDHXo#L)%p|%?g(F7?`bdu%LqNpoMDV?tBx>GKDw%yv;=ytmZA}SC?jH(2=T10G+ z$rhJyC(KT|)-^VI)y`gX7fq1CARP|J@u*0~6o%1wAusorWvY6iUa9)7*K4sL^Oz^S%WAQ6xnMmmK|0of_k$Rpo`$HCLUb07&=N(pDvWWk76Or=)Kd7jnjc&M)xNdlFb zV2!X~;<8PsK4WwfRxe%KEjIS-7HW2h5YRXlj|CGfo)W1{k~gv`vyiP>1<$oQzKeP- zn&*)X$OnY_S>*e2PY}svO6@jXDn5bMXmE*ym`W*`j7r6Fbgaly7DqXJY(pSBQWVKJ z$`YtVA)7@W-#>o(_{77?fBv1 z(eUcZ+TXLu)7#N6qDSAD{;~V{Jbuhve>tj+udIzD=NtAqEnGv)Q$-~9LQKxrv%-D= literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c919b974b088634e45f51c6551be69520dfdbb0c GIT binary patch literal 1217 zcmXAoZ)_8F7{`Cx*lweciZzySXwgQGGqPYNo`5V@+>#0|?9?M#r>Unqjy&?cjpnKD{uKL)}(9qb}*woZCXU?4F z=H`}`76d_BTU*=O+RRp~l_Uw8rZ|q_d6y^(!C){NjVF_8CR5Nfy;>y+K-mGy7+fxs z*K6_liBQ-cjj@TOJCzo5`EaQ$(>UU^8wAE2a9SiDi;LvNAf1jnb4fwVhANs|(=!ef zxN+d4fW#pQ0ZE6A#e}JvLt%x0RX3cKAk0_+U;%I=h+s4ZP*lP&*>1ncvRRL(7zjL! z$6-2+k|rxoO7$1$6`YXhtzIsg^cUz{CNw2Uz?7lMq|n>_}p+G$rJn;gTrpQU+dRaT9MteGWYAv?q8v zC35*7UyO=nC8(#PwY&n$8KcRD;ZD-#p=ck+g?T>a^CiRKbUdC{)l#9L>pBFe0I(=R zCX93n<#M>EM2E^Qx#COdQlXlx%oc0VfE$fAv)N&>ayY@;?IOd5-1TMtWH^#dB(+Sw zTB3lPK}60Na9boV9`jR5h)cyhStU?R$1254wfYcJ05|~<0gwPt0LTJRMgXjfrJ-Mh ziVU?PivfWI5elddps@gQ019RpCZWti)eCbWsL9|lcpG47;A9amZw~nIh~!Afd@2>p z=aot&59?m22atXPC7D^-;#M(1vrD>5srpj2Xl_<5!J>|tfX#w92&0R#csbJVVWfap zjs#LlB%e_#S_W22Him&JfEs|X&LUK|dm=RGkCn@|SoDd+T#k0RIIoxY`vsB++K4Dc zDm0m9hysgOoL1ufO+IE%wRnp=%v)>gR`gKA7lVe(T%f%au%5nwybtj`uBHxb(_v zzl;;xwWn9NuN<_t!_SE*?@2aLW%pzi)Wa+}fp%M{nO6JYw&RuHB9v z?pUyU`M{-9PYt*39lYGI^^Z-X*ZDiM+R^>)wuNW*>VvNrR^08qdP`>CSMElx6=r&G z?0IQwp7`R#k)8hyOn=rg+CH^p=*EH0XGXV|#;d<-JK|lxe>ZPtc-p5P-m`K2n#NDR z92sl>X5^KV2M2qO?cbN>7Qb=Fuwd%m>c4u*=Z@1C)^|>7t4?k)>0D fxPLrg>?{PykM%npV`aV00c_~nvhKp#ok#x%wTC4* literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d26ebbf32284f3491b0d961fc9c9f9e6c3b3e173 GIT binary patch literal 1374 zcmXAoaZD3;6vuy1Xc2S`t6H=p&1|sFA}5~n+`4$qq7_a!Kfd4B zR$Zl>lsi2a05GY1d09<*&Pmt898S7_7TvWI01l{Lv1)00&B(~e%*^C)I9XX)+1c4# zE|cf{m@q*okw{P!Q7CYVA~YH`!|2Usv)%6Wdf7l=FcL{5lPCgkIUtEVwOXLl zi48`?VwKw+q}xmT{7f)pjmBIG8BZn8(-T6IN^H|eoeX-)tnk}aL9ag2Z;3}-sYF02 z0<;VmaA2c&ZavR$<%ivZWKaa-2u#v&%m!gV0ssjB&Ex6$e3M9IlS*B3`6-g@*J{Hi z)3DPC{eBTDkl;du6w7I;QZG}PP>oH_I22|N(e9&ML7I(d#h3_DO5~J`&|qr4LT@20 zPTI-p*^ns^X%EHS(UhN$0|5nuS|Bz8sf~v@g-Wkf?Z@>Yl{Lz^61D(5Mal#kOk_~X ztSY%%qwq0Q$gBz5nV83%@Y_=%4~zx)0!%7Xp_mp|7%0lB(KrkSuhr^zIzucQ9UM#~ z5)g>=Kx*fqZoa}NqJlDQRAGs!U2%giVH-?(<743z%#-o?m{6z`ODGwlk;@r^w9x5e zMz6KK-|dYALdhr&XoAO3d=o9U>0}Ng?y*olhqm8i3i}=La3Gl+hByE!02lyl0C)iC z2O!1+Fb%1IMh1FZFcK!EK#ziU9I#3dApxWS)C-{%g)S1ZIvBLThzq(Vg1w8Rc04AdtK|mJ32!Jr{g(WTb29eq5h{Z66{S8bo zs8FjZolavk>QTguA$A<~C{RCv43e_AN&;yyG)bWYg)9z3L^}M~oV=&6e_%^Z6$KXm zeX9|G%!%b?AFo>8)>BIyh|HZhIL?nRKWW^bkH5Swo5db!{%WN7YVqgNxn*x>6<#PA z`DIV9+52C?;T@R^8ebswgyQ*o3+eb%!4qpilz;xGp5Mn_fVVb^rY6ajc^U60i;h%@-{=q){qRLcSGB>=wz6qO>(k#Js|sH2ecr~u|7`ZeM`vE%_+-QW`U4MV z_HB8DM!MJ5q*~|ZH>_lW_qJ~Pc6G(%BZUJa{jsAZmrkGG`S>P%@#ysJ`|4er;j<}p z(dCwNJ)IS!y(PTn*%#Em9;^Kt8waCJC-0PQe^PUzCpX?Pf7VS7Vz@qe=+4Pa=lVLX zl^h$cW5vtH_rB;lqGHb!jBc1t}OJiFiz tqa5fqqsGK8_NHdNRaxPAIc#g(`(La%LS4DbSE29cg0GqC-kNS%Er>An8aUo14kc5|Z!p_RsVE-9Kpq$rZ(7@oI?qTqJB{r+Gi5=|rq6{S!t;zmH40L#=`EE>BV zbvTV4ugM=^!x3vNE~e7nY%W9@5VNUPV6-kXD)CrQ#QWV;+;2`r1SRRoE1}Usg4O}6 z0XRq?aY$G|;$C$otSP2+FmHrKE1ZxZOy~h%0k9&7pjNwdItjxlz*XT*Dkwr~bj1~-L7tTv2F+jOx#uwv4DQi@*p@hyz>rI@2;R%aC2_DuHv<9O> zH0??#zH~mE9gV9=py7bl22dx!B!mcR=?G?tlS10;&5EIdlz{!LLBkU|2W{}0O<|sj ziCo&vXZ&JLb{FFQ(X1qBKxg0672!E%f3r#KNc@raVvyfydwpz)--1uTrt^~PRMyB0gG9JVPF(M1wdG0;VIcYkIZucuQ!d)!`ThrKl{>a(wD|1XHgLCf#>CV)eYhQo+?pwF}bdh5&Z}+v!4_@xBJ3jitWyQ7z#a3RaT{Qe~{x4r> z**9P88MrlPf9H+edt$2C=5I#Cw-@DC(2r=km&vZ4GBR*V?sEGpup8a}mMa#ArM+sn zx%pM^KCSQ3-N3>~&p%^Ne>xOf?D%l*(XQvYGpqZ%pG(HhkFEJ^)>`XSRI$htDlEBt zL1*i&DHpmITayo;ah~q$xcN@zeRZCDaQEoe<85mTr%zS?`^gb%VEf^lxdSK8N-ddR z*WDMNZ;JHaUytT7kk2aam%jp^4j70>4hQ7rV>)nxU8w6cj@|_{{w_! BM$!NP literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_2.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1585f3139b18bd86a9a70ad2720267a2b8e6b1e1 GIT binary patch literal 1221 zcmXAoZ)_8F7{`C@Hm;+aH591QNSRGI^;ilX;nWHTT(OQLJLJ%Y^hJj!D^T&28&s%R z;YbQ;@YF{7qPl|jq6z0HxQ&Y|rXvkmwCE{AI=n~&#T5mtSaAl7KTAly&%Za%_r>RV z4zBI?wojik9RSeY^`d88qb_KK)6~?+6K#)70?-83u35jTF&Yd8qtV#Z)YRPE+|trA zZQ3*hK};r7Yip~`>2%__i=s%Dr8&+o2)rnY$z(d4RSSi2U9Z*axC@YOz|dyD-x>-z z!Vy<2?oOtdOg50q3q>tnuE-RI_}pfmwncpoi9^!@J}6T8q_3Fe^|4r0m#1n4uN?$1 z5GH}dA{idZ$1SCdwO+KtsteWw@SX%=!3h8ZKmb8_izRBeODHP4-GdA>77Ui6(HrSB z%;)X6)k)f1jKdv3y*%cN;+*6bQk1CBi5x2z1F9Z$5O$Z>>1HvSBm6wY$Cy|;kXCtB zix%{RR?U>B@)iO4TK3=QUAh7cQO(J;4 zLgnmi5et^7Sj8__!?~I?Ue8wVm8PH>vseh5&FgTon2U3}1)7Nk8p|Ttcw#J*)eBm^ zOo9N72&^Rey(s3@Kz1>bs#J(n@_~e6k@EZ5P>72}c-$ott|W;o z6rQJD;|x~yIbpy7qbN+_P$i*8H;$j^G~d4e1AXhdS+IO^qPNitU7i)|pE-0W;Xf`e zZ1a2thi6@Vt#hLLoOVaNyn6YTN%5)kKWu(}r(ynu-`YMtwqwp4!&gVnjaK*0p7sgP zMp~bB^X$;$hwq#l85lVHdHKZfz-aH@@25>dO%!m~er8a@KI>v!Iklx>Bh z8w^Ev=jhhwj&3l9=C1td?(Eb1%yZiJJk;^}!QE$eZ|Yom4b8~S<$;&i@-y~tJKw8+ z@0_U^nawv1JBUlc{hbpX^Df2*x`vBKhiu2)UdXf~UjPH!*>qG+5X^TmQ?K;S`5H$uGsYD_E7akT9DL8j$ot`uhO#4RSnT-DXpH?3ydJPqof_D{pm8q z1t_RctO02OU|YnVR0*jnKYA7j%wjNVHSo`?@$Z)wrooI_Au8&cn_! z_R%cD3mipPSgt0B4OMk?z1wIE94GAc;vkrg$Mg9d0bu~u!Pq`74heNc*QR1?R`t@x zaPE#5gY;;!L|ZhDbH$=WmQ|QF;m5DjdbgD*Ao1e zI_%aCeR~pi(@C^g+(iOF1;7Mw0epZ%fEflTgCZi!M81cTi9&(FLR)}9ft5R)`t3OK(87p*JDItwSHifz@3Ir6(+3|DR zTYujBf!8nYsqpljpRQ))&E4`dmma?Hq${6@PUpopkbmaRZ2!Y+Kb(5yz1z>9-of8i zKa=)eI;%c(Qu^zk*K)3ZT-N*!h4c&t9;`&TmK0p89D0EBu|aqgQY39K8SN_y4Vy4<5Vu;@|Md*CtJ#*?uZ> O0lVk+%3toheC>ZN#h=Ik literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..8870c9b52399940d81f984da2be29a04bba601f7 GIT binary patch literal 1160 zcmX9-e~i;~6o2=#cbu1@QzulJFq0k>9kGEyO03vB$E89EB^ffw&>|yQpo9uDE;zA? zLxxtJVaA0FDL75VY0hK9ax`(mfI&)}IFlL|9kQ5-lMHeya$iSCKJV8*?~{B!@4dNd zrFU@J%xM5HIJ$gzb-O;?4rgCiJAb){ISJ4OtDadi(jGfHIyyT$ySlo%ySsaOdU|_% zF%0YL>+A3Dceq?GigL3oBM6)*`ej*C6eXEVXS2CNp=?>rR*P~2Lj%tZ`2F@!$Qh2f zV{tl};xpMm-jGXXyjs&(67$gm66c8eoT^BqWok@ejij%Xm8@c{ZfTRvf)|GX31J3Q z0n1335w}$`_Erf;bvJ4S&`lMgf(w8L2w<3Gvqf=SB?yhC$9TRN3|6AiMmmiQ1E=gR z#^L6jbb#!h2o>|B9o{VAHyFwE#jCQ`R10W~C+(sK4|~bDkIsl}UKUJ6tR&@{ zt~8D0q^YA?!Djamq>u6h88$2kaZyZ#!`XP;NT}GB!4k3nemG zWn(qJRuAW!YPprI->gic0n%pkI2>N5OCa4MP0Jh~3$&L-vhhSQleG$FtI9xt!(_o0 z4LH>hnTjxaOvtB#MLk+EQuRuq)oLIHzy}}$r~o=Z5ukpg4sz9_2!)6hoEP)fTk*J)45hP_!MV#kS@*e6 zz=@&+N>M1sAd_n!zvt0`Yqx*krPV71c=F1Ro7(-N(cxulhTh%vo`1ix;4XFo9bIuo z8UOz6hs@%c*$3DNMDN==hdVTEjxptl@!&e{)uZ?krE#b?WBc5d0A|MSQB`+uIk`_$UQ zYtD@&{#rD(%jhnBO(oaO{WNy>6Fch{e!5k;Fh73%abwfBhjyd}z1qgfIWv}RK6Y%| zhpB754)MErXZJ5I=7LA|&TVX;zxLN#LnFh))PJunNnD=}jf2F#S?}N{&MX~oINtc^ z!5`jVQgL5h_{q?^4aZL}J~-6Ve{SJv#`W=Kdf(agH#*91jhA-^_YImKOu<*3hexv8 T7S3zS38Nz`hd+O6!|VS8vzi22 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0f66778357710e8fd34454ab55a3bd33156df335 GIT binary patch literal 1019 zcmX9-Ux?du9RJ?m+^x6kLBSqIh*BhAlz_nn7Bz0Ut-Iy8jAhz~irEY-NFVYLwP2Cp zD)dGlGN@9q4`s`=oB<0S7)OS6#`DlR<1Era9DOKW)qAMgb2m8QXU5?3{eJnpd_N!f ze7_e@t)>qic=!MS99%xJbUK=NR0}f`QUB@Y?p1&ZIJI)-SVYIh#>U6TCnhE)Cnu+- zrlzN-F$|lTnVFrPO{P*QhM@(4mt|2^vxcD;i^XcS-fX(Q-wDIvXvEOKb0CSaY&Mb0 z5%~gLDs$DE)MzSR%V-DXUf&idEW^cgF==K9OC{?Dvr!aU)l9pohg+pVXzvaEG!6;{ zc^)hoYv@?39Pc&~qc)BPG#V*r-$KYw0Z0G}hUxLRiQ^VY+8nnbNn4uMHO-xR9kp6G zlSuJNS|T`wOzTv}WK@eYYC_QwE1qn(6*trf7N^rGPNqba&FX?)l1g=@?&@w}`e7v) zGNAT5loC(}(b+v4>gQ|=k|(DKoSL?u)f&!?$!hHI#TXUIWO?N*Jx zQyjLcdx3-cemudFREA+SUdYRGSygNKe6w6`)$4)l_Bx&6aEJicfvjRoBQAKj+@`di zQ0iyxLEal$ol$eJ-`ztoDjsK($uyCYDO%+?LzGHNw5-r9SGF3>&<{pE9uyHXyJh|hzH037yuT41F!|q#{fl;1XM7PW23Muk)ShB;lWKq zC;^fI=}A;(kS!rMhuS3++HgO37DNFu5|&ewW}d28>4vR(UNH!q!5~197OnwPi1AiZ zvI)f{^^miMS!a~@_NwiDw}-kzG65`srRjK#S2uw?)I}$a>q>w@&lSDNJ zxjYKQ==j;EVt?QNf!9y3%J9PW?eh^?UtT(LX7T+uF2&~kN9TlV=$AuZf6;#RpUXcV z75UC#ap7Vzv2xOTMgI52#{7G~KB-;#^Z4aYK6>P8zKi|w(hqmSBM%vsTMKu;+`awW zk2}QF6OV6K@u}4J?uVTZHm`hjIybj=;oN@eo%3U74=;W*sU2EdTfgxxe!THz#$ip5AsXaAqVyro zfO)7#AL6XihYA&}@)!Ud-*|29Tslvtg)e8){)5B(43L4Xv**`SIyW~rKR=(zWEK_{78e(n zmXD^LdtKL{U%_Nz+P(q1(3IY__{yKZ^QEGMP?U1_T~tX|+_!Rw`uG zWNLN3*^)b5H3*GfTpx~Hk;aPrsxIZMBI#&U+hF%>F>DrlT|GIdjT3h^i3$X$G*ks} z6s)6TVI3cIveO=c#tfRO=*U4R$^*y%Du(GeZV`k-Q7+H#$?`$DJg}?>?KTQSg3acI z93zvwN)>dvXtA2Z8!gfHq(-2)J=IUjBu6lXJg?A_#+7tYugSHx+V*unwxXmFk2}Lz zhzpQaAXf&`1j@mKxd&LfM0+_2BZMe zbEwWDS4MsX^=c?_;bHI`NFo$vtfJ+tD&24j9ajqiJC42aI7X=!Q3lpr6`Y*xlB!SX z3GYlw-n1Ibn!O``hz1iX3ml0R7`!Bq6@@j+l4Dieh81{?IP%6xgr-AIl8_H50ff>l zYN^~K5VqMGjks3x5sY3>ER~c>MKevEWo(XV3alrxp~UoMdR)vSl|&YWS}gJf6ieyx zb1$y`^Y91WKDVjBD}ViRF(o@2Yp2gY`N=yUo_;*@?DG08^y{lz=83s)zx(X1#>>0R z{X4by=J#7q>_7F~sgLao%6;e7SAlf+`(xJ*Z~S}xrQcq7^V6#*u3aT>%CCR({omWB zbVxrhG=5sp7S~GVjhnld@4WlP?JHL<-MhTMgm2&8IXnBjb*cPE^vs#-U-v(_yZztB g+DAWLfIrDO?xIr1f|cE;Q&X_9zPa}0nK$15ACQr!TmS$7 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3741d645b4e072d1e5d429bb80d64321714b4562 GIT binary patch literal 998 zcmX9-Z;0D;7=G_>?t0D&1$!DXH_M0+rGtEk5YBk!Mt4Ro+vTueIU)p%P$5E;B0<9p zQlv9FjPDE3r!V48PZE#&(+oyl?8 zyhyMzSz1H+jny>Rrj{%U+}s44yCKScwu8rlj#&Rjjt;mZy248ASDP+#XK- zGzS?8vMLY;kT%A&vV{&=@;NOm)`q$>u>*7@QW=H8D+Q`nWZMeg)uqr<1`U1WS`)u9 z4P7(}(iw)NiZr8gd_|IKiqfo9I<=bLYK5LRJUN+6CJ1m1$OcBY(|i|~`jk54tD}-L zu5>5%N!%Hq4yI^@N~f7@wm{@0DzC7tE{Ih*S!Q%<^Vc?FV0L4Q_5ReBb0)&z* zs)^h~;Fi%GjhJTRA@qKqFO{TnSuqTa&Ra~r!O<>H`$GOiq{hV@k_lvzs7WJ_L!poy zKlA*`y$3(=?#{LZFa7cJn+e(9+T7S(z51Sg`O#qQ5#B&YpYFWSzmfUQKKE-cb$IaD zmGS1io9oy2)yMCA5cV$LssHrj_g{S7J-GFYOg$Y4>wB%MXFvXsdXBtkrT(D~pE|(F zZ)UFVt{ob$@0?rRfAN*`?X};py?y-tmE3guIQ7F<&)#2+KYQy-SWn&h^MD%eski@9 or~iKbjDCOPxATABct_^^|8mE$aWi-#@dsNMwl}|h`HheM2N;~Kx&QzG literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1d99066b1694007d596d727fefd7669248288f34 GIT binary patch literal 1013 zcmXAoZ;0D;7{{O9zua9NQ9FrRp=yP^h_hf`1PvNp?pBY;a$8O+_C=gQix$l!LY1Bb zm&2k(b5M^8Rmu!fFu1-rW`rUcgmJJ6K~Lz8h!u*K-Eju5N^v*+nKAf2&%^i4^L_Do zo)4B!W{=F@I}ZRymY!KS9nHI2#W=Gd#~plAtJgO;ZiSsMnkAw&Qu*K@g5cbOtyUL?NEfCyK>X zshp`)*?L24wdIbhb^U68VDS`|W8$cTkt1=9%ap+}}AX8A{ zz?86-in&$1*Gi1KNi@u$k&F&aguFC>2q0saisO1RX_BPHvYVo~RVegyeXrR>uA8J2 zX^zNW^KVgMl(ZUKuH4Bic^t9Zf|Tdj$Wrrc_49k1LUSUibk*r+Nb^bBq)L|vn|48C2>begKaT?%|_Z|J6zAd^tw zz?86tinYtJUL!v0BvC-2k&O0DgxnN>2q0sa8jI=4q)8AK%WjF{b}rY`_1$_MwcANL zp5hXeh_f=0R>_P`D<-Sec*7PdEy?Q0j-SJsB$ZCF5-BK5R^`=_SgOl)M|C{i^($V` z=jGOjSmLYgdR*oMNlG|4lRUR4{| z#;{%8^K3M5V{wKcGc=Rq_<|&r6{S`vG|T07z3w?qzuO%ShX|4?5LJwB#Q0WH>X5lU zUm9espwJqc-BB~x@9m)|8H+KAL>f;?B&D#dCWs|DTvlwBE8C5x?|P#?2eN=^QcRa| zGf&ovoL!PywcNI?_u93f=Z;3Zhy%y~XaFXF4X_O`zyO61c~sPpZ6UuW5}?vh;lN3Q zF9MPPsR>l3ktHH0k2)pfTW~jc1_T~5B9>PYdV#E%>4v4WT88J@LExcKE13hj80E}_ zXyLL$s6J~Bv-YUa+N*ZKnR=o$U)8VsODW6x0MU|!uhN^P3&C_jx>WXBLNg)|WI)Q35 zayaA(;qfz%NB_S21FxQ5k>IJ{e?A|Q%gakouRgl=#@g9~#(d=MZ_tg+sawy_TzP-- z!S$~WfA}YV^6z=#VlYp?u<-5XnIlgIuV4N0mFSyNZ}Wlf zZ^4zn?)-7{?1`nT#n-l8p5Og1ay?E{R&HTpP+!tRfaANV; z!|RWn`~3ceTl2T!pO;Rad93i>2g|ERFYNSsbMeUa#gB|9K8_t)&+lX`O3^RE;=(Vu UymshvXd0G}uPlA`%(=Jz2ge+_lK=n! literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e6396382f2b7b860221ffabd0a898e06efd7d555 GIT binary patch literal 1191 zcmX9-e~i;)82*lN*ZT!SN35Zd83*=a#i0$>WQ20`u#mzP=#h~O?3tniW~kCj%CV4v zGd7n=8gIr0h7Ks+AVU^%K%+aD$3hNWVu4GTvEn4dn*rlAlU(FNK1WEN_t!t~lRVG+ z4sGaV=d>?q2LQ}jyQXJTqjog{ZFMwqZ|5T%00-Exu5Wc?Y-(znHEWi`;g~&pc5`!c zOG^uaAg!&fZEbC+$KxSMFT>D+z)4a-QRHYennwC!5GPI>|D13cFe2)IHa zw;J|pF<&Cdr?X-%uN19VxneK`;`epP92)VvbqP-?^}@OcXLJY)9sqa%L7Pn z=P}adp;0gI_K7$v6aEM(={_aNL^E7GCm2Q1w1aL6^RgbFKyVTjkQrIywUn4LWz&ij z?6_4;m#6bi8n^_227x;aa2=siD4WFtd0Mvov9e;+^a32^3714+Doe!tzO=;T6v2v0 zrG!$+L~HrPw3UICg40FegrB5>G@}YaOp=nSnvKQssgz}!<;lrftp))m13ZC{X(yAz zgd!0vGg>8JRMlKfpR8xAGo@+RK{%Zhin4BxKzJpePvLk?Y%B|BWATY})-G7}G7Ury zQ3Pj1bn77^8KyIukV^(9GLcd~SuGXn_4|+pzz=`|fDS+gfC&I92!IXn3=AtUV?eva z<3J`soCYQfY#u-XKpBNG5*j=-L$Ihp+W?P^rvS$QKaYeYG@=r5olP53E*G_|Otosk z1{W3tWVnOYQQmNiCNA4Py%xyS)!cNVIAfM!sfN1%D-|l4cmkzZWC8&p6q3SWne;{}Z-OQ>44LP= zlRQ!Nd!Xos5gaB-XwuN)8pls9>G7i+oe(+(jc%(sBEUfsM<{TfWnG96Y;# zJTSiHtIGMkZx23n54A2AnwsbSer;aI>vx-iM^^3L`PNfYi*|kR(!Z5?JO4sYd(N9n z%eO}EzSp~Md%Vzp;M_0m%FM9qOZD`b-)=k{zIN~6lJQFywPlCfC}!97-7i{sVe30L z*Y%F<{hSfsSNG{JD;uAgQtw_to!!Ujadw=VI|&!wW0k>%+FC literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f47d72a7393787a8d49abc78d4ed7bf77c9164 GIT binary patch literal 1079 zcmX9-Z;0D;7=G{1E_XZ5qP@EuE0}{iBa2#G2ATFlHgmUl%!QsUt^L;unFfcecI5adgJUqN( z$BvPa5e&mdM@PrT#_(`BOw$pLV2NmaaF+e7-1-6NuxJ2T&)mmR8+5??RaL-clZ#< z6r@-%B&@7rwOpWC4t5(M)QO<3j2;>YIbi@1K*lgN5YR&*gCxypbW;@Ti9}P^ZnOLl55+o?QP%p5rkAA3m9DvaMh61 zpb{-E+m4%^RMj`OyOqwvW)F>1fdGT!JQ0?th!Txzf|!;2%hHuxzFw|)j@xaqAPbl# z1$3D(l2kFxT3M-DOw=vCSu1v$PPcm-u>dgu4Zr}f0O|m33{W2;hte9dOyo615>y)U zEZ97FA|MHnilZEjOcB{h)W{;wgh#9v800QDJpO9WmBnEGp=iOIxgyKg%Uug z$5{gxO+vOw)r%T_-0G&Py+Y%m-9k;D3<5)7d?XNOiKIlQ6M~^9&AeW<@~&fbJO_1K zj36KzkOv6$v&i=49wU@V7u#*7Sa=Mr(ct27DVbE#X_by-m`H)8Esm}Uk!_Lc#KK4> zkWQi^jcgXVLjU-g7sl^B`hnGzWeE=aar0!K{Jt=E@W^u)PG1n#o!L?N3jMHe&yVKW z+2Y!g*ZY3{#0+-++O0Q_-KgIp_v7oEFZ~zXI=buWxfQDL@uBO))VsWP@%eu{)9TEh zZ(SMx=JIrP^TrwWo#eTs=PVG50`PA|3 z)_r^IuY*$;7Z<;MkbL6i!GV*5{N49wKRLJiw}H>}y`Ns9{`v6jJ7>;c`Sp!US0^?$ zz6^a}RWF~~nqGZU+24Cm++8#Axk-QN#L|22-oFR-txuo6?mzIq`25&p@tS=9>qB+N eT~4oJch|(oPs}8ox!36%hK2d%xvQ_fzV<)7Th#FY literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..c13788156603bcaab1a8f63e15142cad739cae8b GIT binary patch literal 1174 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 LFm!6|*rERcA!hes literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..66d05fa875f2c957bc3e82ea00daf323c8aab42b GIT binary patch literal 1013 zcmXAoZ;0D;7{{Oco4YGVhedlVFDh4EHo^=NA!yWi%guOZF1KZ~j=snsV39h4=AbVk z1h2z7tL8*I_<%2oboec@O_?#@0;iQ z;`2P0R!<7^a|h=DV1DJL<CGbFu4Xz-E!ZxFfxS2M1RN9+ z3LIE6*3htaIo@j|Mjaf56dEaL-$KYs14sZ0hH3G*iQ^VQ*ets#N!z(x&opn>>!{tv z=|q}KQc{Xl2tgw=CaqemUgL|7SZT?2M{$E(ioq!%&B~;xGFgq+N>Zt=)LqT>O)seU zVWYp-j&qQZA(?}e0fdDy^`y`wvTaWDGv&T+4=oREN@PN1@Pa^=Gi*cUTe|EQ)m~K} zIK^SRy5~D+;KdURL1t(s$MFSOE~{#-P-vFR?RwpJ-F~+_91aoS8W2^CZp8T(E_cXW zpDzuvc35Z)t?sB9?)UakjEu*bWKu|_Ws*`^Ru`p`5-l^D<;r%W8F>Dv&w(Ohx*Ru^ zl$9rI2IrLIRxP*fn7wu_?0KWnZNvd&0CWHgzya6>7+`=RNjx%il)?T%<@Agq|NF;zsVFDG;a;dyb8#&Q3^LE8-IThb?!oWkLJ|l|A z1rz{65sOk3_ds~js0{{8t@=QEr^9Enaz3vbhDK9GhN^P3!_#e%>PlpoNh2kNOaj$t ze}`@!8rwOwxUqhg zzj5yFdS>_7+wLE`*N-GOR^ElfA3h%b_|Ki+cW&<7?Ogxbo%^NMeI&eCtY2OW^UrBWt;H{ZH?>(YT2 zTem)Y0zdJ*fv(+q+Bo~)A%VQ{>Qm2b`A0v0*t_z>ztrWImrmik9}MO%e7|+RB)21m O04v8&E?+rze*J$O)wuBh literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..8d49ecb59da710849fb89abb4b506f3780b969b7 GIT binary patch literal 1125 zcmX9-Z)_8F7=BqdZeziMb*Z5)r&cU_!Dc!12xoSK8+7x`4tEQURCda#m6UjfgA~(Y zlan_~#J76Yx>W$MdU$AXv{idr@mQy=l~+8z1_!Xg&KJkF-y2t~XlrY;*=+6Y?HwH* zD_5?>Fs!q)v#YDi>2|wG(#x`pAaIftP!u^9i)mUqmotjRdCO`vo1_;Q8hEZd5O9P- zcsSyXCul9jXLDk{pp?x-wU%KC%ujdAoHOdjRmqc9$hjC>(ER0`Y?b15E3?=r`dlCq z5N1FXu&j&~681{g(JZ@A-HVzcT2>J%x&e3q5yND=J?e6)9#4j*=Xkyp3|6Ai+vzka z6kMdk%{aY0PKzF&O!%Xuq|!=?jp7m2GHYk^ zE}={Wt8Ba$$kfC6hC1KO)t4)asGG3cDW}tiy9L54(X_(xaj~^5l1n5@*_>50n^gux z4pRhsRK(Q~k%};ST*#+_B|Taxr0SJovw0ga0Db@kKn2hNN&qzsPzyYZA_~$o$g1!j zkV!}~VEDk|0SSO)CrXeg!y_Yv%5h|6;GXdma4h(FEF?LjVIryevKc9#kC~=kubZgF z1I?XpTR}LBU`lE21mzvr2IsG5}eCP|J&Wi|#&Lu}G>`qf**^DCII62neB&6p6^BH%56ihSXWIz+ITv zk>0hcf4A+0^Vc3$@7_2e%x*n&y}xVb73*jiu literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..74cb4b9ffb86e4dfbb8ea8c903dafdc92525d827 GIT binary patch literal 1150 zcmX9-eQXnT7=Fh-uG^d)mRO|5Y6>gkw$$W=11{m5$5NKV9dMXxsvLMoqZNeH$5KO)3zlRiRc>LE3in52x~vh56`DBQgr6lO&-?Yy`y|iv zzQfxF-5qT!+5n(qV9Vwm_4;%@R+t*=`S<>@4uD43wsmKJeQaoGSh8eEV`F1eQ&V$u zb4yDLhG8a?skOD$>Toy+!o@H&&$FWFm1QXu3dLfHOeUMpPa8(HRwGU1V4YMkRHeZFEacq@@W znr0&`4%+JC?3CbiOSmUUh$++96pyna>6I8M%!Ly|A}eL} zVBU!8l~ie7Gt*$D6dS_e4r^va06MIEPzA(iU*z5f7CTnVih) zA+Z>f%jr;6i_Pn4RL+|%q!afLq>p9-JRcFocp#98M6^Ug&t^;0)75GfflUHu3?ouz zCTHUdxUa;7%id%qkgKZGwM=EPIFH(KvzfG7-F63$yF`kTSuQNpmnoS@bTXAO@_MaA zgTP`kZw?A})sM#&IvwV7ao=P*Sk&T`V!l?pg=hc|fDE7lqyZ)Y${3(JI0h*)N+*#~ z6(f&oC6Z-P7LWl5)x8MU=^nxsQsU(@8IL`LTqrPJFYot@iXsuN5b281M4BNq z)-}!H6^{c6b`*4?IDxV>(%Jg)lfCV?AN;_(I|g}pe(tw@^}c6dbKlO@pS{21m4o?b zO|$pik%@(#Juhu)J6@ih82k4`^S+fsxj%j=ogDr3jyAJ>{JYnN7LU*EU30K^|Ay55 z^4FLDvG$%hV}`4jMiP$s1CN$}`F!T1y^87LwJ*BJmgOU>%io{snVGnLZ0%3$E*};S zZaD4Oe`D%rZpGkwe&v&yhTb1H4PD>*)z!t}$2y7b*=KHU^mx@b)=sr;xp-{l>sQW& zj3a-(IK2JwhJmiWzC~&_+A%!P)$r-PzxGtyE+|90zcp=q)xYZgvZG_?ivFWtF7=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..88a023d6eaaaa91308d770c09479075cdf099d82 GIT binary patch literal 1208 zcmX9-e{2(F82+|0Zez?!iq`CeVoEGnpx_OU(8!55R%W-|vLn_|r7VYZqma5? zu))R@JVHaxSy|Ns4?VHbg&d*53WttR$)Q!NIi!XrRz=d88cUe^Swix>zy5ij8B?*cA=N6H2L+51 zgb5(fh|D3`xVa!(syP&vU9if)8397g4gduJgCLyQ%%iB_a7b?VBt=aH0tKGGnM%QI z7R4-f!s?=IZpPu^oIW071$QV(Mip-&LrXbEH3Bvqb$RS=+UaF+KSy#gDwbkWDyQna zW+e2oT&!iy1hCM+8UVHka0m#VvU<`Ef0p2MU%VKSDuMNr_gnVog_INi$n;htr4Q0fG$Ebev_A;cz-0&!$qksuuJ4N~Hn;$^nOnV6vIa zpmfd|D3Y;~Un++)6(L_umuCt!*y=Q!ajVs1v(ru&>vo5{RE()Fi=^X;DLHLudbLOZ z#*2h#GtbzBpfedElo*{!2Bs9gkWH2gTD5u;5&-xB2mv4fpa3uhKnVe`4vK`45L6^+ z6etJaFpwaC>H!7?APpdAg>ei@6jXyS7lVcb?i!B+FA01U5@fA>*qIPKvczUGQC(Nc zWgXVJ&;Y<9t%P8uBpahTIKwSe{7N;PsfoE6wFnCphXvp^#N#si30siHA_1?!2c-m` zQ4+eQlno75i@4VdRR9eDVcm;Zo$emcXe3!G;YslxLb)92_tU{38;Nk3D~h{B0#isV z>viQRXW3_mj1BS*n8ct;K;2tEetdcBpLc&?c%Y94PyO=4_Ikg)yL0`fHHVHS{Ch5} zoZER0o>)D0e)HkM?pKC)I^?#+LsxCPR<|GOX|{cT%kuXg<@A>A4dS+ESIiLycK7}G zeEQ69H>xZ>>00>qU1B4(eUY_Fue?9UI@-F|fF+ ze}5A;y?)E|^7AhrxU{Z^xcXk_McIRPj0NU>a{aGGJBAMKYbJu&3+vP_$PPLz( zzwp+~!TH$Xk=~u}H2VL2Y}!?R%j{P*__e|!0wfZw;f zr_}W1yhW?`E;;d$**@`gzKdLQ>A(|fk7>c9%f6Y$|I;o_xC*D$7T;<0&cUux(?81X W=RO}@w5u*Z=-$xR`SH_RU;Q6jSP_x{ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..fd6c3845ccd9c6a187dfc8fb2f9384c5fd983145 GIT binary patch literal 1212 zcmXAoe{2(F7{_1ew%e$)8+F!Lu|ORcIq{5#9C*qNZ&27NhdV+cXDsoAMyi~8YQe^o zP_*D}T(qz{3#s!o&1|wlfK=_UnI%k8m#RzFEeBL=SWRG5(?}% z9N4hl(LCqDIRJp>b!$7jYjs&I?r${I@-P{l0>A(^Jil>uZJaf0*6i7{4F*G9U0r>B zeM3V7f*_5JjZIBW7Q5X}5IDooJkN@vAj?u95D15(i9|A!8Q1l4r9$9#Z! zFrBs%W;<=cIUD6d9TMjB6QWAV5hf64Ln&U%x{|uvMp|))o#HW8Bn63)f?P1_iYBFG z&Y#gkxl*i9O`B+7=7GfxY(9Xh2pP3F5~z@-rJPeK$XZ#=z!My17D=nufhkTZCNe3R z&jrMMST4o`<#f23i^F2ZWF}F}Nsw-u@$$SPiV?3jp(yESG?z>k#>dO$G6Yr$pkaiF znV6K7&tmQZ6D$f^$(t&x{;-lk1J{56~#{Kzpq?FH8Dpw#4fD-^202P2Z0HXjD5ddrA80eE> zT!VU^LxDtq5Dk(JpmPB707@395K!Y_(gU+WsB7R3coMJ-aB_%8wD`SPNOi>(R zTF9S@hjN*CNzcGafn-^j1W*SM)>s5n54(=m>tmNrp6l$hdoDg~IQw7hThGdqFTrJAe$Q}KZhLDN zRT@Gkr$1`jjy@s$lwZ_6voCsd!rgW2y)%RDOB3?h}n15mB-uj;45`Ope zAD0TlAA}D5)pC6Q&KtuQ?%nL1YrC&*XV3I6|HP>M zSsZz7YjGYf;LV3S8m>FH^&*E>5qJ3l|axVXSD ztl#fnUS1NT(TL+%NfK36Hcj2OE!TC!Fj}wEqS)4T)3zK7q5z6K(DmVTO3mi1=L_Ld zS*?vMx68`kA7Y8YG+|)LgriY`Nk=w!=Sq2~m20csc*i=vZ;CMq1_Lt@0u@_XSnlJy z)vzr|bYxL$poajVV$>}UU|^Vq;|@s%G#v}VouX_elbz$diz1ZgBsUz11glVjL60p) zb2u{)?4{%;@*-2?(n#wG#gpuKB&dvR^13Bip5jGDlv-)!6!oGyuJ-piF2Ya+Vgl40 z=m6s*V!WpHT(m09-`jB$6zEQ2h9*zW#*D8CD^tpBwQ|i}Xde={$;109L5Bh#@-(Ay z{6v&ys_L8OayDE0ejY_tn(nvTrfCq67SJKat#BzL)smU)CGVie$63|{+jf0?*xjQ6 zgX26wjH!{zu%;l`vf>%tu=(0wY*y>KsM@^@ziWN*(A;`UmkZw z+rC30fCgX#1ON%Z2H=1J>YzwyZlfed^-iI|;$R^{I)+*Sqyn-C+nlW=CtA{eh?Gt1nnN{+`0bz0;ExcNW~2qmVBl(uRiX!N9=W%ptEknYj0 zp@+az*qFt2k(#R9d?E+VG+sDavZ#vWSQn_>^RkRmKs6xLdEs?(A3(bE<>A0D!w;~_ zQqpyGIyL8Wi(_4$4Mi@IxLjtp3Uky($e@rzqa}w@5mj<`{QPHwf8PJV>*u#BeDU{h z-*x2Eo9ibp`ftsb;FeccIr{J4_TkT0pZI@NO%#4^oXX$)di4t4Ucpb^N58!J{jcx4 P9=LgWd;Rm5FMs$SLdAJ_ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..251476d3532a8d2dc3c050cb22b09314a37e9ff8 GIT binary patch literal 860 zcmX9-F^HpR6n-=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3168792a0cded9ac8584ed0f2dded721e71c8d08 GIT binary patch literal 1038 zcmX9-afsV=6n=NTyWH)VMeB&HoM9HtFt}`FGh)Van%lY~^KxExD;O|B#O^F3unc-y zFkqE(bQq+}x~o#QzzPN}dSHeXIt=5`qH$EM7+C+PTmKkZw8Ak?{FyQM-g|uiypNCX zy|u-KX()PNhsnvpAz7Q1bh= z?p8C(Lrexd4MYw|3uCKzvQ8>ZUiVYQu3-->4{b#*~Y+X59|Hy&K8=cqEQydlSD$MXpQ3xQ7Wk6vRu7b+N{+B&mVSqP({p;qozt& z8LE=wor2t`q&FS2)2#G6-f(ya@c=0R1Hb}s05$=77@!c6fN}3eP4gBm z*@Wtndcau&#TjNBTjkca+eMuL83UHUl5|wziHywT(xPQ%?2_4VO1|gx0}lL^B(|_Ijfpbd>GR)ro^|g?EJwNx{$ww}nxiR&?JNqZc7ymS`?)&FS`P!+{ z-E%ii96Px3_t@wMr?GbC)wj^Kj})Fh+7ppv`t@SaPDcKz`}8o#`kc<|8i zpMS~Xk6pO_%vWpsp7^xrY@B}SW#_#wm)9?TSU)&(3%mN;r6WK6SK7-j&b+_==;IG@ n@W%OVW6!q{>R)wv^>g~j>$`6*M_w$1K4AXn!rW)izw-9~udKUT literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..26032eac27abe386f88a08453d6fae170f4be48b GIT binary patch literal 1157 zcmX9-e~i;)82)y5TsICfW#W)V3k)q-aK>VaDM`Ts^HOt#D`7Ev!vc&#T$Sw|2 zYMbAXP6qj;c!>Fv5>C$Bc(w!siId^ZxqheUj&S z-*>kSgciYmagPpp%6N}v4ojlWxoCKg7YvJ1108A5?b zfH(s*0V&EzCGD*jeeD_wTS3?s;hYAc832F>KtvGP>s3)y!|?)5Pw;#-8m+79&3qnK zDk$j-F#aHq(IOs_iLgpa8m;8mq|Rl^LZK!ab`+z~U?@Nf1Se4unUzy~Dlg^@*|1d8 z&RDHtW47XDfKLGaD8Lc`*AOc250&spg^{grx}g*t&4d#?;gcvd9wO3Vx+t+_MX-`m zJ*zbJq*KYxS~_f+ULS=MVUmh6Y+Ml1l9Y?bOX+kapSKL7F*W5l4g{zS@GL?Wy=)m3 zYDBcbrkasLD_(ZAsdlL~SD%G_gx5>?{UIzM5J8Ei6^>7don?tqI#Vr{Y}0Bt7$9

Snur6EXmV0Z;(Y0MG%b0?DZcrQt4FGKbVaJP9hwcH;WFpsWQn~B{D76|Ji3qWnlt{>AFi8co45_nZg$qvc zL@OMCA_i3)=16ET(BeABPp$2nx&H%u1_uPN@!F-`ou2I9ylKa(BO@Qa`o<5-7998n zPG5d2qp!Jlk*&Tn^3UjCZ1wWtGfT*yE;D~k-uuA9SNZlI51;*abi;vA&%wr)lULUb zEd6@x1&2PToF)&B?%e)pAOHK~Yxe9Lc0GKmy5j6>!iAA1_2FYfYZncaOEKrrm#5s3 zeQs>~?O#@Wcm2dx?aia_FOmNKQ#-R0d0}Sov5$t_ha7o>ICAur=Wi|Fe&iEz;zZMQ z9rIYzJ^M%ZPSYo!I6ZS^_cLpD9mYP}b=XL~H*TJDO?n<#d~IFV*rlhwS~|Y!+w-YYV`u@h&p|QdLhSq&NHgv;vXMOMOC6XtyHn!{5+=}0>4Br~Rd-cpcfPQ-CxlI>C RR7XqDzhz+a_=~T<{Xa`Z`-A`h literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f7517086c2b1ae01cdb13578fa5056363a424d11 GIT binary patch literal 1190 zcmX9-Z)_8F7=Fk8+{QKwX|!q$MJj2?!Af#y)gvC`Hp;k;gB?<1KNPr0H6@&SVATtp zp^!2wIiZqbN+_nfY7VV9V?(MQTEZ{|YphVh#Z+vd5I&ryj7xhH8stcF{8P;xuvD0wY9aa ztqsGl_V)IUjt-06ZYKyQO;a4l@VrkHg>X0=k0&#kY(8Job)#M$X=VmJCY(X7N)hhw~!I^@kmWiO&WQ(75q4a zC{Q>oEnr&IR8E`g1uLpKQQeQG6@>D302aWHVS>pdTdj)2ks`@4mK_fS%CdYTnM9gq zCCqlp;$&^4-{BT;uT1a?DJJN!%EWS9s^HJ+0h`O}blXV|XLy%SpoItb$I%VKfc>>TdoNm69kh`+H+%0y%1>5QH))+-eF z8BF9%vfriz@q|RF5iXYqjH_~4OVrBwdi@5X0K5PqfC8Wbj003LKn<`ol0>AYkX~jT zAP^9vAnOL51;haoEGSB#6pOM!REQuw1^1120YihA#e%#=4&gDyolfz&T)0?NYqcV3 za9IODNS%~oVN*7L)*oY&gu|vSDtg$w%3O93cf5MGmH7a!!pE z^J-1cqk6@~FenR12ZS14L>hDtU=2%&YSop9KY&;$&^{j*4DymB5YDj68K(%9CN#!b zV)2^Sj{G(xJ5Yi^Sqc@I#__urb^d$*2eu8Z=3v>?i<=w$x`Dplb{o}D)`+l3~oVWhM1s1-Uf3UP*Q#|+reFhF( z>X^4;_`tC_()CrR-;5+K9$#}~aIkyp=giyJjWa_&V|4MM?jG*icF!tv(}v&4uNQ5Z zXx(^e_P(W?-h27)+aq14j@#AUkJY|EwD;zQ!>>Q7otKEji60(aL=OFwoIZMZ-tt3l z%;znJ$rMv zKfJtoIQaAaU48Z;<)gspBP0EDUOD(YcB*#?(Z5yh(026j3;R4hPoI8bY~b$tBVzC2 z{a2qGylP;7g@z_tCF1PmsVnDx9o#Ootz9}jakt*CE!osHw=g=wvfYv6jS`?u<*V2zW0jv72kWG-#yB& z?!LPNfL9Mc-@otc#Y+qaeSTg3kO2(f-7g>Bz6>ueE-x_aJ z33*E!xoB5bH}k9w_uaO6KAh2r!Ev4- zWNM-@tR)DJqAtvSnY#^^yUn&Ps_rO)sbG$VdnOgmn3XFg3oTnscZqk%SIwd5y01tC z&;cBP5Fi2A0h};EJyZ#~4oYHFA5X_^Z4TI3WscO-^{8dGLU+qDq3M$*l*b5uU3M|5cEG4K>7 zv$!ErGmUenO6bkvrI#hksz{o;K;4m76qEw00ioWDMKAXar0=dyCw>)ugHx80VQ90N z<+?V<`aBznTq1F~!tPb3(I?2HkVm5xhf)z$N`L(P_oIJbe&CPyj~e{=<)7dB=I-JC e&4=Ni*2kV-!o`2T|N2+Y;Nk7#{og-*{PaJsac8Ok literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd23a288537844361e5a8b22b8efac8ce336e0f GIT binary patch literal 1279 zcmXAoeQXnT7{`Cz+YQDnp^_qvDYF@8Jh03|4p-cPH&W)wj_igV6n4rjbZJSBQJ_Md zB@}E}sl^pmw8RE)T9yV1Oey3-s;RPs!pa=1*lH?FDP#!^RG2X1&k~aF^Y+j4{p0gI z2i7#}tEbPM4gjcbTGiN6tXMJTSC$sD`Q_dP0F;6?@3pQhjxw37q@<*@w6v_Oth~Iu zqM`ypkjl!+Y15`DH5v_$YblCkS(@jKR;%E2I{p4&Bod9sM>Cmxp@3@vsRImMWi%=* z7PZZ;b-8u^027LEQp}o2y0haVg&_uAl|U;U2DO(*gI0XdNyYqzL`298xpEnCG9TBg z0EYn^3A`*45|Ef%o(d@n2^Gv~VS$5FUI^nF02lx`1QFzNhf3u|QBkKGWSAk7DdliX z1cNXZQ{f5?snjxR9f#@#%;3Ozug)5voMGB0v0{RYW=v{ArPXV6EJpK$QJ@4D;|g-Y zs1Qv$;u&8u7s^h?a0U;#TBcCk{xG!%BEVu4&LUMNgJ5LRsg&JgaH@=U>pIk zD29S|D-4S;lVVUH;J`H*X9VY|^AZF%`|iR323TLXGIPawDm> zu(;hsdmR?h=a9m_WIUY9#9<*z&@_w!m;n$LS-6UJ&!uwO1LNaF!2ev}_ zT+zDJ<2g+C#^=pw+yTSC{@eYcMz*PLR{v)H_8+aa3+lDMFD%~!(b}8cTUMn`Jzmt% zZoE4t8(zJg--Tc4qBiWV`LnsO#kwe#=VwjVBUJ;q(TG}iNyr_l7_h0Yq&U+3qDXBzfB8JOL1{oCV&^jb&H?6*H& zQYX7I>x~5?!^oA}H%>5L^zHm}{Z_|gnbTSfgn<-pbM-Di)? z`KJ7>^B+|oolC6ULXM2>zk8-~y=Q~@>y}$P&%Iec^VX|I&l*d#?BaxZG)+J6iROzE?YJDxjS%f^l8`YPw`LBqTLOi&YJqi;?}n93;UYdI}hGB_wHz^ zFFd(6J-t5nXrEQT_p^&TmwuIIx*xiGx25}*95q}%&{t=!IYidPn$UF3fP5c3q&3fV zdupZQpG?{5>J^5vfrEvqjf-xq8)_I9(idKNp{sxKosHq8!L{!m&a2ZS-28j}haa-K vo7+;WH7c{^&d;Z7#}0L|%dSi7*FssFW@cT_`^Spl0BBm-+<5Ap5BB~KnL;(I literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..72f2ac8122301e2e3ec4ec267a67bff2c61aa448 GIT binary patch literal 1371 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..71fc576a207cbbf3c8eef6a6dabcce614158ae44 GIT binary patch literal 1213 zcmXAoZ)_8F7{`D6dxHi0qJaWuXrzOpCn@BDhn(hs8|lW4-O`)XSwqoFR!m=<;UEnb zyl4%zG~{rF6)n(_hBTo{4Z|E+2L*3QBSlXvSi;3rDNqoxLM0Uj`B_5peg3_9zArw{ z6B_8Z&zd=ZCIDboZ%?_# zz()a@Ly`iL4I7F{V=a%uiVfD>a9V~?wE(~Z;6@O^V31H$wptS;InJ^?D&soe?=L zz!#%pITfg8qjfC>%c{XhSTQF~cqrP(abcd1`F!bcI2(^^ic%^Rs?{n4r~s@{1Wy|1 z49ev(Pl*neU5Sb>Qwt0IEYX{u>+k2kONRK!7vUJEL6NOAB1`WJOfVvh6YX+@$x3ghec$2GQnpu0ZmI) zDjIBfp&o$yJ1N=3Cd_WdD(IwKb){;)Og);PR!Xo~wHg6oM(j3&i!ysT-0xvz$(x8s znN&nmQx#o>wGzQFPytW}5H?r@8+Oly2K=#dnTSQ7OU&nKmy7dydB0!4Z2`g-rSKGu zXBk_8#VSqV-G*rv~u|R($e`u zron?-rbfScz4em_YN$Qvo4rGGyihLnd~xpR$rVJf@BaEXug@bdJ5Su4yZ-6oBOBzS zr$SS|DL?lj`*N#tZ`|JVcj%w7)3dG)xyUPFc2#NP)SkT`kEt*2=9?R`#m%*k zw)J;So_K%GohQng$=02<{UbXMZ&)+`_T;eHcx$=i>xYKLBftDNFTLd0U+?}X@2>uC ZdXMfry>UxyL4yJ4UDw}zV(sQn{|EB}A)NpK literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..9be3a4c6729d562256936d4fd7c78b41f3ef1ae2 GIT binary patch literal 1345 zcmX9-e{2(V6#wq$ZEVnBkp@n!SmeOEHQ510D!XmnDBF?V;D*g;SP2EXSmcyj=%mxm z)vS;r2W+z}HFj8~Xq5&==tkA5HB>E9+=vxUXrPP^CRA3k0Rz95kbK_zy!X%h{PFp` zJ@snU^l5Xa0RX1guBu*};nGYkEy&4q?wU3YKn|#1-B6QRv$C?Xv$Jz@a&mKX^YZfY z^Yak|DJUo?EG!gBBoZ8#DU}3GlX|_DWf`m0>TtMxK7S}Q%=4*q8kYe=0VuLas}&lJ zVv|{Bvnw1<%Hz`of@~yek0;zpDWXvnF{H?%5p#OX#p3-|WzeCC_!vHHOY-i?R7iya zofMb|z|n|@L4tNc%p*)kP?(g#v<^;j5QZcGPypx4{GU1q2Y%Kx6=7Gr%}R?h>hdm^Mf-QH?#$x>H;T_ES=!UXGenQoBas z(JKQi9kuFX4mRPnrh<;is23(e0-+p}YH+!MP?~7kuGc$FCZF9Nbh)B_e|&g2l}bT? zG5~WRxJRH2pmaoPh%0RgtvhK7q`2XA#N!fInV`iVd zE9~*{p=dfz03C_2w7{Yhb4IDtOn7Z{z-b73EwP|884IP;V~_wq0|1+e0RUbA!T=-? z05hPJ(9A-w8}cy<0}Kwj2;f%%o&t~tkP$&U4&4;=8)3u-c{g}syd029prH_>USu&z zyEv7{tq%mO(Wp0>jKYi-Y5=&oh~Pw&TdebA46oo)T5sAEm~=#@{BamdVL~7mBPy9d zONfm$ZZ?pd#pv#`1iW3*kT=PPU^*@*N$3ZV2M}hwuw~?)0=1f*iGVO zoT{y^Y*@9YXIO^wPjb4`w`EQXa3cj1Jswjb1#5G!GSyKKI?-M!co5o<5F@qMskx+8Q~3z4?Is zf`Wdq_jboKsBqnzuA&W+wk@Tb+OPCeD(;udXNtcpt394~e%m)aeP>IaZ9O=oE}yGv zzEV}=fxAAQ`F5aNzoKs}QFtj>YAycByRv!l7t7z0w_J8^dbvv8v~}X~juY!UItvyK zrp%}RojoYH+R+r9=Qv9JRy^QvI(FVJ2a(@*qwB}!-?TOa0&`wzw2r8cEq0%seeN*1 zhC0!AVb`aB^le*oh%vDP-Ocrzf|89Ae)ZoT?vY+(1S3vl+l{sBjKTS@NG)T#LsP}|XXwg-N#9@#VQ>OmhGw+vU^6K(pcb92t-tD;N} OKy8h>`dHP*j{gBCsbtRp literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_1_1.png b/resources/g2/track/intamin/large_zero_g_roll_left_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba1ef08a0fff83b5e720d4e44e72da10d071464 GIT binary patch literal 1380 zcmXAoe{hm@9LK-=`OMA5+-!IwV~#vhOswY=9k(E#?O-zZET1KMShy(3G4E-i$IYk0 zhQ>{Dk4X+sN=kH`V#Bp_XryS&qYFJ+Oj&!Hc;g&(yJSj>blNvO?_QtJ=RW^@-haH` zpRT4xS#e=SApoGbUS7K)GnZvbT9A|J8{6J31t14BH8j^{)~u|o?Ck8EoSfX;+`PQJ z{QP_bK?({A=FFMH=J9waD#S1eK`1mDm0nMpOeUMn;qiC_fe6DSQz=vkBw~Ooid3pH zosMgugl3D_X2)F~wa>2)g)OnT6B8gxaS^Ft80Tbr8DMKET37Qj(Go1{` zI6y4`1__`E#6=>03oGg>ONBTvA%rP4oTVWQ@BqL8P$LM*Vi`Fcn$LHN#RE7V)M}$f z`*(rq&I8~FxGIw6-)bB5>Q3}wia+Hz^4(BgDvy$RelK>R$5|uXOa%U0bEd~5pfJM zfki2HX)vFj2%9ufn?CL~CH=N^*bU4=EA{t1grl14>B>;K=XaL** z1ObR60A|23Na>;537II)2P6ut65y2q1_zJ;kYqy(3Y|Fg>R`wW87FvRya*^Tpu`cK zhHW$mthCJK)cAa+aM+zlgkeUDqXj5cB%#^3ldJafNk&X3Rqm9*m$rpwy)hU~^2>mT zi^zm5m4vG!P)e(yjXI~*=yO}c0e6B4z*J16P(Uw$41h4>g*hYl6po3q$KxWq?J4?D z2veyDolZkhBq}tCgfAxRt+I-$i zF7DfYQQ6+V(%Mj8cr2;<04%Q`9`kyr-U3y}$rJm9!}OZVlb5a?T&nMBs@>4KxcAD0 z;duGN!k+JnJ6^9{Ha3Y}z2-D@76x|TUh8D&zJ?Y?o@*rUEE#na9uc+3Kc9E5_`x13 zy0ZH6^8P&XYx2>!Y4D>?*V5*>sjT+W1)Uw;UHe`xZ}3RlZyx+r`lUQDf5Eql{@TB9 z|1JxDW^?PsD22@adNnvmO$=r?3Z_PbZyh+KRJRRdv0k6DZEs2Mo6qMd z3Wl-M{ov8~cjsQJUVZ9c)Y@v=9~$wxcncO@3{YSjneojgOB{OiWBpPEJit z?bxvc!?5Y;=};&XOC%B$mE<^96nRX(p`lF+GhNGEvj0wF2i<((Q)ow~Bq=91h%693&EQ zEEpnIS23p)>C~e^JC6EE6i8^xK*&u12mlg>sgZ~tj~fJGGR&GFv=pVI>vw83*Y}NL3*Drhh zdUxnVScr-cQvlBcVPJGEmTC|ghgH3FsjHa-!$oTX8I|dHE=88oOkL)hn&=hePDSfk zg@IEUdKT)rktj`&X^K`@E+>j5S+3@CjZ(>})jZqouCEUU0|apuhzds4BV02swn?SS z6?+-8pKA_`^`Oz;>I_ksj6~>IEQKdTGAT2R#tTJh^eo>fm0R_O?|MO(1&PNrF``Sj zktM5n)+&n4s?xIbj#KS-+#tAvSb#Ku24DbK04;zX251C;#rZ(E4-m+&9dIK%ARZWeHR5?n&*)X z$OnW*UKB@i_Yg1StGymwt=xmwZgZK8n9a)hyh(E+q!Xx0 zA)7@WKMFs6F#N}M2UeDsL^$&6#xo=G<>LI@iKDB(T)ck2J2O3bQ&$gv^w#VHvv}*Z-yP_^vHs3}`TezjK6^LV-Gb*2YWH0-X0w+r zZ0xc*RAuAgq4QBHoL{&sfX-3QODhJ&Y0ezHP@K0HwV nW;xgS9R7atugfo6&Sv=cSFim^#WLGPhsA}Z`Hvre`lbH?p3}!R literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_1_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6b803838e8b714e9a7adf2b0602ebecded28542a GIT binary patch literal 1480 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 MrRJvNOV)kxKaL6|KL7v# literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_2_1.png b/resources/g2/track/intamin/large_zero_g_roll_left_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bda30cb7767624d55e642ae4ff568ae3be0f8bad GIT binary patch literal 1302 zcmXAoe{2(F7{}kO8#h*1BMlU&(qVxr9Tqt822~EYl`?N~lUpfEP0Bbzmy~eo0TqiL zT3vxMFIipcs9Hji22NJVMk+M1fr0}oG-E&|r&cLa2#Ez69CNtW5|Z!p>!0WQ$LD$W zG_N*Kte##C0GQags$os3&M5_2B`f8hAMNc2Kn9wdT1=&}tgNiOyj&)eRa8_|R#uK1 zHx5CNs;a8-8s{1V$I)&^`~52v}25RvPf;rSNbeX;uTf z9=LEI&`5+u505jmAET8gMu=JbyP7 zf{BD0RcdjSfzlZ5Iy0-c@+c!1xgg;YNq?LUr|dDwp~2J!v(`xKNd~jA1nZ@|A$uss z#?pLJ@~88W>~KPX10@Yq4xn)Zoq%8=l{u=jC2%%v^<}wmK}f!(;+nPV^KKf#I|Wb4i5~)9I}!=D-OTP5T%o=yFAUzCWP=Lxn;C0yPVC z0R)XGh`5?g=^a_Zo3n-Uu6RKhDn|38nPDi`D-@VYW!7kEy@4?rIg;|)OUv9*pMM|{ zm6GXV76*0`;b;YK*9cC1(2a{;Iv#Wkh4g9kAs*QNECoHfUFAoP#C6Q%n4IoD22fj@E9NoV5JZzqvBn9zhI7p znRwijPK)_`8kW4&4uHDlxS*oK8hcE~N=Bhz6N|3+a3D1r%fd`Srv#V=F&h*%T;rrs zw}TXTXV}ljMSnUe=A|SoW-*e4F#sh1VTpyeWcO5Rk2{#lVZp#taj6txv(Zi`<94&C z!GjqBI4Tlof;0?K`n**O?Hb7IU=W2d9Hz}~?sZQVE9%ju7{T24RQzJJ##)26nWesTVkH!;({%6fmRe@CjFTe@@d#%bTwx9?jb zTE?Q%jY|iVN6ws=o_W;Nf2C$@U`6-B^<#f8B#1JaFu@x@>im^Lxy=@7tW^!nVuzJaFfymB(-V_v+2)U|02} zL;FK3r*+8Q>uw$4XRPISvE0KCe*lVNQMT^yf}ytgYGPM_KK85Ttrtfs6)jz=o_Cl9 QCAgr`w7Q{p#rlu`2OGLR=Kufz literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_2_2.png b/resources/g2/track/intamin/large_zero_g_roll_left_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c85a05783e4992dcc42b43f7214ad0e286a0a6 GIT binary patch literal 1207 zcmX9-e{2(F82-k7+(y9)B@`&+f@Pk1nPpt?2qih-24x=Ek=?Y3C6??4g;aKd6KYc7 z(CQje<{3&-q{dlkCe&^jU#TSNnos!8 zL;){@h@4sSqOu>42PrkoW#Yb^DiyQwN>QuTZb1qFHvl34G5{(7IRMHCfOW7m42n=y zpiyKoAP^u*fwT)4EPxzDyvxuL!N&!47yOIi@$%J%W ztyFYa=d$?#5j0VQ0VimIh5=C4Nvxh?c91-*}vgB8y zQbvvHnp!b5SSyhX1JeK+0K&Q#;X2)8*h0a0xlG1mk0Ivsw8z8w{d_Pe5RMS(h*5+} z6IsSlVDXCE4!tOpFc>Fbnu0o0KYp^qH2LTUUhnPUz}i24+)?khcXzGpTQxi!W!}@4 z&!P`NwY?`9*wx-U)jvAW8Tw|Iy5Y$$%=7O0?>seVT+34W19JSahPPb6`RnzOYc~n=?B1yIC(>?p*qJtF^Xl>-oJ`ZZ3Xe#of%e#J}Ax zV)xYA^10`tzm}WNY;-X6>P27Q*tBppx%1k|{hP8>oAlBA7l(J;*tz%B-N*i`UAeaR z(20g62+wW2GyKmXboXs+WOLOX8RExMr_mA9(VL?KLlB z)aLa!-g%b3zV);19p?{x^(lXPeC$Y|J^st(J)b;Z__@+KseFIt&-}c;juR_-4`1wB zb-Q=8@7|U@E9HZK{f4%W59SVRMHZYpdhXq;?Vqz}!}r4j!8ezlx;Hdu-~B1m(8Wv3 Ve|TkTZe4xQy`iUTZ2h*k{|9|M7f}EJ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_2_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e0f0be4b308426ac40ca6d27be2bb7ed3dcb28 GIT binary patch literal 1189 zcmX9-e{2(F82-k9>zG(W#Uc$kSQ(9;(CHVhLxnUzUoa2DH6+Ge*8>x6< z)f7_jvQ@2Gw2%tbG|(uFGik7nGnP^093yt|fF?Ad0gR0nnK0$^49WBU`saO;=Xu|~ zYdSsCr_G)Q0GPgN<%+dtZ8c+#rP0i@d)EB{KqFZ5LRW`5HZ(L$nl!1gv2pU`$y26G znL2eUf*=-)rKzdO?sPhF+)dLI$1#H7lO!=54#(rkY*y8@QNyU!>$n?GBw(3lpU)Nu zpuvzk5+&maHl5{jd8w#J%as(3AzrdsWbCpRRRmX3!jFgPeB4{iibf$)HB#d>&Eo(( z27(k&I3z71`KYy&w$+OcSariX4<{4|H75Wp06c<-R;%oAC@xouB#*Of!S650^37xt z=JO8R=A`Uy7A1L?N5s4`E-0jwpu-s^mg7=IUN!tE;c$DLB!@8q;S*^w!bXyOQWaHQ z){K~5O_#^>RtnfSVD|$w1Y8P2B<-H8%a^A_-5V`SshXm}<1A(q2uIL^MZIKNpmP$Z zhlNsHs${~oe0*Hbz=~$I5iZP&6Ml*ga$Hmp62V|L8qFt@x~i5(M{Bhj1P&3n;s~C$ z(m4lL#QbGCQt_p#!CXxlt!JwfrE%DdS*?WK?m?X#<`zg&V%P|8E(>L&u|hg)XnMU& z0iHo5&MNb$62KB6Dih&y34b9Ym-2~fNvqdyLJ9yc01^NS02u%Z08|hFO|Uc!NidUw zMu~L+5eG2}s2*Uj0CE6|b{NHBiiK(b79-F|f&Yys07C;Wiv$F_9K>RZC!G>Z85C)6@5)m%0}poqt9^-*Ym!$W>Xkproi zoXf;?EmJi#ST7R{162SG0HNtc#H70qM>v$IRER|UKBQui_W8I#KnR6I+#M#|aSG4S zc%E^OvRKvYgggpm7fj$#rJ&B3$4@M5Hh%#$>{#2$f%a=-Tg;wYwc@$1r}w`%;Cmz7 z_Aq@49-c`Z^!5Bcdhg3)J&A#L4?g)!>inF~4QYJGa*-?yNO#4YBPvlnsHvPp6J9ym4mb zO5yrHW9d&P_MIEpUS86_R^M0>lt_U!HG z-*$RdU+wu;^-AN}W^CTspI-@A?q)|e3P-wIy6xA6_gfF&d-mW<#-IInA3U_^D@$eT zV)W{zg%>UkPCVlLYh?QFot3UT=f4=UbS&NJ9{cs~tjD|V%{$aLFhDCQxBS$w4Ixe4ng4+CV&(N|3 z{EK&fcy0BJEAxl_-TCFtYX{=$Lzg~YwC~8V{crwu>pU?wG<4#dwu$|w)?igf=Za&? HU+w!3EXNd< literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_2_4.png b/resources/g2/track/intamin/large_zero_g_roll_left_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e3cfdcb519c4bcea64764bf7d614160296d2fd72 GIT binary patch literal 1247 zcmXAoeQXnT7{`Cx*sfc_!itvI%sQG_q%3uudPoU}-nL_$+2L-nhANfaLW2z)a)g>x zykKQzRJ@E%3M-+=p$)k}2UCix(#2vnQbI8kJ9aS*R$Fx@PtidqN)XBdiQ?L5zUz20Cj9F4}3$tguCmP)7v;8s9WYP((Q zav9tni_dQjhUiGt5l`@`v_G4Z2s2`{syRw0*bE|T3iIfwmq-L{sVJvR_zH?tE+$Dm zaF~G`2O@(+I3(fMWFp#9N)HPbSaQJoB7{jJ05kv&1mQFqL9Z80Cdq0YrRfQ$Gb0GM z!eN+5=uxc^*I8(T)nOtzvrRx*(aMJiuS^BvjFfW36sG~xTS%joF;gsN=LpV6`@)WJ zjEkj(q!LIMBH406g99xCbWULK0F#JdVI3JY*%LUIw)wNXR1}kNls0QwOz$Smew#JI z5^IAnrAd(S@ zjmN#|v|K2pVZ}@D1gJ-ii#l2|IASJFv5G~zTyn?D!PNa&7G{bjEx-&2Y0=nmgNs2u zPD&J9Qb35yfpk(XC`nk#ViW~q04e~&3JYJw?veCfPbineLcvGkQz^o3XIw7UGyTEz1*{C zaQA-oHt%z@+jc@}o^bTrhI=!IZZvEi{^CZ@q1I)$OKZ+_-)l11zWMh~qw?|NyIxoi z`ywM>y&kSscKkBFQmAh3KR$Gr+VoO(>A=>D|1^)UpZ?Nr-}Bk!3m2B;zrJ!lFx(hY z7rXfr8>VLlE?ob#iMw=V;G8_-yxLTC?8J^4W!=p)hgbIxwR=`f1`h6^@|`X9>Zy~9 zyPE&K|6Spr$aakMj($HldFhA0H>mmsH#DwneY5qo1s}Z_xiuVpWA^!RoOIk+qQh)pUoDlRg&kMsyZ|c%YeXxBKLHCFdmbR%S-}( zHdmG_BhBoh40iiSq%n=}Su*ZvWN1(OZId2bdAlw|}v7z#L}ki0=j z7Oi=#8S?gA^kaFNs!?Gi)rjN>MjG-eEt{NfiPl7!ER02BC8d{F)3RRfj#*!TfeQEt zNEfIO;}*EIqV!C#N-fyg(IL#ytwIk>j&LM8(D9Ne|(sS=D#j zBkIxpK8NEHIaF!J1{sd&xhupIHJy*vvA50U z^)_#sH%I``0BnE|AO=_i>@h$s6cM>LiX&8Q6$&gCrUE1qR0<#!kcFdwMUjG%F)Ajg zir{VV9LOSQ3N|)z&!MNGw2aI&^~*A@>k_qI#0XfoCxo~Xkw!vU6(1h-xN*|sthh^d zXnUXrz>%25^mTz8tE@YcLvI{Sy)>Sdd0baHYId9~qXbX|2(?*ETDx~3e0RRzbMx6d z*hL}gx;h@4u4}Q3&oMKBjYT$-nTs|7{`C?UV1QK$P&geE<>kTOo4^;plB01>0yBydR~Dlg^bV(19noq9!{9D z+%0i2<7jZ;)Ik2u8BQ{Fz<@LPIYRP%-u`*Me|(`gT8Y<0GdGeORJYP#t9Q97z~D{rl#iR=9ZS0 z*49=8LE75dCQh7avD@t!=AT*r_0uiSoIWq>qFux>~PhX)AD} zz()dwLlP2_37d)ub1i3u6(_8@;kW`})(!v*fEz(1lPO@eDh`KA5T{sn#N#Oj0%P$w z%w(*X*-l!Vtc`FxXbI&5n5YnPj0z^1NSae~ZcX>taI2HH6CBEjxFAtdhz-TvaZS?l zfvg_MR}!Uq#zX=$2P__7^8<&1;BgC`atIkx%JboptX7pQJjJ4B5x4qiG|UqTkxI*4 zJ}4HWayc2SW}@|c5|*$JcmibfR$VeikXY;iZ z3ET`KbEbgXrg+hqpG=0hbj&l73=}i5N-700{#T5@xbKeCc{LH?EanvFb1b+=kFjlR(lOWe33CQ#viXZ+{U4-E9I;(+VsmCcQQ=ZdZuRxchNKEU*6 zU2R=w;HAC`^mF0EgD=n6dZTyW%9-ub=g0V=?X!d%Yt$czKU_zpjfTkW83*|X9Yj3`AqXd-yYAy^F7D<=kCQ9+&FXKgQ4SL*R^wr zk?Es94yMd_xlFg-J2ZO#iL(al-JZ_n)BkFJW!%-dD70kn`-4xed*@=|)#JAeeXs56 zd(eB~qtjEnpIX?x>*$qjlkUy0O}=pc?zB_0X?J?zbCRi`l;P z`tvPsP5ouPkzQRiZ=7?YKV%%(HD%l8`KM3*w3M3@-O_+^Zcf+zl&X++t-{dXI|``{q$P%`mL}(b#eEO4gA+zN*juE%-{8v q1? literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_3_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..55341debed43f34ff3ac5477bf48fa4a82b070f8 GIT binary patch literal 1428 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 MJLow3%9i*42T`*W82|tP literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_3_5.png b/resources/g2/track/intamin/large_zero_g_roll_left_3_5.png new file mode 100644 index 0000000000000000000000000000000000000000..b42f8ab6c0f45548a7cb0cd6a029b8ca5a149c15 GIT binary patch literal 880 zcmX9-F^HsQ6n?w2yUyO^m|_Y;gjh@=K@tlK3klxEJzPWZ6F#(Gy2F~IN2^O1Ui$5L*-+Lb)Jl`#CmJpJnVlTMzToSdGX_Ikauv$ON_^NWiM z48!{U{^jK*J|2%*mJvlkRb|uE9mn>4KZ=&?by^g=s%qMnWkBFTkq5dynoP*4%gh2k zS}3cvk>$>|3=YRwq%n;j*fQ>EWN1=LhrRX1JkqvnyV}g^D!yw9i2#F!sQ{sht!yk0 zhWpj1-4du~P-~$35TRlWpa2*cW)FuRL4*_)^Zc!%Y%FW6T^b>iWsqxlGD~sd^MjG=fEt{Nfi}p;JEsbSrr=?d^^RiwY?((4kBNcE9 zNEfIO~>AlARug@B8*)P#f(t5v~>_?M?J2mSrhKsb$!3T zLj!s^tMcFt*fGJ4+0o6=BPu@Aj1j0aD`;1W(#YRc>8=& z?~As5g9HE#zySyW5`YcB5d+jg5s~YlBu3Rb%7 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_3_6.png b/resources/g2/track/intamin/large_zero_g_roll_left_3_6.png new file mode 100644 index 0000000000000000000000000000000000000000..0f221e51ee41565aa2ec959068989dc44443c7cb GIT binary patch literal 1142 zcmX9-eT>s|7=F3quJ^$?lKnAc;7B&D(nw7zDLS!8kK2)&E7Bt~lvqeF3^Sp|8K(@> zz)W^9pyCo{TyVsxBPqBj9FU6{rcy9lIMBf z-D`#deLeGg0HAO6VE@`yeXJGpy4qX$nsIs`Ks&5?d3aT8oHc7!TU%Rud;9F!vpYIE zIy*Zt4D0IZ>hA7#dA(kWB3YIZ1WuO4NJNRpl5IF}mqXfmFSP{-q}nGTiA%ZF;YyL=vjq6;hDCEkLVTU}ln+$mU0>R0&sIW?cPh_R6p%|80 zvQt()U!5@>3^)aFg}@U7T*K(BD^S2ilToZ-vKq-Xv=Tbb6Hb|SM*~DM=+Db+F(O!T zxss05^mxNe&saLDl^jkQCxR3mV%Vr4BxN}hjTVwgGn=&xqdGCsXfzPG6~NONm3Od3 zw@@ZRRW?x*bM)Jr%Vw96Incm;x#{r(8YC#2T0SRt7j&ll{H)vPig zaacrfsFFtu6PXyJCxl`qG_I=^GgGgWn$4St0SE#_05kv{U>u-^0cwF~Q7nS=9I`7s z4hjV+28;mMJRkv(;zCIZ<#=R-Q8|I^96T_d29AXwkA-EI8YNO%AfJ2j^!8l6c$M5J71MNtTc>`|6;qR&TfJ{}|4YM99(eyF@txA5IsId3 zY;0;1`Qu)nZ~NlGYftPG7k>Zk{NlJ@!<87w|b^dY<)&>-|H!F z_O%Jj)$AX;`nFyAX?Wp3JC|-*x`%kQ=kES(fBBA`pI$Wm$n@#6_u7wLJaid*s`%0R z_+;PI;f~w??Gy%l%XZT@UfWPU@bk#+QR0V{0}DQGes=WWsYB1Nr;j|laQcnmzvWFU z`tUoW@z*v@? EAFo;X<^TWy literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_1.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6c661147b54928e940412ea91379a9531dd935f0 GIT binary patch literal 1386 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 J>aT3+_!lyMwhRCO literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8a7d0f2c93c8d2516c90d4bccaa59b082916351a GIT binary patch literal 1205 zcmX9-Z)_8F82+u@b{m7$SWE*|57W$(oXbIubPWOlu(l*7ir{#s*5(-U_YE@x{9X^EaQ|C8?CZnCC!*X$j=gz=l%EPeUj&S z--G>qo<$3mE&u>5>h0+osMqE7AX=>T+*`5F0AL0E8wb1VV?#rO#bU8qt&NS1O-)VB z&CLjcw6wIewzfK4E*D7>3`6rgD~euOmLiczB9Y2uvbsKPn$=p3BmnIO9NXsg+5-VJ z7$TxEcOuE9GrnA2E*P;=S!HlUaJNaUBP^hbh^1t5BEsYoLLnoWlhKN)&R2Dh6Zmit zq=CXCX$i^4Y{j&_R&c@!0c$>ZSAkG>0l)#^LlDVk3poz-u;Q~qdX(q_?F;PqggPB+?pGq0oY-xJBTCGChlmM1M$h3{g zIr#$aFEP=wSFHqdRb{%CsoX8j!#3PzqZ|$o>f&)ibh~Aii~8!zLYY{6GMzDXqgJAU zk40qO7WSb^08fT!Ez0MT{z)xd%qJ^Fy;hrrGynnsG5`ty8UT|3lo0^y;20Q^p{7E! z$YDStL7WCz4=_0Zc>pB`jFC{~U^V~?QD~~*zVQ@b86a>-Ky-wIcwF(MRWX-~7=~7< z7_iRe^aC=~Mk@|ZMSWRJGTlnmtJQ+J`9$Gvwgih+%nm3N@enpIjRtr!8aTSvw=Y#y7^j$RxcKCouBZ{;cCr{BB3jXi(cGCI(XF6g=S z!G+Dc=PpqfKV15A&T+$E*>Zl}?!7%b9$z&+GI(6Ie&6)XW2ZOmF8(zzx?|aY{k{D? zrw`xx$cpJ#)R!8zSlSn-o86t!U9*XYx3@kjV^j8~M)KO#LoXZ?KL5>mAS)GBmb-x-b1e?`L~~CFN~dpPkeSMGQJ9p;-eg)n6bYSkdbJNh=-Zcl#_7##lS~h6cmt@ADa*QwAx6?Y@d8^}(k#*UJ zwuaZ_Uv8Ja_}agxW9r7Ne}!=Vbm)z98-6s_F3MTWb6@@X1D{;JP$Twq48As!5{=NcpCoVs^O_+IR=wp7x)TidXO3#aj&tJWFuzhZr>xcX9SvKE3^6n{N|Khs# OptrlP>+JgN@B9zCMiT!3 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_4.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..01bbc764107e576320099b94a8903c570b5bd14c GIT binary patch literal 1125 zcmX9-Z)_8F7=A~$-C&GLsurwC)j|$(U?>rI5qjW?2q)zyUQ@y}=nv(!?{It|lcp zSj9@3abTA;TC@pgsL2@%DR?23R48U28o6Md1x{?VYCiz0rfOrB__KuMdH;QRpX7Po z_t=gx|G=Wh76HJ(=+@y~or-tj={{R0pE~%531EXA+jft1#;&fe1q&9~Y_{(1?w+2W z-rime!}|LA7A{=q^msfZ>17z2=UGt<%CZ!T#ZswEE@zZV70YV2TBH|fA8>4cFz5(} z-I1s_p75p8Ts9{ZigMXZ)an{TU;$sh#5$FLTNUw)Oy*-uF%>B1Bx@$#u(Wow)GC!`vx&eZ0iMFhteq*i z_%acyG4Xm(YeWi7wbIHp=BsVgPuT60)9H76c)~0Cd@{?$h0d~QE|Hwc=B$$0s?i{@ zn9SQ1!L5dgbd=WPd?6j0(Uod3-KdsYtviSY2mr_cDu50!15n2Rb-*zwDkEJ(R+Ym+ zA|XkG;RlNY!~>F?C_y5PLq-^tA% zRtdFg6w4w5kOc^Jyoh(`9>5igrt5Vooq7PdTxNnnJ{%UKQHk`%C~t};b%rdm-U>%F z0v;r|k%FT%i3}Q2 z!1|q)i7%g<7p{&ghm0G-soaUdD@*s;m;VsHxxcvoGwRHS@9qlAhQ5F3Ddw4_BbQ&a l--|Dv+*ul2wtaDf{%UXU`IT?}v!|mKjE;;Ae=#&Z`9G)->c9X1 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_5.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..2ef558853e4b85af57f63cf7da6f536f95630327 GIT binary patch literal 1323 zcmXAoeQXnT7{`BGH@dPx(ZUKV+Kpyh$f3~9EyodHd)2{_%O9 zp4Dx-X;Z7F0syA1XlZIM)Rzi@l!*$tcmADU01$!ItsTvUv8br1xVTs(5|xycl$MrG znKDHz7MGQkNhA`vN~OXuH9_DMrKf45)yg;=4v)td3h~kCh#+KhIZO?3Eg<#fMx)GP zQQGWkr%UVcl7WyZ9I?g|u2kAjpkjlzoYBi!gOZ~WpA{Q)5D||d9%6);Gb8x(*{Dtd zOenD7fTP3#MjUZTlL1*Su7DXe%$eXM2VqnN011FeEM}xqR-xb!#IMy3l4Q(mPO|JR zpASYN3QVTL$YZNve>N02p zG!eE^2?w3@SkpmAHsZ-Af-oJG$}|XSz%*u@uu+tYroA>>$mNRodIDvp{{gfngQXKdjtH4IQK*{MYOQ+GX(}wUhg|Mh zAS6T+xfBjeda;#~vL+>GLA`c7=%m74b1cXvBi>9hn#Jhb|2INyuAZ+zACgcnn?x^aL=FVhb&2ZK#{m z1^je4>_{YnnM?u}ycA}D*~@WGPWqK59$^G6mo)}+ws77PpX5_8nMGtkqZI4ZQX{Uk zP?+7U=U9v1&4z>SL^PNYqA-`z==G2XPyi4XSU3xIPo!|zz3H^Z>vG*G(3jOaZ znqKZ`>Dl-B`p>Ram+cvXqxH*IP0SCL%??(c3UAugIOS6gSLRs(LmiQ9AQi z1UaaxL7jx=0m*{rMxe8%;?m)W){o(ei>^j$}^3DTC zzN&qve?#@eRy0<({rQH08IYQK@_7GZ77e&J)>Z#ne7Jd*tiGJr4%Ky4z23jO#nX6E z*ukeR44rZ4u5DOgI_sLb@?hl8HQlz+zW!-v-pU`T9HZL)-P3)C!c6h@p+B6)i=vt% zZ;$@9o@vA1oa`Cu{d(o0o4$qYwoBau-NU`hT2?LDv3F)>aqIyntUW%ju7)3Ywm~}n z_m3aZ-+YQ~C2oz~%}Ydz&au;>;&Jbbx#6EDV)tKNwE6z-%S8tdAa`F|llkZRiL)2? zoqXo>&6$qx*XtHEF5A+#^w`HjlJYJKDj;`GD9(*gR+BN;`okvGi3zN0iYmttHGvqby!FBVl@(uFA29Esj qsob1La|E+@yL0FC1rzU0Dwl8Gc4K+PquK&-u%fxG>DaP2y8Z`{y-qFw literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_1_1.png b/resources/g2/track/intamin/large_zero_g_roll_right_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..55e29e158fda03dd3edad692c5982053f035474e GIT binary patch literal 1316 zcmX9;e{2$G82;MYUbR)KY|`%5;X)&I=va3u)2ln{QL($$GoB6?RGjBz72U1kf(t5% zXjw%)l^9ggQA-s!bW9s%ElbG4W}P^RvPku;tf7%~>exn759k|YU+p;%UDGI2JW&E@h00>MZmE(n=y7E=NO2Q*ct(}|5n zsoA2mJ8+kq_678zuqhgIBvW2efoSnEj*?ilQl6E2Ojxgt47;?^04EIC(}FjbiD*!u zR{%2scn0xtNZ27t_{7;L3e!rM)x&Wf!iWq28UQ_la3YZvMR~d0i{rgCJzy{-tky>! z4-AJwW`2B`{FYGgR0pjefTBRM;5_vk%A zE*P^$1ZOPmOXk8N0*DzPF#xFr$azHNk!S*PU6|lvT1V34&F~S}ODn{z3N>pK4lV9u z$&iVO+1P~3l=9m$VOK8ZhpC82tdc9Vn94wqW`=RFtlMl3I2>V*Cl(AQZQC<;kFQdI}>sn2K?4U*qu&9ve`$F06+_X2>>1dKL7&&q!0k} zph;*kLBAIY30e*~3^)l8)Bu47kO7dBKnDiBGz=PH)D8tNcp?|8%?c;4 z@p;)$$QFzF)9Dz@bD;)+S;`1rLVKn9pqvwMKBMzz&7qttIvz~IL`E(KDk-8-igbk3 z$Y2%&#aoSDr#0kv#v=Z-5P{jGilSf;KmkCQ*TSBsdkNHLai>x$x9cTL(I~0YF-9Y6 zv2d8urc$~H%uixrN*SjWX{`+ErO+yeZVUzq7^Cv$SIsH==fw@|Sh<`5iysbd&iA*Q z)D5eabsYNe*7nGZ@+`Cp)0)G@2V2%}#z*^y8aI9UY2VjxRekhc#nAh^^42U*7%CG_ zMQ3YH4HQkqM^4O7Y{{O8uPWKsHV>=r9NS$Pt~g3=yet`h+CQ|@!oj2yZrjuSV83vkD1?g z|J%Lc?&zk)x1R{?@um-cKC-Q$=PrM(X12StJH37Nl{3QgSI%FZcCxd*<89}qSyyT; z!8JRX?}fF2t;pz-3&Q>Z^@C}3@7{-lZtLOCQQx7ywZk*#*1W!{)r>k?uhq}Z-KpO; z*fZ5O(sie5-^jWvHzOPF?b-gQrJ;3v(U9im`txH~iF0R!Bj^5-tM6=C(1)Jxt*-n+ zP3(X3=(l^WFYUVVxV~e0(?Z|)fv?CLA0OS;K4Sr`dz`E|yQ97P h-2ZGR-zF`1i1z%t8>Y9;&c8hXni`j@zgx0l@Beq`QK0|; literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_1_2.png b/resources/g2/track/intamin/large_zero_g_roll_right_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..14e6b98cd0646f44e7b28c83fb90bbbdd8336ea7 GIT binary patch literal 1469 zcmX9-ad1m_9RIaduapJdWQ0B^M{H3k?+A^0BPAu|m4_g+x7({`laW>GGJPe;om`jd zbM458Ny!Kcjm>pgFWMkZJ2{?SOIS?KQVXSGf>5j9;@o|{-|v0@`F`$mpU=0tM5P!y zc=TWZz|e)oMaxn%FI7ZVMyeOTJo^fO3{bLo`TW$HmX?;Do}Q7BF<`)e%*@Pz0|z1q zl9iP;XwV?OP$`pJ27}&gHrs3tkH;GbbcVz6L;{llTm}ebwnmeq)1gL2 zVzJ6>cEaVMe11cavqqv$xfoH)vh_;7NsY3!$YH?FnB{((I_S}d+bprLGZ_yk1b`9) zBMw*+ap@7il^1g5B!U7MlfVQ8U$YPfgeeICPza*u@k{~%D-tKawADvY1(cydaPEz!@+sIk?v`l7D5*8|TjPY3O z+gzS-fJ;PhKq(Oe$um(Xs}tK9+-)I!c5R#66!P0+p+F+>5aIx+0Wbi-0^kOq4S*;D zUw{7<3ZQtAjxc3_HPFU1>2=rM^|DzV|1TaNjal1@S#Qwt%5LX!yEG3do1r%Z)knwS0W+aIV{rXs;7|J*DC zAYHexXzudj>b)y9b=~8JMBf;*_q1OA!aViF=uwqrD7ry{FZp@Jg?*FjzMtb+Gxi*Q zzY_BLwzVAj4@5lqua4E4cf4tgepliss3_!m4{qwo?{+$R@-nXJbY|VEjov-XqC5Au;#((|A}!rD?jes~c6pXA z`jO0=rD9h$EzWqay4`4fl>g$vWpC$k?-jIfa%)xft|@=r?>W2aMaS1KMbE+X_3cku z=*F|T<>93}w|({cesb0JZ87OM)Eg*_4QaPc3MftvZ-m~rO zivq$nwxmBd_$EJKtr2!rKhd0ANVN9S4;KvWkavbAZ7`%uo*Q$Sc(>?LZ*;Gixm)<9 z_}<4^>l)f>tLv!Zg3JXMH|lDd@|%TqcPO+J`8`sEKfFBqHt%loSGT9KGbt!6X%gL}8Ot59swhgVZt*vd&oH-_wY3|&)?d|RJ z=FP(}tfQl&v$NA;x7!KAMbi|=F@g|~Bry_+Boe7?Hdic8>blWr5H6tHz%pHdfH@Sh zg=JSX=1wHpOqS0Vq*6Int)*!v=683Aj79O=RKbywh_MJ=Ncc-xQ6G=i^>ouHdab}a zAxweFVHpuC#PCYS+$dR5-Gv%FdZHp!v;(jJJcfxlu2`+A!;yBo$5?he7_2DDY$}Bc z1uJ2;Qx+F%bMp?b==3Xupt_|b9nqM0o=cbboF251R+rcA=A4W`21Htnve6Wu%89wM zQq<$+dZyYe;1rlSumr&-gG0s0l*OBM1PYW`_Q$GH+E9yVjCGm?(i-+UV}5r=pz{(} zjtG^6RMR3xA<-;rs8+(nMWO949Rnug%UmU4q*!F>I7?Et9jc_;@C(7t4(* z1w4aE9Io&-HRMdnlosXk$>6xAR0_#@rPyf9A_~9{AOWZV8o)R}4Fl8yOCwoAS{msU z)&U{`aSC!?&{;qnAkl(i1WL0g7eb{d($nzFcoG;I{45p{EK1lJSG}3Ekk3cTWvyN> zqZXGn2!z~4sTMYE<8uyCcdJG~YlQR7MCnPciYkV~45SV7y6^yH3vq-TWK<=Tjw^XB zUM^~Ny@(oBl3`E|kPZm7yok2wp2HfEleHR|Ogx8FD$#)e7YYfoEE28==}J(9MiT|b zHOV^bemmlANO7PffpQcoGp*w%U+=pA><9L5-ORzdnOpC+`T?J3{kAubkH)VInR+@r z{~=Lda^>l<^daBPRZA;}qSI5u*+t*Kv++$0OC8z&#Rtd#tgb(g?T}YYndV8uD~-QLLv5%3UHVDr^4TR1_C9ASI&)`xqJfmHMf=4 z_3YhoZ|$i;&tIOQ?&$5>=&=0w?(%=WJ=;b}<&cC(u$p4Pn5DowU literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_1_4.png b/resources/g2/track/intamin/large_zero_g_roll_right_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..aeef1a3ad96ca8b14762619c84c4cd0daaad5dfb GIT binary patch literal 1120 zcmX9;e~i;~6o2=#$DO!bMx5u=nJlI;g_~NTkOr$1oLIdc6m4W`$x-s~0k;62F!*ACYZ#UF1Pge`WE5LW)zw@}v(OArxMj*44H7Al&dY2`73_pu z)76HNXqoz=ZJ>tba#J`Vl2n*sqk@o<P!LJWWipaN(B20$60fdT4(XHiT=Mh-bO9tVYl zGy}yTI6NQ$km5lp66JVQjG#&qIXSp)JOvyJB9BF6PdrMbwO~Fcmr4oSHkwTvb+o); zAY(&}=HYWbsfa5Mt+hf%J6c-QD@(;Xs3GRV+m_LE zEYz-39EXa496+e!MY1Dz1Kva|(`Zl`{RY%Zg$;#-NJNgs6f%&Y0y;w)ENOCqDo->; zKazYXj-w2TiVU*3&hk^MhOS({fyu370zCBVxfeS1&6_tqylw5&!83D*th)yKcU(Z{ z*Bo1aV$1OSv2RA#iG8DIKYL>Du4^L`LqFbeZr(u)ci(gN)tw95ogd2YHOALWetP&~ zx(7sj+HhsWl+Nt^d1TwaUw&TkZb((9R?KeS(mX*A z=WCa*7LHC1zJI^?{Y}qZvySZ9aeh>k|D57xUwY>F?04bnBg4BM28~LCiwCI literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_1_5.png b/resources/g2/track/intamin/large_zero_g_roll_right_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf071758de5731283ccd40d35dcca9aa2636e56 GIT binary patch literal 1337 zcmXAoeQXkU7{`C5FIUPGCpMS#taQN?9qq8a=*3|?m0E0Qdd{M&SgB@-dQE|bFTXkrtvW-QyREsOtMr-{IWAc68{&~KCe4c05 z(k9h}lCly2z=Vb+b<1*fb}ppF`MJEW^3iVqW%ad9!9&qpN^369H^N|L7445Kv~S*z9Rbh`ciKsel=NMy2ETns!@wZ%rR285$~}oLrzW9&n6edfubt0gqFz}g~F(&Y`WYsv)}HB zc>RfRESn^OPK_98p+zU=3^JFQ^x5d3OCRxB;vrW$9?oV5Aqjv603!e#06qXB0HhEA zbE1^cY=k}!OvEWEU~%9eK|lo(6o52!95g^2fN-orr zVgrqv^=i&y@Hi|%pCcCbr4wP8O%iG~3;>t_5aw9ea(1tTS zV9aI~ms<(Blf->WJfxQQQ?j&10(D|&kwO;^10;;8bH`6q3;uig0~?n$(O|*-+ikf% z-B7o1`I24T-7S+-6|dE8g2Bu6d*=SKV@_*(!IP@v!;=T4O)F#7XUmX38je2RPVy>; zQ{!D!^HhFx&@g@I>azuHwKenGJ8I9ZGmO9PSpTqd|83{(D^)G#qK=kl=)iSQI#_s) zIrOn@LS?;ax8OZ}-NWyW#6OzY+qJp%&84pTzfTn{K#w&ZDy_X$UvQ)S!pPB8<9mf$ z-CAWcW(Tw zrhK~W*jG2&JFsRRar0?mivNS4q51g9*>3y#?)fvmS#v4;{KsVvmLJ(rdHVNj7Z<&l zi%#Pt+{D76d;7?7{br>6+sRL6O{=BXRX42_pI^A;^v@-C2JZg*>;6fTh&V68JMmy_ zVw8_pJih#PbL7DJ-ezx8iT>)2zXs-=b{&{mp)FtSzTWe65_%H5wR8By)VBJ!R+r|l zP=8r+pn0s6hhC|^KKM^ZeltM#`Kg&U|V<)KYoa{PokWq0YAECz6_qY1?&c|D^k#&nSKOr;#yF zTUEsuRonZv?27iKMhb@Gd)YbLQg`(ok--f|RhCZ6VBTYlKWjxOegFG-jz4Hv+*EgJ IQR^rF19OH^Bme*a literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_2_1.png b/resources/g2/track/intamin/large_zero_g_roll_right_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..92c6ca343f61bb40057cc215c060b8872728d68e GIT binary patch literal 890 zcmX9-F^HsQ6n?w2yYAj_OfiKa1`L_P19N9#;emxo+`}v;>v0}fSa?B_AxvRmU;-9G zEQTP#z$92qF@+?PAY_V#SXdaam|`FnQ_O+I91O(bAd(oEVnhCT9DMJ6e8qcT@xAx; z<7?^eoj30Qz}>44FQ2qbw)M_=r|sW<_xG0o9eDiF(?_j5IyyQ&KJIinCnqPTr>AFU zXBdW^pPye`T;PMjfMpp`6jW6;2J)96QX! z=fjz@SQ=?&uM2;-k3<^N_^u`6u0{qXHMiLtPs~DXy|l{Jq$;CBol685G>ioZRBT~k zncv$k`pud^6@wZB-3AEd0{{iUz%Z-Va|t4#sEFrp6lFCWZe91~e2%h=VEY3BXB3h* zD9NHVmo)?4o{3&8Pg6Bo8%a4NIf9V}yh_U^r(2>mQ6_U^o>)oY=H;}g7P~{%6QHjG zJ_OPMD!{loE-fiN6Rbk>cXm_3Sf@`YN3e8u~8hMa;s2au`m@Nk)TunsemjT`7DYQl#I}N zg31V91{gNnWkP*#8p+G){7Vd>vV+xS0d6#D68ayT92D?dI;CI z$qsF6st+8ANlZ@{$dSrALpg9q(bP@jX_3cOnWJXM$udd+m4Hy2#iX@+4Z?F~`#m=c zU&CInMO{}%Bhzs#mhm_y6xdi~Gnv^abfpcDK_ZtzGZrNRD&+R~x%=I}Uj4uqPp(yX z?~mu7wc_5@<@-+`eq%oS4SVq7`%fRbf4+PFhl}SQi=Q9=_v6q1+&st0c=px*b5VD; literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_2_2.png b/resources/g2/track/intamin/large_zero_g_roll_right_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa3f828bb33f373b0832e0166623725b1cd6218 GIT binary patch literal 1198 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_2_4.png b/resources/g2/track/intamin/large_zero_g_roll_right_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..8e058c02f8b236db7e4b7541873c216657d08b00 GIT binary patch literal 1189 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_3_2.png b/resources/g2/track/intamin/large_zero_g_roll_right_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6654e372eaaf3f895e6103d5f2bcd995de7876 GIT binary patch literal 1220 zcmXAoZ)_8F7{`Cx*sh~lI@7R<2PslV11A=9l0*CA#M`Xf!EWp()iqG$7Mf7tjK?gj znCdDiQ1oC$%dDhgB@HXs;lxH7a!QAdRy|2KYj)8ZiZp_*K*45$`B_5peg3_9zArw{ zv%kB`(lqyxxd4Esju+Z`s`asIw5sZ=dErn}13(?gwjqnNwe1 z-_X#2Ac#t(YHV!O84Ly-H&GPHvNXrp1cCQ@y}@8O9#5oFSw$(8%eV=UX28&Dn@#I< z>RoP=&uI*?=|8GAx;=n2$hF_>A5<_H^4@jk{EwucjZ zLiVJTfLx5`E0Tr;S{CRWK<@@d5h21lOWbIaNM5%3^FpK~rrvE%?A2xNxId7N#+8&@ z&Xd4SBLb`O*!7|l3%SXdk4=Ug>6j-cg^IaUxqKax09XMK01yF)0gwiufB;w(LqWFy zV-cw27$e|u5FkOq0u%;77C>GH{Wy#;FyVw5A5HxS~O^P}uqPHiEykZthwpiJftOPT66M2{`8MT1WBNmg!M(Uj`?sm|k z#~BHDlCglCiWQX3|6!npj{6=Mi|0jf`l?%J$_=j`sV!~*xA#?f@iP(vZdO;*3q`Qchx(4 z1FMJsSfQfcfU%1|ib4z8{L_m~BPV~Gn7z5o?|4*w;)s-$Zw>AtH!dxoKfms;vF)Y* z&@7`1kI6djj_^U>TT_k$TYGMK!+#$h?&&+);tQ^?v|fDt!r6rzewf#k9@;!~FOQG^!$I*vmEle%ZS2de_9L`)K9k#;JKL_b)MQJ2tj?bbH6y=Fs>TWA(nx z&Tw*e`ojF^n+MeWsuuUD_byLjr*|Q2LR0MUEb4Y)-E$p+N753KkD=wXwNbLenj1C*IHf>XZ~?#pARvf@qG7vT!7!DgMmVnM_m{)r8>tk` z=k0{mMcdq*gAy>0gnPq;s8Di}iDcM#j#o>9X80YX-R*HvJkE-wPhzAf7flH%P15vm z!HDa%bY(J+(!k0Cn;$qr08%D#b)^7DINU0d_Miukd8xF>-9PWb_rk!gh-=I z&d!%`e}#!weQGV3t1IJ;Y;CGM2|I8UC2cm3!^Punk)mXliwfqlP&O7Xrn5#tZ&YX? zu!zi~VZosU@MMV2MEP9OU(AHd`DCqJXf$p>8UQZ__X8r-K`S;+bqE?J8I)4@Wg5ZUWTG^sRbaV}Spn%lJZ{uSI|4ir^0P`fpvJ?w zOk6KyYDNJzDkRH74L}1xXnGMf>F&WE2_>slGMTssxm03&K0Xi-Lm`Q9M@V;qCNd0> zXWio*Uh}%3;DBKaCJCs~P-o5KC%Ze$UjR+7_pRi?;;X;*oBitEo+YcFdFP$|fi0Ff zGxm(a3lBWny6wQr!!LY(Y3}BsTmAOkH=TDjFC^YLF>7*c^l|UqF81`guMYH~N8VdJ z*0sHDZ_6)3@{YjJruB`nljr~b(K&Eay?oL+tPh--|KZ*2M?Gh$N1T03?St30POPBz zT^LZee|hb<;yS!T&+nY=)7lOP9YgOkNZlV6M;eX#LY&y@}H z>aRTOoS3oc@)PHtdR5yy7+LjV2gn{%5EZTFjEgWhE;dyXz$ G|JHvZWDr~c literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_3_4.png b/resources/g2/track/intamin/large_zero_g_roll_right_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..502319daec625bafe799aeade0c43b47d113fb59 GIT binary patch literal 1251 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_4_2.png b/resources/g2/track/intamin/large_zero_g_roll_right_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b188276001b86f25c4b2ffdac3d1f2634f9cdce7 GIT binary patch literal 1048 zcmX9-Z;0D;82;Vg+#he9l&!dMR8}z4oL5GW45Gv>ch)oGGM8bUQKQDKAG#4{gsN2n z3tDECcor#Iq>RA&A#C-m7&K@&Dpu@=zz*q+!1|$VJ-pN41uS~V&m4p2eP5n0@59UU zK37gHr)H)OO#uLAmY!ZX9nRUX$cd4#x87O32*3z9b@I$&NQZ`ohKGkoMn*dAI1eutan4Fx9B@zjONHPq~^QobZXI{jlzBs1|rA znxJDzE>4M9O2*SFA?cJ-VKkF1*}TyfEiV%%(PSz?@i;4yg3QPTu22=LmTb9d(<{0C zT6f??Xb|N=ECb?sfawTXjiu_C;Lx(0E_M~e*PF1x;Zcc1b1A%-rfL#nE4-^oowCw1 zHQy-@Tod-1ktm7bX@bnqOpfP^l2pm%>cyf{t-6-gU0?To9|BYcSQ#N|5ynROHlFD+ zg`QyabGEOq2lf7LX8@=1NQ8{VQtoLxVixwt(l`>ah0UeG38XKD7Ur_og4Y zbmZIFAC7IT&h2w!^R?G@X!`ND4%7c0Tz$8+_0+ygC*?c)t>^!qFy3z*J@Na>g@fJg z$2QSxYun>9cfL5(nz{A%*B?qpoLisl9M9md_l)1Z8fVknFK^zQQm%h=_k*jS&p&bQ z?B;Xleig2McR(7fT|S`sS1x{rzxX}6)>ygy<$n%;`~0h;*rM>#St;|t{M^RF_S`=& x{Moo)b$)td_OLD1mK!TaZ`?{6muCZR5WT!-+9nxW5r1YUalHh za!&~Wj9k2^vL-)e`Ksk|^8Nm@51IiuP`$LaD!;N=EH<0X;cyBH3JMDgi;9Xc4C8XS z#l^(}u~>}bGJ;T2lv=OXn$5J`ZufY6p-?y$>q;iGxg0J7r27grJjxMF}nn z3(#29$x8(IIYx*wGL+MyVHZL%F#rjm!!Vl1vk8SRiNvo^w31|p!H}@ouKIi^8WrMv zu~Hx-MGBonMN2g{T<=nty@Wlec1I{bqYEbuBDqke5-TXFS})hq1nnRlKAkU2hvT+b z(jCtPQUg(*68IDd3?Q)Jnc>6$DwXnha)Cf45>rx{UZF6nNrx_f%o=jKI|89( zES^g#L8r#d6wjs;xlB^8RT*?p5wD>mXiG%BnM5p?yNZ+m8UQnZ3m^#40g%Q3q&sRDj| zBw~-pgPBYm<+X$cz^$c9mw@z(bYTgdRJgL*V9pX5@G!&S6iQ?ze2|MUm5irVicA!4 zHK<)SlizKN1l{piFq4d-TuQE1qcET(Ae8sQk(c`)q220Dr{!MH|Ckwu&}u1@NpH2% zxXdn>d6amNz@ute7b(qX#7HMXHVN|LD6B+rbw2#^X{CMt{lLbWo%(dtGMon(4KlX(!J+b^0Ch}Z-VM%3mw0rc{`&(`=sN54`=9N`#oX)NvuN>cc z@j?~OGA7Q?POSDFd!X<=^N#6Lh?S+BEzFwP-8!M|3WoCOs# zYfRaTvrbhu)(uRa$VzhVD?dKvgTdyHHayaQ@BF&{vhAMoz4YNvRyS~WZtXq%-RBh? zV|Dr+ZfM@KpTais^ZHq<*SnXABF)Ut!0ebd`Zwd5W52%BbK-bWp>cooguCgp*3WLr z_lnf+tyrDeJOV~XP= zF3U%~x`hJMI@9p_@^!b`Mry>|F&|#x|21W6_N2hwj!4@=_7eB*r`-3JZ|j^;7#21a7^A|bAH;!`vwxSZ{bk!i zc1`=+ZKIDK8G54VPQybLbSnT68zKvD7)wHbO}y@J zTzW8Z@WgZNEnV1Mt4t+V`%Z}WPwR0o_N`%NkczS)=<+!MYU;N^& T7R69Lq_DVZdFA29*S`KQH`<{E literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_4_4.png b/resources/g2/track/intamin/large_zero_g_roll_right_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..70f567be4b2160e7ac5a6b86044ad686c0681457 GIT binary patch literal 1321 zcmXAoeQXnT7{`BG$8K*>MoB7mv&=@DSw_h&p>wAma$D+lWk)z-O)7Td%o;4qfwxew zk^&`GDda*56jPu`)dE#&vTSv0LYFmIu)v{1iYr=XnHL#wLWxrr_*p{oect|gzJGk4 z=d;ya#<^9`R{;R#cD&WLrdYMbKr3X$tZALx1Aq*yHmz+hjwK}}rKP1ZnXIg=Y|flH z<>loFf>cygR903hH5v_y>Inj;X_8?q9LKudZofYmjmDD6@oZKq6i_|DF+h>k7K_4e zS38_~j~DX?sBqL8PjG3$o6Cm?9b(3+SyJgTt9eEn;hzyAFrSnw3|gHTHP~>%LDOD_2{;^4uQw443b9yjd|Z+w2vjW4 z`VllNC*mqPt+V9_Pu>y|9dU^tFGR)J%nYp7$>j#6(x}$ZIz5A797%bs#bwT@*Ov-M zvq_oYGfJ03=i`mx z5EGBP1tB7e0xWu|Yyfputp*+V{8JmM3Q5iy&Dg`9yTVGO`5fUwBIQ?z>~mD?G}=M4e>GjZuOVX@G5JL7b+ zsNQYR`*Acvpb1hxPU%Fm23pn7rG)_$#&9T*#p5?LRo{R51O02dXt3hX>%GN3)6w?k z+LnF$)=ploYp8hmIC%GMvmvqhZe}p}JP=y`GqpF_ap*NKB{ZS*F#}_VMd=+t2L2duZLFYp=MkY>ajf zeY4=&*ucRx&v7Ffll0v(-jLiCZ7F{!6VEKXwCTi#)~W4{i;tua9F(>N{`o@w`G-#m z6SZgEOIKP{{4M0N?8buT*wU&OddS0FR<7Yr?O$6OJ3rn3UfA2Te2?j_smrl0yl?sK z=G4{pmUu7AT$-P6Too8fHT4kZgX+Db*S{AtOQM6jA8(LqUs`fYxHho~n>p6!BULxH z+&lHbV13Ep!V~qA+cy_<8(*GRZmQggjhwvkTU*oE^{u0a>Te%yn7H}xj*k>SYOnYv e4a-Eh?QuEX+I-?cqDEQd4LaJp+Rm)(-t|8|?NAp0 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_4_5.png b/resources/g2/track/intamin/large_zero_g_roll_right_4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..c618fc58dfa52270944cd08a169806903289b282 GIT binary patch literal 1248 zcmXAoeQXnT7{`Bmy}f`1YAB;%*-Cce4ZC=OVmfk@+vxCso4Z2MBIh{q)SBGn2!)i; zVTna6-n1bFiz(1Z4F^Wtf{G~t*x!AtE;cCZ)j*} zY-~gjq^YT?xw%PERjx6DoUwb#!Y~*0GeubIJ8cu z!R0pj{FY#dj>gzzO3dc`g<^!n5WA&SpmZL)LE_M`h{wHTDrnEf1SR8Bl}M$Ow(0?k z0T%%z28jwt%CE^swdJfHswP-w;fw@f+6Vv*0E-}kM&r@zB@~TVEODC7@O<9mxf>3{ zR7#I)jfBob8!Rkp6)?L8=Ol|5BE2#dNHUQun^1UzS#Po$Eeu9+W`{ruKH3*%!wDgg z^Q4tPPK_2SDGdR%4AAkw;0CCKn8P}240WUkA!qjId>!#Is;IkVnn#r$?llp~WO zlk;-rBtwzlVLHf(V9`rj+=RcbTN#d<3cW1%iEnS2GdVj7KEr?VQ23})gi7LlTTY;~DC<_~0|F(sWV z7YM*oh{$L>tU+>OAvYoWm}H30$ew&Eq~_D*@?A&(U6Zs-$7LV5TUT08jxCR$2I}c8{d@x6o^ z&1Z_;bNXif^d7HvaU(_Ti}w)&^Vqy!J0gw@tsg zzL6Sekv9tue#f7lczj1s*U*X+6I12-9`5_;ju>Rhmqqi^ZAMZMMj2hmz zX6=$$k(Xc0jGA@7{(YvhA=8t*n(njp#O>3&E8{gEIrbhrzIFGfmw)3AExCI;+J#;3>@=o3CZWZ&wKy8&mW)9 z>#DBOPAe@d1prK|TvJh#;}y9oD=x_Og?;_a02F}gb+xN=YhGSnetv#IK|x_*VNp@h zlqpjX1Su{qE-5LI%H?t#S86l_Md@hTV6iX`hl6E(!C)vFjSE61o5huYPyGdhbF@6V?jn3a;63UcqXbv zfe`~%0=Ow8z#tKqI1!L!V<=23Vb%yI+z>|P0FVF}5rh$o?I`M2DEw;m36dN#nG$yU zeV-3TA}B7A6H+B9QyUdp2GiSd+O4*DH4aYa2~+-$ZSC2MpQnjHmEQ}2!_|Yk`{l)9fc=IOhT(rs}^(V z)d5-)wotr-POz2~=g36Zah`*zs92&>V0v6-A~aTta?!NcY7M$v5uc9_g_7}jCX;~x zWq^W3@PJqoMyVKPN@|=bgFkHzXWa2@Fg=kNhayZYR!OB=nViCuv|4S^kxpaom@Vk? z3aclJDV3Lf4ofViF&HSb znYP&&T ztE^aAyKMhakNNY|%Tqr)4X@=d-96Cu;qBT6QRk57(9PlP59K>MBim2znf^|HGb|n( zZR6dKH|5f+tIk(pKchyIW-}(t7wTQ&KW#lEUMpxPC-Pm1z z{-0m+_f6f19q##kYW=0wZ%^OY%you$zdf)k+*LZ--mvG~)uQRWk5;;te%UwHRyK3v z`-$%Ne!Dn#yh9(|ClaQ2j?Db7yy@rmeXnbWZ_-@Nx=WY)=3QD7TUc}cWYv?>yE}W) z%X61kEc%|VsCM{69VO_4+G=UtlAiq5BR}pKDRW(TBNT_eZB4IUr;iQKV)?P~*p>Zz zuS)k<4CLP$k#(JEdpsDO(bPK8NA7OqT9$Pjd`Mn*+P^-0L0HbRain}9adzZ~Lvym{ zx=tnrBHfRhy8d|Z&4xz|VfdskRrgBDnq%4k literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ed874167657323265fc39b65c69cd6e2425c5160 GIT binary patch literal 1132 zcmX9-eP|PR7=HVC{ZL}bBw~UBoQAhU;NGi=8=X{ce# zSXyJ3%54S~SSUgAM_g|juyd!2F0eT3jN^utWpGLyk!7QdY@{x$#r+l$p7-mY_krhm z->Kmt=jx929RRR;a8Lh%dhM#m*0!d4UVHn)`v6Tayl-TnJ~lKoG&VLiH8nLiH@CF3 zw6?Zl7}nO-*52N3vD@twMY1d-2%IRoWmyV^La|sPoz`->1;eORs}u>019+~}?Kb;- zHh+K&M;x&@pGtc&Svjvqilrn=U@k|e#94wan8x+_wYlNBY0=6J#^(pJBdh`1ankURxXfMP11tB7ealbzuiDVNAUDJvS3zbR*fmH%LhEXXK zo3RRc!dqm+C3mvy&s3C!YP!5qsG&~6WTGt=r_C-9r08(S93S@7mj%+1=zJ<|B0x^JutaIFyQ8t@<;ySbjw-qCy2X18u{cq{+?Ld;%5la!Sybj0Q7m zRL`kpBZsO*n&XfL$N+@uUWDs(&tMG&;-wNDk3EB&&$Di~;PZ)rfJBiYnv5}&%2HX5 zT;Pea%Z@xY6vR=SLK=f~u73RVw$8tw{=o4ALjvsj?U$qVe*Iv7@5u9?&YT$>yS{N% z{}pt9wAHqy;q=wmncs)*T$?`luYGp!g9F2*Z}Ywe%$@Gp+cC3$ z^6m3|S09ZZ+qA}+=yab6-EBU%wQEh!ma|93XGd4<@7r|agXzcai@xaw^<@{Vdt-Us tgnwXSr>=S*?pYEpjn*F3md}xi;y=?Du&=Jn9;!H|%Idhl*Mkw%{a=Dr-nZ+fJOQXi+gX4kvLnY1ZE`Cf|GCd;h%ekMDbX ztE&_Rd2{ms00kB0Wi=U=XG)OE$@G0IesuxB0o9eYYcgwAR@Rg$Q#c$>c6N47PR`V+ zQ@LDjZf@?hY10H^u^7W71c6hOlBU%x%a}|iyWQ#a`hvmXSS*!JV-kSN0IAGZtNA*e zNN%A6B!0C+meDUGoR4N65 zkO7FDi@AA(Ur2>fZJaPC)UKr7pRx|8y~&B_ILt?RJgGpS5Q!;NLd#^Vk~C{F#|&PJ zE#&sbf{}C_2O1@prFce-$f`pf2Haz&{0?o%V~hqI$!IX09)malDgamjtN?fb2mz4b z0+<0wKm!XsE*OiF2w*T^!+}o$VkCeRfQ$fIFz6zoPY1(h7;}Nw#!G>c04kEJqXkAi zYO^ZbF52%mMIxSLG6FMNLM^}y`M6a;xmU|=wbNh-19n1{duO35&ZCRJjn5kVsY9T@cCFrv(aUs{s?&+8v(s;Q!Y{PC?V znfXOU+3MQm`+IHq2gVlXuK5ez9DQZ~yXV~HW%CQ#KfOI(J1AJt(c5nh=iJ{OTlPxX zbMfwEcK1V*eBTRHu6^>^%XjB@J_~JV21{DlFA5esa#F?ed8d%koWxVQro>Tm>B^C> z)@!cMc|P)EA;n&G7yV&c*xht_>5j7_9XA&pK6Y(Ixs8YhGrkT-?_DJ#Yp;5MPfVnscFNd z!iphtOV{RS`Nh5sEeGV4hh$5-{yVd%@Q|cv@1EZrbL1zL`+mQ%zUyJ>!jbdDfsPY1 z2d{1xY+l-b&2`%L@YR;mJ==;74wRlFQUcJ>Ty^?+{d*=>WkV|PoGDuBS%~BeGqG1duZ9up*vf@dI!_ z?%8p{*^@hCV&#(?$DfGWWEVc3bEM;znqQ{9IepbTOU@}eJMwm2wNEtGe{!*{^k8}G zEdw)hc;m_P!XFx%zi#Xrl9QHp{KL-O^aEAS$(55d_XV}Hpm|Tr(S{bBs6#Ju$j^sn V^mfg-n~4IbSW{JY=EM5d{{cvLSf~I1 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..54a2d9b4b59d79decddad4af2e1803d78ec62327 GIT binary patch literal 1249 zcmXAoZ)_8F7{`BOW4BR8HN#cb7gY-sJ@7EccF4hwafNOv+s)mUN@_Ud4Am68z>QSb zkc+EQNC_7xSVD;vPFJ9Tic@PWrY{aGNvDTSQ{qi3X;?K3D-;k-{;?(=lkOG zJp2249Zhpu=Kuhjy1VTC)%s*L+8b)Cxutbv0|2$4Z{xuF>R3}#Gi%nY+S=N>y1Lo3 zXV=%)BM8#a(9qb}XtG+ZIF8XY#j;MGcZ;GB2m~ULSTdPX)d^iMS1LFLC=xJEgWKKg z^;&#>EEpmqQ6`?`(it(Qg$hN5MiCcj5S%8-Ws!MXOvJ|mbSC1;B?UbjEa}QjS#_8J zhXNl3WEP1FNG4>=$D1oTGb~}S!oi0!gsK$)1^^C01fx+hn`N6#A;~d@$$C6_NxBt_ z!A!=CH(Mza##l(s<`7Vqg!3{fM(IGp8BViGj!Wqt3t`3_R+2@XJmD5-A;<({Tr4G| zG)dLNS}9(b$rvfn%mR}KSp2{yBSg&PNZQ;PO3+-Pf~b^b6^=1zGf$X(4m9K<<2;=f zSuMclBVsWTC}$!wS^^eTV>4kxT{z*PXdlalcs}a$B}1W1ET*MWg^7uBxeS3>0JaE% z$BlH_%;r!}fesekO39Zl%M+Dk>0y2b8c?H=Fqs?{D~n=0Ns3M;$W@p5lc8`np43&X zQlJ3mL`2poaTeK&M*UPG$fl#7Y(mOsqNTiAsoa7T04@MT0Av6X0Av9uA^=v!(9kc! zgaY+EV*>&X!W2k3fX)EO0w|bZ2!{#-Q(l-0LR|rmz!Shp0~dpMd6VQr!?Gi;@ac3w z(-NhU2CH6X55WBfN;WZyg-h84os`S&M8%h$iR2!p3NT-`H3PzeI54A|vUpkC?{UhK zR|!k$L|9W3C0&J;0^xMR6o5K_u*xD>wR|I(2R}LT!Yzt*)~={}bI z?AOMgZ({bIw&_iFpXc_Qx4+wU26?vqSf^v;Dbvf}5Be_+PdwK)Ic%3I=SQMbFHIfK z9?IudpIuSz{F&oQ3vPVC4;2F8fbZb-*DZJSkuC9vu8&`msTcUyZ%x4 zlI+f=bxx&AT}F?0tgN5Ed4A1r_vKgZSn6)aMRn<_g6R0Lo4hiaBggla8Y7D*4U@6# zNp#-m=HK7W-g&zG$JlOlF*>|OyF9lrIM<#_tXSRC^!kMdr~lsI>N)kGZO;#Xu5q3F z^5C_hxdT%-jH{pEcH=GNyrJ7C#jo$AB*W>BTfY8&>EDG?O&z-99dS>)y~+u6ukW>= IU$x1_~A} zP)WrTid0reaRoX#vltraD#6ml%bV4;qM~Bhuwj*zmBWV*A2DJ? zRaF&&Al22?H8nMQlgWf(7J|SThGJO<&vSmiKOBxG5|S+U$p=<(x2Ed6RoL1{I7zDF9X0x58>9ot0^ZELs zQJ6{@Fr5k4TWF)rX(l<;?!#EY#zzRhNQIJ2EaQ~&E~C|8Ax$<0rC6(jBe(z^h&rPZ zCuMzdK9p7Bg~5~-2Ra7mUBKuCW&yEA^<={ANa0-89xU*&k|4vgG^%5*1`mk_?Y1~e zBzY$5XLDh`DEdpO@L*PiMOmw}no&Dub>W1EVS+3h@pux!U@98TN>ZVxr&KCIVBml` zj9_ssku)$F)Kwq?MMq5WBuhe1IiWnx4MGj7)mrs>(r98(3v09S6diD?$GnMPC>>Aa zjMnEg3T`yw#l--VjJVRGFPDlaIk{Z!gE#s-Owz z<)IjZ`5bKq90o!-kVufH0b~H=^e~9Q7!4&i%miRQ2L3nR3Mc~DX~fOyeI7ILWo58#; zO7OX3AzxAqWo1#x%dlLqQWTT`%mWBjF9NFEGZ_5dNU>;*gr9-WWC(|Yal2Wsm%}W6 zt0jzMB7vnSOAn1Ib`x|Oq0bB>7?g0BrPT0Sr)kt*02N!7wJ>1*-CtYP`Sil3#^nwB z_kXtblfD;5?e2!RI$l1{j~{jZ-|{={(yG7Pzv)~SdnA7x_~6hPe{?7 z2E+_9{?Mbt{9YC~EbEj4})E?_j zC>ruMd1G9p%RPrVt%E!}mbKHlrvDi8g2X}xsE{hE91 z39)U@WzWh}EyvnV)^&!(m^9|*6n$&`TxlY6?^4&TgA3YDE`gtSCuZI5`r*oRLoMx$ zYZCvkHm-Ce&rLD@cyL`yV{{LTc(3Xg?A{hy`QpC&$M!zi5jr}wYAkO%+M#3C&XV7# zvF#8#+v@(j()ZFI6Z(}0?uM=8{ke|2Pd6UC-00|+H*5=SBFPn@Mf+x~Tv8REJd@kJ zetGwo@Adxv%ld1tXnW64fv;-oLdF$SQy2Ch-`?8X{PTDHb^1;38=fC?{Ybs?R^$Ch z^5L2TW8<6OJg|3Yc0-5h`iWEKJMbg)^u;F|wU^uakC(8EZ{I9mMSe=!E5vtw)SUFu rlf8qT=XO4LFlWZM(Wjf~8~D0;n$@k}_r9uH2o^TCGOE*a-H2$W5bHpSY78jCD3Wziqy$w#~Ni?=hbziN>z}$RK_9+?`lkb=bW4`=lSqF zr)zzkZ2r83^8f(zFMbi85xL7j!E3b!oX)V%7abi< zBoYuHIv}vKP&ZrRN63&+6O~wEDp%a#Ptc=DZ+tc~1M`GzHpb=3czjYQqQqjog0QGl z$BbU9ZP@K)g5hKo2WkaNPqIyF9<3ERjJU@_`W>2Kk0}yx#3R9EasuK2C;`v|Km*_b zU>JZH3&0eF1RC|wq^@z4E7BCj{Drf%+;YkCR_H@-Z%@Ntp(ePj9H>gu$k6{iL|f@jLFb}tn4w$G^% zX=%mJUAyYiABzjFX*yOeUQly&&2(kamPbd;pUzxZ*RZX7PdGFnU3zVPMM-UVNy+_e zd45&@59KSpn@IV8Tfez|NIrF<$a3T6Xw%b6?E~!d{mY6kpDv|8Se75JEk1s@Y3TOfB%Z8U!z9ic@)zfoivbgrylESsk@3hSpoWDC*I?~d!|JU)hk{c(EWVMcT zogeA?>$e|$TdREala1Xi#)A4K{x3p1K5lM%>$@!+C3pISd@ykF_x?ql?LC@ith1Cq zM3pxwuXlRo$LCu6c9eCFNqdLJ-ebmiXG`u>881D2Je)Wtd$ny9a(!vpqq}0Hx0b&G zkxqYqD!*i^;`6|&iZ9m}vmM2MVD_Buv&Jox`)*wM=(0YuL^h~Bc`ZgGg&5d-E*81x zFH8UA?!f6LS&MXt*`RHO{xSZpLnqaZ6ASvc+g3c=7P878OnV!@p5-qnI#_>iI=cL} j>iEu#CyO#RKeUN*l63p#-l5i1G=RLiPWo-t_5=R|Jk?;2 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_1_3.png b/resources/g2/track/intamin/left_vertical_loop_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa456027009046ba3674c2363a188ee7b700244 GIT binary patch literal 1496 zcmXAoad3-w7{`BUs&A_*vy7Oqn7C!UNAR++jCWgD$~%3#z9qKM*j^JScy+J4l#Hls zGIG4zV$v-pBM736sx_`DDXH})JFi`LvdKsZGI~U0#IXLBox9KTJoo(beE;}B{3;L#3JMB@LSbQHVZVO;ii(O5 z1Su{qE-5LI$mMbjQ))CgMG-WuXIaK(v$SP?P@UU2mO%rzMq5&q}WlzPuxpYJ;1qKwD zallcCk3qr?QOqaKMx`*NgjoZ8!a*3313&^`KoCYGvPz|#Lg7`bTS&6YXpC8{y&ew? zhozWUj!TrJOl?qT8B}M*Xim+#H8wxt3{l>wAs9ExR8pl@uBK3eR_PfHV<+t%gD1!Y zd21x@ zSch4geMa4gfy@T>vBz0P~O< zXknq>3*#|T0T>K8aS+skI0+yHAR~be40=fzG{LAH#=YQw<5hsr03C^#Xo=N~IytS+ zONT->p7*CxJj`oJjR3Qh;+%x^$_zmT6IXL-y+3OXQ>bp~3-06KzH5DYy0kn z6jkfiUdP#v@B_Rft{&)HvcJ7{Ky7Pl~k~deqJ#cGoaGmY`*-JZ} zPmX<4Fs0^HYtsgO*OZPA2VMo|td)z#9NT@_a%Sbr(y7|zkG8O$Q*i6F-^6!nPF`(0 zcvjNGw(FMeoJ zbviTZg5nCddj0%#*+)x<=8UzI=S;NhdALp3T0oy)ZO@eHZ}l9&kH-7HSYO>7YF$5` zo4WY+h_gRbbmm5KhgU3!HFh*S`WUoZiq_>iI|Y$>8RrmWqy2-P-B-$!eLF?_jAw`Z zo)|y9cTC;rR}2SbTmBGT>^QmKbG3R7-gYa2%sp3I*!R`nFI61RFrO_Ny|9-LF3iUh O%$`*-v+3={oBjhF1hZ-Y literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_1_4.png b/resources/g2/track/intamin/left_vertical_loop_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef0df496548dba8ecf3d1e4112af3c3f297c6e8 GIT binary patch literal 1254 zcmXAoe{2(F7{_1ew%Zt^geKHb;V{jt@r1)1dSC+w+(yBY-Pn=TP_dJP)vaU~yg|Vt z4eOGM-8@E{R4Ld%kp>Ue=p+@3DcZ$FOL8Pdx^Qs~G@J0wRmVc_bas=HogwYk(yjst!0SLYOfEzyRPt5MHbG8VsVz6f>KL8D`Y!%zM2P z(I`x(4TR1}>2U@%J4_ZHvv~p>aEsB*Vpfi{^EB^g{82|V z$tPuRMhVKLcwsuNrGSnFdM7|Vz$7AMRBuU`>}iUZZGnOiD~lO8%wRf>G`KBTz-Eqf zbV^`lAD0gcMafrAho@x;7BgBMX~Jv->7-~k%LX_u;&vwjfpjz~CzFL-u3RodVBmo% zj1X}xoieal%vqrQMSHB|PL;)+nkdcYr(r#&)slL>1vRo5&Y8`EmGL_&%RGrda5SD! zGO}8rfWwLitk&y5MHd$FP?DcbMVzCOH=mA_@)=c~fD`~W00aO;03-lL0VpB>R>aWI zBS0wzl{{ktJOP3fNLqlx0LTK!>tTR^F$N}GFzbg(3_Jr*0xJz{4C3PSUN;sLE%6wa zO8I12DwSkd@iI68;i;!YJrhG6NfWP_#j;&e-Kpttb~agn`Lam|NEET)T04chSi);pY;vS=w%AT`tb!;R)PF z;$e!AXd-RJa|~9p8KDD(UK5NEFiAn#S~-4lMg4HP2Hm8E~8 z?N>tYzI|DFyuR3^b}dWItd8&9CCq#g{_tw(+NF=f?-y}o{NJI$+ov{;54Z!#$7XUDp>P(t?i0{)U;}$tT^PH`iQb zvflLvj*L`oyl3mWR6Xt2eYW$>{vXb5*rr|fO5fS*+xG_}>8Zui-4`0xe0Trw3bAwh zu^-1TA3F3}bfxjm>-)8TEs-ZW_mQjd?9;}tsvjj^T_4)tsXjbGy|we3sNQ|Uulc%e z=;guaox}Qn_FV3rZ0}wB^wWawlcm@h>V&1eZ|dlnsyo~?Gk^A;OhI62d>FcR{^0Kw PSYT^&OViM%_TK*iQa~}y literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_2_1.png b/resources/g2/track/intamin/left_vertical_loop_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ee1cfbc2c04201a0888ac86d610569b3c4fed88f GIT binary patch literal 1195 zcmX9-e{2(V6#s5xyNwBjRMUhbG@+0q9$3R^PIuA6-Ii_~?8pvmq{u;TSh2w)9!Z6Q zmr=5^RCb0EJE_pbCKf$M0~2qt358Z%mWmgxp_3ytSraOmSWPianEJJZsA{Lj4$sm)7y7MW?oDNmYM7^4G zp+LZap9U(ABqbyhwiJ`rS{{WJC#(r@L4`2q0DuEPKoH4dQBYLHumnX-a@@4nTU3jg6%FL|)KMubo7lE(gWqtVnt!MhbDExDeMR z-B5C7#Hb`o^^AoERvy^Az#agYijZ-eD}{M7v}Cx$B{@-5b8wQwts;r~U3l0{B}FDJ z^F~lCM&+^=tY)HhLxbg<#Y$qhn;^Y3RC6$;gA6#`TOSQH_W z7AB4IdE8rKLS;{);!juALM>HUDAr*oZn2Oyo6GLtai>U8GRuX8#4S)=Q3V;T{Gyr7;zy>%524tuu zpjqTFAQ2!!1KkBo4nQ72$p*s&OmI;5!F&js3Gmo>60i(#bBIs0DSkYnx{?Vooemm? zR;d`U!G(GO5$L2<8<(&PIwqNvTJ>l(f4UycFX$y$tYTI`+7Xx2;-T$6o(OnZRq-Vv zN?MB;Ijv&mV68;5EYtxs0fY@NLJhhnK!br;xlG2QPax;>jK{4CPD6uj96!0C^RLH0aAxW0f%hs01UlOOWb+67e_pSYK-*Q!0d2{%1HoJ1usr`QYk>1CM?m8XKOHBe#^#k6kK#;NJO+m273c8s6a_EZylF-`qbsKHB>3;Kxlr zzr9M7-pTHIfA++IuI3vP_kVK$^6al;vsSr!Fx4@0XZ6V?*Sfc1>yKWRWxq_0_b*#@ zrnY|1{^J*?ZuFG5?!7uUGPmZR?zYc{*mH9$j<_Z!tZ&XphmH>2=_=g*E~tk;X+@2@ z_Q0wA+QH46ABzjftr-; z3yodHd)2{_%O9 zy(^YGrnSv#1AuAH*SdS_bzVK5YiX?KS!v&5fJRvH#>!>&v7w=1%9JUMjg3>MPHk#x zYHn`EFs!AerM0!yU^bfx!b(vj%hDX@_WSuzC=`n&QYj^q$!l7rS|zMN+JT|l-EO_l zX9@(Z;fOsJXObyTTJ>jhkzz@raLi?I=V^oBGKrie;U~_AC^hEFrg&{ET-KyoCF3xH z2ZsO&B8w$?OpWLYNqseIL}e?gdeB1=p^O=T0q|fLuhR)eqiC^6cKdmT8S{Dzf^a{P zK&oma^k&jvWlVOD#lhn)f#5{DKTd^YI+|vstVhwjCY#afFxy$2=4@`B;=@ch;YldG zk`ppoG*?a*YpRX}Jqrden1WytF&^=qF<_r8FZe(^_&I`K-#+>H2e$MsXJN^moBj2EgR^_-%C5m(2jAJ0 zS=bTUilq5xZ)Yz4d;P;V$Io;|j@=v4U2+{bzH53@)bpZ9(@H1zVR6O(;U_1&m_6aD1KALCa) zd-Pu4((aGCZaLp?7@gC$?yvmbxxX|TZl1vCqZiklyRqy0PG{%U&o{0++ILGCT(#ro z@7sOj#|M7+vqSgpy!HK$W?k6eg_T<;hnfQmgyGxH?V~50@wU;4!}n$kx10=L`y%_6 z^T_234L{B-ywqb@MX=ou3RfQeynCWkSv&hs$J@V6+`qbSbANK__2}^517!cUee35D z`zxFNIahjm`p#^vX?60e&0`}o2KVg1yUME%ESS0f+w@%ZC+OXsX}%_%Z1N6Ydf~-8 zYaAom!O(#(%adDA=Qj$Y#?`Y0D_vOh@ufxEKDfMR;@K;^@0r7cW23S1yzu>e!~$A%Jt)^6t~GuHErJx)vX{ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_2_3.png b/resources/g2/track/intamin/left_vertical_loop_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6a20911275f211c6ef21acd30d7faa436413141e GIT binary patch literal 1567 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 XSA0r-uBWdVD}cT&1HF?k44?QPv(fcU literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_3_1.png b/resources/g2/track/intamin/left_vertical_loop_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3941c5d70a0f884bcd78736fa4819291d2458646 GIT binary patch literal 1183 zcmXw&eQXnT7{`Bmf!kI{g(eheq|C;ha)B!6XrLh{T${Sw*a3%@c(PN@tZ3CsJhVs+ zm#j$D22ZJ3#YSpUO=CJ&&4Py%bF#w>(&>flkD?c-p}2w*ieADbReqKblh5<^&+|>5 zmv^=f1QvEJ?*afU?0dquy%`^F+P;pqrr-GzHUdB!*xJ9t-z-~NT3TCM+uGXN+uP^O zn>T;{d;~!{IyyQ#JMAu)3&-6gNiYn>^Qf=WJ%l0c&n(a$rlc7*ql4dg* zsHzU!<|6EF+Ue!cfPe)hoR_^~nvCVCWRc01IK>D#Jq~xkQdiG-TT=!#OAp03yH5I6*YrVu=5 zC5sNGgoP?(yvk;4kz!q*HVd^zc@A1ItJPz-2b?YjbMs!WNYQbw*(_Q}BqwtPL(|O) z0XPZ~8LPxOCKrYJ{i!oi# z*J?U!YB@pxk6H-XPG_B*f(nLLuCsYFQk+Yb8cGG0>!=NQoJhcJWeI1P!J{EcmcrSj zRLm!JEnhPmz0gumI7;5HQ`h1&q?0oC`k<%lw zl?(j0p}@3X&pp=NxogU@d-f=vSTl4qx@XaegG>9aS-(+xVk^3AJ5IdQyZ?A< z;|0s1+j_q~cwW7W_Cr)Nr#S9%r)?kW?D^_$>X}m=2s?x2lq+zCJHG79K`98n?dA@&qp65W# zYE9{=$)f-OrPWpHx_q6S50#)WpX;{NGXNBVnw4vo<;Q}80v?Z7SXfw8R8(AC%;)nF z1Q7@XB_$7!1c^-5i(AB%F4=s5=Ar$kse1) z6lOJQS)0k{vPA-}WGs;3VlbChYPB#7AO|4KvvB0?UQ1%Pdiwg59`|dR6A41Er%Wc= zYGp8mU8!*6Sb)HyT17W0&*-GkfI^!LdN3HqVN#nve&u}O(5oM4s9Q~eil;qW^L=l% zdg+?QhqixRdU)To(O+7judU^h?t>BJ+h+k+*TF|CXHR-hztJF6tB*Ie)pknSQOo&J zYxoTt+xB*i{rTjokN1zU6rcEh=Ao+k<1HWldcS_*(sh=5XDjEKx3`AcN9&J2t^Tcb z@XXGWE%Tac=j`IrpVU&d%R4>_?b~*>@$t@zrlIAZ?V397uMODkA0KYsuzPJNu+M>= z?p#~_;2Zw)!2{P$?!J5H+(7-A=Fa`)i|^eUIMH13F3Ahc?kZZpXkGJAf5Vlj(?F`V z{qTY@16yy+ZAV`?rh%6${#L;FYyPV3)aPv% zZR6b!_ZLi$?;x17^u%+?9gY3h7QhGPKb`(>k8onon|`jptLEWb?xxc63(wxZw8YVj z{*s+}tB|KZ+Tbd=Tqx`ry}Kp(#;V|5+Y8~Ri+#_!4t`OUCl9KZtyZ6_+_d+9A(c~@ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_3_3.png b/resources/g2/track/intamin/left_vertical_loop_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e7fcb12c963b6aed1a1dbeda8c1a1d0da13a013b GIT binary patch literal 1036 zcmX9-Z)h8J7=GKdyZ+gTGt7ulq6_N@SB-Gf!$m#2>pbg8uk_|Zch#F5Gf0&CaH~P$kd-miBpAHNR3=R$k0)e5Sq2b}- zef#!d7&bC8GCDdMj>Tdm8D|(;5I9*DRaMF5a-~wGR3O|=pNs>Y0G=Bc#ZWpO z&1B>GLZVdWt2L=^s|~l%?idV#B@^Qc7uJ$dUB)XaxshY+QnFD~yv=;qGj@9p8v%)c z3=O(~RTa!G1Y6ZmzY#&*IO@X8$1z`sYr$;3duxOX6mZo=HymM z?U=cqUD|a`)Nz6#3MY~zm7}F+i%k#ahNIu zH7Tm6iE@@U^FqCx+BCJ6UGBD=et!qi07(E9z|VjQunEw?0QukEjQ=G1)jiOdJi>_mKJqPvM z6vrV8kOv6)UgUkbTZrVcmMg`wW37tB$!G!tjihx_owwa?W-5c}Ec|aus zdKs{i9G8~kvv5PM^mu>=qhc6W!9FX5egOak04feg%jFt*JgZPhOQj72(WX|1jK-%< zC-nJvXu3d#hzY(_C6sGL3L{Ecr8);@VsM+6qys7stL961V!1#{if~Gz)M8pQVRovV z9<3*6^s}~L)D`aaab+N#1c(~&4M1q+NSuh=EmZns+MvP`*3mJmA2tx8bV|b0%S9H2 z)J0)l9T_xHA-gWZm|{MAZ;*izKQ~<>6e&=NT88OK(n3)Vz20rH_?*t5#}n@8h{a+M z@U%c^=b$bw=H-zAkvfc-BT71|_r|Opad)&Y)CryC4kyg2#4&^0 zVrz4`S${AdmH`#c(UDxEif`4390nO+kS4Pt1kG1@gj!Z=jVYP9-rH*r^m)QC6ceTc37;bu zbCoi_hC~f&+-lU&HlvrZ1^rBv^}~2rg5%HwAPXQ&cwtV+eS~K+I3f{=!~PLnAb=^A zq((y-3|drdl8Egxl)+FRF76;iQH21i_|PbX4itK1Fo-9@FPWJ3^1}~oD#$0njE9}8 z0Z6jV$(>m^yJT_3U*NJfiwq4`w2b zHG}kdi~3A;mD@kJKEHlgd8DRw_|&`a?+yH9|J2H{)gud~t!o9-=!X@fI+Y!n!)~GL z&Kw%$tXG|ISFd?YAAM8TLMHWOr`Vav#*_bizh+1Ejj7vksiAhmt|M8Jc*(`bD`0uf z zJ#_Wjs+Mu=&F~V}*yXvGhfO(NcbYsnuPo*Kn-@R5+!Fn3_PN*MGlilVU%k3G$+4`v zrsevU#u?o;Kc2|@<6_0iHuK@ls!%N!NdM>x=v%hE2 zfwHVUj_u{j)B85cMeFgbx*J86eWhJz{l!K2p48CcCmHM#|LapLTP}<~(bQVH?0jL# zcav)^cwh-r|D@|(RIN1dPE4w6YOT^QTHL&_J=3Dt*?gsH!-bK_`BNV}>v{JSZok*l daQS_|`Im-F+3xB(kjN^Slb4@+^4sM*{s(WAzij{j literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_4_1.png b/resources/g2/track/intamin/left_vertical_loop_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..366f8a94ab05d5213140e0e150a3386c503deace GIT binary patch literal 1237 zcmX9-acmQH6#lVwyFr~*suU@#W{ng)u#iKGspP=hR_86;vKwijE~lPb#S%^|ti}?W zaKwhybx~lwgwU#&3R{PHV9 zU{Daifj}ck4#`9exumh2HN&DEmKiuJK&V&&pa5VHgfkdIX0u?kiB9JjMU8vCxlm|2 zk${oc=h$OJp=ni&;k2ycUPq?y@>*lw=(qj^M&nIKd=j zPF6#T7FCPMd?jPRfsqC#FR%oGO+Xw8lPhKOWN=P(NAiBLBq(rBS zX+N#M zf+Y<^+DvCrZ=MJjJYq4BE(sImRB<*}fqK+naF|RkiPOk|LW< z^QtNpiz=*YnY{oD>T$tDi55n-ahg*od8Be6U5RC9p!4aPAj<4`55;diXm&piHton0Ggu>RI$Uv=i&TQ+pB9Xu2z zKiRkHsk&WI>ixhxBz^9~$Vt!>x8A9#N7cy4|R?iH_&Z5z9*sHf~7t?M{xuesBA zr|pfNCgbq~n-*OgqZWNQ;(2YG${lQ)8u(}XiN?lfe*R(dxIUtvZaa%Edng`WG240Y z-q}(YJACDDlJ7ZiYVXtQySUxwKR-Wz*&~eWd3L8 zw6@n@x;*n`^W?+MLreCwKf1{1`Zw~~kKf0%TW@;;a80YV2~{*tLD%uzSr(zL$Bh{Kowg%CR%o zudO>awfp7^4<=9V8u;;{#e8M+!V4=Zp{t2^m>!|{%cS$tNYxwA-ny~nyEot6`#*v) BED8Vs literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_4_2.png b/resources/g2/track/intamin/left_vertical_loop_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd1cfff083d9bf85017c2caee99b5deb567ce35 GIT binary patch literal 1452 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 C3iPu8 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/left_vertical_loop_4_4.png b/resources/g2/track/intamin/left_vertical_loop_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2b1c44381e9711023e13b594e9d2d91c792f07 GIT binary patch literal 937 zcmXAoL5SmY6vp37XC|E~YtXV*%pqV8IfNmDamgWI)Xb0_B9nEpkVC*MMC>j-M2J$@ zfDr>$Et18$ROmpFh&=@CVT1@h1PnNbuH-OC2Xg2_VY}=e!cy2CM);d$;d}4#UEc5T zz4zUXBk9V{n>zq-CdrH@cj2T%YE46|_DB?zCQ0-irrl(R-->bg${0~E&uTdfN< zMj?5Fk}O(tS<~n3zUYN=cdP~zBgz^iM=(;IS83VgbW60_N_$`oA}dPWBu;8iSB6p&=kkEntJB6XU{_~k9(^$ zMDql%aultxTtg6Bs@gHleycU=bmGAvjiTB4d7kG82n(nl#tw0DOsEsOF%#Q!Jy^8H zxqrSKEiR`kRH1R4tJNg3uF{Oj^R}$CjbfQI>U7VBqby06GXV@4vsK(RNWV$<9U*M1 z<9_2Tbf-AghKt zED979HPNJvvH)HL&w(t0reIC8=C*2CBUiBuI(F{#_yh0S zkH-&R{o&^%$JQ?HefH;1ckkr?{BceC{+FFQCr?fU^!WO}cOU)g{PpdVx2!K(`s35) bZ`Bii@7*s4Z-0EdK)~U_(f;or-1_=|Pe_rm literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_1_1.png b/resources/g2/track/intamin/medium_half_loop_left_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ecb2c4135e34db04b407be0a6157e96e7b104a64 GIT binary patch literal 1371 zcmXAoe{2$W7{cYE&%et+STjpvTIIGPHt{)US3{)e*Tmx zQwjXhr_|L-asH2i3|xsI+H>DNPC7nbdPBYbebOWdf+lWBmR^SftiGwAYc$c0YI4b!kLwOhty&7B$H|n`wmMihU@i| z*=)4gXjJ7;t5^*6<7k*r4Ux)}P7Vz+XjecF3WFHriEQ}Q<;5@G{y@vRMhYw+z26K# zZc#(+iuEg7Pn{;*x5`Rt``~b;xVw5)$^GHg?|(FCYN}j#L%#R+f%U_Gf8SfZRq^_V zPJ8QyN!#M_rhhkXs(nB#Tjl+v)!n7Kb;LKHz5L|)PTkWdcdx#vpT4JE)V%Rn&(Vj; z<6TRhmy4-H>)qWeW-LV~P8z3=?Y#77aMqQM9jiR-uByD!YcqzNE$8|Uaep0^`}~(v zuMa!6&3SVAtfP3K*&v(nlo_kjJEX@3ZFI}p0-Qr8al5I0&e zaLRS;45m9i=~&8Y=7&e6*oj!Ttt7Soan!o#J<+nkYpnaLnyUI=SMdGUOGig4Ufq5i zovmf6$_|ch{pWVmk20cfv}1I(Ww|RSC^Rq9_16Ei_y$?NMR#R~2J4PiR6MJ{H?!Vd zbf$0riFsS9j$3Xn?ZxzhzELRNeXL(e-5qyEpf{MGtW7Rnwi<<4Sf(E8Jy2mnlIW j@zrm}KV{vLjxd{#@yVDg}x(v4loTR-urC9deLEy4j7A9dO%5I7)B#@Lz-mHRO3qo;K8G&oA|f6t9<&cdxO5_zO(*mDaYz7Q27m>?2S5aXApk}Z z01F}w(8ap}C5Xoi*SnyKW0qQCzd`gm6TVq;A#C=q+0$q2t3tvbb0QM_++6(D z)$+5Q*LyuxYb3{-_s^O5?53yT-nW~N*>_U5%ifW;H!9Cfx!21scF%9wxp40ETKubq zH|rXkwjUDM^|n){6EpPKF4e@2vDf(fL$#OdxAy(C)Y#Gb4ZC{Y@-Gih-)=w5@87fL z$?bvuc5d;M{r7%syuMh$c3e$K8^=d}nW?l@|5ww{RQuk`>oUjtE_}SGYnANjbs4un zezNG|(iYo-#RErVJ>mKQwIR@Te(doz$&DYn4{U7X#-?7He)j#Xdn$e;SL^xnpKBF& eE2nbZd!MQ$e%o=Ww6(cF8PrzSRh{2xJMcfN223OX literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_1_3.png b/resources/g2/track/intamin/medium_half_loop_left_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3bfa79baa5266ca89c4c101ed43ba6823a3995d0 GIT binary patch literal 1582 zcmX9-e{@oH6#v40JT{zckurTM+t6r-7IRM}NBX93j%`d?drnk5VZJGLP@jfI#)>JP zp`s(jNrlP`bsZ@&^+<{KEUH!HP*DZ#q z6gk;rvjG4(HPw|3DK1DA%}Go3Ge^tJ0HlHXy7_ZbBa6jiv)O5BY3b?d85tRwnVATJ za5$W-tSo^@B*HK$LEt2*q$rKSKwB&pr_=58`GdipXf%;bVp4$1flA5MX!v@)&}foc zZE~ke)#=j)7(*y*i}iX438I#BX{Erd7TPJX+kl<45R6kD^3l;QYdq>1N(2=s&`N+2 z2X+$aq!Gr(i*)jnAr!`?FsX&Zb_jza08{{I5rpRP%qVIXi#>ArNtLQgr;C`)eQq~o z7!>1+aDh}MlxxKbTB0^%lwEFc5f-n~5gyUY8)A4k;FCb0140uJ+Yy;tpzw(`3{HpDwwS?_um|Bum4r{pP@_U(Q_DLk zB48lH7AoR2^m;7`#yJ%B!rmZ{FB41Dm`sNgMv}Bql*?%J*=&s49rpWUJw1s;0s@o< zVkd%i@`wORh9tTeVeQp;;>JM2-jnpjha*FfE8+2E0)av(A|+BvE;lGuR&DB-$!BwP zb^4;ga59Ditr9ViJhN74*GpU`+-oHRE?t+`9ARAXNHCe~gE#s~<6)T6LUjN$adEpqNAVmd0fCp6xqF)-u|4f|s-k`VKOOo%9? zJPj_?lbA`Tw43!FhdJPNgoECAGzgP1nNkV;07e0XDKD%kx&MJ$Os?KunalY<451LA z(U5vQWirv2)FP8Qam-6#j8fX8lEl>_s1-u97`ia%$6;8R3csv``}==Cu)bj)2`cVg zSpfk1T21Aw`PJJls4umlg(L1jrsS&?3H9jG{>F#-e_pnZIM|>)(@=D(uK)M9N{xlh zZ(r`Z&am#|X-!Vg09fbrBtT4l-Z%c{?vkZs>yOV_znQzG%fNq)d;BzOaQ~jjvF%^> z=DN{hA!Kz-uGleo;SUS9F7UK0PCnq)h><24M-&y{41+wo-Pjh35v$NI(>$j*;@^y#y?g$Ea{1BJ!imp-}oOgp>v z@-K%+|NZdJ63&)CR@2|A4;AN*Z;<89<<&k@Hm!N>i>Q2bQC{s(?tza67jCUK9(GAC ze7KGC&+zT?F=Lj!*!0^w1wD>Yn>e=y^PgYFIzN;Z0u{^iLG_}S*$x&+r1u|PKYP>W z91@?Dg;YHFqI$uYj@eb_0%B76CieXP1$BE{UVHHCE0yANXExq_Saxbo`%o?avnj8J z^!P4PB>w@gu^ z&J*mL?|i>{)-3bW_u2zBzx>p^u83_o`|#qJ*)42Vfqq*ty)91?=EXw;lFi>vpDTu z6=OTJv%!t7J=<4@U3<5++j_{)c`|q3?Y)gT#d{{K$+lH3M=Ih(Y+yHCjv?Vilwrc65$vxnzflD83aF6mR59iQn!+WBkGZ#M5#7RpA z3>~qOlbO?-GI6Ies!xo|q9W`vy610`mmbc>Dy6#?|&*wh>eBOV&-=BSJ z%OsCw=41i@9xE*=E>FzWiF%EmlIZKMHfjM#0c%%RtV*m&NlD4c$tfu*si~=HX=&-{ z=`~60h0hM1>k4^&qxzmSP}hanGxDdh2`h)^L$)dXQ6NwZq*Fc{nxi_hr{j*dnm z5eV2Sz%$Vh8v}K*2`^s}MD-z=HLP|;jH6LUIPQfC+FEYA9&8!hj#=0Tlu|#K0*50USUAKotub5NO4rQwhC#7_fr>j28k71yY=* zBw1QDzr!f8SxJ{m=kwXaVINFru@wN(WQmO|+{%$Vd8&ZO7?IhdYFEtUjXQ(TAK@{9 zkVBIQ7&0+ONgx^pX4ERJ9a@*Y!{@Pw10EO+3NZ{i0So{L6JF>Oa{t5DY0ROJ&}{l2 z%IigCGD4{&H5wHn&&Q&wD~K-m16BKQ(PVHx2l;@O9Vl zxxc<{`0k+iWZJ+~^hV%_@J=NWshF0}JSf1tzdTUC!TMRvADh(|PaVHk)R41L8E~{MpSXA>o;NH1N&BX>w!t|I+KWFr z_4b92)7RDYe^FSSlB-;Lc>j``DJ=iQ_Trb;KYvB^*UGF#_n$myD)^kA|NS9Z+oLJ! zZf(V;3xhY;H0QCtSl&fT51&7TP91)#wDY{7v*Xd(A7(B!nSV?{3ich|w{-8-$yvE` z2hgVDv--aNIV<=0jfIWPO}D0JU(28Pp{xFkVDpQPueN`XJ5ruT-haHOkgOUhqrY{g zh&tMM>FM4bJqAF{^QT_9JbTM#-J|<^G#`xJ6?la^o!*J|{(>*N3y#b_wry8-j$_$L zf$!5T^s|3nm)8EWmAZGm|Cq;a%UzyVbGjxrF^%8Ou+=Gb$^-uSCD~~C-1?j)@v4R0 ztp1(jle?c~4L`UX&zd~_?&4irBG>v;|0#K6TP(SK{8rPAFX!%9)Oktp@T=^cwP$8i z3y;2D*}I@-eg6E)-@eHiytg1YHn^j*Nf{qoGokNps&$#)ALzA|dDfyM0|oI6-Dvs9 zr2aWFsWU$B5Pf%%iMw=f?Vaq^z4Vs5)puLYJ!IxAKDzgg=7~AZf*Se!etLOr`!RJf zTFnXas`iE7C>^OQoN27y)=*xUguOq4*^cbJSJZW6k2AzMbaTNsleFK@FOgTRYW+MB OWKg=Qthi@oRpY-WGQ=|g literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_1_5.png b/resources/g2/track/intamin/medium_half_loop_left_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..44475e13bd5c0536a3846d517e31efccd47e00c5 GIT binary patch literal 1322 zcmXAoZ)_5G7{`CLe~#K#Uf@KflPpA0nYqr3rIp#6(uQ`lz3R1Mh6%10Ma6iU(~*@q zHd%%h>$y@zB?jZw;XIYN>S%@r9cnXCu~tjxC6WyzYIUgS$ZXwj7?bbw@6Gdl@p+!k zmS$bq#OV_O0A&sJwaapKK`!1C<>&HX&+;t* zgW<3YlPGX0O2{=PrH)n^>=?yr7_ZjB>)j!ei<*LhS+16$I)#Q*=_$35*3wSG=`;C) zbTDR*2<}+QpU8&AIFOJ)Y6fx}P_l^HC)EX%#xPFD46X#jrP&DVBUBPfEwk!WE`!ET zX+sPdb5L;)ljI%guqPYiVKO3?sFf-MrZ(eRD@nR2%4@X-T&}Rs7YhaxLqq9w8Uh&& zlpX~0i?tyc8C97RT4&P8rL3VeJCq5e#^PC6q7sYMQmIa^AXO-((J*?#Y053L1zhd{ ze?W-DG6@`*^aw+W?It;EQF(1R?<7NB^8jy;hrOwIB$FA1H~VQB1NCHSpp$mf?0fQD8bwYsyZ^5g9UJDEaVxgpVtIEyl z{2UbuIbtzBm5RZfm&^<>TM5oe2~KVbDrrH(rj2~Y8p?X2W5EQBrJ@3Rsqgtbpv{)#c zjmA)i8uj29uf@W8bcj%;3<_wHL%R}sF&M;QOrJY`^}LejZ+~FRvSt!|@?d05t{-Wr zUEEsL)#WbPn5-zR{SxvEhGW+o+Mg?yUfg|u!=7Kf?S)gnUt6=ezN_=z$v3OdH@!ai z-@n`5>^wC-dTs8^)XNpsp84T%$z|v0)`YoZq>}lre@5l_t>hHok+09TardWA|6=F~M zovZu%Kj-#tDj!5HoSVI_de5hIHDet=6gSVRxqIlC`uNGABL|DK&HU>3*XHr!^-uRp zS{9?FXCI0RuzQuIM=Y{F=D4%JqUqb2d}8CZ>&*H$^-m`)cyR9S?Y!&l)bP=1kM}LB zJ3RS}qWhaVrf$y4{EoKdy&u;M4*o=JJ8|OJZ>PH^kK8#fs%X6U_r4{q;%gHZ$-kAmO7`;BrDczg%+ZhTpSRGtqFeFV)w_NB%T7=0t6m;C-xK?J%9C3k zwv|&ib@S2IRr1EYXS=TQe?9v3(UtJ9g>QuQ%BN+OzA=oyi*oIpCn7uDSNql2zOP2Z-iUp#T5? literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_2_1.png b/resources/g2/track/intamin/medium_half_loop_left_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2147ce0c1fee9f1de7a1a424637dc7009a7713c0 GIT binary patch literal 1238 zcmXAoe{2(F7{}jjY}akf0&`YY@YG@sJ)zD^cGHs_<3`5YUR?(SXEV3U0q#MQ!{PawA$L* zy1F_9K@0{%eSN*jVzCf}m0@U}XGPH=%aYIM3xy)_cp{x1*Y#qlL|6e$0gi2SIGSB9 z)a|kQ15_x?MdLy;C1WHZu@# z;HH7XBT)%S1&rBfb17qn1uHBGa7uwNZ2^D-KtK@5X!M%R3Wli^HOO(pPG{EZos2|a zDrF{`EwstXp_G8xB;4*LM1_*Wj4#Fplf0S{61o#5%~qR*;&E0a9TFq?Ie$cmB&3Aq zP3u9e5Y3fSMjABpz~ls|2Ve?9MohLi=19?!W)I|KwWy@wAcr@Lq}gr519mDZGD(@& zd}1~v=VQKNDpb~DFrPLylNfF%NGHv>c|IVDVYfRT2&5trEs@BLj~9zY2+R_|LI@Ex zGD$O^!JRqApLeJQce1FAm*Rz~Y#BD4NEzaWnlt99Y9!N;jh@;mf7bC=ksJZbX#&J!#Etg%O!d|5@Gd`)(}m^ z7$U`5$2q)Uw?F}fUJQl_n4qD?R*s)s(D>)AA9%61n+J=p{`h>Q?_b{4xw7NUqe0ic zbB|2#m*L7RD)+2|OFw4LZU@IChE zB}4TaH@M>y-)w(nX73N>vtRH-5AV3&)X=#>itpLA>Mm-vf611~f7ml9H}ss)@NDM; z`a0q9cbI|n9J5mYQqN`aq5R$LEsMCmW1F_^{&o|&aqs@M{n578u7&n_L-Q_7zxlgi zV#f7`cmM5KJiLw)ADh)Tx`7-LPj~!LD)jF=Ik5VkvHb@Qw4SZb&!0DP=!1)2Z?0W7 zF>q?}=iM7u#F@$K5* z-aC?8zi!}M@%Tqq#rAANd8`-9p129{3peJBzr4Ti>B5l@r`A|DpAmPw)$-}qx#+b^ z*LEMC_0^LdZQHn2hw8U?9vy+JI~QIi^G*HMx{F&bJrf=EjmOEwksh6cmA{UWo}KM^KS>I71S%jm$tR8J7*j`Ux5RbFYWI7c*&Yq{|C_0 BBhvr? literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_2_2.png b/resources/g2/track/intamin/medium_half_loop_left_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..aded9ea66180168efa824176c8eab6351eb67bc4 GIT binary patch literal 1186 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_2_4.png b/resources/g2/track/intamin/medium_half_loop_left_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e5ee93b800eeabec5b28e4596faa321d5a9e7794 GIT binary patch literal 1803 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 Teq}rUVDFxV`Olwz@vZ*>7f8-m literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_3_2.png b/resources/g2/track/intamin/medium_half_loop_left_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..35dd0b4091e827b4c9733edac63f3d3c253b9ec8 GIT binary patch literal 1128 zcmX9-Z;aD)7=G_=T#p;)#3>86=#YJ=u_3)&6N_oENP%(`u6QLZae+z-jIcl>g$&$> zstXxpi9H?3Ak!=|&lww-(}%e7?5 zlK%dF48sNn29_>e>I(*g6h(3zD@lT)gf&e~BodiSu2?Kt)|}(C+HHyimH|<4hr`}z zG!ToE$rO{xiiM(Fu4q*|Rd3`u0t+#2Rq*MdfT7?yjhaqyl}xBwRGpb*)5&*Q7Vig{ zfEWvggcVe*lJe9F-gecGnj~t==z)Qd6$B6gWDHY19^LOZa6Hd2)1o*NiPUucUM`0! z6+h(-vOZD_Ffz`oL`bI;gVC~F!W7bFDPNUKP9#A4Nj}I(grLx2l~a>qGAHLsYRT3u zCv7(i^-jgZf>#1x1Ojou4UEqD_#z&zu&NzO)wO)fu+X$fcoo_ouGi69k*(F8FmcbCPBsq{>t=va2U&Vnpp zn&i>tfDt9Kan?*qiJUw(gt71E9G*+w#{bKMqMs{ z1gN;1HGE<|AeV5}VT@MTY{$x-O!Yyjj%qF33v>YENl%y!L?tR75ez+=PwQnfZChs3 zu~55C3j!(uasZ*O7s)Q&Blr{XY@9im{C^?|kmvQ}2x(wMLe?7Etm0 zM+3hQ*S7{nCqFn_ojQeQW`A2b`+W4ui^upsnG1hk-m^Ms4#=Z?(txOQjH&r`AWu7i`ShnJtbm+oBqW{CcJ z&BdqA4ktD*-gtjnJn_!*X3rPDe|6@*TUv2<@6A_ldddAmw;uoDbpPUpXLcQZEW7`F zZDH>A=q&d7vbXl#MOTl@`r5Uwv)iA5|4v3cBX1u3>-f~=y+=N->)Q{XGhXCG}0jlqSTIEOkjF z78^=Pi!F_qC5kCF#9~WZ+hu3yhOT5xcge`M`9Yi4DK=E;Zk%B(yJdHh`YoN#oO|!w zf9{zx=N{XU!?IFp1r-2LdZ3}cDK|N}db%h-*Bcfm+5pH0M-Cp9=GIlKR^{d8<>%)Y z6ckV>l)}P71VM_5ii(SinH&xWMfn&e!Erf3s0{|a#bR-}Jb^$k5}6^%bS8uHfkX@x za++Gr(COGl6W?kVyW9$2KobfZqA`0S>BV@6QcTm!nPw&1L2x|=^p*t+yOhy@o}99# zNN+YBk+Fb=2aFQnz!9Gw3ESy$A0rcG!4w~6G;rAgVI-$P0e}WU^mMwJ#d2`DUa|O= zLNTS)#?9s>j|YasER?~KF!>6$Si_a+c}g=%IK&1wX7S6NA>13)1W7Gh#Nx|1Vw@)@ zL~1>zw<@e2jVGuN#>^4Y8B6&R*)UxK7&u^R0ow$)4n*W($^u+jgxhEg*zIAD zCl(AQW@ggqGz2U?;JOghN5?`eJj&B1Fl$onO&LRJ$4n-WT8?KSjYp@8m`oX)gY)== zSZt6hteV_0Q^4+=@&(99ER&D`jT|xHbhC!-(DB?RiQkHc+}bI>IUaVW;*m^d2}%G^ z0$>2Z0e~NXDFBiPfH^2IXfi;*7m{%W7wA#olz^ZNkO}~C0QF30N1;~%gE|*IQZRzuTBAwmpxFw?`VVVy-TW&?*%3G-O#W4XwI0-f8<6Bbw@jW@WYye*=eev1F52Zop0$c zlMd-lN(G1J{(k7+>yWBV`$;Ul`5)W5?wY~{eO2n3lPwpinG!WV*1c=XzTVZ| zzMH8Ddn`~qnttKVXP1Ax{jej&drnXzu(a1skNV@zx&_kx;frTcOZ}S*}~7SKe~5ycmLkiYaR(dxwI>B=Gy8t@3ee*=TqU1h^k@h86gF& z7w&8O;_~UXfx)I9-yWt=h5s8LX4O@2_i$pgm;W%oVHrzJT-9u0N+)|s0$6Ib4Wc9a}kMy@Tgnl|-nf&PL<93tLE`ZR6~Jvyu7a-@0bA z!SViYHmKK8MjO(h31Q=x(fnfJ?ma74RAtB6e?9lsf`HP!MBP`RJ!#!h^oBtCRo~{T zSSPkvI(I=;RxK1x6f<5iuId{)NIg+DIoM2o3-|r}iZe6$R)w^?_9^lw+7Zen* z+3do?!lI%gu0S9_5V2g2;<$<+v_>OowOU;+Par^t!=s4=lgS`rfJyaN^Eh#5$n9ZZ} z&?FtRgcHtK+LxRRaZpf(1FjzM%|J-8B_6IKAk>CXGN!R7jb4Td!vRcGMo4%jg~+av z`UrW@h{vo%++|GptxU)@8S}$bm{TSZiZqBskIGFrZYK!0$rP~LLmp3zrjw(i48uUc zBZ1JxMtmH3kcUS_`lQ^J(t6XTAVZC20_myvBrFkeI1(;b!582nF(H*2RhUheJ!THr zoe^Ik5sqb&DA1|cMx0~O@hOAIZASezJm}U({FZpgosNeynQ@2$paH-L00n>_fCvC7 zHh@`Ra%eU}zZWLrm=KT%aH4=#fCL604j{>eb_9AcNE=|(1`}TJpYal)k^>FKHV|Bk zN#vvyJ}(grT4OPPIvs;qE}kAB<`R_RVqU(E7Lo}m#c2H*Q*hE1ouZR4&IrqZgwIxp zIa-u&z!9@vMOh49rzPlj#=`z|A`CN0iAn`&022VhtQWQ{-T&ZO&F)l6;&%NHV>Bw) zYH@>sFq=t4Y?X*zDB_nRA(eO(6Qwl*sN+M65V{daqcEn*hF?-sa`nF-*rZ;DgU5e8 z(*Z#4apeM8bL+M}F6}3&${7pB;Mw~NUv|~W#JfLOd*S4WxY+Xk@J4!H&qcL*e0X{~ zc}JXK;;WeC)<^ylb+3N=5c!pcaa8BDPoGkxs&23Bf9Of&bI<=7d+HTOFDrQSrIs%l zb^RDekTdkt_^mUWPp2--DnImB@4O>Jd1sa$TfF6g<+`iy;!XQ+TYZo7;`O{|iA|Zb z>6_;(w#Hj0r{EXMX3K7>2TvUByHr+NwY|dEx;Z|^nN4f-Le&js3(LMOc+)Xn|ue^b}x^@nhZcvBUuG@9<#fncG7d?1z z;&ZAxXZ{QMt;f*PTiP3Qm-ihv&T?4Ko}4;5boa!p*A`0V=l;`)jo#RD<yL9idtN01mA8*=f7>oR+I#%R`$W}Wl?E=gRG;a7bZ%4SJy)ih zYS*kea$VMPIz2mg2;ZQ(MQlH~v-3M;{koW7al_EFjYpKj>o`?JyeePVK7bt8x)~_36bU--G@)eHRWKdA-9h zRWG>OcxREh_@g-w8+N@lW62~@=U6$ocE?B!jn27zS=oN?$G5JT*xmE!Qf0xMigPX7 zWOJ>u6}Mg6S5v)x__jiJ-X-@jb9y;KsIxD)UAyf3vr*f4NX zw{huPRT)VA4VT-#-gQ{`U0>vj$bHX@)oD6A zp7?b~TQ{q7b-~)2mX7gu?~CWY*`e;x(v@Q)RoV`JZC8t0zx8%Va}$ol{Q literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_3_5.png b/resources/g2/track/intamin/medium_half_loop_left_3_5.png new file mode 100644 index 0000000000000000000000000000000000000000..46fb59159378b8cb53ec9efc8835e2d4e7ed8529 GIT binary patch literal 1198 zcmX9-eT>s|82;@(=#CSH?vKfhIF88`snD243aL`0kb)x=>A}nmC|cu?nKV+vz><_> zn2F=8mmLmn=!g@?-H;_-OoJl~=*5XksB**s^PIUE7jiLECpkWXKSxNO_v@ecNuK9@ z4{cb_&Y0dY9RM(6?V42^8?~zuE^BimpZkQn3qUj2u&#S`W3*T-O-)VB&CM+>Ev>Ds z)22;B5X5S=wzai6+-^5P;0#0ayhjv$vMhx{p;#=D$>@eLRw~u%bpi)81vpQ;&u0$= zTtNj7N2pkwOJ#&?PA-^{awW-Nh?i=YJPy_C(nK^N6C)ue7xNY}QYjy*cYrTCE0wQvzrVAyPIb z>*NcVzs!UyzGO9+t!ZQRO!apB`j1Vx%K|KHqVOUCnhsKk@!vHUb1Vo1##G)FTN{ZQR$TZW{ zstFrhPCp=&c3N|ANtd9bQi;-PzH~j9or)Fi>t$H1p>{yJ5Ei%jXjgzI6u(DP1IehG zO-D^5T`d`~UM4*rr~_C65H`FBH|QS08B*ev3K@?*f?OytJ|79W+c!Rtk}EanZ>a8%);^7 z?4JYNvTcLAmc6=8q47;mbe}%bquUp-Uw2%e_e1Q!&_I*kM?L-4g_XCPm)_nyy6L@_ zUs<=)`UZPtXwK|qy&ccC9~&+|HNbbAJpAd0J15AAnfXIQ=h~Y3mt^LD)qiU8R-N5z zADwaex2~I8A_uoByZ`G5t0#}>edBv(9ebzqmSvZ3)_!%t;%iN{>!$}M?sc6S-amR# z9DnY~MGtO#+-cqXe#`iV3pcNI4Zt%$ofzD#9Jb8szw^c0)^mUM3t+?&?NR^z?%?ZZ z=a5&2x<216S4Wp$+LkI-=Dv8qdYS}f7kf+-UkkDUw+=ch0kk!m)E4e^&dIE z++w>#{rI>M+sMs4)+1j`qu~YaxV+;icenem)mz)H$X8#p=6XAa?K{}PUmBu=wX4^! KI7f&T#wGY-=L literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_1.png b/resources/g2/track/intamin/medium_half_loop_left_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..56caf498e2e31e029fb20f01ef89538fefa3f062 GIT binary patch literal 1252 zcmXAoeQXnT7{`C??Y4DLk`k*_DbR!)9&igcIJLlu2bR)>TR1{BC026@#Wd{94(Oo3 z2~`V}?ZT=yQkF&q$}BRpY7IjRo=`@CfB0T_0^TE^xZoKKs9J@TeG|}PM9#Es;a8Gy1J&Orna`W zuC5M2kox-ihK2^C#bO}{oTe$3b#R+_pxeQ*f z+2_ZDA!{VcB$DoQM#$wu#ZsKc5T{kgJB*^!EOBT|AO-?-CgRK`d1WZ5D)CV*Ycl~i z27DBdSR}zCnUKDaFqCs9sN%5fhT{^1SqlIR0B!`~^?K1{l29~mwGJ@MkjGOH#oMtM z%w$Z2!9p2v#%y(?HXd_|1SeUAC>@X;;WQi1xl@YAOqy_;#mZt1j&$)fA7p|tcPz!H z@?usA=hZ}UG^3}0fdxhnF#7>2A!N*GOQNm}#pj)&q7c`lEF54k14o*CHZ0_{COA4R zu=xO2hzKP)pk*SXc^Q_ndIO1KPJ;AMw2x&&92fQZlA%y07R#qn#o=L1(;zVM0F59- zLQkhnY!34j>0rqfSAA(s8ZIZ*@xmz7VR}7jG}_D-7Q;EKRd6stcV(GB843?2l1esT zE>ghlKm=AVy3LXoi~1=!$fl#7Az3VBqG};qF5iX}08Rh|03-lp0EPf4Aplmy(9kbH zIS!Qqg94raVG5*dKw$u60pyJ^M8G%$Q(l-0LM09!gC~K522KX?az@dIg(X`e&ZX0V zd|p=7Jgj(`Jb>`)D9Omg&F&P+D^^K!$z@-9G?E)n6=6X`4S+NwHeBzb%wCr8dmNJJ zjfcgw9L{HDRms9~k#sm<3P1%wSYZ*Y*gcUc;E$F{WHj%FH?a&ByyMmksL9g0lFvn_VZ>u9F_+)_kq& znvvAtHdrM(2fNQ~jE#{S&h;rvHqN5|to{1+v9ZSW^Z#oy7A|zO z^?&Z)W8a!Mz2*MIvmJLQ%XgRV_+{|srpAS~kyd;Bud5rU{d45v+jsgNL>{%=@44}b zwtH*2qg%f0x^nr&A6(iDkGN~r`L~{ZYUohl?%5+V)*h_>>E`5JV{droZMQ9O%7fpI z&U`riMEvv)e#+qmebUi~`}z;4Vbh|T`l^=F=5?6;`s{|}{%aq#Xpl>JgC_^_azzsSt~_tEidd*Jiya@Vyl|K5J=gUz!a77y`Xb)7nM zh-AiEKb!aNYTbrbER?XM>fW(?-*+{8AKbcnVxL(+7cG9;d{}I`2uJXNuIk^v+r8^* Q1r@L_U$yLuSKi$HKio+(y8r+H literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_2.png b/resources/g2/track/intamin/medium_half_loop_left_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0a5122d7dd800842f2d57da39bce339b231440a8 GIT binary patch literal 1318 zcmXAoeQXnT7{`BmqZ^YH8A*{YIY%?|pkQSuyN$AS?#7O!l1grJ83ij`vcpxa zTChl63RcsNA_b~zpu!17Cuv-TM!HZ*g&P(u4o`uXXu&xwI&sXYV?H6@Vhp(YCfZKNb`e6c!d16%`d17nhWj z%$PAlB9WAqmX?*3$rK6&hN%bwrzjo67&wl#*=%mNHxLL$B5_g7WV4tG;2J>c$_<7J zlL;|fRCb5P?IHaEIuzz&f+Lyo5vWA3DQ9&us~&MON-u{E*@&=P9}BQz)Sec7Q<;cX z4rmmZap0sRepV88NE7~wY)lT*Dww5V&Iw^e0RRaAEs?NNsZ}m_DwRHsW{4!CMq|Qi zo$z{LI4s916u3-9A{tt$Wl_BqW1Je!L)dtoD@6HXbWk)RYPm|Q&`_w3Q5#r-wUc%) z?G3U)!5R@=LfW643QKWNK>?W&AQqr>O4MGNHlQ?waaPbflAJH&jKCohtzgu0vleye zHGYN&ag<`va#efS3K`jtT04V@j8FXOKN5Y^9#_Uk^fv4crKt}*QDKRlJs~L4U zwSFHH3fTmKPp1W#_mUd{W+}&=GSY|8K_x3{oEZb3HHW6$v0N|-6B%U%P$LqpN@~Cn z6NOofI;Yj-b6G>YONj7kF#@wmwN3|v0Ez&@JPUi??wRB^izk&*d)&{&#bSiPK$%R8 z#lm7Ln_A_@F`mG}I#rxR(|QG@5olFH4+euc6m5(?cckvt)cVz-Qme&R1Y_Q?9Z?eJ7_(d#Wx|e zz&u=;7#pwI_VCrgT;1U-(RGu*OnsDIEZq>URGiy4^k~cE#Qg)M_wJq__`Yv_;if~1 zm_bh)r{5#%6{J5 z$&{bG-k{2Tv18NYmA?-X)u-;9^Ek5a)PD1IYsdSq&r$Ag{r0_EM_QcQPahqj z<_y2ReA)P_KJp2FyP-SQR=xZZ-St_cXCczua&$mjQ_YSK7E%Z64_}`5_v1yQxyGKK zPOUz4AksZPqrP?a3oniQ_|~llJFk!Kd3WyE!7YDPtvbM`cP=OphijV7PA>SaZu;{R z^srp|Nab3!e4;Thap(A_(e`uAs;f&(vXjf!%tCh?#N)Ny7k1u#qw-^}_fC9}=;v0f z8{Xk=`0ZL1x@YUi*u0yE?^X3}b-URoFXsB!jn^jSu{d*K*H%Q2Y+14P(g#KH)_c<( z(-&`?*?4;4@qfSKPDHw@moC-zn9u0E3;7|(sBKMZ*Om3ZZYU6vd#~JB(t>vloM|)S jM&yV6xqT(m)Ayy7>BV)M`b%%;VS|?D_NEh!U7!39S29+{ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_3.png b/resources/g2/track/intamin/medium_half_loop_left_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..36a3750e1b6c79c4c49e7a3dfb5ef581ad326179 GIT binary patch literal 1490 zcmXAoad47#7{?#S^xa%ahRTvHT9~+T?X|smn6LG!?-m-`_KU8&&+|O@{PTSO_mCw4YXCITfPM2~}xdUWxSS?G6W1pjz8rjda` z1y%}p77LiMs7ss-NOEx*%HSwxK(}~=VhR8Tz<^<9vDhw?@k*tiBzqX9-)KzQ?Z5ea zC>oU!5(Op2898ZCYRoE~o#1%V;-wuytvkZ{foY!g%xm;17FA)x>1_!g*ECQJs zlpc%-i0O!ojjN0)+L_k-GuB9!AIya^x02(iL?srhrBaPt!K!eMBrRITX~-Y5ggkEC4(}5TG9*jRDHT z(8y*%K|d0bj1tTQxG4y0Kwto|fXq_lB9Na!VH1iwk>H2_j8}t}1|5T$IH}#La`T#i zpNm8si9|4yNua!z%m{?7gyN-)Uv3C1%>v11^}(DqGVY1r3a3yqtCWCRj%jeQo|2nb z!e-R+c9Y+2j|AO`STG~RP%fp`YEc-F00`y1aOUOyN9M43(`mKW^FNk&oYw1ElZmt0 z%mnUG;~t6#(nM5?4>GEZPJs+^WLF|Dfx;9@X!GG$KTvZ0zaMzHaWxA|hcC1M6l`5t zyR2zN$4;I8NP0mLhfJ=KzE^5SW#ez(8@3LM_lB;Pl~ugix$BqI&g#Fe{HppORaRQ| zim_c@`%at7lR43L{Bc?PjBT-l__B?|HLYI{H#(AtaNtl4qWbf~#2*IOB{kMyQ8-g5Z#pW>a{B|-Mk6YtiwEZ(53-QeC*bT=#+ zJ$c~I{()23a}~>PU${Oo-!?Y$vgY#}>h0LR;-Bx6*OyHlzP#;bt31UQ;KKS3&mTQ} zJLx+=IQzrLHOFQ(99^`y>f@SKYaYHM;-4El!4GU6>DqMcLegJzS8MbgQN{N++A9Cr zvVRvfqv?2e* literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_4.png b/resources/g2/track/intamin/medium_half_loop_left_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..646066b315311273eb3bc2980dd9b404b1f7b8e5 GIT binary patch literal 1604 zcmXAoad49N8OMJR$QvXco;XQEHzY)H$2zL7$*be)Ya|It-!yNQH!Ch!iNgjfb8i}= zIMHKDTV_$;G}w_0Ejq3e#RjkG#EvSSq>F}gRFfQ0Y)OYF(^zTBCg*AV4X=0K=Xvh= z=lTBeeLe?Tnl7z{vTesNn)`o9Zr?oL;8dIaKs#oJ5y<&T7hU)e3}s1v=YW3_nOgRyE@|5#)5Qm)R9U0 z^4X|H4D~%S7QYsSp}4 zu|=bBYE^!NI&7xmc0cbSECga2$lVC)7pTKxDyA@|)Q+^ym$8Ji%y=%Cd6LLOzCs|tL?VquMk$mAmC8(z z4t?R6HRyDW`h&@6JeR_OoBggOCO!NdPGTX%Tdy&_}|M3C0{S=>yM$#{i)Q zS`slCL^g}U#c2FKLpW@Y#{-#692UI9Mu1xRI3pr`5`9QcCsj;V7sy${d3WqdCLmhsN5PwuS>c{-WzvNK0#P!W%<1(^p$p9!JjKKey~B$eP2EzBR80CigeB z-ojs+n|-V88Rxf<4SVKTeP2l1{!_iE>IeSxZ00Jp`qAk(&kha_bY)LeI!{k^yxIK8 zckS37{p7-t_NBY~`sj*I^=sQcZtcGK3enK?2@(E?IT|50lx_KFQ}6JHPaj+s)^_ID zRnLBYHLA;TYi)otuU*dS`dWVJ7a>mU-suHBwukIjgm){umwfi&5#6ILzkJ!fed)pF z4*TWUoqJ`R&8J?^tGIKaEqj{kc!3B1TzIg;s$_k8t*qqJ|MtDpK6Tqre`WWz<<&Dg zhmIb%ExSH?WBtC4SGV3;d3R%|dT{ffAFuUgDoS_s+w{gq#c1uOZPQFw$JxZfhEp%Myj}J5 zs|VW#27EEBMDIPg3$uHtPDqde?ALGBUfmQV<>I}EyMn`#jZUxciy3etX9UtsG zKlwhmz4PnF*~cxeu5;+SJ$K6ep0W$Q!J6?)+jmLN7d4-4J22vIQ9N6`HTyQd?pP_( zq^jxKf1C5oo{3}A>-J5L;fpucuk7_Ozk2UnLvM`-Jw$b$%6Et>udcqiDqHzRmCxI_ ztbRUc_aU6MVErGZA4|E%%A|jtDLOPs|Lk{k_}y=a?PtuT=Vbljl5Y>=|7c98ecX4t zu;KspZ!PCtpF2G9{qW7XsRPGnYfpZq*e?IF5u2DA>v_=q2kDM#Qd(WnP3-M=Ezd0O z%h)%Ydef$zcg%;~^{Y2H#zvf+B>&=tUyt7;8R@F>rtkXoE55k0;x`LkTzGU+Hg@9r z$leCKc5g;?Xh@++^}KdvZxg2n?)pGo>W^%*jdmRr4*Yx71hc3`^{?D+L^k=x!}q11 zm+}9;uK3RPW9!z=T;CrSrY0u2YmO|>tax!;$sa0wtNXU$!sFD5U4|!fPjwG}I{UX! dyyh|uS?o_MKiipYx==s?G}blO4z2Il|9@k=&ujny literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_5.png b/resources/g2/track/intamin/medium_half_loop_left_4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5f7d15062c53c64d08d3ca76fbed7f665e2ef2 GIT binary patch literal 1250 zcmXAoeQXnT7{`C??KTQDT0@6*)>x&%6AGN{z>3GXEfsEZ%MMavfr6J%rE!NINdsjb zti}RmIYMPOQ$h&`G^4O;aGs=Sg9jO*kRusO#RE!gpeV)yO`Njf&k~aF^Y+j4{p0gI zyE|66rcQowG5}!eviDj$D|LP)%=Oik{P~VQ>j0<*9qlXID&wR{ld7t!s;jGOYHDh0 zYwPOj5Co~OuWx8*FxzZ440Dhq!7voddU&1-g+h`PPo)%99ntktxr{jg;RG~g@OVsq zzcmnagd~x-{>0zHQCkXfB zahS-EByiJ+pEU~sG%C6hGMi3^ zG%Z;yYOvyE@c}GoAVf1QTfK^%)16|;lPm|)V^Vfp$-`X9ZUVR!aXE}0!s=(RppOy- zzZ@0P$*86#i@FNSd7Pr40-z2ctgr}I?4HRI3dRZrJSII8pUsjU599ZRGlTb;`%-ai&F9i4vScWr6)-tF5{P2`qH_l3g4!`=%&DOkT}ymr@? z!8?mLEk2VPzy$r8^2(|Odh_P!w!zU~FAK9;`;HDAnf|0-i*B1a+E{yKhfa zdzyL{!dm9rsfEnq1QLbG0q2+WXd@J#y+TWp97?u5*1`zn`qpwH{w4R7H%(|`EYzq^TfObuQr|7sGdpQm=WQvUvK>stbP2_t+VS# zcJp)e$Lkmzz8u}{o*`76bz8#pG5!U_S=^eUs&k$|= zsB2oQK?uFM>0ha$7brf^56S}0# zLyGIL(JIX>p&Lzh86}iZaL%HQ>!4yY%Dg`&bW%ts1&RJzID^8;#yKtQd(LnlgY};%F4^j zD=I4Fa(QKCWmQ#`TBp;YsDU7GnkE^>!f~w2&} zcCEu{aC?mY02PW@V{tAeda^lzK;&klf+f|wS?gu=K@J^q5plmc6=5?;cRnLbO9_(( zSP|gBftQwtSb5x|Oovp3lm_MvuwaEVUI-I904M;gayhG1@*0g-uNREQA&N@cY-ygq z9}L2HT!X4~xY|HzjaI#hMa(?Pc#T|uaD_=fL1GNokoj~uEV?nhkqPN6xRy2FEoFI7aregtHGR&vrfqXhqDBOoQ0A>I<0K5Q%0Z0OnlLJ@; zML;J9!vf5tDLr6O;KM=G1TqwWG=QucdQd1(FlvV>H_Qm&neiAP31Ft=c1F!R5TDl+ z5|~)bC5qvEUW7$0jSZkq1@2W-g4P<oUG7F=tm zQKyac@^-<;$HG1_5zc24u#m+_5=H^c00@g-xQlYnp>a6_xf~YoKL?je5f%$=w=+&B ziyB;*!H=V10*#Y~2@1)ZbG%Ry=(610QZ|qrsbZCf_a2XVx^Y z+_dbo-rfy|Z`Ri|cfp|-cctcD{QA|~wk@-U$UnY1{DrpZ;idLH(ba4H<{w&COs%z! zHt(6K_~`i4@>9Rh8`*JY(DHb`>xy)H*4E30&0i{XC4ozQE~8_gU47;xIj?ll@Y0@! z-m|r5-xzFH{Jgu>w6Lq^NGP4EzjNS%Z@$m8`xXHws$V?99*|NeNY;1}0!Ii%Uwl3^0Ib?q6!MdH1hNj6? z7tS5({`d4LU@9}9+sfxuUmHImo<2YFcx-ZX{?zBry3ULLiy&+8tOxT(3x8+>Ee@c2x7Z@qS4 z(aQbFT_Y#2hD3A63b#+)e($If?s#O7h?{YEI0IXTn)_l5Y+kyW9fKNZ` literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_1_2.png b/resources/g2/track/intamin/medium_half_loop_right_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d9071f6fbbc1879677b06482adf1b57773feb9bf GIT binary patch literal 1292 zcmXAoeQXkU7{`CMrPmiL#x`P#%cZh}nX5rP&23}mtk;UoX|MKls2Fi!*{Mu#?o^DZ zn6ilu^;A+Z(#aO4#4$^?Q&gs?IICsu+_0kFGU7-i#zw3}Y0{YAFecyU?VsoS$LD$W zwznB-s_Lr%05z=(nmdZMu^2NeN{e~??%NLlC@}D=SqRjRwbc6h*QuZLydHfpO|hSIZcqa= z25ck{StQ6KF}E@mtj#CXFsp-kGaMBmjB5a305Bs6uT(nJYEi2V==FUJ)6a1!hvS*w z4`VSkUaKKhItJC7wFVwDI&h1q7krd6M0=uaAYqQk97?El292J@XbWNDDc;4n{APcI zk4TQV?2)p;bRniBK`jeZ96;?rDz?z9ldiE-G+V6_%PZ8KnQqdsV% zq5>;9Eh(>%2|05yZ$S#dOk7z@XfY#Ba3p18S+~XFv)RIKcg*jXB9U}5nakxMQ1d|R zMev}KimKTJ#-%A&#uUifqB${{4`)YH1z3$Km4r%VKs79;v*`5#&A80PW%jV!(;p1W zaVeiBftf}GR_QRKq80Pm$&ibU`ndj(BNg*yQ}KNM86*KP0w4e&0uTbAAAk%3U{MSO z?E(x1pqyf~fX9J{1Q7#}830)Tc@=cyFu=fw6((Fz4uH4d2|!c8$RJjW%3;Giq9GWt zM59hg3T3krEPAOqfZMA{QN;vMb41I_dNF4Tnxp|8s7~tEZKo5v=P#_wc@r$NoO`^3X{9yY1Jnr0a(Y z$k3$Aa`a2~^v~SHPJ3ba{GQyp_?++Gt2?TR2%SbMkfs`bL@ z)x95`p7m??_J)>Q^*u9d>Ko?NHCm?)u4z7VbVudAHqEx9H$9uVf#t&V$;%-%El>GYcOUFGT4sn46zCCR$ApG@=_4o+U?fBoP3TMZXq zZmT~!e4}dBfws$=$9d@ostMhS*GE=Q3$Deg`o`YBdHmZGKh(vCMN`iQ7v>@D^U>!M zRx-PPe6%Lq!9Q)FcMQDv_@R|ATYn6_XOc>`42^caS%G4!{@TIGg)Z~Naa8mDUjBH~ zAM3gF8mDpmfam&^!A^GHv%8aCW*!gO6-3SKn&d!qTjsi=|M07Sww%q}IQdPwrwRSZ zU>I3?M;4|^jVD(Q?Udovbz32~qH${rTzUt6!)<(jCwMWqc)pMD-zp*ntu1ZMJ@Zy~ F{tpd;M2r9c literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_1_3.png b/resources/g2/track/intamin/medium_half_loop_right_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..79e0d56882b4860b53222c193986b2d7c97af26e GIT binary patch literal 1384 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 CMdVEY literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_1_5.png b/resources/g2/track/intamin/medium_half_loop_right_1_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d86cecd38c7f15baebfc5213aa70f4b588e143ad GIT binary patch literal 1285 zcmXAoeQXnT7{`Bmy^XRIs8U0NCuvC46Kgm_=c*jr4azvOTewN1MGKtJU}cq5C|Ks9 z1?xER%$iW7N@d+vp=t?}Rk?%{iVQ4rEG2ZI+nP|cWSdq}#%5;xSwixC-u`*Me|(;& zqovtYGi$*t06c(}&y0jSTsvi$!I( zqb|4J%NzXxIvll%k~1OmnQVx}5VKL?pwyfh6eN9#c|`o zAe1BxuF?`}J&hWzI+Fu4b2uv)odMDlp?o3}N?2oQ8*0$#O^&D&P+*40;m|EwgJ=)bOK@ss!dUyMIs!sna?;wc_9w_XiUW#G%gdyn~h3;;J|^805KCt(*QC6I@FNIVTgt?J4|?CIs_hqHvozRW*V`xYR-lE1XDP~ zilRrBBe|Rmi(VQVz}*T$P}3pQ8q+z_Mj>yB6kOtzKQR-_z*JtR0tOT@>6I1&wKKTe zMhTof2h#nMjZp3uCvlZnp#1 zdklI%fk#MOqV!1`%bB&%ib75Y12~KkP^OBIacI+1REid6pjyM(XpWA*~ap-zY@aD*O6Tfe2HTQP5x1d|QMjM{E z)?9xtzjkb-2X_3l;lnB~HL`6*#mAoMgY3l3O`g5S#X99^f53$LkIt#k%`JKEcF)k> zvI~hz^^*slZofD$aq!1wXI#|mx9$&r)syPnwy1sC#lD%}zF2>2{mj*|)23DbmS~?k z=DYmvG=BTai08=Q@pao*ogZ8<=km^zT{T??{~3B`b7An!wzH@2+{n#S@u$Sv%FpWl z{&cY8*qpWtRo&la7q&M(J=cG=3M=zn`kZ`?Is4a^Tg;l==Hp{q=?@|DbzXIwJ4Nj*i*7j&e7G2j-us yxS#Zs|Gmn2t`F@fm5jrSUSGXuVJ$zE+Q(V>HT74Rm#!6Af~J+tjo&wH{OEtLd`O)D literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_2_1.png b/resources/g2/track/intamin/medium_half_loop_right_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5fbd2c645d70ab0b7d803e4d978aa82b946517 GIT binary patch literal 1070 zcmX9-acCQL6n<^mUb}V#j9b7fL>J+dTfONqj(MBsyq2?E>21Wgx~@TTJ`>jGfEsq;yg4fal5jN1{$?$oB>nl;OC9O_uk|C=Y4#9 z@4Y)SEo|R*-!=f)KKbFw=xxmKVVLT6>o{%@M2=;bBxyMuuIu_nHjBz- zoc8!RFD3cd5Fw~!K&KUh)iQj%Af`%kt{O7!u#dqh!OzO1s4zj5R})eq8_JrhY3UU^ zWwr8+ZrRO&M+R>gd@&#ljLCY1A`vWesuf5!v|QV$pe2d)C=4DI$Yg-cD||_lt+-N8 zYt2HuT~2qc0%}&=9)=(TG!y3ds4OQHB@>MnlgV;6Ynf)FR%^H02yhjMG)Cv$d)2WS4haEOnAAV*UOn!z0&DyAPyh^paB>F1%PFMCI-lX#G{yo3OQugB?43$ zQXH59*b*Qakm^NA8s#KpMo=|@>>S()o&k}EfP_U9uO1~+hLF!GrBd9o3ayrf94$Ny zbZnS2yi(2=G6~gYjdrlmiI%$Q>Xz9+^)}%F#)k=%JIMJWG93$xh91eK^im;ZRSGS; zf;tUG6p;zY285g}5{}$m;PF_d*<>>5yU?mtJ{XiE5hWH=X)4Z8X^t-NbXlZo64?s) zQOJjM0%d4qa>x>$<7dW(Z{7KUH)f}0cyj&M;|^J!96xyYp@s85AA0rs`$zg_8tCM6 z=O&A@BO{+)J@d-SN%8Y*hsK}yckSHh!p5VqGsnLCVQoid_v^=No7VNI4;N27KL6X% zAOE^Z@4flf**zcizWh@6#zyAj=&E%2#=~P5|0J-LZ`vI3)s-V3>@~adjRE!d67#~d zQ|C{(A4p!n#9tEcEV}lu9h`r0)O_#KPVT#1*YM4IK3RYN(if*LT%Md6U0IwZe>&ZB z8vpw0>TAa)9@~e%sqFagkJdAD|6Jd{CG6B^=XRfsoSHuJ_tvCmVNd!1b>Q|seRJ&g c`nPjEM|VBwx+OG{j!&4Jm>$3Q)bnru4-3fDg#Z8m literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_2_2.png b/resources/g2/track/intamin/medium_half_loop_right_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b534c8fd3136326de4374fdc3d66b845e09f8e9b GIT binary patch literal 1112 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_2_5.png b/resources/g2/track/intamin/medium_half_loop_right_2_5.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1823b7c54a7d174d8231be08f9f61385a25ac0 GIT binary patch literal 1203 zcmX9-Z)_8F82;_=b*osU#3BV6sIh~CoO+l;8$96{b)MNR+@OTU9OT$)DDeV^HnEu( zSEZN^59wSd6+69X6EC6a)RT0hxC&Ehybnb>DYIZE-TV}5@!98SmMx~3I#xk{x1fmHyGD1s+U zRLaU`QE!n7l{`w>pQ^~YYO*|+pM^%$WFjmUm(9+i81Hn7G!x=#%L2)8WHON~Wb|s0 z1RRZstV!Z*vJZ^~NHxT!V%|wr%BN%He5P8x0Z9Pd0Ehs{0H^>=0#HH#tbw6mK!mCS z3wg!?1RO+2pt(SS0gweyu)r`56$WZPm<_>#0`4160Ga}B2J!J0$&W^4S3==asi3Z_ z<+2WITvji@14dG|Fp7=S974ecsR~%+Q*boz2aMrRBcV>$j-Oa#ym|iz4s7XU!3#4}y|sQ<$EFS4>kc1|ymEBn z$%le{aP(SYWnl2}@6F4$y|D|~@lu}YnNfHD@~(lsaBFiuG9 z#zm_xwKab5?ce7Y%l#{k)L+$?C<9+#cTf^h_;mdb3vVv*n`gTA4Nvzk zRHpluE;??QSTTNk<0Hm5Hbpme-^!p%MFS>xqwYpG-_03?FFkz53{dUu|s{@5!HkcW`9> z^r=aPU-R#CuWmm3*tL#<;M8#Wd~SQ!E%&*jQ?tKgZOquRJ9ow|7pvGef9iMR*KfRD PQyz4*cWyedacBSkl1&(; literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_3_1.png b/resources/g2/track/intamin/medium_half_loop_right_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..15819baa9b143b5fc7e2b7d2f36b5f01a666fc7a GIT binary patch literal 1242 zcmXAoe{2(F7{}kOW4E!*hE=H0NW}sNR#NeV0}s8i8`N>Q1CCKhfs@=qg-Q;%VbQu& zsamA!1uN8~u!=>h99ZL`Wpt*DA|rJ12*Z@+Vv1I67)ZgIRhi_qgyj4D`sexn@p+#2 zR8w`eHv3M#qq^gBt5wif201RDcx9glv zqswja`H5hNiN?4@QcNrUY%W5X5gSn_(0Y%}DDh}m#Cp6`GH6T31a-idS0klD%4z_d z8MsIwu}D-vl74L_sw<`qFmHiH4vt9>rc3}Z0B{H*Xtf@LK|;|8LG&=pfWwjTcy5Hl zFqt%9Iuoh4Fh+tyt%BL+!FY)fLzGvh0|_>g=HjZuh#M?c6TzBk9=8jW;A4DYE*ux) ziYKK8lzcQ>N@_`H1$!8?j>ioytJ!ZOqCAxl zS;fm|f?`hg7Lvh|BEwuttHV*V4Z|HIIaLfqf?%cOSbuNMGr!IQ`a~j>A9l>kA#N2dbxC zSvz(5!w2_nayRjZc3s^e^ z{rkV~|4jFp9%=aH)Q3wi@0xeF?>c;Q>MU=xd*XKiq^|wgjpV1^krV6ozw0{R)x>o- zi|43BQ~n93^Ptjou5aeeNw?QG5^LJJ`n8#JIC*W+tBbD9y;rrZv3>D7>gL5|K%jL= LTgz9?FYWms+vX_p literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_3_2.png b/resources/g2/track/intamin/medium_half_loop_right_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fbbe978a90747f7c78f8cedcd2947f39b17c215f GIT binary patch literal 1192 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_3_5.png b/resources/g2/track/intamin/medium_half_loop_right_3_5.png new file mode 100644 index 0000000000000000000000000000000000000000..20d1c80922cb9ef9a1c9a53d8ce100116def08c2 GIT binary patch literal 1198 zcmX9-e~i;)82;dXbZ}sSMW;^E^9D3nWO`LgQnf&L6jGqal`!HU1FAQY z?d|Odg4k@f88c=$TrL+$x>=SHMP8D8iXulM5nWGaGTB05(z0sxI_U-s4FtZ!=d%Zc zSSaj{#%Mhuq%;0pUMZTfawWwQh?nk=d57x7Gzm{Chy`D_M zeBMdgU5vvmV6-3SWWuYGl13{DHe&GcoR}*5vsM73oNmrViv%xGKADxHLNw`5X63A@ z7Oc2gO_v*almT`TI066*16)I>q=U=gzC0tF-dI^l)wBXUBM^3pa)vk}=B3jTn^QzH zB9(NdVnk|ryhP3rpyW_PL|o(2DJhqWn5I#! zny|^`3;;6R!DtR4h556%Y|&cHXVgQvhF-jzEyGd`w*v}8I5+BJu%JkW1H7gNQ*kwC z#La?HwFgkRf_kUnd-+B=&zjnF5*>73nS+Q~1=%FLQ)8n1C zLqEaaUfIx(KkOOozIg5DwaH0r-Mh(SEj!sS-t7M7F9#gHXFGB4+;cC@yM69<>)RtI z?&!7`t!I*h_qzIz4x*2Z?H@RP22I=jZn>_jt#LXK^ccY?lx5pNt>q-2MB`MFU5p z%WiDFezqsNm-_x_Pkn5cagxVs&wkmvc>kjAReiQCLF~I98^50aVAh^r=I)#S#4Yh5 zC;Q0gRNw9eVZf<;i{=nCZRxSrqPfg9CyQXd#gl+UvY~cWP@YdBIRz2CZ>9Y1u z;*bB9w(e7TOT82F*j|2%ym?^V@nw2W?PTEKP~-3Ddn9!O-M0Gh(tj(DzSa~Stm#?r JIlXe*(Ess@2v`6B literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_4_1.png b/resources/g2/track/intamin/medium_half_loop_right_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5c9351fcc27bc2f7d125e5101f2976fd5de4ebd6 GIT binary patch literal 1378 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_4_3.png b/resources/g2/track/intamin/medium_half_loop_right_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..99163efb1faaaea1e2e461fa77844a768bb382fa GIT binary patch literal 1661 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 X5op2uOKv3di3SZXHPxS5x2^kk=P1v4 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/medium_half_loop_right_4_5.png b/resources/g2/track/intamin/medium_half_loop_right_4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..507c9aa087c4644746a88fca5193a1a56725addb GIT binary patch literal 1284 zcmXAoe{2(F7{}jjY`0NKkwO|Qv1mi;IHZdQ9B__<9i!U{JHicWsHS8Ws94}e4$_Q< zG*G1AiAU(9gc57gXn`sPC!V1(6+7sluoH)tc(4u%D>6obCN>J@wS?sR{QBql{_%O9 z{VUte6UM(b9sn?*wPoq5a-Ca_DYaGQe645AHUO%?%HE2F$w5Ua6pNS%kOZJDDw|E? zbn0DhlTRQ5K{^t%#}j;77P7f8g(6l$#aXl-t6pS{As*}XQi*^y9pjXgFRz44g``;r z>?m-NKxB{zha?1bCZZ{(bue#&MLT>ZLYOoFKm%Y$5KgW3=yamd7$%5bnoczFj^$Wp$XEu4473*ulgmVcHhK^3Z2<65m*Z(vXpOAx$;_SwtJ+%dtQio}$p zT+EWdZb5iP?Xl}cCmM8|cmW;<77AEt#K~$sF4QlYBVjfk z_sViKpO<0TOXmQXTSbamI;^)#MouBbf-PEf#Y=(oGbsx*1)~Pwdc%Qdq)b8l=&@)d1~!=rO_|1|<^8mh$oAZ>yfX___|6S|SB^~n* z9Pl4Fq)dNhPd7Bj*Zn*eo_ui4)2rL6FMY6s-2C~}O%0(nyH~X7bMHSf+!>Tionu?* ztr57l?}xRj+`fH*Rihgc%l2PCOXR7k2j8gAe>3CpI`8vOCoT@Qw5|uI7Yx^*uL&IP z`cHGSf9&w^t#|)=*s%S*(8b~Y<^0O+UJ}1>atneTYD=!3RR2lW{g0;g)vh=$PCNU@ zxwl^ZQohmMytD1W+!HGQ@vTSpoLhY5>$U4w3!RM{{`4&~%-nS8)c2R~8Rwl~c32xu z40JdCJ1KIIm~qUJO3jI_{^_$ywAt}!R<&{V7grvSE}3ys;}zO}x8M1;<91s`?HTVC zd}P7GajY#O?}b7P?wb}s7UoW$Ov_%B`a$|yl=bNkX$P3w054^^B(c>n+a literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_1_1.png b/resources/g2/track/intamin/quarter_loop_up_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..16f905afcca9b724c9c89d24c13303a2ee637af8 GIT binary patch literal 1398 zcmXAoZ%k8X6vkiv7DOyswoa>5SGAD~blEi))65HANQD9yy=c{9uG(qUYHmzP3KXqd z(av?!n5xw@q|*kvtZ$d^yjD=XVa* z)`+vG&6x%O$gWsbwk9#>CaN?eCDA9mON{`efZD3M^2C~yl$4yDoRX4~nwpxHmX@BL z&R{SyGBPqVGub>I4@Ctyj*+B9E|;lPv`(ipo2^c#%j*ql_l3o3!~TS4hDXas*Sh&!WG!AY2fFquL&Tg>H=h(In9sU(D+N*vQT z4W?eZGvxKh!x*3>3>C@LQe2}Fv1l-do^)Fjy$)^AV~Ga6@%R|T0FVNp0wBSF1Atxt zA`Ac%B5OPx@vu-Lfi3_;0K!BT`h?vlada9>BqFq!KS|~D z;W8PiRLV6P8Wre-0yBm>aMU9a1PCN5;Ao!TPYj+;ceaG1_y?EFpOy)oO zwnKMl`izbxmU`ry^4%rF+1FFA^;gcm+@^{tNf}SD2k&U@DLS-y*SzzBb-SM5o~AU9 ztT;3A;(2S~+Ub85PPvyCZ0f&$)%jhCY1U5Dtp7U8E^0=n7rm+OzS}VK!G{lh>8hFi zdwte*f%FL&}`pMgJ@?SHhvMC+^(J-tp^$ecMKk#20r~vvURWFK6!G zyZ+4H(f)%Q$F8(IZmvI(8E6`Qd;3(+YgVgU@p9$6anHntcl5~aDRIt;QJ7SZj&cVq SFIOet0TtynW#?9I{{DZF8h5Dx literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_1_2.png b/resources/g2/track/intamin/quarter_loop_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..374aaebe715afac9053dc41aaa89d632f669e590 GIT binary patch literal 1173 zcmX9-eQXnT82;^x+lNqN2Tdqgv|wj0a+-sjaK;mEqs${a*a3~ycr%x*LQQVT4NI)# z%t}(R#EUdop)++JqrnpzvS>9mRy@cEO*ocqDe=&Xg`F_5LX9IX%g+*$=l%NUeUj&S z-^1H`yo+0xw*mkbcW>?Nt<@E^c)Gcvmcwdy7=Q+_ecR5i+E`atS6^S>(9qD>*x1z6 zv}n;H1VNgcn_F619B#K8$1$3wIF1nnza)u~NF^`Th1_ z&=m?}(HNOXvgr(;%S#0#Rw}DBiulMjk#WdAmm+vl5C#-@Mgcnq90A}81CN3bDTg=X@#iVg@Wo1!T2XX3#-etCaE82S%txjLIwx^P zL?|YtvKFc26LW?J%eu`@cu*fs1SmShaWO$ihC-QGET2jl*=%WYvQnu);1q!;f#7Ky zopW*pG*F_WWxr~LausE=nz81KbFdAy*$9Wj>vD4_CXl4Wuu;CYES!nO$I}^8H>xEH z@C+hxHko%RK{Oerv?!NL2F5kHm`_?oy;_}x6aYQ|BmfiuGyui{C?f#Yz|t@*K~05b zk@Wx(2XP8yy})DvMFor{wh1no1M4_pIhsG0tp@EM@f`UU1p>f5VR)t(HVi=lb z8L-CX3;;abMkx+fb@5q`Xp&0BuT?|2xkO<;TY|-k#|{V=;>B!!$`$1BaDY+dpc-R4CAXKNk!N;joBf5duq4xJKi7 z2AgD2%jbr?3(6jt#9@|#22(qJ;<>ha4}V~=w}%6-%v|fQ^>laVrkx!hA3W+mdT7;S zU1RV}OUJ*vSBqah^Ur%7Kd+I0Nk4&E^{xXO=B=j0-6rhz()7+dKfun*m(B(ky3dWg zcJ$}z*`}&Q(OFL{!mz}=-_~hNq(shw|YL~aY__;N+?Dy!N57Bd{ zkB`Pry*N?0(%-l2{F$5Yj%>KK|IZ~mrn=vJ7GGFGuKR1%C$DaxM-M$%IYSR$8)!Y& zs}B!-)OzVc@ui6)>-N16Y~Q%0YhYybH+k=k%jLOg;p#T`?jN6jXSVO;Pn-6Czr6qW zYH!EM*Y{1Yy?1tMW}Dt2D7f2Nfzbqsm1}!po^07FK0Kk%Ai(deOpaC<~A>3eGU_X9>yodHd)2{_%O9 zt;_2*rNuLf0RW}7OBSuj)_K{OUYM87gP8XU0C`|}U1Lpl%*n~g&CSir%gfKtpEhk; zK|uk6Accj6MMXstxm=E-Dz%!RC@oFvS(dTcY;LzV5a7e%5kW|2GN=j=I3TqpdcD|W zl9??ky90N7NPoZ(46%`@Ba!r}m52^6VYCvfPUfT)UKTxUQ-|ETNPrQB?J2=GnGS2D zz@P+X0yrte&mbX(DCQSuB2t)A!HfY;IUx+o0U!Y|AP6H8S*22^LgB;l!z4LuG{&sf zn_e#rg`}uhPDoUw3^yn=j8bPsX(!Hl)HY7*3R1p^fftN2OsdkzaZ0JBF+HPZ?4;dm z@bU~FwT1;(H04iBhC~DqQ$S(_G7C^R5zH&m1QhxZ!9;bA1nWyX!|*Vv6w{d0tWi32 zxSv)BSt@FyV{SId+0r5RWR!!+ut;t7Ngc_HThiDAm@sPxs(uwnFOZQLLNW?K$vA=&)Pka)MoJ{lbFZ-L~JCY*6S&g ziMCi6RAs|dZUW`hXh^FXA(bhe92#WMs(>C8@&t@(v&WBBmP|bUfzB266nOjk<@RiU zy>`(%jc-rn~S#nIS}f&wj|NFcJ)YO#q9#q zykE9XRAts3X~1hc#>*-zx?d?gx!iLpj_~gvlC<`tE zr^jah(Orpbuk`ZOQ=gX3?flUA{6u2a`SkDSD_TA{7n>VsS~xVL{VaV(i|?y0|DkPF z5p$~Z#KC(5J%gIUYoE088w|Hbdv|TAZ_w53IMV;!L}p;zo08-2 zJ$xz9vir-8MaSEx^BrE{r_UZNyHU2WqlsSs!oP_J$YA0K$rzuxlf@5eYw8yre7Cjd Ef8McNga7~l literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_2_1.png b/resources/g2/track/intamin/quarter_loop_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b4b7c2aa9d8071dadce93dbcb3a3233fb275d885 GIT binary patch literal 1569 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 K^Uo|=QTIPrLY%Gu literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_2_3.png b/resources/g2/track/intamin/quarter_loop_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c478488da20c559cd9074f8567c090a1760699 GIT binary patch literal 1131 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 QCefg(VyXQ6!q2z=4;N^`Bme*a literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_3_2.png b/resources/g2/track/intamin/quarter_loop_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..882a574fbc50ecb5dfbb549e896f05bec2a32cd0 GIT binary patch literal 1516 zcmX9-e{2$W6#w?;)wT|`o2b}bBb!vIMRO`KRL=^P)^okuYh@ei8QG+UEjP=|ZK6^o z8FN%|=?sggw4RPyoH*Si5j(a~gA3C$#mXj|%;H2_BXg*YR{I^s-7bLkytF1PGd5FD*#CpX|*K= z1In6YR-3}%B;8)xA25b_TRg!jrHDpR#1KNW2DR%XE+clvq6|1RVJ{O4S(7ntBo$PP z04)V94(t@-W{`kQ5OtTN!y=fJ!88p=?GOgV0FVIC2*L;iW|7D)k#Gvd8Ila?^-;5V z*yVzOfCwuQ<3bsUDrkwCk!sAC&aN;zl@<@t;itGT?ThJAxk#oKD<~yg3-_;FIq7NI-yt5()_Q05t)L9g(|)YOh2az!_d+iyOI=JqXW`(h{9q#Hyt> zjl!){`i&HC(M27`gvXK!I7WC6Oauiba*0%f$@RFBr6`+D=VV#0%@%OEc%LsGiKJ2~ z2t*8!I1tP&Q2IqwSgMaJtqCocWc?|7B<)R(Mn_;SQY1D3zI!(C8O8K4okjESiIFr#}Iz0?=05kv?0k8w$0U!iG z0s$}sQVC5)=;2^2N=g8Ofesw_)F4IzNCC(Qp$&r^34I0_w!#<(UKlS2gc4{-#Gn(J zS!st|?dEiTzlG;L$s`XmS|UBbOhvd|NOCCclQ1!bJ*D-eS^tP5JnD!SYj(L<=fRIHQvQDwY&GPUNz}hS#e@aACt`ak*n=`b>qSs)=d9H=-cZe-yCRs_*GiFB>3Km z1@zAL_gX)^bffKh#nsir-mg_NOPlr4vd^=I{?rq7zwIhV#!;^R`MANu5eb>5-!mQ>ZLcMq%b zs@Hs3T#VkU?VC8Ep{DY|^mBdFTQ@il-m-*%jxz*$6vkb zTN|?YRBum=glhKQ3*-x$b8j_87W{fj*i>+;5-s9o7nXJ&Nh~wDiQMMCLU!$gyWJmF zHgBySaMA-ykoMhe>&r%Pvd!~j=dydDfPccpkT@_7^{q-3-#r9FN^@D>gJF5S|e`-mcete{-YTM;`^=H>LlwP`@ zA6@?4J2N)ed+%4gF6(~7ZLL6#&wVSmsh3^(O5>9!({Iqk&2`UlQ&(@-IsV4vXL}3v hcTBVKRWa&m(I)e1ZD-@a-b`dcT}{2}&0g0lM2sws(?%BXkP{A! zlG${mGn2z*5HOUe_ebVV%&=mRsBvbRL54T%G{duG5;REXLOEyA>b~9>eBQ5r-UmLP z_fAYs1O_&2+5i9p^th&XD&32oWowGMn05+IBIK9srJ32Z#J3DPQTUS?CcXxMB zPY;G+cDuc|x7X$MdI`eMFf`Azf)J7UxN0O)kH=SXIaDsY z38$BK`8f|2_60;d7$*dUlCn%fW78#Gt%Zw5#6!CM0WZbltU!iDMoe!yOLN6)(U&=sqU&Ba6!& z0V38%D=tp;go{4WppX6`_$)tFF-k4A-9OeFjX(x0ITjUmdce~H6e zK`#n>P~3;I1S--jP`FXrE zIyv^w?BE;YXO=_TUWDFlT3 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_4_1.png b/resources/g2/track/intamin/quarter_loop_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c13e4872b33ce9b696cfecf19f71c6631a9686 GIT binary patch literal 1409 zcmXAoaZr+X7{`B#3Q8V%w6UTjM;-0nIc)DvTG+iMDjLq$cst3cuvl@EE6%9cVn&4< zXH>6??dZlfYTROr4AUBGs5n{S$#&RmVZAw;PHAgJ9X8vnexvK|`#jG*|2*G6zMrSH zwnmzpGcN}KkXuz*CQr@zsVZgAQeCg8C;)&4YOB|lr`EKzwDk0J8jY5bk&&61nU$4A zr_&h>Ms{{KhtKDus8Axo2tuY-EA@Jv*=)AkonEgm7#yakL^6pA0VW2xjHy(zwOXFR zD709`b_eeEs{8?cIAV>ByCeu*A!h1i9Fu}ass&Cx+GUmm?252gM};hL$~Bz`O1VIV z00Ra{g6`JQ16Eel%}$27FfN2i6`Ua<4DtcM0Z`HDIu^^s<&pw{ODyif@sLInHJR=> zoiGsKqHI3K5#l_tN+8uC3KOa(#d?Rt?2+00ge$D_Q5v3zE0prZ1R_(5lsbvdf?J#_ zr%&gLn1Ylo5_iX@11t=%3Bb_+o)HL0y2#0qdIib=ri&=7F}*8624NSDu+<{2L5f%v zVz*l2*Ao%5I%?OCd(4S|eLCWS<3Sc%BtR6XNP|fX1YuRH9R`EfY7ID@5uYzMJe)`* zAmHkNz)nZqEQy~>gb__lVi{Mu;s$?$98P-UGtp_tL|7~lha=_j2}GzCi}fY>L4sVFW0IuzJ2;FAIh2ao_z$AMN9x^U>z!mtHWF7PaP5s*oM0;g-$ z9FqaDky5uy?f07_5l=iGfhjMp2B1bJMsjc$PvsNnC^4B(dXfhJv^_lIi@|6@zy=~7 zT`FWLF`kw{jT#wg(z)S*JNNNC4Uj|2_Kgu^%zSMZ^V2TcO#K%ozV5m^d;Q6clevme+cuOYz7 z$&qaUqzkLcR;^ujr1=wN=XepL>;h~ruk6*%RhBGLyya3R(~gF)s`t|y=XJ=k6`qNQ zjf)y}ZKrQ@w@)>F{go*<&pu6>z6XGwvBu`pH{#7vu>K3 z5n9>uO+Qz@`N)C&>(_0}ZJbzmVW{YQu;=%mZ_vJPn*CGzsWY_6O6p7Htbs7KlnH_ z{9o7kt+!{6R=z7be(dh0X364%n)}^_t4j8C=tpmwH=GJi=J(|vZvL?3WE_+hX743x zPYq-kzq9PyJ0twNXGO{Wc4P5nk@@MWrPpRPwNiI`dVBlEh8~wsrB6J0p(2Es6PBl} f-q&|c&fE?3XcpR9-4}~e9D%CxnzFN{4F~@R66AJI literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_4_2.png b/resources/g2/track/intamin/quarter_loop_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4a15264eb8a576d6bc809f870d2ae7c10b13dcb7 GIT binary patch literal 1142 zcmX9-Z;aD)7=F1s)`N*vrz~NFC5%|G;s}i?I4gGQhc;4l2@RRD z4-1T>$n-{TCet)=F@qa&CXLQe;(`|(q=aF1SYRKfOoFoD&@+zY=LpI3{`>Mi$@9GL z!I9zMg87T)1Hgj8R|Yn9>*8)K?eFboRUcFVdST?%(GA^k&YU?tJw3g>y?uRsbLY-= zI2;&;_4oJBn>Wwx^Z6*s&$5glaFP^O6giPdWHPy8(I}Uzw%uyCDL*g);5lbF?21Oc zG1Z?;1u|JaUldEGQn6C?hR%{$DBzSicRb|PBqFC!Qwi40gepbZo=!GxeYRB&dO##0 z#(*YZc^NZPcrEX0S3IccM{N;xG=$1N03JZZFd4_=9*;&4dLS^x^V5+?Egrv>%OTVB zP%a>1If)L-teoVNIWcF*h7~W{ zX{(v9&zd*`E&<#T@Tx#)7@czmi$vIDWGj@aD|$;SqbZ(rNwg;xBvYY4USdm%U?rql zMrjlhEi*G~6;Pv$yJ&(8QFMf1V}g*9q--o!Or^|R&N7U8wc2X65O`!DG8mP|*^)=7 zkdZo@Y=re@tklw~?P9Z2n?+6%$7#1a==BMtUkU^ij!%l+Woj{%p3WETvem9LAaa-@ z;BnEbMaitn6p}(I8<{S|Yi71tE4SOX5CaebPyjT50>Cst0|V3r&mvVp1s&Nno&cGG zGy_HuY#xvRNOq$Xg>)VnQB+AHTZj9`)4;J1;<2dYj>pKf7R>8Xsg$s+LbGY1E|(_) zlR7VK&cT%HXIhBQAt&0%AcV98HOsbl*#$4JlPES zkmyBm0%a*=Fv#M%$4{?x-nst+dp8XW@Zyb`UEO}!;J{0x%Rk;<-MA;Q>Y=`oI(qZ0 zW1suv2OFNRe)`q{=dy`=JFXu;^7zq9oeAdR+WntzdSPVA?Ul97|~bk1GAWIQqcyMwWh+#^21-+lJZ_JjEQC$28MTR6OP z@!=h7SFd>P!v4vll~YfBwdLP+ycBWh3ojnpJhXT5Hj9O!+~ws>$z1x$lf6Hjy1SD- zIQd<8V(a;B=4;0U-`kyqQ~#}A(D=E>{qpfuu`l(TPcNyg7{8XYqC?8@)5nbQUEflF z&$J%f{NDM$VjFjlQS7=s^S7SZxAKvx9WygqKD%)CoAEY=3pd|6l)ioA+A4M9m6MO2 zxiUKT$HTAhQP=%>!8;Jl-A&FiK4+ft2 A#sB~S literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/quarter_loop_up_4_3.png b/resources/g2/track/intamin/quarter_loop_up_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6a2bfb9f43d4d0827a615c9eeaad82bb934003b6 GIT binary patch literal 1305 zcmXAoeQXkU7{`Bou~&=AYE@j(p`xMP&9Uv&tCD!yYljub8Lt!Txl(tVG$r$l)Dp)Q ztf;IqiwS0EFd-{bwlGE8IZ`nr^`hvAp04ZAU`8vh#CD2`OV?HX4P)|s-u`*Me|(;& zW4%^AwWPcR05G*~P0fZ}U6zYk#Ra*10r%bppa862S6`bO^YZfY^YaS|3JMDgCrz4E zR8)i@NO5uT6FjQADQ_aTh;1%M2eNk35k-Dsq_jphw7{t>r|OMq%ELvg=t?*A4(WxxKyc@t7ufi;tWS}cFOM6 zdqZ4Eu<{9)koG6XB4PrR(LiDVG7C^R5!@?L2Ng_&-~^o`Y4T;9JnW&+G8UJb)u=vL<=@H?lz?YwoJr5CIn!L7nk7*REOaPf;7{#gJnHtbI{?4c)da>lOjYmA`IG@dqLIMCC044yO00aPt0+2!g z%!wkQ#RLOBn21vfz+u2efRGv_C;({yISF)N&_}_L5ytE=;R7$h<3K|K9fcTKiPem{ zoNB+14To)l5J;y5nDdev0A>*pP6_3c=|c)Gp>k%JK-L@{bH^q^Nf^&4$^b4y)Jic! z$c!{*F=(7tqt9gx2V4RlNGEuhP2w623;~z`5aw9eb9S#JwOKr=6z*}qk|`D=8HP3* zS&N0klr~)HCa?gBMKsEO3Qg!Uk5zo2bm@jW#KC^4#c-21R9MwbgqCVem zJayvqqeKThIQU8Ba{uwR!Akee?#%4hs>(~-Pt_H#Td@57!6x?zdhY0z508X59WHGy z-ZgV#fwX<@{*mV|#>K<$;on7j4+N$)zq@t$?A<3@QhzU85^So!SvjZvgWYF3OZUAs zd-{@3H;U#iUDdxxIq&D%iai(kdbVD(E&n6XLa*s9HMpPUoxS$;(*xJbN1yKPK(1Dm z?6|Z4^vufym+CC{e~G_25-E55otbWq#MoZW8TIIy^LYG2`u``BL!`@Xgnw+{7w9PA`# z^7dsrhTFTg4s5^vZP(87@gX+Ut=i4>uFZ5c4%{1D`C#)Z+pW9!yDbPD-~^xe_l>J(6t!ft_xrIkN9a(-taSjPw-w; axGUYX^oLQU)%GmM7u3~iYfe`;?foC_-$@Jr literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000000000000000000000000000000000..569d73fc3bc71fbefeacb614782cf05417729d7f GIT binary patch literal 1318 zcmX9-eQXnT82+&jZXaL`MJj8wa|LQrpo0?&9&%&1S)jN>j#0HP2i%~A$i`ff8Hl~p7;G? zMU!D-MO6g=VB*px4J!+^t`Lf{;zIs%VNU>nVz6TQs>Z@NZrr${qN3vB;*ye*($doL z#HVs6h#6 zEwJH$r;s3vMBK7eP@az~VO9t8G#uq2jH&@30iY3tmB}1RC9ly0Fsz#-V-`!w;TZD! zVI-nNCK+6BcBM zFh?bvOv=k;1ZOVd9Z3i<6P3yJ8m$S{TX4cgQErCu*=!-VJL2~zL^0jhm&@fKP_jVd zMbMy(2rH?$){-V%8FL_O3+MR0d?-7b8iAEsnM|)x7*uLXt79;XGm=cN9smJ=7yuarzye4D z+Bql$pp+stfJK1^2ciK;B!CovtOB}G7$Bi&g>e^@0^q6fdSE1giA1c7!eP^TctbG2 zgu~86Lda$lu)w9X0MuTI^9nMcqD2iWVSLUkrcVqK+w;udE{p;K9^49)$`>!;fT~swW*|~kSscm*%eQ5VPy*0tBZ2aEL)bOb( zH#dEt8h&ou-Qk+!X8~U}*t&Yw)Xt#!Pa!>b$A_U6liwVB{?n^l2ev0$#)fPC54(D! zYg@Y3&nq?gF3n%~$LnYAEb7>~uB~PE%$nTH%^lXB;8gFy)!U*!C2uacwdvrAYRzva z-xJP!f2~AQ)&I=_3a_l#-_rcof!8pbcuDyE3e(JNu=Kr!zrWMp@Za6NWA*wwqXpqE z54K$HjBOSMUzQBcBa_sNUm3t2WUkk?pQqnG+7YfB=)8n&o-yrW`_bC-$f+M*Ja$-x zP6~{eGIM28Jyo@M$E(M;?weaHOCBFsKTYjF-SU{*^7*%OcKx!fcixR zl%6H!Tnt^&xm-x`rh<&25+ya_1xZv)lcB%7dE!P i6j@gfA3R<(R&=ZGW^9lD`lEu`U}z9TevBI^8_M3Y1@D#5fmE1yXr2 zZ$x!dG3uG>M$twCI}gwxa6|wuBUB3YW^sR!77bsbDy18;4s#q~7bq<3B@#Y&MqmmO zZ^VR3QmSdOMlrczXt1W+>=aJ;NGeD(VV+M2f*KBI6NzFfW#seKa=FoHK!Aw=Pa3#~65p|yv1{^SoLzRSi8XBx+erl-a@7q7{`hjU4jQx4zsMXshC-xnDaQ5x9&%UBR zb{BIB>KA9F53b(x5ZeDj#;>Njell7;*T>&f>nee#EP zVdQN8injLn&deUAZ(%;^JTN3U$paiyV; z25K*VKL5+j#U=F-_3mAlA3i@bHt^)vFFDb}UwrlRjSr8W&W((em2d5beIC9(dHjU9 zz=hUd`)h126u)6ly@U5vmQ$s&||3?3n fTd!_iTbw`V=v)6ZAz|nx>rPhQ1 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png b/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8248f3a0ff4c30ef23d56ee23ea9eb80d0f14e91 GIT binary patch literal 1341 zcmX9-acmQH6#i}9b{iY(mWnl0XtfJ1sZj86#Wiqa9dzTyZtO@3>EeM0bhB>fC|F3v znw8K=#hWQmVu=Oo=%7dgV>D2(VuhL%saj{jV^nCQ>f)+4WU^)cEFt;c``-KKeSdu4 zd%vw!JA2mLSpb09%}tH%d9Kgb+)`e?FZuNJUI2KYt!2aN{8~^@P*_;V0)b#8lHj;(E{7@srUnFFuGb5U zMzPtVv^&%;H{lCVp|B|yccju@jRMiB%Nbl~)rnbJ<}sneHci;2iv<`iYR_=q$!tU` z0+a%nF~E|Dk3qr?e$pq%#Y8ZpggFXMvk*q401yCB2*U9BR*{I6$-HXyFhN8OhNRUx z?(x8IScD3sm{3WG)s#%jD0EhoX4NLQ#^%SJA<`S8f}BCD5-GJ(HL1X9m7dWscEawV zJV7QHw?;T;JmX7EhWQu}kU(evVhfP5h{_|>24wm$#>91wl*yZABXF2d2xyhatW`L4 zY9Fl$naH?}PP$BKzbzYfO~(B&9pMX9GKCIR88D5RBpo#EHk$(uN7&bg`hsZCL|(b3PVa`PwTxIb12Iua)HcrauSv+_P=xp9aApaZ}J01JR0fG7ZI z1i(B94YZh`-wU}UAp;BwoEQjd0Y?Bx0>}uV1BG4!28}RghnyEYFlw+)r@QSIRjN#O5R`1W5LzAx9bT9>zS(yN+#E4eO z*JENMiCPReYc+bE){x&BkN7iO1m;pI9EU*wIRIha3wvJfDMU7lJDpa!T~A?(#WZ?7 zX*ALn3xg_cDy0iU{TeikD-(nwqmx2P46QQgMqv)uQshpZvhi_Er+qKfJv? zKaV#zuG+Bt;Gpy1hiOU0zCBP^K2Sd;zlIGsdn%T7kNCOQlI^372e5d>jj^5y^GG(x zb;IJ#>lT`C_^K*bo)Jl=?N#fmi)(ro{^@D@zI|w(od1oi{ZQfPK1pSD@cR9zeEPrn zYnqQ(Zww##z(OV!-gX#bAiUmY5F z86SLLSlpH?np*q%V4}>wLiqu?WfAhqy^B}QotekG1+E^SSk{6y*VT`B6d$?vf5Kx{ z9QA(v+qb$7^&h9V^j+#jh8im8m;dwTHA{`<`NngIjasDLG;m(E>1s!9b>q5Sw^Vrl zMTCC5yC&_G9344yvhUPqr)F(kdbe))kN{7t^o)VyhvSbsx2_-E*iY>4-=LG1iE6rg zCf1!j@b1SaDyg??>!uY~3fBI7WZV5W&i83IK36EFyLYU)xi`3TL1Mv|Q}eo9qi4(h zZG{(3e7D#+Hhw=-De0OaufuIEi|N|%if+wc$%#8%Y-cZa6CSSEI-2`o*H23IuJv`> zhdW0le7Z#-Nj>5>QLgEGzg`|RfR1A&Ri97og>vjd$I)XK9ySkk9`1dB%~`Vai?{05 zj@C-97VI7><1J&Z*^Z=6Rt#hd?i@U?-u4K4Pk4K#VW!ybzGu9&C*76L0BBy_+IY5M GbKn1o4NV#V literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..6029445014cc319149d48e23bbb0058d1d10b067 GIT binary patch literal 1228 zcmXAoeQXnT7{`Bmy>$cXQbL7Fy3xp?7gFYlho0ufuB6V&Zte(G8Y%IV0tHXGX(L6d zmZXkz9#W-Xrv=K=Y^PS+0(2 z>+2B&X=rHB>2yYm#e(Bjnx7Hfyr15 zrqd?eV4;jw#!R|VJC8X7I46-pln%;{aEgs*-HPTh6DF(OLb8~HBV0VqhnP^z9aDHk z4P>;iT1@1p(s~LQSYY%3vmc-mLd1;rBTc$3!QY;OLaV zszELn5ejm!l#WcPGAv~D1_H&LIN_maAIpjy7xnp)qL_}wR7J^;j+RO#2uwUcBM6?* z(L^wTxQM zQ^4&&1Xdq#nyo-P)&UmROo>9=&+mabUv-lw}< zn@_bgw2#A||LmXWne*C$z4xv8u}j;#?WgoW%ePf;JUVyVJ(sB;sOB5XH_v@#x@SolC@cNeyKkJ(|Y`8k>R{!dmzqMbXmYm+#y8GY^)H{A= zXm(+6;JWg!uy*b4mJO40*PT1ov1h7xXx6#yW&NeWNZtRRI zi(-e&GtZyuop$_`xP1|`YgNy1c%pZle)|50x(CVZF571vYu@@F{{~CS%B=1NC8>IBS19##hr5LWH5}%GMH+KrA(a$7 zvPLS_<;IFDQeA_MGyVJw9Xo9Y$m~m6&x_)X9>yk{`%*A{&=4E zJ-EKdGH>ova{&PJtn19ZmAb4F&(v2}@~(qq3V>>`{*}Hpm9eU-YR;TF)z#HCH8r)h zwRLrM2!hnt*EcjYsC7CWh8YL~r)iR9?JgJR^?HNBa4aSzlbKwuR4!u%fSUkCD(rTZ z)2VfP3_iap7^0#vCZ2GmWq-a9A@qpNq~J(3Z_^4a8g^l0ULp~+rDI$!sbR^A4IfvG$F<5jaT2Hb@J4bLn$`@wB z5+})gG8d4G(fmw8i31f4)DEEa08~JXVYMZO+7mb@+x&S~q$DKa7^PRSMvdE|_uEWS zmWaD(*~?~wu7c<-C4w`u2n$K2%82T1n9+d~ZkqP9Y{>17`TdD-SeB%GCQ~YvAkc6C z4I)@nNyIgDTJOjczJfhcbjM3VrW`BIW@n&6uT&bkX{QCwaHZ3P-A+55tjEJ) z2CvZ(Y;5~LwR>5DcUWVDb+VF-f~4rQ`peq+1h_M;ov)!RdZ)qmZ1v(ksG=B~a~ z0|TGfzrC=e-aH9^X*<|G+&KTDT>E2b{NstemkLi@eVevU-9Kzhz-Gm0U>l>W+A3`u z+C6aRpHutm_Oz&0WE{U*E#@7qUp)A8Q&r~*>%RT{_xe;To8l@`M~)1F1s`p^@WZ=< z9p5QRTh3fNI<|T6^x2c6*-LhhWg=ca{P5v_EAjpHqpC*D_(0>?vA)Ga&mZ5^dR*ks zcfWAB#C~txvE>F++jGg>p%cu1ob3Hz$;@cx=+S3ap7^`}v(EMidH39O)3Nxq-uCyp zH!Qrqt6^#1@=57{6-b&|B<$?_itTp!6&}-46PlXePj3J2G2`p$i>6Iz54Qt)_1lqZkzI5 zH@!A`Kpgw|Jpaw`mix;)dd3qwKc6hG(!%tH$hz^q2ioD9?8uX;u06Nkn%+GB&gGw4 ZaWE}5Eqi@pZ{-UBU|rK=KGD6k|9`zgFt-2z literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_1_2.png b/resources/g2/track/intamin/right_vertical_loop_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..08b499e0f8186f3dc10e4fc829e5f0513d0f146c GIT binary patch literal 1395 zcmXAoeQZ)^6vp4ukK0<6Iik!_gAOZONJVqkV7*qlU6r=DUiBJL?;@J362)=tXp0@L zIEf{W=#4{16fMipVaFDQ4vN#-0c6N47PEKxa zZeCs8aBR0|5cb6Uq5fLWrrw3Pz$bp)`x>9k|(}wE0O_NbQSigff9tA;L(Bl9o{n&R7VG zQ|{UvWsT`wNj3=E2?>vu2@DE} zRfV}}+^;9YW;$Zm$35m`z@83!U_8j>$;1*BD$~eu14&wG+F>wwt=53k8TR>NeSOJf z5&{7O#C8OAb8)|b3`sOG+!Ci;34=e$_NBauiAWk2O1NAZpRW*#NQsojFujtns58fm zUaPI!?TrS*shAw7m583?n$$v8D{&a*9t-JrXu3V7NWhVZ1XHP}P!50!06hRK03HCk z0f-|2W*~5A)I*O8Mk9n6FetFeflmRV1b`%f3?Eui=pvv`3quwdb%9sL%YYIGDgx2c ze3L<9V-;=}?f09*VNW6vh8Zn^2B5}5Im;(pLbXrKL@_o=c~S;{+8&zl#b6{U<^h=y zQAoLzT&N{cqejV^v@V;;@3Do0oJG+18f9>y8$ZQStyPN0#*(>6ViLl~JHB~RW zFLn-(ZR#9gk3TH>oa)TJaPCHl`ns{L?p6&tds||0V*j-t%MUmgyl8)RrDJaFT+?>< zkuq$!ZFeK~{78O}xAi&EwshEX+()$>+o?Mh_k zyK@WE^%p-L+>#ocTfC!Xqj*oCcGc;T3k!3rC+`v45+b2)^DcWL)BjpgL%#597E2&(&FpH^4WRc6?N>+X&AY`vv$MnCB0joJe|I`gh;h^ z_1xH-+P{%qUNPP%2!3SKaaR5tdR*pQSi9l-@fx6;eAKM!J=0KB5$|ahmR3{l9cR~F z`QvKK#`8zpAI=*+?Mke5FCL4(p=+wmsT;a8b8<3WI-1R!7;Zj+T$yEKUW`9zsSSjF z6AMQBTckO4FHW`9cOG0a+PdJ*$@JRlU+)`sP~q0$p#!5wdc2`wv&A#Cv{^8;xtz1% z$s*?4Y0I_aKj=1{eilR~`}5$P`o`4DE{E6mlXg-z*K~;fz2O_-*6m#d74PgC$|MI= Nt*lvb;lr&5{|EV(gvI~> literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_1_3.png b/resources/g2/track/intamin/right_vertical_loop_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe180289de92033e02cc15263d20ab4bedef910 GIT binary patch literal 1651 zcmX9-e^}CY9{(gIC@WNIh-_oVp0F`vM#(iYOmvvvCeClgQ?&5nl1p6N`f4nxFsaaC zM>|Y(tjOb;EXnA{3NJM7Vn&LF=Cf!ckL~Ep4anw zzuKxQg$vVj(g6SqH1=kH-@TgtW9Y3WLGmaM%I?A4L(FOoCxbtyXI?SsV_h$1@cSMq@D!8}NBRgb*bX zvO+;uso6R`&tw+a98#AX^ZE6muvNgqi+MyPLeYrn1{u?WaV~2GZj;#OPzJraNYEOO zdW19}WdRi*7*M=TiFfNs0UJ5yqrnIp#-uP|fY6iFAOb*&$16!B4UJ}CGOaw`Ws%4$ zmj^VO8H)wF-82rF!KbiAbe@zcRI0BCH$l#$YM8=gU z1xlSrXOUW*N~d4r2^#$oTPW@(@c|hH6gi-)0n>ozS|~yXQ{v_;{bGFxvqlXbcv-|E z%eXX^kfj&%Y%+lhL;YG=z=VbE+Nj$U_uFCELn3pTEHQ^G=L=LQs+Y;kDwRX8cUvre zr!zD)6^%wApeX^c8<#9}j$4}cf| z3;+WFb^yEpgz*3-Are3}2JKcD42YOO$pJ<_a0)?C1Rx5ak^=P{Xca-H0{V0?XazqT z&jpA8h(&mXjG|Goj0U02Ds#ECe!o2u@xvq+O%6C}BHus}S?N+IQyJtLq7r*d<%*kp z31x!T7&Hp2QRA{3{T_QH=z*~i7eSyCz#xDy>4h#y_X}uR zwK*K-noYj|^Z5i4393-Y)M_P%t>v;!e2!hfaU<+05i25QKq(z+n9$6DPCoP_$>-Uxn)RRwma@YI4@ly|V zNkz4jyXuuS4_;c;6wbWYAwj1Ghp4@k>krYNuT44I^3M;BEm8|s{uH<(5vuItV3 z>fUzFQMc-df~sCt#(nRbiHYxXx7;D_?e%r%q?i9ab^gh@k!?yxU8do)&%yqT*x{=m zzS597ne8M0s2zTnnH6+gm^b^z)jdy!yGENU6VGR6UJ%y*>Gm?lN$>U*V*||x?XBa1 zz6s*kWyaE+1f{h3l2Wi1Qe{J(_sZjm9X{+xSJSn9-;LkQzy9vbmFsbeBwEya z?P8Bl(xiMqBdg_ykMDc6Z_V8_^3KtWlXC1}Guc*?*d}kQZrFU{%lZp# z?@<>cOG}q;{&@Ii$A*7giyyoG<{Wj`@Ci+CI=1z6LEhcAVe0D1!MrUc%pW@9XBvmM zPpJdb(*rwyx3%irtyb)do{ZHE9q8FdFFyH8;oIwaxyCPw`>!bG3Lai5x$)zgwb`fQ z?eer21B)*m<*m56>+71FsRPvI>(5v-Q-kYPo_RF**S`sm@n+9GJxXX-E$X^KJXqaw zr2o}h;@|e?7S#}j&NYsNk?Ado+0I;Xm)FKh(GX`lLP$zZ}0i;j;Wzs~&Qz}Iy(FT39S zsi*k0cbd*N=I$M-TG+94{6J>8@fO_E_$3-);TJEuIJ1fJ@9mSP(UZ>}7@EHw=_a+> jTAKLCOQNy>v9%;g};=OOb*ykR#|$!q^9Nn^|bVS literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_1_4.png b/resources/g2/track/intamin/right_vertical_loop_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..33022b998c48690932048f6bf4d52fce1612b6d9 GIT binary patch literal 968 zcmX9-L5SmI6n-<)nau3C6SZKM37A7!a)=rsN)CaIyO|*lk;$+bDQko%0lQcAU=E9xr7)w6@SA1fd++gG-uJ=x z-scDV(!~qg7XaYm-s?Np^Z8s}&#bTH{crQz?*Ufe;EluGoGvXbEiW&xtgI9Yh1J#7 zwY4=2!`9c=H#Rm(<#L&28Br8eRW=OGvP{QuI-TBN5XA8~P3MaR%YeXxB5!J1u~sAN z4W`-RJ6)we(8I_YC9Ubq6KSl%Z<=z+u8^)l^(^+t5u;9JG%(X)GfTa*c`Om2(@+<{ zRk6N_MJ;^NFD^y|${4iJ(YcFITn118bPO|b+$IQ@qCB2IQj}q}Idx04wcAU18tUo=A zZ~=-cl&U~BfO0XeSCR&l771ojX-zF}?#Adyp^FAb)FrxA;roUdT594Lla4j>oq5zb zOMEno@ghgj6_%?CVqH~RhS9Cp2d!4r>m@-j9gpYpIRe52s)Mn8Tnq_yL|3O`bEbJ& zJ)FDa#UMMMoS{t`$GK8TBFiex7(8#uN>k65H3qHrus=xSWHA*$moZDlZJl&$bhjb+ zO*QORhrT_Dy4fUNEFK~OpaNh4xBx!D5MYJ@%Ats;VIki`=|rKxWT7oUAVI1CQURGI z)MAmRprD3EO_X}@ICu_Z5h@B+GfH-yZo5+7Gs4hG5lo)TT(ny4=6L` z-MQv3>fu>ubRJC6WKI=cFk+sq2EqoKTBh@m~yg=0zfGslxNY* z<(`0W8r|89>vo>N8jVCvQ)@M&(J)!Y;h2uV`XU?2%vhnbN*U=SvMJPMQ6Qj1&X1pa zar4pRANc6{z6!7X`TKi0`FL;V>fxm?KKS* z{bZZjc`5yQeEQ{I?_OrJ|Av43a_8>WTc7^3{lhhey>&Y{K0V(1>i%!Zef-B8UE#{; z*+-Y|ee<^V)6+ZQ?%|Pik7KE1z`yCoECl7{v?f~|7_jkU# I_ReSj12zJpPyhe` literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_2_1.png b/resources/g2/track/intamin/right_vertical_loop_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0ce36f8852e4cccfc271014a934da5d3e3be6d94 GIT binary patch literal 1157 zcmX9-e~8m|6o1}%m(x=VR;XT(42#QLkm@pstdpGPBr9>|G|qZt5+!QKI*gLtit8lK zf}N`~YB!4OuxiAL0lRVTI_a=V*=}04=x(!FMe1 z?Zq&xudi>$j2S+^-%ry4j$a)!Vx=J8$RVP(%SR93ggZ-M|Gs1+ak~y6oOK{~(xLVNMiDc8Yrdkyq2Ze$d z3#NqSHLRTS)bieT6-UhgYAfi8iBQE4AOa{Drg=ODj+-QD1%qRvI1!1|4C6sAhstG~ z_WD_0KqP_+$!k>Dpj9)dXSsweq)U=jRf=weVDJF%4@#7vGP1^LNimsIaz(A^7!^0| zH1qYTvWEq)1ilCmaUe~M$@%yKDVJHz38(71)iNt+Or*RjgU5I(6%OWAuB1y&Lak-= zhMj1YGgFR@8WoS1A*nFUL|85+Nhwv$#$tt3s+`L?#bSMOvejxKz%?K<7@hZUC0wdf zkvf-b$W}8}YMGPmLi0&&3iVSS599OkgkPcpYA~n^Vp8cWix*PqiG0DWIPE$Mih${o z$503}N@e4$os>%1$b@aw%GqYE(r!OMEI=4Q2QUF_fC+#G2B-s(LvbD17IJGM2^tM) z7K%K$A|MHn=0hnOSt2S%Q8kHN3!WLzfWSdm#Gi&s%D#lyDro*>q5c3y%OD z?`KV)Xc0=0)ZC!ilI?b^G?l47Db`V~MS6iDFh1asSt2UY@rYm=Q7dhf?6gy{n{EZQ z>x>|vA|MwK>Ufdt&^-s9h-VuOCYyNq<{A?1c-T`j*W-O_5S-#X0-$^EbL!bHmUg z=g{U&4|m-CckrXoyxn?O_dI?*!XLi#!qK;HkFI}n-VZl7U+sPI!&7sp%>E@mzS=)O zc`dhi&ioT>==ShvE_RdMSvzy>#`%?t2hKcQJ#uBi*ubI{XHH#}qJ=_k%h}jl+fF{1 z%WwNSfBBUY@qOt_n?4!4Jo3Fv&Wb(y;vzb`8l7MHL1{m6+;hL{(w%*BM@tB;SvPcX I_0|Lb1B}7=VgLXD literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_2_2.png b/resources/g2/track/intamin/right_vertical_loop_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..03d57f760b63773964fd6534eff6029dd98628b1 GIT binary patch literal 1329 zcmXAoe{2$G7{}ih+M`m38!BB{We%5%-W;Y^gZ8G^N;_=N_1d0FEhX+yZ`sBHAOfvx);1Q#qN1YW;$o3VBo>QHN=iyg zOA!Q-NF-%tWeT-gjpG`fj${~$WsO!V=X5%~UVkVQj>X1Osa!sfYXC_Anvxoga*IV} zvuj*#!t0|0AyXu3jVIjcjG)6110m%og~OoYS=4XEhn%{o*ANeJsZm!pB~0dGdL=Mn zz(xX|K>{2Sb<2_gc|NX$Sq;pa;4}|mObq}HfC)i3narV7@+c}0#1Ku7n$1avyIPa+#gPex@VkTXDG1}Zy1c|_}1=tHP6N^%K_ky${2;LEt2EM@}cZ>auP~0nM|ut=v8V4)35|#rD&I_u*@EEdqxAH zR4kEClfXnFRz~J9sdx+Kvy(v=6Y-fxgN|g>mrcg<`G=4MzyN?103LuK0HXk85C99J zb?ZX60U3|nB_1ycfe1zrm%9Wc;{g;h9gn1|N~ z1U3?JCKADHHUSG>N;AOiQj%BDg31&|xfH?YjKRDuGU<&^htn{bL*+oLLi8G$kyKe2 z+-|0Lhehx>B0*0g7R;t%FrU^^6bu8H0uUBhxC(Z!rF7bTnT*!weJyJ|t}_}Li-on@ zIb7q^YP=*K)ZtM|Ge%=sgBqGt(1Ai94#Ol&P=({yE|xxi^#i-wTNqGx|Mu2GpKfZX zU%Tu;&td8I%#!kk-7vVpKX2q-vgES|pDG*Ii+`0oTGPGk$Hp4}ovE(2A?Gboe|Go5 z$3^D`wzsOQ*ZqZ_SUgpW9t{-Nspv$loPgZ&rlD~}alsK2-K*u#_Mzi{n)PjBp9 zJ@F)wUU>a07o@6G&)pKn%Icorc@Xs~jqcJ87VN1m>~+J@{G zzszO64RtrGMz%>$%q@p+R9vn|7*{@B(Dr5LpKs4MWxm&UUEge;Q#bE%Px+R0N2%V~ zBei?0CTjlf>pHpBF!50~-aKpNomopZ^<65NJ1{)Hd{EeQ{4P=b&6WPzzK#Y*i|@(! z(I7Rt{)$g>VcqWsHoX`=IJIiUKu7P{9ru14_+UYGxvFoqxZnHyy;5^m@qTRi!P=%r zS5DSk@03h6zQ9_$K0h?{N#)>InRkzzJ>0XSc?vH+uy2X-B6ojb)vQy+ORpAn*Vc?z zR202)skU|GT7QQoI~}?4MQgKUqj{%dk6KK=?Cbfbe)i=KVMSTlb7X^7e7xn~NX4xlJSuj~c^qnvPHlpu%PM*ax& zim?V8V)Dq;%oG3|S$J{&v_B{PdNvsFd*_*(8bAP+UOscurz0aHqobpNKwxZaY&J1IVQglsX8;al*q^_>? z&BCCmA2=rJ+o3Rp6Dg9)FlURX=>Ies|~a4*rw;&XxO7T z4q1R)K*;x^=*!(hw2-g#`&3202c_L+(`g}_mGXI+Ocbbu&X6WcHn~KHC%jY~i7}+& zs6rx(K@R7KpE@>u^X?CvJ-sNviEF>U;S+mde(ua;>!*I2yWf5|IKDJcF9l~$X`iip zQCbUbo7D31506|wfBW{?-i6ec@9kgSBObW8(Yo)^zs^tmakbXkxOndIes=wp)%M*(TwS2%%f?SHl9UH@=rtra*{pSs0w zzIJVP_xEJvq3z?d?I-n1_Q+GGtl)RQ>|J5bt#qFL`;+IE@%8;%*4Ohhxqpv_SC9X* uiL8(BY@?aWt1JJtUcK7-Ik>&`ZQ%1e-@pAn_oIIfESy}NzwpBA@BR;!KhF{X literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_2_4.png b/resources/g2/track/intamin/right_vertical_loop_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca2bb341042d3b9078298fe266a4e77baae6ebb GIT binary patch literal 1507 zcmXAoadb;}6vuy>)@v0p*%8Eq#pIB*$??=f5SkK%KKf{^>16Rnv~j#zHrZrklTHwA zR5w8oN4A9qpoc?u z0HEKT*?9%Y$xD_jotEskb(Mzzpn(PR7R^kqy?XUZNlBs6XsM~GX=!P_d-p~VBt1Pn zBO`;!;c!q?Ad!d(LPnAbt(GzxjaIAO?e_TnZQ*b{kw67NECRSJQ=wpJG;Ez-U^0uW zHr(k}dVShJ&>V?6Bs@ee%A{mWgPd(4xppmDXO#G?@_?HPH<@B#M|a#WWdS7*=)}N6 zAWjPLndu=XBN1T1m;fe}u*U+Sp9266fD%C{I^DoxS-4z>NK}X8O=@+>V0dh|L!Xa@ zGB{$U0B4JoTq(tq8&J|B(%K|Om#o@LI08yfSk1;*0x3sC@MI*Wpd^$DH`$eT59J9O z{Nd_g%o*wS(Zzs40HzwS^?++ZFgsJ~<|=$*DkwKcw2rvN59@FqgTz=mDbFkyIZ26E zO9YK%$f}LHjB%f}JLrN@Kb?Vbd2$p}izPaOFq5QBr*oUlKD#~W@kH9%;_)~HEDCU~ z2V}y-Ivry&rECtt6Oba2R)(9D$zyuAxw^^e z4*P?Nh!`kkh?bxmlx&NJXVZ&aCcRKw$j6;!Xist;Y#Sd-PS;lCjvupE(2g}L@J;w z#B2?L>eVufLF1@4cwN;&zbh8@!$bs=$)E?oFn}=Wg()fb4wg}Gi$*b<^&Q$kK%!6( z8V#w}Q>eg*39Mq&B|&{MK^xAC$vIHTh6XOQq0l3SL0K~VSXSoKw?FVjK|TSdKe(|1 zfRw5^c{3Kx-cqr1&Wl^;+ zm^-9vB(G!F&d#EFYT*qtIb}!Z-C_p92~W+vK4Y-8;n(IpWnbz`s@7zTYMpei_FJUp z=Fhs(xi1C@`45jaWO@dDe=B9sdyM6$_a;6po|xZJFug$UyEJkx_M%5Hs6DIsN~ye~ zzo4i!wSRi);onqS{`hF@9<6PRrSY);yW3dyn5!ygMfQP3mrh(9z`7InsnCMOlXsuK zsdY>=&R_Rp`kC{S*}I&V@s36H%g2vn6zn@e%RYLdcBOhX%-#PaPNVx8H+RYRDkiku zUwnS+7z{sCrYftyJD`5^SA9x4mz~S~J$fG5`gLdH*xCm{`bSQeIO?n zGOk6Pg>ruRkCFDenk99If9XEjwDRNH2aQD~=ibLw)%<&f-&L}tuB=$d|0mu;n-K17 zAF5c(uUS@p`QcfWYT5DGrYG&?E&pw9t<33Ioz`MkzS?v3LhH6y^;xWCRa2iu@>)hs*}T8 fN6s3?*wCxQ%Q`51-qSCcR4`{|e%`U%PdEM#?ESDT literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_3_1.png b/resources/g2/track/intamin/right_vertical_loop_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fb9f7e819d0abcfa7db9e9a0d62c98f3a40f4bf9 GIT binary patch literal 1186 zcmX9-e{2(V6o0JSZZJs=jT9(QO~I2iqrnpobK(sS?BHOxacGH+R6L=H&AiEBDpajd zT$yD#NFfy}R%x)xg;g@li4~hraKR!MY_Prxqzt&5*ApB%hb}3W8gb#84;{izU)&HJ2;sdbL&~96(dRvF&cR$>+2B z1CDTnip9B9+LOsjc`Z^ZCmB2DqS{5)9CTS_0Z&N8NQlYCT=}%9kA^FHvR=(OE#R?( zp9Y!7QX-a(7>g-WEpI^;2da6{xQtNF2EYM$FibQWgBFX7<4KAd;kZ$+w-^kLB@!r` zwGbv7ZFX>0%7Z&ayDLZtG9|^CkiteYd@}D*b+47QIGi?$x3dE278xvzr9c;&<93E-EE38Hv|I zLNO+ll~6Sst7{4>=Zq#2x4Q_^OEZ3+j|f8C?@vb}*+fE9)l#8QtyU3OM8IPhkuowF z3!k@pOH8=zPFDPxs$8h0E91pFYPTDWq}lAW+IYJ|peTvu!k)&mKspi~O{MjmRx8oq zVKIp}20d2UXO9PHCCq2y-cco3%*HFlT&*^SXaE<01Rw(_0HXk93{V3cg8~v#l1MLd zIEVy9X;7V@bAWh2q8UX9l;n`=L-{b$lW@;?5?BUY9Oe_uLBBmJJ5xy^lL={>QmJUD z!DaCR5oo7nGnce_R9w_4x$0JG{!BfVA6HALSjA01S}~`?=%%eco(OnZIp|A9gBc~N z<&=t^L$wmgvPcD_140ci!VS9nu!I8fa+!?B?nBDw8MmAF`Gi0~Bpe~q5u*u(A+oHa zz}YJ<8}e9D5JzzWsWj5q#_^LK?SJ3wzlrG*er7V z)XTQ%!@KoaYT{_e+h?|S0Kg=^O@Jl&67dGMQK(}+i3DG&CaUAo2f)6svgA6Y6! yY~ONQ=O&-^q7(Bv2fo`SeRQJmSE)at`@j0u#gW#&lR&hbOCg3kP=OA_o>d;0DJy*x?Q-p=!}nYUqno%F--F zFIY{%0tc3?NFh~`{MIF zJJ)nGO;cN@0sxx2R&@4MYkM`?8fvS#CGA}ZKrL9aYVES>SW{CoWy+M=+S!dw|j)STghFHx4WaDcp5IowmALq%7jU@`7!U~%p@7N&odb{uP_)1>0TUcly)YModICHEPXd+(P7d)37RirCWG0yq(&?b4 zDW#GIt6o+QAOc28wr~m5tzx3?kjpNm;!jURbCYTT=F6BFkSM~~O)d)c@^)FZheOKG?mgza89$v{f5_PU zjBWnP*8breFPz-mwqpObUDv+ZE0u5TxVr*<>5HN6gGZJOY+UtO)0VA!cD{JA`E>CD z^8SJ8CZu3nJ#!Y9Xe?`wfHSA*@%} z)jscb>(S=BU-b?RuD@yM3v3Q}I=k)+*A?13p7S4${kwa^*{j0gCr+#I%8842O^wZ` pUQ2xsx9?m0=l$Eiji2sEPu{ONdTowzpvnVuE$i+)zI5XU{{w!|9JBxc literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_3_3.png b/resources/g2/track/intamin/right_vertical_loop_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..7f172f625dd4aec545485d26d1bfdf22eefdd358 GIT binary patch literal 1566 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_4_2.png b/resources/g2/track/intamin/right_vertical_loop_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3407899dbafb598357de9b894eec35804042cf GIT binary patch literal 1428 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/right_vertical_loop_4_4.png b/resources/g2/track/intamin/right_vertical_loop_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d29b9325d4fbb85f283c7e60f4206c6526d252 GIT binary patch literal 1205 zcmX9;acmQH6#k8}UB?&&8)>A8HB>C-fE!-I0W}_QBV{@4jU8}~;)-0LYNtmyWuH@fXBq&YwPQ_tSDhEtW475;&!2mHE&yNxoom;xuD1;h4O6B}F_}zLr%r8b zY;0<3LJ-7kHa9mn+ni1(j$;%>vMkN>K2a1TNlGMA*{qt+j~Pa_R>Ltsx&cGC__nx}Fi zt4n+_A(k^zRZC3j8CcF+tb_~Ya3VlbA(oBtd@>Zu#$sA3rK@UbY^++XLSPqwD}mr? z3zf681vF5iqGg{_3FWHtSS?$5TAYL}sKr9qY#xV`MKRv(7HKBxuMZ1nWAV{+*2wF% z5()e?BC?i<-ysLlWSGoE*<3O(nu!#(WTlv|)g~Yb00)2wfDAwefKdR-2!M4k6by?n zqd=p`xPX9zI0;k_Fc<(?00kS2;ZR|q8ia)?G!*d6cmmKA;20#x+ae(}E_>1npUX+Q zo~cxHSl6-#03L23WgDY7{HjYZ+;Y{IsfBWriNaI01dCOd6%Y=@gIRo}Bgo?604+y? zN<5Ow#PxipV&q}1M9?%;0W<)FbuXfIx#zG;;bgf?Booge77CQl#|DFZI4t0pL|_RL z&rrBVV`B_j;hfO#fDso=;!q`_PS=;8SlDv^*$wRK^0HvXtv|QdYrdm><@%)qhYtpK zN^R3W>w`+8cDwtho=*a2=U$xN{K1ufkn1;m9XmO{O|KvCec`)ZOZvRIqgNC6PRwlmtM~f{uPu7(jPdoQ zZM%;K&(Ay8w2wRf_K|Of?$-V=f1Dn9_g9l^mNe24wfF7574*I`e){tAz4Lqa#q_%; z?|+pZH@*2rVaK|4+m~c79B&)G^WUChR&@D>khy8o%2^w;FJ4<4B_91Y^Y-e26;0J& zF3)Rwc&u#$KVw;6HpI+6`}g(k%`bhl>{9>0w~I{|7A!dIZryxw|EwElH%^?xPLDKf zyVv=iH*uccxN?y+dV-ml!(IGv>kzr={d4_|*A|ZajB(d&y@|)aQzy5cQSR&&T94d3 zBxpO|xpKAZ<%8Iq$5)LR?e#h{ZhwF`!n57-rIL zhdv(<%M(brD8U!2gfd#BU@*!o*4m^7m)znd9RZamtmfl9R3;FUA~}UCX(??ajCPgX zLwkaZKWqucoROrDBLR6N;Hm*%4}@j}w{vA~q0%Rzg9=kb>xi5Eu!j)kQ8-U06PXlZ zCnfc2$)JG>S+!A@A?~v#gDx2LbMkPZNP*#MiBw0DCW^A@bZ(Q$XSWAEp2)~ZJRXOD zM+2c1!JHhamq!Lf>WI`BRXSoiZ`?eRaK~msNti9-aBwbH#utzxloE@za>A%eJ=42Q zmI0?b><=a)5}=YJT9U)4_-2jBrkA*kq}Qe%a4{jDEf(@85|dB@fC2z50OnK@02lxu ziU61bA%%J^bU9!+LPy>!yC74T!`Q+#bA&MykP{oIg5ZW;4k-(t*O(P1kpS|fob5$h?Rz148 z9RL<*UD;>V^_M=bRn46k>ONB5e2D97 zF5Wcz!ouXe); zqO!!4dFymzq_(du_UbWGIrY`Wmyzkk^M@NVE=N1J)UwP&@umaA<5OGlZ;PgiIu0fV z=R6gk?ZP{Eze0#4KHKyl z(dz2V{jrsKWx6-Iy=7U!qWjp&1AF&9tllm6%*yv7m0> zAAJLz$d}CH^Xh$xd(U?5AJzT0cK%OCZ%_5#p7EYzmmS_z|Sx vNgr`!C;3IP_3FRZ>CvXW3;*Wr>1UQ)J1DX~$sJDR1gu+AS$1~ymi_+&Zqsq= literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_2_1.png b/resources/g2/track/intamin/small_flat_to_steep_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac03f30d344d40547fea3684d2d5ed8c8c15556 GIT binary patch literal 979 zcmX9-Pl()f6n^`!+3mVUnM1Gx&Eil}2^vZ&Iph#EyN+vgvo;Gk1dJGT4uj+nX}}y} z8*!|22r|f^(=wExgG3#0g@Chl&>Z$KNYK$vF_t-uIK`r439{f8ex?+@_a5KneII=9 zUE0|$uN^;e901m~p4&K=&&Tq5Xn7&;`-4xf0xZDJ3%i>+otvARpPye?SXf+KTv}Q> zcI+62VavUO8_!}j$tN_yTzhUQ322I$?`#^GIHJ9?KbN7i)^7J z5R6RnI#o7l)nyHzw_2hXN{yZp4D=|ikX(@|mw1Ji3{EpevnJQtdOI?s#EsKNGVP2H z`?vrF1&9ie4p2VEwTW_<()xm#sP(ZG%={Sb$#lWsiguZl_!8Xcll8pk<;D3c|HW(=OUB)O*N%bae#anR|eagvP%&?U@La91b&D&2B~ zu%`4{m4nb7^;^?XoMpF>0H6X`06stnZ~!pD0OgQH^I71pUpzFQ3%ZZB*kaX3w5l#Mw_LJ^=85X!Tt z<#P8?^qkgY!nK-zu;AHK4S~tOSk^I^yld_Cl}XWdj7n6 z?K0QBqJ0$IeD&ln#2OKy@&9NNGVrW9Go5|)5*;sPg};d6xKd4K)$KFRaE z@1EhcOxN_;(*XcoL#qeYH7nK(w8PfS*B^f+0bm2eYt|1o$Cj3s*49>=&1SdT+uGXN z+uIQY>FDT~Hf@^A(xo}0>@4G{pE1@ekuj? zc@%egD3_0OlaiNFFd>Y~8mT7fh{48lyk3;DmfuaFKE^}x7%LN^LMu@&nvzmkC2NKY zR@|(mE0cK#1)Mx^`GGqGyc$BJTujC*<|)M#Vii@dYXx|L!<;gK1{o|SkZGCDsk|AH z%L%n=MC$p(q-nrv!Qmvln1B<0iVpI8OqP?uU?vvJr&4A%TPc<5^*RKo0=x+XPdn%w z$`>(zg^pH5y%x;XwNfKfn<`JjPR!vTTrS4#;W3{~k}AtZrRK6wCKjJaXRLzRs8B#+ z5tVm@CASv9k|D~7^0}mc!U&i1$y&M4XxxVs00ICi02%-W022UI5dfRuXc$tVp+l?8 zd4Yn1I0do{us8sD02LRE;ZWybHUNuJXzAdY@dRLLAaF=Pc7=mjTw~I@oXbT_)2P)< z*yKX}01tIinv2ujQr4?jq*fP=Mld&-C{AT7uw3^#0pUg%pF^bF0Ui(eSuGsUzxmt{lLz3YkBb2-QTu0`@x}s73-Jm+ZXTpAhPI% zFF%9EH@nY1>}x2;FZ#dVc=~6+_KlD1+I7ix?byHf%1Z{sC+}W9_{rR(_ul;2nsZ>? zuh$m7=qPVn%G7ReIQ)+9yVD2zM>bz#-|JmGvm8Ub05*yC-+uuIh{a10h#rMt|TCnlk?ZJ~%@>Azva`%>5qHzA)_S^kO z9>3Jn-Hy!;4&H05e1CrLj>U71&$zngRQTi#yK%Vt#MF`TL#_6CeK&jPJ+r!gTJ+)8 zN2QGqT84kW851u5^ZAvdyO#-L9b0xDI{w4xi4Ljd$62S&-d*)@b?1NkukRhWF?w)5 zzVOf2?tYr7Zy39=gX@3wz%Sz$=k7;`uUL#2Xj`T)p4ofk<*o%iw@`3?Y+KyDNZpKH nW|sf`Xs?}ndh5yFKg|4@k{-NtXX)2Xb-~c!+JQ4GH+}Ixbw>a^ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_3_1.png b/resources/g2/track/intamin/small_flat_to_steep_up_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..443b82112ec7a6b10812242f3f219a238127fac8 GIT binary patch literal 972 zcmX9-Ux?du9RJ?+?s9*2Mz0SQBSxs0hfFibLmu)FU2fJ}#$_&(BAG-9tgtcyW?R7w zvn{eJMWa?Jqe8(<`Vh3pJw(hPj6C$AU}T3>jaZ~`eHd7@Ld64rW(+>x@0ZWZ_w#|z z_xt|o-O}dz6YBu5x%2Y&nQT6p)%t2K>mQx_{%L?5oIZ8-L`D}D78Vy5bGh8o($ezs z^2*8zhGDC#t7~g(g<`SDvWzGSiX!Q{YMO@QIIUKv*9+o!KTW5z8OwmcgDh>RYQ9<} zYZg;)@U6Do?P+0T4wA-b?1?m1<~IzfV3$c(r#dFP=ZI0OJm?u|zdlL5`7|yOpwUnh zz*VrWfkh2`*v-!d1e!2trlCU@p|}Vj185j#;J8f?E=74fzbDK6N@Zx<_d6XFMFg8K z3I#?cd5tO=blGNgmp9v@<4es@@djFuR!ELuN=06wC7n|Z(WuMyj@Ai`AhF}LnM}H) zd4vm)SD;V<(gMoGxK5$eqtr++l5%5YdQ&$>dorEZIigmg8)d$$i=n9`jy`OeW8axZ zt$E_3ag66ViY~KUMG$L>($MvGt=4NaqE06Xg3294ufp->`=3eD&|Z%T4q%a&QaMzi1TrExMF37|=sso=Iox>dSu z34UD(+m*g=52N;E7|&++kpNHzFacZuAD|B~#sFoIMP!-C_fR^NDKJ=Q3J{bal>sS$ zi~?$~$dge}MT0s@J$Mj22a*V78LR3AyGA$NQrFYN&`A=1GD%RTMO1*bHUzgId!!an zM#{TW)t}YEd24VOjL>jO<$)uy5`(J(Syfo8BDr?eYucgTOk#hM#%MO;Bnbt8Qa~un zqMpe;1mRfi@tAA39>N?9L{(L)Ro$`-mT@?yC9uB8MiR3x)01)$X(X~K)Mim2phU`! zpL=fO&j&wn>CCPIFC6@IJ|l1MY`=K+@y{;0(w1}Vh-jklv8`Lbz5DEkckVua>Ez7| z6#Dz~dq>~9jkZ3%nE&;q>(4y;&&kyXpC7ef-#k*DU*;?+)%9{n=5!&CUBaHs5^f SmoReyJ12IxzdruPjsF2ghNA@l literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_3_2.png b/resources/g2/track/intamin/small_flat_to_steep_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8de339109a9dd7f4ed43d1fcf601b166967344df GIT binary patch literal 1183 zcmX9-e{2(F82-k7+{Q)tz(u>zNJXX>(#VK2`79xM-e3Q`Px3tP zJ2o`vnm2dJTmZnl{^$CJ8+An^(Dvp=ewz7f3jobvXu!R(F*Y?d&6zW&xw*NerKPpC zwXLlUL6G+L_KuDYhtuh#D3aq?QRHRWtEx&U6pF0B9c;&e8g5x+3O_~)<{^F;H(Z|!3lr>fP^55&8DHKj^jy&IW7oApRcTGw-X7N z&!d#x$vQ{@V5!F=%@}D|E!gZdPIxHV$8rHtjL3345XeL#`9#9VW-AjDmSsVJDgcimRLaKX zP_ab#DqOhgP1XWAOP{D`YP01T*h$!Iw8P=ToFYNW45RWwSZXW_W+KsIDq|LmdW8iN zkEo(elQ7*+#Di=)Eau|AVp=Qb=S$*7h~ zM~yjHAEtNR0SM>YkU{ImR5KYEdD$P-O zo}3Vfn#Tzx3~D%xQ!vXygKr!^y{hxh{U3O1cu)krH?MAO^qczoo^h|)zd!074Gnem zordE(5+lUD{`KodudLYCaaQ`{&kKhaqmO>obL)+diaXtzbE7NEn9BeP|&*Jv})ST(rjX`G`_{Q*kc*{^0Q4*zhd+-Q@Zs_YUtq`stG=o(eE~&R)K> z?5DM3Q@d776)s<#Yb@yy-?O)RL`tt zIyC6WL`B7k%dO%@mD<*j4VA2HL&X&*QHv_c*v59QzPl1oCnk* zU_gP5V7PURfR!C{b24EbOo?Ge4M%Md1_c1%0H_%Z9h+_9@oYjNC6#vLcu1p(nM^}2 z7Yqb=2uFZ&#W-K87Rq%Zr3oQzQoU1V_F#5DL50=6xP~v`iRA(*A;L(BN+;77y0&q2eZv;XcL*nAfy+Tz0)kT!ngq}*xqb&j5+j4k2xK1j6^&z8Dw)LLXi@YXi%AfAgmAYry4-_M`7+&K@&* zt@e=H8xKY@2^6R?hMr)X)O?#(?ZbxH!dE`-Hl<)RtCxG6w&MBRuL$z*t(y0TMn# zE@rDxzLr3Y8q8+WQg)NyV~+$qsdx}(5)ur9J^DczmDfD)=)2XJqsDl|@8^~+9LMTgbFId8{b4;VJ?lh-7`->x$t+{u z?HFoG^%l0$SBNgWf8W=1jQ-xVr&s3XD|XdCeCNj2wo{wab>|i`@18!KnYr^0y;ZS( z+_sGeH`W1K%Y*X7nC%5)Pa@@0ulBV}YbdF;^u|jWuXzfm^YNzj@I>3({{7!EC(vtm zkK5fH>fg$+g6*o)1{A2XEq~xD1=(d?HPnxNs_U5V7td|3| zUCgq@9He8a272?{j?>F3;KYyzy)#2%AxUdZ|M3E@6Aok_LPAC2KUzmEXYR12d z+fN^!cdT+kSM5_p&u?pl$wjv{_@vh2c2eiZ*DRb`$c6?Iz zanrljO&6z)XP()i8Loo8=}75dnSS-&{#CoJCp$fiw*L+c77dj)yqZm?mOtM>ai_B$ zHeX5R@0d{8xoKeP%e6NTiO{N_BXf5aHDBEWr$5_1@rw=jFTc$9W_*_+nA~gacoE8* RolOs@T3TIku6+Hj{{b0gaKHcn literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_diag_1.png b/resources/g2/track/intamin/small_flat_to_steep_up_diag_1.png new file mode 100644 index 0000000000000000000000000000000000000000..82b392c0d0cf079503b1605254bd197fdcd74866 GIT binary patch literal 1437 zcmXAoad3-w7{`Aa?b|kbndQjVY%;RSx{TnRy(OI&sS8qGyzYV^>@_iAZ|9|{#x+P! z^fKO6dQB}OZb5FcE+{fygk@7Fh{@Wpu$0W=T9vb`SDo=&oV(BSJoo(beE;}Blbknqmm<9C7;%aELsUm$=nRuW>p29+OVIFx7$*2Pk%b376ZK; zm~g<7h?ho!c0tT5%!I`-rGObde8xf;k^(>gphpl|Ah3wVtW4%nD%%L6-C&4WEIn>F z3PEbghZ*AscE^^f>NxKajC36je{dSVSONOkYHkkTB;=F8Vb|VD%wWa+%EYDFXvUv<7VC$6xj=x4L~4nYlq)EulF<-0efF5yZ+EnN z{qayFlfZ#qgD|APqL;8nxyy|EY$WG0wEHZvpeq#%WimYw2S5t|0{{zv4}f+6k_doV z2o*Fl(C2~i7$E~R3LH2Hs6m_nkOYtxK|2aP1PmBq*aqVs@X~k;XjDK;AVx}LG07dQ z+Uub>&KimMQmF{cYKaX1HS=*+M0h0nfQ*hS*|g4=F>(FQ@UuVy#?mq&z$A!TA<*Fx zBZ-;~8rEX;I4qpc5efNH@es@;FpUNV0E`0&vtHP;a<33u&8}n;b2(qZgu^PGjx-u6 zvzbN}R!rf?O#SQDY5;OH zvnr-7oY~OYtgG!FH>Ca?Y%O_Gvh2#V&XV$P8s9qbKt86vyY$e2x^w36ga0i5K7H?G zXaCbZDQw`u+uQK2RDVsy?3A^}cP0P3-ZlTOo9$h0oKhb++%_FtjatDS6Lx(O8-=x}l_e@#&u@;OSS;hK?UcYq2CAA6(#x;ka0h>U^ZDyX zcRq~KJpCAHtH=ne)-grmVY@nZHHcFM>2&k4+od-*|3ncr`bJ6`5 z%l5~r$43*rcS`>lwRx*xThq^{`Z^01O`ulYIKIz+8ov-lTG+lkZXa5m+jVQiYwuB( z@~0!XjpOq!EDp$LkG^zaMPKZBMdE(xgYqS1-02qK(&7)7&KN(gvZ)6lbU!W-|t6&6r#9!}Jx~ F{|87EnmYgh literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_diag_2.png b/resources/g2/track/intamin/small_flat_to_steep_up_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6f81b04171097c41aa77f1d664c6de65279ecc GIT binary patch literal 1045 zcmX9-VTjvw6n}T^UGA>lDt6doWy`U`1sBi4!pLdh;w^WpN9JWL9d%T#5U^rDM2uKi z-7?Ie934hiq)3H+$gqyUir!dYRqD*3Ck3ON(zz%_i&i{Fk*fW0AO2?S@q53=@5}pr z_`SDzY9l^7b6^GlX4juvJ?+g$y*@DI^LX>-lg9vjaOz}Y&68teW8>rFKA+F;_fJer zOioT>7&bLEH9b8Yjz*&t72`No6nRNXDT=IVTDe@U*Dc%LaoxdiNX399aC);(|Z58^iF&fzM2&75K zv7n1sO~#tVV5b%uwj-z?L&G%M(-E?x00KZ7!{lI4jYM>UFc@Y_5L%f`M^$&LRn%-o zs8Ey*#{`^76LFbLs+6QNN`=!*zSIzncG_|?I30<_ql`%M5}lGcxgZp(>8d4Lj%vFl zr(f%inn4yqB7`%5=Yh~Mx*CqxiByx7on*1A7z5o#TLKx9=twS37L!a(;u?zRXi}%F z^h|BgERP%$_3U7XCded3XIL&LibYAPMnr6r znJ!o8rHp>AG0=C0_5NOGgaTwRNQc95JSvhgiD498D5Sk*`FgR`s?}ZF8FpDn^OzzA z)ikbW$x5Cz3u2>^X_;!LS?PD|;cyqR07(D^KnE}ZS^zx^kOzT7c?FpUaytS6G6f|T ztT?y=AQ6xpMnwu40DtW5E=QXGJQX;dM1@l+=bYA_jzIR4QIy7! zN}vjbEEYMucl`8X;O_@N@Yd-K5uW|y?yH`#*H>2(b0419Q}5lGf5d+t8H<+=Zl8IK zeeJ}(h0TTUFPv0=eev_0qqIC0&2xNObvY{}YSf u$n&?ZCJr52`L-#{hqjYn;oI!{*IW2si~r63w(Ldh)%x1T>h@*DBJ9$qW$Qhj*ZupmeY(sSPGIkKG`P01!B zc($-0XM&*H-ZX|u$q0g)m>jY-Dl`bPDJKXkI{Pk;b3XTe&i&_p{`h?ET{o>t(Yxos zo&bQ}73HNfQamwLMcEmteyB3q06+$qRyngQHKwJdrKhK7WMpJ!W@cq&_2|(9L6Ge1 z?3|n&fk-66FeyRc6s6Q^)eJ+M&1SpZ>2`bk{!k>6NG35Uz~z8c=Bm|vy&g3fr53B) z?jW1o8n2HD1g+7Si;y5Hc`mIKm{cgM6+0R1u$l1LRRK30X|=>7uC9b%Ap{x;FyMft zkR}@OS$W|melj40aVbn{U^fe)UjzUNfCfQm9?v8cvSP7IE{fR9T~pE5Z8VVN$}^%7g}m#Hx}vX$dbw z10TCKxia9gcDr!(mBL_?uOA_0Mr24Xvc zHSq|qkP1k2QNj{ayW$3Kf(<3z@$PUJ%$4wXGJ!yWiYSRxE0;4$(xOQ%GrFy|)+Tqv zA52DZpiv?W#WQJ8RxfcFan3?{9lBP|6!tmdVSh5&32^{a05AZs0B``b0uVz0Oo1ez zk%62GM#7{R&=|1cz@q>W5$5zJ4^sMU7w=t(`YcAFP@h$SGrPeqytG@k2OP#6T=B{vF z8$M4oEA+JQ={c~xyMFMl<{!>2-b*t0I*X7mcpF4hR+?WaZy31FGqwlY&$Y1=~ z;Pqos<_>Y9W7#i(54Jcaw$x2%Z*Z=5jxcWTd;OH=+3Jt>3@aS^^iWId<98i7e^s6B z?vqp+f3@8@^v0aOtxs*{5xWjY2&vQ?Au}AI$T>>(onq_H{N~Kc4lh-{9zMV7XbfrT~WoE@F_J->(g&GKao^Ha%(=7_5Jz|loNol(D*&M%&P zX2~U^epPq!0IxDU7Yx8cZTpj3Zj7fl4LQ;&0?ivYEk(GVnw!6_KJRMezNz^7-0u82 rsV8=F)PnQu);$+Ojh&NiTmVmGmDfGoKeauTMNm;zRoXmx{+j;*WW$u9 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_diag_4.png b/resources/g2/track/intamin/small_flat_to_steep_up_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..646570130553eee880b4fc767c6d11c1d6dd673d GIT binary patch literal 1319 zcmXAoeQXkU7{`At(xY|_YOQFAJu8{CB^^s{@m$GzR$8$=*VCR39WmJ6B4*68cy-Ls zi5*i^GS7@CwREzKIHp8V+ej26actHM71!#hJ6oc}VdpYjaedwV4P)|s-u`*Me|(52U zvqfols9bK!7tn{oY&7ObB)w_{qE!``NQqU8a*W)=V!bwX*rkmIOnkpR#d{~x5seh+ z6~IgYjz)YYBE#-eLTkksPQ|*_Hb3bM(cY*&$Qw{xs?^9-w1Q-Cok?x7Q+AKu z6Ep>5)(G#6rF@Bru$TZvG>{koY5{T%!95a9K&}fDrkK`|V7+NB0(&V%5ra$38ihlv z@-gZVOUG2w+b zsR_tk2<8*3LsB}bFeKFWq|Tc%htk|&CXkwmPrw3&Sd2>~8dOFrl#EKnl9XMaU1kY5 zoc+E4ABklW1kjTRON*^~lrt*a7Q%0*LvBOA-x?3QQ}IY9^Ar*QXaQgW-~jLg&<{Wo z0Wd2{4J|D6dm$gEJ$>{+{4lG-fpWD<9~UWtuH)jAz* zG%^;82~*l|rHjD)YAj4D2Ps8LD}#CzTIJAPOFwS7hDm&;2#<+oA1^BUS5@()sfy-)6nVozLg({P0Sr%6MbE zaC(R9&5p%8RQHFFf$#jBMjub+4@{J-OqyU|{<6 zqbE&w?LlNtwRE-g0F7?nw>#$q$1Xc2{HXn)vRwGE;_(NoNAq3`HUE64?7N#)!`g#$ zbvL^HTd+S|k~=fBxBEaNdKIZ#QnP=c;Cs)=6X9Zx>A1FH%h6r7=IQ17#;MKrcJ#P$ zQS;^HQzz^LJr$Md@t?r-{oRX4-)$xA7YlnjdafV+Rn%K68t>ku{c&O2;oVawWo4s` zx$gS5XFXj*3zn6(Hr_eEwEI+l&FzupUAS=bF2SndvaWZk_WCM|SG64(v#kI4++Fm& z;+AXm*N%hqy#0|gTegmLmeoe2oqevBQ{wW-4}ZE&C{K<}KH*z0;9E-%jq;wlJslgS m3%^OOcqE>D@YS9h(;0NwQTZvumVJ_?4I1j3>dvm(`uYFkxk^j` literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_1.png b/resources/g2/track/intamin/small_steep_to_flat_up_1.png new file mode 100644 index 0000000000000000000000000000000000000000..63682161e2cb6cb4d54d7987c7ce2071f19835a8 GIT binary patch literal 1298 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_3_1.png b/resources/g2/track/intamin/small_steep_to_flat_up_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8b6d137c1c4375d64b15fce5552f13f1b58dd313 GIT binary patch literal 1042 zcmX9-e~8<36o2CtuC+*PR(hAs&yXP?IJ5uA8ZduVwjKG2W=E-bSwLncKa3ECMnK zX$}kttEgBlA8b`Z{YC_JDb$zIj)71;3LpZ=7^Vh;dL&{HgvqjNqPUSvwsiegxr}PH z2px)YVM@eVnTV-mT&ER-)k=KU5(sQAX7-FaS`*2T!bH+BG9PCv3h!u=n^jsx ztz%_-wc@sGp-w#*VhA!$Gf9q5OHy7@O6hbppRbk6u5GuQ&0epEAff_M#OO+pcOp`Q zOt$%4Ct-HePS0retKFT}HVTlzAQKM9@Tf#m3d?GOn3MfwnQFeUQK@=$x8LSK7BEc; z>N0Mm$Wn&0a*|U@ZdiJ&R_eCu{r)Y)0mK0`00Y1R*Z}BYfP9EN%4o$+CA>mpw(k_0*v z;Eb?n;<8Ps9&7XxRzK}*7aKcv8?|~w2pAlTQNaXU5Y=@jkRhgHI%+R7%NYRGP{%RFR`Co~{X0QzX0bD3Woc z6R1QZn?tVPA3yVW;Lg1tIC*42g8essJ?@il=4PK=oH@I)ntJ%VeY@ZK5?x=KzxL?z z^02=C*)u2hp31dW)pM^LSf9hkm8sKD?|rCy_sWHfU(LUBV^O2kmD`i~kAHe~{)52b zzn@!uEjsz>C+B}$%I$vr==u{|!-K#4o19!;zjW4F_~O`y=1Tfnbn}7fj~=Vi`|tdG zxOmEY>HPHOQ=83`vwxhq@`Jf2`|{H9eae&H|K&{ovq!l6_RX80Pn~Z4H{or)dyan5 wc>j$Hw=Ze(+VvC0)YmiU&#i&G-yR(p{q1+^vijat-wVtgT$sIh;Mkl015wk*#sB~S literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_3_2.png b/resources/g2/track/intamin/small_steep_to_flat_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..24269da7396a0d09be8670e7099aa260b64b809c GIT binary patch literal 1081 zcmX9-e`p(Z6o37BX|oz^giOyiYGfy#nm>+mgP=Eet+Bh=tG&+5rFy#4Mh$pw*DYu! z0V4*D^Qch+%f=xmWaH2XMUO79`y*rB7WKd~BAhOi=<-JgVFt~h!><{G&wG#0Kkvhb z&wC%w&V)yX?;8eyk?ChA=el!8w?b& z;NT#JVJ??zXlTe62m~l9$g+$eaFP^N6gizv=kr>rWL7Hcj?-$lsUR>R;5m0R>W#+S<5sXz0<0MaS%yJ zFrW%pQO2ySr&jc~t2k-~QCmb?DngY201qHynC$VSa9kw_Jrr8u`L$TAmP&1E8nP^$ z@&*`RkoSi~A}o`U6eX!4rNE{QE>{-xs%SbfKaB^&fsjCQ5*?LUIm2f(Q8Q)JPF0+o z-7MBSmWKha0KORblR&5#t@*+wB5EznX{nZ1 z8b-QhOld;W40+ zZbtR-x?eO2*$JtwsL@W8JNfFCSx2=N;RV`{g@c|bomt96OaQ4b+gEHBrqSZvVj2+>8LbuKl*yCC%x{r{^D8KK}Xhhbs?kn_NX#dbgi6 zCVw5?(#hhPC+|J+0yD0T^WW=V?AW*Gr32cLmnRnXEuY`>;Of=br|ys5n!EYV8^8SU z+|CKt?jyTSOuc!16MwkZd-mA2?bbt6kA3L7I6sOnjhL@3Cg;A*9(aPlPTxFx)VuR! z?5B6biSyTQ{e0s>=gWImPcLrlJ=A;oZeDZM|8VBigRZfW3;XXsx_^B2@3BWuU5wv4 zerfQ`!LQ$YX8N;b>#xy6%kC>b%3J3~{(Swb!;1^ou#Mu<Nz!;tZ#HJ!}Qe5zEnmBv%i(hMC@ zGD*dbDO$4PN+L#LE*oyXpurU*n`~lsSsJD7sivFmL{$L~$O(c2+AzvuqYCvcKWssUoa;sHo zcc|SStv^78Bj#A#mf}5`Y>31pMy-@JAWoyw%b-CUe#S+{{l-*;6_W0p5E{uRbP8a` zfSmwdS`ua@agQt=mKRbAm{Y@o8IF1(OsD{$05D4=tW4%qD7+{d(rV98RMKKeJDr2U zAdJTqxLidbYD%d!qdFEdI&sFUwFO8QXYj@7P|6$?EJ}?+ty5`f%)n?&EXlelchDS+ zvQgfd5PWYf#LHYb*q5r)dwv1nl;R#}f|*`DirL+ndklAyBXY z^-J)ujEpJh6lTeg?yM=4v&Zt@-a;fdnjV2tOeWJHh)$`ZF*T#r+6k^2 zMM8%Sav>g3AdBSjcD$1{eiU01y^gxQljgq;NR`*{mkue$__w54}{c}>6n>@vD`N^|4e)#Rebu?NJApU#hUCG<6YyJvUQoSW8nAUSo?6p+8r zKDB@5;+6IDDrXNYspvY@s^4|;`rdTQlS$IeCx00|_vhWq(r`)Q{ofByzWtH=-oV}A zt*aZ3e|DbftOHx0tb9*YwdBb{Y2pOSpRC9{?LsZ5SGTn+J+;8FbyI)Sgf`y%^1|u* zDp9A;DCd^s)}7_6RLw0@=2>nWnbtpaOWf4c^kM6)O1j-GViwGgAKI}t-7TFkqiN=z zV+-%!-}phd{CYGve6h8ndwx@6&)%E={#K}K>6u!$ZD->(HTt(uSaWRAtnI@aF05%m zPITDotasXeosqBJFMhOn`0M_ww6&BkM~u}6za4d48axo2-YKp-fZX1XM4DGs5gqG^ zR|hMPjlH@&=VJ08z5^5gy!^5L`MzyOxl7wc-IM)ayz|XDeNW%#nlbi#t8PxE*gN*e v^E>TH7m{whr5$QJy^LcE&h;CgjsB@As!} zMI|<2+_Z53fC)>Nl&?(BvUDLiS?LbH+r1TlEU;pERYiKu$jHdd%*@Kl%FfOnGiJ=# zv11twMovynZf-7z&*!74P%4!Wgp4GWS}kQX8f`X*$KwqIx}(u#DuoJxL=12lQ>kQY zG(4SNXflg!cHHez`TW{Y*c^*Hr3gbVW>PYaLC&*~0*4lDGD`h6dB{UWgQi5(Ih+h& zT%baLP68|h!%Z>#W>&<_PKCHIA%rOv9JN3g-~)gIpkgp67R$ipS_A^8Sloo;LA5$! zFbp^x(C_D>Y`%me#Cc+s0HYAO0VOSBtzBxQWmX^I45_?PHBZD9Vtg@y$Vicrl2Rtz zSjrOTq1<1V^ULG=}hQ+NlSOilNgN*Lngvvi8vgL$0raWDHdyGxJi{h zruUewLANIw2&ZBappr4P1k0e}Su}`UFQH9@&#n&AhKS#uhy+rp0Vn}L4uBQ_3jj0# zK>*?m0Mp=7sMkW;38N8Q04Nk#CBTb;C=MV2AjN@Z6gqL})xeMmMxEe|@gg9T0y)mm zkQ{>!v05;@w->W#rjQosfx z9s?7yloFnXK=o>w#h`Io4L;f$4$z5c0H$IhnGAXXi~DD9@TFsp z^Py`i!7MwmWahNfzZ)k{?;$hxw*32#tDxe-%v$r-x|*25`N_iGoU2PF#b-Se4)OP2 z$(MKPYf2SQcavwvp4od3Yq=|1f9PTx-QWE1X1O9GizrmKko?``rOg|@@14@_?ayzz z(OFe-sw=nyE3X`^y^+W7m~bL*dtS}Q9WvL^u1EgyT*2_hcX#MxrEAa5TwTQwHt)ka zgSyt^%)9e;envfRY`oX!T(fIZf4{)&Aye;=wZeC8tSdOmnwU445`WbK|; z#`r*J%S-FQbH$gNA1zvTQ!yJ8T$>xeA}vOB>qY&C&)-`3;K9_EgSW0dnOk&eIqOkD zq04S`XL9I?Z5vkE`d`l-x}9<2*;KK!Wpn9dQFY6KmIsaF`Gd!rN)9oPpVHQ%qw_Iw ze7$eqjnU52Xz3(-;fMNi ze($*%*JfRvYQO)O&VRUY+S=L!>vneZ4K5(7D_>9FpWQa{%@J8$gN0n+Iob8PM75x% zGIAt%@j3DGXF#$3oA+mAO78t*yvxC9cN*L87v4m$O$SyUU9CH8+C}yr$a5*m>KCrZ+vi!{AFZTQos;Z;g literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_diag_2.png b/resources/g2/track/intamin/small_steep_to_flat_up_diag_2.png new file mode 100644 index 0000000000000000000000000000000000000000..994f2e96310cbbc14035136abe835391b1b43996 GIT binary patch literal 1042 zcmX9-VTjvw6n}TUTY6Ww4m-$p6|&J`z&J85jHqEm%^lqlxs=OBH~S%KU{wp|L)0Qg zBkRpF3g)y*KNKujv|@CH9b5)I&1rB4>o8!|I`W}H!J^aEqwMbBKK$(%{N8)~zPukl ze(zmLEXMaw&rAcr{)IDhOQU&kR5QWAs9#xo{1iX{63?HVAJMU~vGMWoKp-$NF)=wg zxo_V-48wxK;MCL<9*e~oh86@~mPJ)f>AIHB=gZ}4qhY&l+xG{4$yP)2Hw%5gwli?!QBWwz z@?gqXUBjGWxKob|TT#@f(NIBqCPHouKmt%OObdsNXw)Rh8po|l(q=l{F^oIaDsr4C z6N&LSEfJhT#x*KwFsjMv6(MhlrKVhKDYl;`*eD&3aWW;UY)TWff>fv~Ra>(?!}UvE zzuw((!aPJ|z|%nFfHX0-ipLvd%HcIHS?ubyf$5@EiHfLfG#jUiNv^I6Og}5W*fz#Q>}Wo-EFrAg8_o524opy>S3W7m0MK0 zD-?RET0h$ynC)Sszt`D8Au1eZaXe1MWQtZfP8X$uGFp~v6ib`+hVOdAE)R-`>2lam z2s1-fa=cZLo0asYWptcMzvB*vcMuPd1keFY01IFfpoak(K@w0-M^+8_9f<^uff5gP z9DE6o3`oOKkwG;H*%{O-AioCpgJ(e$ASq!P6*sa}$&A-)YO|U5JgeXL&`2wq1|}Ec zOI}#Tuml#T!zrG~$V@IRnntEpGMZM&bFIGbqG6X6 zMPvi=0ijVAg^}C?MDw{yug6x(51_YNLMkO^GHNcTF?61#%RFNVj3d%*iRvd~NFk6x zq6&j-9(m&E_}LSot@}Ul#?qn;&;0rO#Sz(9n0xl@;ZM#brVcD0J=jBad{L;mf zw=Z3{PCdG|eRO%n4IF>d2ITRUH$!k-g{(sD{=hBA!1zE t`ti0kOTPa3cMl!=dSm4h`I?Cjmp;>Zgu%rDMeeeT6e{{sQ?z&Zc` literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_diag_3.png b/resources/g2/track/intamin/small_steep_to_flat_up_diag_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1ce72b25c922f154c9538e6a92193313971b85 GIT binary patch literal 1511 zcmXAoe{hm@9LK-=363cA9od@9Ju_^NMY)WWy3O0#H$3lNpU>w$|9swmyx*VK zwpGg)<}Jws04%K9R9Tyz<>?YKv(g>f4!r_E7TC6>Zex1Q$jHdd%*@Kl%FfQt$;rvh z&1EncOeS-|f(2YYpO2yDjuN~xD9BZRTgxrB0iiNvL`5VIvJ89 zKqCZ3DIhS02WJEw?3jm>iXbo{f+-E0B_Is(0Z;;Yx;lsvL0xnIuB6PbuVR#fVWZ zbf_dAtt?=`qE>CpX`sE zCX)~#I1o4)sD~{JAXr4Gi_7e^noJl2Nn#}BOU%ZmAxp?+i@97mkBsVOK0Km~vS00ICn z07C%K3;@$8Wzb}RUJ_CNdT0;W+j3^40m3|H5DiJ(X|n*!SIJle*;c>6~wN-@2#%iGoiK zPF#6=>tlG|@68{L8NNS7E_?0^Zz^MSZTsP}jDq@_9mm7346GUKxh2>M-p^b7(~<{u zf3-jN(58_UwoQtdCGXWYrjH`?-YHK-NEt|nQ8Z^Wc!og z>Fviy9c8=Qcm>GyaZ5Y(_Fge~w(`$lCVEqYn~!{bq^*Hm@nPcR>UIJ7 ziybL>Jh5Tw_wt@Mvo}^WUd&W|9iA&_0(GnE^5$1Igik-pFpZxqYTeAq|8}yY?8VxT zkN(=G(n$(SGxzM+!!9{jbqR?{dMD05P47S|F(mI)-5+7gz>eZGXkj>W^!c^%uCA6y zO~W9|R-83(dU0RHvU3LxT)ZT*t(l+xMLyTs)6je2fujX13h7zVJi`28^8JpRUrsmO zBo>WrJNJzK+~l#Uwc^J974#E>`i1_o`O(j_4li!3HmqlEU3v8K(8;&1_;sm$hR%O1 z{+C{DOZ|)%_0D)t zSc#G98)s+c?r$v4R1A%gqM1&joqI7HWEE$h{g(c7`J%D$)`|OXm04P9hCjGm6W+D1 zvgcpE<#yN0?``Eb9{-0w@F(-p-oYF6ocD!;T?2*JGMZaz4&@hSPl&?%YqMud8$aXU z*I=W+Dh0*g^qil1R%&C?EmtFFc#pIl{c&UegO{#$K6~wyrGnW~I&W(f&}TZU*3Ad6 jJZ#fc%oJH3_%9=O62Dk~`&xH8t)OaSb>*iU8aw_66lknV literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_diag_4.png b/resources/g2/track/intamin/small_steep_to_flat_up_diag_4.png new file mode 100644 index 0000000000000000000000000000000000000000..35971f8084745f3c6beb5c0cece13a500b8a9754 GIT binary patch literal 1253 zcmXAoZ)_8F7{`D6M>`sSEasK37fj6l3Uh3ISoJ!=v?33QW>kNs;aB2Yieq0YisN3 z>gLRuqf)8VYIS{mz20avqNoMOF^VEs*1_|f*Xs=i!?Bp0OlESqQn`#;0A>Rup>a5L zE*IkVSbTn4FhoXUOgzD-6@R`E!Obe#rr`*^KqDe+3iIf=7f%G~bd1ZTe8pU3rj)cB z0AmJj42YB}%Bd25Z8oYarwy=Zfn^5HiV!A^0FVGMDix>I3I>B{GDU2*agt0qomoMc z2!~-JVL)|8Om86(8)LF_W?Dd5(Z+{xuS5jmR3y#FIVWN@SnNg{WhPjwgTpx==?gPq znUfVEnF}bzXnrQ4#ej|idM7|Uz$B`yVZA+OawITLq5XM2QWBGJoHXlLtHEtI`)OO0 z#p67sc-d@_FG$`}A~>T+u#nX1tR^#!TAdi~rYJwlhTQI$-=7GF628s7OewATomeY z5~ARW1cbO0P?AzHmxSfKl^~!DU=Bc7Vd1OTJ(t1j2^9*~Q1H3wc8`KHM*#_f1##(+9r(W8u4b-Nfb5rm8bQCD z>IdnwV^gEL?k$(s9DZ24{p8dS%c^K~cHOrdUiy1>&y||73rPJy!_p!4jQmgd=oanp zg{Swf1Q&m_;M&T=?W;fU-TjVG^^_gm`EanXwC9xm=5PWmX%nt%`X`zO&hF{CBbG1n zJtJL*L3j9*1>XxB&%OR6`RZS$_ah%{S(W*ZzsCIQ*38am+jA?X8Xh2PmfgC#^4?c$ Pg%xOR>1ZB(d(+_mb!IJa literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_1.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..86f9ed7d74fd71093ca99c22aad9c64fde79dd85 GIT binary patch literal 1299 zcmXAoZ)_8F7{`BOY`0P2UNq#CP6{bdmbw+ZV1c41JD}i=9otoFD0qY;me9=u3)aw# zvei(uYzNk)%x)`MpaV<#_3`238*=FNiE|-OkhEc{14`sXrrb6;ULIHDHSYY9}0AXAO01W_(AUujX6$(ME4(j!NG(Bjsq@2#% zfdGuf6u4YPU|L$KXVnH?V{+o0ptt!+SD5lfnP7sAq%BIFLTgaz84bnh%sk1vX?K7P zMEHp0jHkU)E|eLIp#+dK0J8w41E>W=7r+dn+8iTz$>hn{f_Whh`)G}v(<$r*jmM-9 zab(oSNG>krvt`4se9Si{g<&?1%5`du3D;Q&(#|j*j`Q2?qQ?^p1f)nLlT7CGc?c9d zQ2P)(gpyGOlh9Z)q&sU4=IqhDkSvI~@zfZUX;4&$VFsm&(P%ln-bT@Gwz$k8dc1=n zF&&o*83M2rVq;Jzs}!snzk>+7nW*0~7VG63=z^x!Z^!-y3o+%O#k&%o;dMFJCzSUJpT*LVd( zD9A;lE=daKauO_hDJ%eY$Or+WgGx4{=F@s1Zw?pi(J^0QJd%N_yjl))O2nW=&4kj* z;0_BVIITgiGaB|v@o+93hlPxeqF@BTG=Q+k!dr}Ytdn8ah0Hc4x8CKY6r(5Z%g97YHzQN`oe)yVEW`+@CE4Geg5^y>S?{_Lt{ zON|RVb{HE!iqCi<`_w`y=KZ<4y`^hc{dc?>o0}gA)tzki9NE6;lrhCPF0?h>o;v;G z6rDG1^)^?}oVby7hi$C3bP(*Lvrk+AjhRtE4F>UVlw3>mE7Fb>C^5 z-8t0Tw{z*mCqu2)N~1X1`XxFtx$@AX;k(`cRsFoU`Dm!@^2nxr>#BYmT6cWF*oN|k z`KmXDUh)h*Y&;l9&RH^WrNqL>-1Ya5WNxiFdUI{>sJpzuXY{Sss^zXT9W&M$ z;y)}o-+%dW{`9WuhC7B!t9u64XI4~x)&E!T=k|HS*dtH#xm&~jei%J~EvjBSYf0C} z+TS}`!?T#h^RF4NLIZnZ>a}=J$F|y@@2?O$tBUD11QH_iSxvFQUv&0+73ODpC+dc4Jd;KI4&u`Dr@ z-S&=smZS6K&gz;e*3J7*@BBxUU2nfzH$M2w$_JK(EfMsvQ+op=c9k?9AcYUNV0A^Z OVAb-5Wyk9_wEqui;!M2& literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_2.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b47676d9920eb8967c1de93bdd18296259803813 GIT binary patch literal 1271 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_3.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..858f56ff0a6af64d0579aff1b109026aa4080094 GIT binary patch literal 1355 zcmX9-e{2(V6#wpLx0TsIkrEnqj83X{uIdRFY{CJz(aqv+a+9JZ>EM(`iaAIbofcPI znFR_vp_7tyvy3t-)X)jcW>nWX4=a0|l z?X9U+78cAa000zLRhF+w^OAJEnwORC5q6ybfGkk6y0#*{W@Kb!W@ct(Wo2h)=j7z% z=H~Kvyu7@;{QP{8L?S^^IYHnQrJ`w#!N6E77Kg*-^Z7%eVU9~Alc*fv3P7s(8jVn| zM~o)9)uwPbNsmt(2pYl>TWrit$arc6pHYd-YJ{bwE(3bjLIfS^u#e#etZ~jgod_w# zKq~`A9IzD6!|;MOLDVBmhQ%;0he<6=u@HtN0FVG^c|1lSFpI^kRO(hJ&XVMSP8T(s zCtNNV42n^q1Q*FkM4^=`8JXIQ(yYSZBrIN)JwUm`T0f^lFtJ=IQBX1!jcFKyv65Do z*5zmX5p#&MN8+B?bWnf;Aq7M_fS7=kcV>;r6VG) zZ1w?#YY|p2bDD6kl?pg@17349=!{20$>apY0Z;>A0DuL+3%~#X zV>|%UAPHzPK(8BeQBn#R6xea#R|1X%kOGhqK^qF)B=qZH*a|r}cxF5XR0L3yJUuNk z8)bG@>2cG6fF%;~#^Vu~))MOgYU1Oph;$=bzm(w=Y(nEr8UxdgaLONp(S%e8FodU+ z3p6;Qr%;nl#hUeQyE)*sM?&5>7lO$crcyyafE<7@?S(Zh_Z(u2$vHNLIUUbo2!{!c zhSKY4lZip)7EJEIQ7?f8Rq|m{7FSE47J+6dbfVCY!-y&!e(W{=&`@;EKS0`Ti=t4>1hmF5{edyHGmzn)1uU^)vO{wg z=ND5wLl1VXtkG7?Sg<$yc+sAY&kO65Esu)(m!=A6WVFnq>bM`<;9A)>>+qb7MLQMP zx)X|t9Y?}5E!WD*R<)6ZnH_D%uC!(dt>_z*r>nWC#=GO2-b}XdD`_bmFSm{7^)06M z|ELio8*@7QJ%1c|0V$K5S+zaYYuv?Lx{{M^w>Nx}eDuUNP>=TAm{;neihn*9qdN|K zKhXXaa!)bjPJZzFRG_r3F8O3+>(CBChQ4KQk*?t#$+xD0i#x@CO=sMEeBOgM*E@*) zwaQhlV&l?Z$Bnc2tBo|>b?$}cE=cI+md+PyOMg537Eaf+o*0_Qungv3B61(LJ@`-1 XKG_ya4R(dni2zj<)#ayG);0YP$w6Z7 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_1.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7e81949a483324eab209f0095a3015b40d7c1d39 GIT binary patch literal 1114 zcmX9-e`p(Z6o37B>B0;wLRbSHnm^)pn<*T6*r4aUj;!A7wY|>#5%DTl8zI7h*DiBG zLKj@rsAtJs)Yt`flN19@p^WR6KhBv+bg8?!P9q*8U}V8{E{>>S3-UE%@Okg?{&^qx zeBS51@iE`_ZG+nYVEgESk;%@)JLRzSboxct%q&0;j31oZ-&wo5y1Ki&dwP0$dwcu( z`uh9(F$}XrT?{q8%O%_X=*GMEIkmsCeZx6U(v50N`cBkUsO4EuWCPP54PFNHbxcPl#eV9L^^adM0CNT6J@?(P$uWO5jdmWY)$M zoP3!GR+)G$pw`2MhO*hr*V~mAvJy5M<#70L7f*OZuUBTdxX?Kk$tRMfY~Cyy%_goG+wjvs@ zIfFn(thD0bR9w*9lIc|%fm}0OXr;<+t%@oQw;d=P^LcCm8V~VgB*-e!keZAZa!I3@ ztD8mCtWqqCG(aXG)bS$Tp?d&lERwF(sC4Q9JJpW17^b3X%flVdzQcjK2%FuE+GBm1TvUwnIU;?3faWn>-| zemXh+(T;`b9}ix5agw_^h2MMYRyVsVm2a6(9=U1;PpxYI;V;bBl*>!6+s~aj@$hde z_{F80sfGEwpRDudZRTaHeg2z=9{F-(nyDNu{gCw#{GRJO>&I?wy#MjJv8T^hv+exn zhj+d4?A1?iC{xS&&`^1)7MuvLe|0u^Y2o|Tld~6AhBy3)J&%1bxc==cUj#~Xe+<2| zwRo-8e=U9B?f@vCBW--ThkR!|_8i?O1v2nVD0cO+R(|-^1Fk%R8qBg>}6q?Y%Sg U?vaUMvLg_T?jIXjd4BrX{|RaH#Q*>R literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_2.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..de7058d370ab3013e3816ab05550b98b23424a01 GIT binary patch literal 1150 zcmX9-Z;aD)7=G_>2lLp$lqr?;V1%jlGGmcq_Mu2`8J7ZO*OLVns91G|feltzWRWHe zon)Gd!%Q4;#sNE1U?vxtafA`49=MolPMoIbNX9Xf6Bk+HF!$l-2+8yQ`|>`?^Stko z&6|7!^OwvAfPvBVBV(PqtP_hZJ)Qizw{JZ_4{Y8r?(K|SU0vPX-90@$y}iACeSQ7? z{TPN>ES7om<~f{BCq=ngmJtL_l7fmN$6~QmDwEF_%H?U(Y_?jI8yFApoHZD


i9 z>W(KosWhLpf?cC+lmK_nr< zfF@u$87n1h)ttRm!BNAFS|Xa$5Gp$XcmNT@WSdRJan0q*dOVXnKNSj9RdqI#L8TH- z*`18T%@ZEc<&(*PN=ceWNwYDXOBRJ}MJ$*hg2vrGr$-<;i4MxF9OvU1F;kEWhFUh0 zMk7~imuw8!1#pCbh=NPQ=#0accLhs~Yy=WDCEL`>Xp$%G5{*ZEWFp|nNo-LOjF?nS zDRn*8ET!6pj_PHbopzA{iViVsL=X~^l#WF5i9{)rF$#s+^mMb?M1afSN?}ya#ujm* zLWXK=ydKOpBE_aQ-O4xSs%>N?Z8qBB@DWadbW0wO!trsjvn-lVB&TwDvuw0#42T@2 z2sTwDv@n^DGJ0GnrbAP@S}mm;)pDyfix_|afC8Wa=m1jybqr7kJd2_V(zD2{@-C1m zNHS3Hfyo0B0Lc!Npiq`ag)pkbk(q_N#?!#D5a6+}aoux?ZQ#se4c=6*d?Y!eJ>Il___OcBdFhXQ>kBp61C$ zz==cxsVLq;@0sfOve_SQ;Fm6JTxuy!VA7p!dFQH&2X-IX|G>;3r7i#O@UF{3 z*U5cj?|idpm-XPlmNqeTbj5=O`1lFynXfLw+8;-k+*;7@-+x^kdGhJUcCNhft^4rp zTbA}Gw=exM!1oV+{?_I-Yk$6SO4q(VzUNDgnzp{39iFi-ekE5O^{>9r5fMhcn?}y9 Hd+yNx_dxHk literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_1.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2233e6a5a49a6361b3c97b3890e00609dab010a3 GIT binary patch literal 1301 zcmXAoe{2(V7{xxs4mCtbr;QsIiPw4k@w0 zCNxl>VHaDml1_>{NlnUHaAcJgQbv&hMJrY*a*k>W6dh8w1{NIfwS?sJ{`%*A{&@22 z?O3U;t9i8s08rP~+Ptbb@nXrV%8GsKe@9dRl!1=+u9o6iQc_Y{T3S|CR$g9SQBhG@ zS&1M>RaI4Wb+uHXP+*u!qai3tN7F`@WgHHN*Xs|5Bk_1j5b}irrUHZ-kUEjkD6v@N zR-4M{QhR-5AZ&`p*hJEm$?_T$F{nk1PHH#EIa=vwu|bC><~1b3j4=@0dS)axc)On&5pD;xPvmBSHvS)}^Xc#By^qc$< zCX%$r1y3>;$V|n=1dvcbY6fx}P;vfy8j zo{mNx$z(8>OTwa-%nUG_h~T6oFE>S$jG*T7#$dr3o$@B8BN>>^DY!>%Y6woAxb|v&-Fhanj?pZ3DL=(?4uyxf+3cPju+Q#A@Z);xB zwPgPRPo4YhoZ4L{;cxRhx|!F@CsPOYheP9`;U;X^pZ6!$P4*kZ!3EY&jx23T3?JHk zYv3n+_1N6Nv|8GH|=~w?XKT( zaGt$(;KG^%Ypm^0r1Rv?TjVS6TW0qR1=gWG`X=!x)7ioO!+f~<=bPoTzw;fvhVKrK zFGO{h*IxW=+3Ka}_1+uQ_Qv6y{?vN}-?iAdZAQ(+uj{2dZr^J;I=*nRKr>^ZV^gUBgbRN{JYunVq%VKh*0U_*=G2e_?-RZqBJ6?tS{> z=BkpVFN}4E=$VtqUFV&%b6c;NQ;td1!&GR&(TXp*j`+Pforbzguf_kcS{I+bhzU>M zyso?)8mxVi?H?Q1GQH?0=g5uvA@Fa$&^SWe?0Yz!niaAfI{EaSzm7jCZEI}bQYce? RQS=tHwXAFoz5VXa{{hQLN?-s0 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_2.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e998b7f6fa38bffc46c19f996f213993f13074e6 GIT binary patch literal 1272 zcmXAoeQXkU7{`D1?WnZD$@H?3i77ga=x+8FPkZgI?NzCv_MBHm$JSF>#0}TmiVZPn zh_VDL>cyaClNlyB$-*3Jr!1o4MjcTaFOEf~sKj7oU0s-B#<`-4o(OV##I0?0B{Jx%Vc(iLQty%Bst7536m*pw~zaL zFcwqbautPQjFRNkT3(~K<3@qBcxgvS=Z><0Bp1n;l!OA)sz_F&GZF@#=ADew$N3_B zM6|~h zYGFl(G3~MBLXJYrQxZck7njKiwMLHU|9?e zZ59{`z)YG^10Dx%3PiLZ!vM$v$fMAO!vF&#W|(xsOaMFwPXHYa^bBG)qIRpsEog%Q zV>Idz#ZW#k!m^jb1aO;_5>O_f&FwX!3d$pE`0>l;SnE#%1=Gwof|x_?QjpDpO`zql~cGj-AIk%y`a`@&>zMEi74 z--b#gWu=*S5NQz!guw; ovqx>)e?HSt#9;Ndx&Ky!xxN!m+W-Eej1MeZ(%tc0`?{U~11)$->ERBkQrR)OSxqI) zD6WCR&e&n2-Bz@W3I|k~P?iRoQCNj41%|X*NR<*w0IjaW5k~l0Lh^Zk{qsJ5Jb89B ztW=jzdSMa(puBEbZDVdKb0rlPGt{jq0mSok;!H;1;AB+)RgLUB7;F{ zGAnF$mD5FfeRLpbj706pl!rhCT2(2l5nHrUj*+{K*npJ?I<*lWn+V&|3D0;Yq?Q00 z1tuJDl)%dhf_5b46=fq5m{!0n4JSAVLoxtJ0BC`LMG%Wb!pY?xm1=+_!+L$pV!7*f z!(dQ?iDbA~K}uD$T+O0d3&wCNql>We8b^TgL}-6PFI7quYMF{cHH=cn60D81xoNkb z^+zqCgd>{vCdY#a4n!0X>w(k^DKV*0yH@38 zh=7rbTA7&BnBuLOpmRLR!&C?nDdngZQ|fWTL{WBzahXg$yFKW3NB#cf$VeuWfk46n zxl@375h5U=BB(w|*it%A+7!reBUxX1A~p_7Q3O$n#cHXHLKTckWz>*1I`_=%vpd3G zUm_IECUHP(1V#$6&{EETy39ClqXI5{n771&u5>Jv&EADL09pWy0B`{C0E7WZ2>{GN z63}dfyay&?q#UpqaNxkN1_=^C3P4s2?HKfs&~Jbd8%%h>6XTUYLjWx)Ffd|^33YI4 zuZIZ)tkEc+PDf!*OQHvuxfJKbq(@5o0x8fUe`{laY zH&!p)-Mh!Ivfd9Q9xS?!7I(GHN(}eBy=v_PWY))- zYn2;jY6F{`qUxW=x}3~UHOems<6T>OCVz2dZqcrxya)1W%;kG;s!!!t3@@19zqNZ; zvVMst?vocUN|H&mUYh)O)k0`)Jt#*)r`m%QuZ<&w=`m#iM;qotMr|8Cepa zupC34KRU%Vv&;D5yOG_WpE2)ybR|-D|CP|~htsw~5?d&ibn6kq5=XLNAYdG5Vuzj`$|sBN#`IPVPI=Zapr(7vUAQ43ae2dO%Y z#D)7V-uz+how)AEf=@C(o@;72Omt_bR#&6t7Y7&BwvIQgBQ|b&$9=M({jZ)q4Hd4M lrg$Xp@wM;`!E2&N2;WNGSN+=hUCwGyw{&IgktOT4{SQJvPV)c& literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_2.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5f6c98fcd9fc3c07b62faa080e88b2001a5eca83 GIT binary patch literal 1243 zcmXAoe{2(F7{}jk-EM3nHP%?Qkus|sdXPeH;Yd0?;5OGH1HsL^QZ>gww2>$O^KLqkJj zV1FL z2D~H?7$m_X>98)J&{wiXShB#16W$jf%$Nb70dOJ+uhaRBMgc`dt96K`M_sPG-#-zL z!*tq+>&>LWLYu5k)W&11ALj(CCq@M%dnCn(S*NVJOoY*5Gg}$V&Jhlt;)8TB?u^U4 ztoSo(L@6Z-)wGTTdIlI=z~lp{fDmzmEr~kPB(JdHf=4V188}2^dX6x9ZCIGKCO9hP zVUz%uk9vwypq!3Y6$utIIz546EKayc%F8fej*EG{$#6Iwk1MiV$mPoAG6Y5*piu-* z=%|#D$zrYo6)ZZ$k~dWra+PH1e!dD@FrAJt7;GjpgIPGM)nliF&e}3xG8`FAB-M;k zDUiTvM?8$q?=%T+EaoGnAd`x@MkRkf9V_KCmC6Jp0bl{}03ZM$0Wb$?G0hI=j0gyMqFb+i;%5InqLRAD0!4tqv0hUJGoWbwKB7!X;a;a26 zQKV8yfi*9q3*f#MQZUe>$tk0}Y8A>3sp3slquKj%0p`o79uOwPX3;rFlbgYPF1z4& zixGcHiYOVWq-J2HK-le222ceM)>s5pyasMu@APt0z){qP6+dzUd_!Ofr6)%s9(=fdSP_wI_k zx34&-Y49w(GRwX3=1k4g-wT_M4*R<4D|=2p6|N3;?YK3z`}A$;*SmLv!_{l6j3X;L z)_-yQuitX*bt5JL8Nc&bb@jxwHx3=@bG*3L-FIO1{1-(3w9}JQ|M==P7E_1YQuls; z^I|_k7O&sv`>^lE&!G-Bq~j-{b*k>IBOEeEm2Rosk) zV@C7!J-SvTx=mveH|)4vUNf`TJTSS&`O;2pTOqY~@zozb8GoX=_d-WIJ3Z90C$V7X z<)JgbEPZ7z?jVkI)=lo$Ymaw!l(e^=U$W&+*Rxz(_x|&Lo@o;qntND&S zHK_e~e0_(qwYhQP$xG|QGd2%5t~_}5Sm^57=_}iJ_bmB*o%^{JKaR=&Uc59--Ku4; z9KA8JIP literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_1.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..369bd4e8451b709c175d0c51f21be4832b6bad38 GIT binary patch literal 1111 zcmX9-acCQL6n<^jUb}W?5-`py-dMmm4-NCQCq%u~YfZb`dfl$`lrXaG<|4}$rqKl%G?a)H3;UTd_}+WGf8Gb* z_r8;p6Tx+B?^z1~>&C}McC{zbE>CY)yU%$K90cfs$?a34?X{z$qqDQKtE+3xnl;_s z-90@$7>4!s_V)GldAwdPMfq8l5d=<>LW&|M5{XPES1cNqRdJkVt3~;N2>{RaheGaX zl!(Rs$y6YdWzM6DgeLiN3Ux8TmNH_wC_D4XhLc}uT0tDb zB*Yld1gs!qrIf2$aJR}hYWPtrj8-*-EH3~L5XLasdiGhN|nu=g2 zq-sW~>xpJ5vtsM0Zn@mFj}$37!mu$xNJ&yQ7AvMwrCiQ7j9R7AY&H?#GWaqWRdBH; zE|kegjZM}=`9{oaYL!;8v07b0{iMr9dptqHE0BIE5KuTi8Ezko7gOo^Lea78R*iu$ zhbe+f4HH_F%*Gi#DVW*FyslPD*+$iBwQe8=KmtK5=F_UFr)^7b zI2LNvXpTb$AO{d?dy#C@-3FeBXX|x3o4F08TxLTdAsUt9ahdWbXn%&Gbe1Y{{t8bv zL@x>xNcEvCg$xGST>JUy2m6-;7W^ zap7grJn+$#9XIACzIRz;=8M-Bj&Iw%v@~}{-tgoC1Zcivsxb9iP}KmY9uhs)#jld<2e-M_7# zeQS4t6<(jjk4kqftFN7zzHju@;VJjiA5^bPH@9p!xar~9$44qdqnC!x{+-=_jM;o; zc;8P$GtQKCXT@Hees7a9c*#1y{ODY|}~^p4=n9s3>|93;05bM)s{HX_rT?Q*AIVr?afcl{@1mA4E>4kKfQP1 U$ik@$ZFOLLbYkSQr}n=3KlFF$RR910 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_2.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2de1a04f44fe850b1abffb2d60055dba824b2bbf GIT binary patch literal 1156 zcmX9-e~i;~6n}TSql4pEVB{8<+Q=|lQgvW4RZ1*J564-ga6MgcN-+%#ELgRY2@|Hy zIAB~F7;%y%jHK#98kmNVMHii9gp*7y=1d0EWSD_V?t)WlJPqjA5t7gQ_0RhxpU-;- z)~^fo&ssPO0Q!g542^W^gPj;~Iy!mx>fSW~4p_f-baiL!>gww5?shmFJv}|Wy}dJL z%)l_r>2%JVIn(3w`A9OzvWy^bk`z%@C7DcSv-x7NRIN@}R@=78ATTuWTwf&OmSsE^ z52n&|Hpdr=V!5K$%ygrvvji5V`xMTT2;-XM&#UB_BwNXbYemHxPqi$4x?K%)({*Xe16QrckYK~1BT&67OHL+wxampJE`DlUQBr2k?N{UbA#e7LAnTe{E zF@15H)0y!?(W;tug8`Al zRKb-HaZM(2amGjq^!NYpF2R=sN5Q-}cw1E>HRfB`TL(8K_Bz_Tc>B11=3o%e%6 zLWY4-2rM3u07&tmG>LQ`m1I;)Axnq5##6wt5auyi@+4wJMhg{msa#H)rqODdsKe!r z0vYdPG!L)iV#%*qwAPLocC0*|t=%p)P`&MU1BGLupew@QvOvb8oR*OFOrmUL%&O6{ zs>p6o9EVDPEI_E^MXE!058h-v*KAU`>^-Qp8XJiSvMj~p3K>jN!7M`>ELq`#6Fkuh z`;dsEgdgQdRAP|Hb&j8Ur0D{+ZKCZ|E!gp+8`Hs`~U;1TV?s{OJV9gf~{alx8i-l$57k5GKt@B5XCzsRr z4PHL=)WQ9Go*Uc4%n4k1cH_2<^WS}7^s1HHzYHdam+V~STYBtt;L{uL^sgPe)_>y0 zqDy}b?REwNAI*ln%GH69!osh+Uvuvqy1wn7*1*Bhb1MSxNFR+Wg-C)K1>VkWyoI(`PpcEYl>cIpRRPdld z5S5yu77eCoaKVEDrij+V4T5UWAgBiyG~SMot=7@eQM=tfK0ZDfzf(w_X#dWKgZ6J0GE}4o~9HbCjk8+wBWIMkaZk z8kn@|u!hfDGtrHtX`+N{JuZeMM=*mvuh5dgX{KmS9}uE7!G0qv>$!VnWn$z5X`So_GW(%_IsXrJL- zj-pkT8w%oBQ9Q$#jmJyROXu@Ej(3|)RaFQG6Q}@V7r2-Z%9e1HgG1+d2eHIPMQTPO-qv6U$>S(pkC51^0%DS*r#@>mqgC?28p z1Qj8?37!K<1XadHM$Z}3Q-81sjU;jNJSxi^HD1IJSi2+mJvk)xm@*6Aue7KhCx>8t z7w^!vqPoD5*nq(`fgCBUJ(PTB6i%Han&w$l78$B{oFt(bPyq-vSxg$cw;)`5w%>EJ z;4Q56TGTXUG%{@4WEq!Z0)dT0HkFu-OqXgO=_GO}G-FXLpj>K>pZlQm@0%a^`suX- zAOG{`myKYqEaUA;o}adk9vLs`uYS4t e{r*oEE&YdwKmT$6{o7^~t{z`s{`%?7%l`qO!+7fe literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_2.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0f5b0eaaf25c2bc2f02675297e9c57202f4cb4 GIT binary patch literal 1239 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 ThmpYwFR*TP>#9>L-`f8_g9|Ls literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_4_2.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..439118611cdee2fb024a0a728fc3ddb8821a81a5 GIT binary patch literal 1274 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 T>lUQr11icYm;Lm?=PmyODkziP literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/steep_to_vertical_up_2.png b/resources/g2/track/intamin/steep_to_vertical_up_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d2167ad014b4236c01540edb6fb551a99cb3e982 GIT binary patch literal 1357 zcmX9-aZD3;6#gN|frK@Tgl<$*x3XPg!4gka+^L6avC}e+d1BQHb-TsJ)a}&Mb$UwC zZfQn0&!mv5MT==dw{%(;#5%j!WmOw(uoKLxyJ^V^)``$*C&VHCR%7zL_r3Se`~LX8 z_jOaFrg%>I8~{M^s`u4vvMkNk@`BuKA8D^X0zfWkYFJyJU2}4BX3d(Fo12@Lmp6O% z?EL(E1VIW43JMDg#WI-;!xSnNK~Y+o*0U^QwOXA{x8ENKhld0qoylMdK;VGX7U}h+ zCX>|6DQtG!=_0*;LomcfWA;SSqmm;!yok|?EjlSrqiz=Kv#LT)UDVGA5nD>|Or^sb z2{6cknE*V6co`&Q7sb7$nWzM&6fk3e(>#P>82}^z1_WV5B8x=Aqo@bR`$#fkG{!BK zF}E9rLK3W0Mu-)p6gQw6My|79G>@|`mDQ(p1SwC{5D<(~r9`2T;gnoUEA@N0e@{#*gYl1QXNQ6RaoAhhZNnFQt_dvqo;$ z;a*x5WT}{yjyu_;&zcT7r(!;s42w#Ys9c9BjfBcfQFfYknazH?J>+)B0)fQPP&%E4 zK*9jjiC|ulDk!0%a$`beOX@u-b1=;hW&Ek>_!KOXi$qGXSR<8Das`d!td_JHvd1{T z-4XHng>WpBAb>%Ou$0JRkn$$Eiz9qCD(Esse3p2~m5PTmnK4KJpaXyffCs<_Km>p! z0$>)T3UVy;d7uy{QNUopL4be;2qb_MfQ%U0G3X&-zyzZ6zV=-SU6@ytVi4kC25y6W|kJJ!A83E_hdSAvIoN`8|0|^*UqoqJ8MKlVL zo{*X-j5BI^i^=1#1bvQJ*q0K*Fq2SfwJ-pn03ghIVav+Bgv83Zl1Zh@`4Vh2s?zHz zlZoay22)s-3MYa2R9Hx>7$W5M&{v1KeZJ*>lo9VxM;M|Sp4L?pcb?vWQa=&uyNYAFOBYWpI zpU?~hE-gawJKNXCo}V8*v+`->I`*ih)pFt0s!>M0ZQ_*~ebLNHNulqJw>O?d|Jc-D zvvRL|M!Da2fAaocHO%Dl-d%&{@x(3I(NOi|s_Q>}Z?sY9O70EIYCkULziAnC8J|9? z6r9f*WFM_zmj&Z*EjaXeeT7QhG1;^97`6T8m%3%OZBKvMd8TPYn`z<-Qnr0GHNLD< zy<;_3Oi?BGHtg)Ya6mEOd{@7PUw3P2-sL`i%O*kJ*4opxwR!gsCAr+ZrGaZFjCb22)9;pX zn|~cyEW7mk?F0HR2N1HR^&#@4WZ})Oc|+entVwm)OuhEGuO;lz+ewd1){PzWdveMg z-IDWHnwKvMp8P`Hv&VCotGhi=5y&ivF&)DnhRf?)NB>?}g~TgbPCsrqboTZ3{yb;|8C&q>|)pJbyE?&L(^93?5->Gf6W_k1Rz$D&Xk{B7!%(^(duRUsj0IP_9 V-aNRP%Vq+ss&7=EesA-^{{ez#aP0s9 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/steep_to_vertical_up_3.png b/resources/g2/track/intamin/steep_to_vertical_up_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc4009790dce1e551cd37f54211137fb8491b9a GIT binary patch literal 1379 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_1.png b/resources/g2/track/intamin/vertical_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bba15a1447414dded2896303e169df40cd727e15 GIT binary patch literal 1114 zcmX9-Z)h8J7=GJyy|i6-N`}G3nMsfo&Nj-i-5{*D?ONkJ>5bj=lqfejS%k2i>{dg` zhs?z-(|ovTwnYsZ*jYmjm}zk-Ms~7;6$$R#x|-HgGKiYm32~mYlsSK944(Jjm-m6^ zdEd8okA?bsH}nEP|E{M-_O$DL?HF)6+WDKVw=)0^*!|4j(e~KU(b3u2>2Nr@y1Le^ zS<~I!jbWJ6>Fnw0ar=Bek_<2m&GW1zg%w3kCX?B0zEmn3#++rfY?}-K9R!Z;3x{3N zs5cf5q|(7`jw_VJimp`6biJW51SSOgWY(P!ysG5SE97*N(X&FeBwMqorlqa4jF1OJ z0%A0%JXVk~J&o52F1zYM%>c4RbX!Hp@BwfDB8JI0p73~7zh4Umr#Wsm5~(E;H}ZL; z>mJhOqul|{8x;K^nGh1Bqz087lPt2C3a?egvK8@Co?&+rEKl00BS&Pyvbnvj7bYP#YYB;tDEi$f|LE zkV(kUP!55`0pbD4Zj>gG#-VZ)Ra3~);I8o$unY(s7M0wI7?Dv!1x>0{lBQW~Hciy# z@#F#Q5ld02(`UPwdwA`lZ@vY4Jwzt2c=qN!eKrdmEv)k3?!*QmL`h~sk4DO zj%W%#BzjT8k8&g`)5v7o$4?FR-Msq)hxd%}u>H4%{q5elYh=gXfp?C*8$M(_?i^i2 zKWzB+&{wBVWUsy7dGU(^eM{JS|I%v*j?8MIZ5#h01|u_2!9}PCj^bulb_5Id)~^$(gCk=gCJ`uCK0L+;(vL()QZm{OI5->2s4) zlV9%~5|*zq+jwgH)XeKc_((=Q^ZD@)p8XU@FO&an9z3USWQH576OY{Kxbhc%Chnp5`w9zJBw8IP3WYHs*SWJnN)Z~QeDqc)83iQK}Li%CI3_nXqp7-CE_eq}T zeUFWf_yVC%sChXJytKImQ5X1i*^U?A^a2_WZ1AEBqS*v4(AeyLMCGxMrD4!Uaup-W$>ghDr;x+ zxKJX36*gWCXti*@uFf}dwUzQRvJrMW?R5HFZh;^ruUFytxY%44$t99=*_>508x;mb z4pRhsRCK8!A{}A$xR6f==k#c~kgk=Bjm8pU0Q>+7fC``k%mGv}Kuz#0iYQ3ekX7bA zAXAWJ!0>^^0}=qqPL!aK#v>zyN^xXqaNl?uI2Qao7LuINFp*S!Sxw64W2ULsY9?xO z;X$AxHb!;wnoBf1vgK9l0lg8iOQg-(R|#h^_u$=I`Ondx@d1+V_15Z%NI|sS^vV? zl^cCeeskdF-p>AmJI?)jdvWZbf-k(qtQ*`V*m_s4xx4hIf8Ia*U+>87LrXW}-(K6; zaZbC?cjTWdryiSL|Jm2$!#$U7ZCKc|>5-pGzB4zjpU7_W4UI2eK7RhS_s_1?pL#X( za literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_3.png b/resources/g2/track/intamin/vertical_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1426d39fa3b85d4a9dc4770c8be664fb2e98f7b4 GIT binary patch literal 1127 zcmX9-f5;Pc7=PY(ukXD&-_BY!bH#~6PB?7ZQHNb}@9X)pt_X=)~uDHKZ8s#UKyUDxaN=m>Buh=M;J4Am5*1NcRujam++U_wbNShF)vY_dHV3kRX%e26 z2_s1rb*_??YQ@BCCEc=%-B!KVyMj1?7=Q*~08{{G0Xi6Zm0&tW<&9|BRBE-1<5ap`2lcr^37~a9 zX9Pu)kS$VmS;LE0da2r6p>fS>qn1YofFZDG1dnq>Qlj;QV5E~~K3%KioqDC~)={s` z2m-PIxqwjLi)^3nCPEp#*y%9E!cAz61|N@0$)uv|Djmr%kpf3oc-j^sO_A!x!bm1i znnXn!SsZeN{_!&_{eRy0f!))S5{&)&!xR1fjt%R_H?26h^-%J*SC%f!=xFBX_O-ch zf@gOfJ7G2=S9dfQE&uwnZ}q+J*e~tOlh4YJKEKRbHh%8Zm*=+$mrw4wr%sKXoVYh7 z{WtZtMjl$Q{o_xczBIk`$aP`ge(sjB4|U(0zAYPPhmtcLc;@cOsrOUd@LwmXW0!w^ zeBr_S#y9_194)O}vSzn;mRS|Zti4)0omk>Ev#(v8I<#i_cc=CrdkFTdc)J@vw`)s# z@vX}SLYI!5IK1cGqwK`i)zcgQ^;UlH>Kngwo_y^5!o!=?(K{dDe)`^j;o_=+nuY(i zef&Y=t=5^ud-OWui%)*H4{RR1E72T%E_(fCkD$+d{`cx58_WOT7hc@47jEDAhabKo gmTtL>FM46%sgI7|zj#c)AsTF$m|TB+-L`%I13m)f*8l(j literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_4.png b/resources/g2/track/intamin/vertical_4.png new file mode 100644 index 0000000000000000000000000000000000000000..81094e51e3cc15a49c07100c580e167e9735cee7 GIT binary patch literal 1133 zcmX9-Z;aD)82%l1M-R@+h!Ynqq)Ub=v1b~J#iZjko zV-v?YO_8A^jATd?Myxu>MT<<_;)EkNVuACV(1ZmS*$0xFq+ae42tP+ip7-CE_eq}T zeMdKrg!&dfvk(B#H@tpmbGt5T$BLfLb}n~)ng*Z~Y}~MAZF}tK=$JQeUT0@#S65ee zclZ4H^AQB;>FHUpV1X|X2#{ouWf?)>Bq^dOvZiU7Os-I{DwRpcX}K;L1Pl#$t~V0# z#$s4J5lp7&OqS0V#9~RQ+NpZOUwkjbM zhy;i;Ko^j_jFeKITHfncQP>PZSA_R<2rB^qcmPBMkv$$2MRgoEXnKt2$D`4js@~1z zV5x+X-T>nZ@)#}RA(;rPq@>eImeouyT@;L}XgN`gLW7|IEfAbUMPyb^^2wZ-vt-Lw zD^A*O=IgU14+Fdc@I?WZ0Jx4&IbW!NM@o!rhf{UMXz3L=#uHwNLgOJK6{hnNTT}#F zlWG~IVQQ^XX4W=gqvG*WI1whPD8t4DAtg!Kc)XBGm2x@Tvg(tQtyT*HR0enkA@d%# zhzeCAT4$4uh|!D}Tl%D1Xx^{Q!d}ATp?tm&77&P_MAHh#C&l)%L?M+P&ljAE?baC} za)=^$R1wo-L^i>gNuijHj+<(&lx@~3u6q|U0E7Wh0MG$20T>6MfdJSB&%%TPO#?bL z9tScB(hRUdz~KQD0F-?&MM8szRt#2?&@sRx<0-(gAj~5%$*0DNv>wVEQn9Gnw%Kgj zu+4==0h#D!bRTbEqJ_&2t+yhk8!yggs`srrthI12pfDs9^h6jeCXk6Jr>ij|trpF+ zT``+Z1-f;Li-9)RK7Q)?-g}RJ;N8t50$6?Luifn)9Ugjd%Ze{vJG|}iZ~mUu zKfxO(hjVXqZQC_<=IF$Kb5lS22hZGoa`C3E?~i0B4i4aBum1bqz5^FmuAiQ{_rzBd zwI99}ub#hh`Ljjam3;?CZ&}Imv5)p&pNJeg@iIN5z2*ON;U0JU=>s$CuPz6NG9&v2 zM*NpvSu(in+%Jn3A3C?@?+cfH?R+|z!Q2XGU~t{QjZ^9CN3i`T&ra>sMmPNtT|8$@FFQ2%!IX4u`sp&Ze8WZd zyU&OBUcooXM@}s*@2YO*cK1#$h5ctQua@1@vpZHD-aFIhzjZ*ndH%V7igTlHDo^e0 w_GkJxR^Ilv)Njh+<4a)2hq;FjA9SN%UU>F}8#_K}YX*kbjtqUj=Jk*N2Q94l`2YX_ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_to_steep_up_1.png b/resources/g2/track/intamin/vertical_to_steep_up_1.png new file mode 100644 index 0000000000000000000000000000000000000000..768041a2562d2f79b9a649c30d5b6553daaa5fbf GIT binary patch literal 1379 zcmX9-Z)_5G82(w>UjL}Xl7&R3MEO9P>qI@>&7JjDX@`~BQ%|KzR+bTE8?o1pRa~iM zih2^_&Wuc^sKha4DO3D^b4=MvCn|Heu}B>%+G?5W6f5nhVcBmOljnV&ykFku!}GlM zfSwJvtB1 z@G)yR>5Qd)sa!}%0uc?w1|YQnIfvjLu__?fhDau+aimP%3>Su{DO9A#C1w@s&=5Yo zGH9Y>Hhscn8uZ&TAy+Quhl63E2$!Q83^$NUGfg}6dbimea5zF9PmJeN@pvYafk46l zxeLL3LS;}wM^Qsc$qs70X>%~c#j}BQK9Pf!s8EQD#VVZF_zbz4Y3O9$PCh~JtBxzmYoHaiSS05kxY0N?=d0}ugV5CO0N zN(n6{==Z{8f|3IU15Og~Dv+cAqyc2a(1AfO1$iTkvM}id&x6N-S_w21V$_SRX4J{4 zd|rJpXp6=C>2wShyd(yISt?0ROnId`Ud|*5E~E8l&B2^2n&(q6k&%l4E=5!dp_Y^y zY0P3!b5^6*X$|_Fv9Ld#48v>+SF0fpU=l!B$bv1{y@14KaSsmSZr2N#qEV$*OB;=P zi-o}yHeBH%F~1TEsTFYwO>1OOCxuoybYqYwVN6{pKmJPP$nzigXk`-(-WclN06@`{ z#`?NdOYA#7*M9iT?1}Xk;DxnSSJpgH9_qT)Dr#LlbI#WN)#Au!M>a{8KHIWyhl)J; zurrpo9AE$aoudk${=RAoQS~W2+0`>m^>qg;&izWYMaM^PCeK&&&OcMJ@DF<(zwp+U z$B&zy?At#4WUTkvs4OrUyRo>VY9Ld>61}yJR&v|iy*q~Cj9x(~KV~1*tsUFG2h?P#$5zA_Ro{O7de^Cro|e~azwEl^ zU$?&X=l+4dHq_NVe_3GkL9;kfQ`<+#N9#K6_m*yaSbHUoo;i5p82J@@?!?9gmRXa} zOmoT(S5|d5^1E??s&nh?MN|2U@_YH;XRt>G-oD*ldN#HjN8~|Aq+%f#Xr#i)DwI)2 zg-#kM<01t+s9LpP6B?*6;lz&BSmwYA6|0n3M==#^fKi}?CQSWWLh^Zk{qsJ5Jb8Au zx9O|KPaY2dsA^rPTU4CNVrj}G#U2$_wF4jl?XN6eP&~(s8Bi%jGJS3dhwXNiYn>aR!TpcQ_m#k1rGwqtQevmCNUGH6XNrrYZ~unc1wg z+SE>$*5joEA!9gViN#&%jGx31R$IYSayzROIMips`y6D%!^T2Ryn(h504FmDYPJh4$R4U;)k1~f`Uua+7JrJ2EP zCQ7iI{cd|W=#EE&*;Ewf(;A9`B7i9XVbKd`QSLDchs~SGXuO`sSYk2KU|`H<&Sv9r zwL_!!5O|QpBa}KpV_8-OjY?=op%;fD0prx8M9i$X`zQnNENWxGi+^2NQ{1n#>gF$= z)6=!j+~Ih(vbzfgx2-#PzkYDbJwNt0w`>2F`kHzr_GVr4;r^DKkgN>Mt%U>a$)gZ8 zItR|#&U;ohY^`-p{f#x@GTqiYsUn*Pc8xe7&xJ_JD5s#TDysZ@)Mj z+tB~7Jh|uG#_CgD6Y4rH`x3cHSEsc#`DzA_j?6-rCRYDCWnMMXdFcIS*X8ux1{T*j zk%K2BR=G~OW5&UA!SG&j)sf1UYWDb^-sRPAvGpvXyfJm!`g=>GUQK0N=Z)WAYx(%L z=EtrdY9B7z)b#Wdb7s~?dV7TVru(`*1D8(V7c8TVLeGRjC*F*F`^!R0bJZW)PcFGN zwBo;!s}H9*S2lKixBK+O$!6qw$7a=zuKoMC;hqQ6n+jjNURr*OyRV;~JKi`@wfd7I z5`OL1U)@qr)akRtk~(^e{3)^g@~LWe>xcTz4bS}a!p=);-hJ=MCeXL8_2C=yHtCiv z|GD3lS=qU4@12poAGrf9bEmEKPZVcmKAYO|azX4)e0uYMIktJT@WlQPIu4y3zINqe lx5qfNY-C0*Hf zO6-tKWik1?|nD(Rqs8rW7zWy4|oT0-)9@AKY2@AJp! zeY#p(v}N;NoCg3XYig`tn`K$Hu%f(dkMNsX0muWbtJ@l~Yfes1Zf&E@h00>MaREFMp1GN>Bh8bFaHdcD|W zl9?@PyF=r0Q@(&96y~CWBa!qHDnzF#VM&QqC*v8VheHQ!MA)T^2H5zBJr(!PrXyM@ zFsOhT2Rx1VSS0Ka#eCvSR0>mSm@&X7JcJPi02BZQ1Yt!Yt5nJ>m0pczfTBi>#+cRm zz~h18uoM+5aEY3dX$(p&tI}CfhSzXz!saKPA=(=?1mi{-CRJ+{8d^m%n4TqAJ7xD6 zJV7=nSR-+#kn$yF!y+7rX&^BInFT0$1oKF=0i`~Svx3f%;Jj%*0tYCSn8BoGt;(U( z_!uI@(SnVMxwxd?mJYjS1wTwiL}E;-(xI3UC(JbMU>LXA9B??o9*+Jt$mDIHZA6NEjf_omFDG(VOJq@KiPVTnp4!Xy%{OhK#Ej7Gzel--a$W(hc) zBfda9B4iRcFpvmGi>wA2Z&JA}xZh5P+{O{VH5PWKVv$Vd0mK2&0l)#k1K1b`$0 zU=|bsEgbZFVLV1D0gD1B4uV<`rvRh@WF^pnLN5h_CK$EDxEDM%9s?u+bQEG@Bv!M^ z$!mRHCKR#>fP@;ilyKNXL_OadcG7z8j5Ak2DU&&oZ6)MjxflbGA}3|ury==HS8 z#8@mWsftLV^QKUd#;b4&jqW_9oE>GAId z&c9G^vwd^?+a+=Zb8VCNt;V*&V|7!vj$EsM=h1xe(24%}?^oXLiG5Y>Bya4TDm}Vq z?lbS`nd^nU6MaJF^;e7+P9G6fZL6&>Sh%EnnQOW*=(r+TRaI(|bmXgkZ9iTbSye+k zZ{KAftt@@RynnGWuixr;gUKW5m)1;dZuomT>?y3AxP58^)7`ys@o>EJ!mf&{ z{5zHHJ!}L0%ge`r=liOB`Fj_(SGmg5r#`B#T-$qRtf01qzLGyay;NfEJ#eS&@?3TK zq;b@iJhe`(%`A4*318&R7J^*NHXsJKBa^v3r E0nnCE6aWAK literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_to_steep_up_4.png b/resources/g2/track/intamin/vertical_to_steep_up_4.png new file mode 100644 index 0000000000000000000000000000000000000000..cb4d49a0ba31d8b61dc93b5910ade59c30f9732f GIT binary patch literal 1460 zcmXAoe{hR;9LK-?`BZ<1E!L#|$AKDWgLPbVcM+foY+ z3m#UaTM#F=h2|`}u2MoXo}HB7=@u3|o0ymwN9y7f?fEXw-RtxD+~=Rq`;YhMy>-z- zRZ;%%d;maE)x3%&=_yK=DlaSDyN|Bi1wa;9G=FJjddl%F4>l&d$ln$<570 z5F{@zZ_uDY0YT_9)-v-Virt&}1fMFFK2STrJv&yHy!{<3)vE!yD!P8gg_?+ zCJfL7;-QeBofq}+Q(+-Y$Y4qb`)LRnF#tFKIs~D3Jd03BOC)ZEq8-OWdVSPldEj!v zU{Hwi#h5^bixfJEijrz9C`l`fPNmhWZVnLcu+GovMRK7`B~}npH7VCpO3H@YTsoJZ z^0O9(Yi1LkSYMEb0X_i)dLS|b3602I0+mmq4Pq3lvB!+=B+bBfT*@cqLX%2r*C;%s zGGHWFD;aed<6dhr=;&j;FwXG!a*0%f%JrDiL=bk8bec>)yFKV~v3`Fn5=kbL5C|zC zaUiINrwj;*uv8yY+TvPw!W2l-k(4jdAMJw$QXWq(5U50ALMkH_3Zojg>C(r{K6`V> z#1R0~ z;7VvVLa!TgQCtEj6f|SNuL2wnAORpHfOZtRap*U|unlr<@XB~OP%D83M+~IEVv;t~ zDvz5C1gtFUO(a;D))MLgYA(QN0qz#*{1S>&&`GT~WeW5;!u|djj3y;~AQvGj8BdFe z3Vy zn#~j{v&v--4D~9}pjsBer3sA~>O{~Yfld_qG03XZ&o7@?@c2~*>X$4eK>6Kkp8}9s zTU9Z8>AbC*_ZW7J7*n|E1iU_6iS78KY}RowP5Cb{-qxI=Rd@GCZ}g*oMqBDv6_oyvs$S*2*hzr{lj0q0-L!o2 z$FT*RtvqnHWt_Y9_>tocnt9pP9g{CGv!gc~$6z zLanVIzPlxsJ1{^53qURn;}} z?byEDigi_#%gXHP8@gC~Zu|4S#leQc&EH5j2+c(`XD+q-cN}~8*Xoi{hW3MV+4$W5 zzM3^<_5G<^-YQzQP0HSR@7b_u>tV~+bZ8u`{k^qyZ-n`*yrg*32R84#Qg)u;@N-KwswK|(fUyomtzR-PLLN{CWQMj!8Xp?yoty#<6kd+!>~uk9$z{JHxVX z*G+5rr*6o_aEm{uO)Pe7slIlS;Tp?xDhr#Ktz+yHf15DnVcApusj7QtZ6RUq`K@qS zR>{ES#j_^36%s|wJ#y;P!n2J(ljwjC`NXE_ZtCp#F7(DB;}+y)-HZ@#SXs*Q3?Jt1 bO(v+Sml@6W=_k@z1fZ&NVZ~2#YQFv-u+x@0 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_left_up_1.png b/resources/g2/track/intamin/vertical_twist_left_up_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd7737feb0af61055ed562dca22d2abd89fd78a GIT binary patch literal 1566 zcmXAoac~oL7RP^WfNj$&DFlq%)@~rkRzr~+ud$&Fc^--hLg!G&np#xPyrlp{KIiAgK5=`a_Id(Fy_os7D5@t`T$@5m&5 zxok{>0!9uj1aQ%a--JY+qJ&?}$5EJ3K%Rl)E(l{X04M+$1Tl$3HWYQ?xKFJPQB=Rd zkg(aVdA%?iMU`S1AyH76n!zmEJ^} z9F)V$c*CYJXNx7#jFao zXyi_v+Ru^^GtJrAgxj1B*t1c0jtjtaOe9v}a-C9TAV>>MJ6YCau>_sYsMpJd!>Qrn zY&Hu4Y67?$QTjz>1f}D0LyB~y^}dWHl64L9!OVCf2TSB4kxC-bU@}^+VAX1~mU1xp zW7eRvt=}I^#yCDj07i?LX_1Y=Tt>OaN(3Bq#AE0W*b-4sCK2QLYmfjy2Y?v>7XSeO z`TQ@?lIEHzn1stUkb7A~|<_Je-1wEG`Br z4ACe=dIB@jN~=NZvKf7Cwn(6jiv=>t801qbtrms>Oach=UO4h{e}LMpo^)E}asPoi z9w+sB+Gu30R+Ca;S1H_tGC(S$TE#FW&*)^3!JrL?9wiJDkkjVFuc|7!asLMz>+5Ln z%+(9)0Vw=#X-)OYB`v$#_3dftpK7|{$$4uGRqRb*7&`Ron~UzSzaOki6|H=^R)rb7oV6aov=&=Q(r`|M!{K`xtERnHwKPDfxKmH3DVGW%9_szCFa>JApiF9NBZ|ukO2|gY#-*c_UN%UpE}TS{oe1p zx@XmWUUd+iv3=^~uCaB!iWg?Blr>%-+x$jd*M{1HStSj+PaZrh+_bx}<#F@VUp5Y` zhUHiEb5~5RNM5}-dpg|(%d#--Zt<`4*=#QITJ~2&tYUb#WW^eV>=}+vpu01NewD*SxI|g@u@sag!<*l3{ z*IH3|UW!GwHZQx`w&uu^Rh{iSg`thBer*v|p8_{pZ#O@>O?q!zMGuHCE45J*i=^nvNPO+5r<&;WId03vsyS(b*?+OP>Ve?!f2fwwKN7Lew|B=JlQZjg z7xBJnZfo^9?xkh3AFI%BZSG2R^HWEb=ca^u{jQnkFZVUQAMf2L#D_e`#?CSa9CylR zuGj8(M>e;sba>!W{m`1;>Z=oWO200!!tik`hJNH1sLm&{elk`{QSz3FD@p> uMo-^yg87Z?g5DE5W0}s|#Ie7uh6S3f?`}L=X-D!Q2TK>#)pRagv+Mud!O9>2 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_left_up_2_1.png b/resources/g2/track/intamin/vertical_twist_left_up_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a7af3b54cbc03d673b8dc2a21d7d40649900152e GIT binary patch literal 1226 zcmXAoZ)_8F7{`D6L$7SihBd5V4ctu8sux$u!OmF20k_#fVTZesB7M=pg;lM388@t< z%7I-hqv8S8Rn`{`9;A_5ENrj>eNpvj7e7l#zR$lm&-caW zc}6z$*qRzz8vp=JYq~pot5si(rP{h`*8R0r0iX_SSl8E89cyZ8YHMrj>gww2>*vgw zqtR#(1kq}>bLY-Am`o-dw@?(xFm{%8@;vAF`@`XAJf2XLtg4pEW!wTtE1>O-PN&}E zLA^dpAZQIo=vds9O!4VVFkg@;3~^W+IlDn{pdxFI^7y2mN`)QiIHyhrimEhQQfx-x z!hn|qB7?*@Bo)-aJ?(bq1mSix z3R5W~t~Zee3yoS`W*dh&1e_JEe1!7L_E3_M(yoN+MhTyrOwSTVuMG=2tTC2K z@=V6h=E8hI_LoxO*^CSeicU|MF$Ye#Ny^JGL6(hpz42f$6^&*RiF`I&DwQBGa=;u$ z@R*KD8ksca&QpPcQ!09sB{5r$7c040*of(Lgu!4#O$=sXtybPn2VB)^32aEVfIlv?%?rB-br6R?gQZCdjBbGY8cESWOQ`|IayFcA~uW8NunMG_qpw& z;E_T?QVwMlxu`0zoG0vdm;g`(5LQ_Ps&-Fg^!p-(0uc#65uZ*|PAB8>us$D$Tl|D2 zOyV+yr|gz2jTIdx=t7}jh7lYlNSLu#kDqw4@$Tav80zg|z{;Cf2de!CYdTl;J$LZk z(CdeW+vatig)^gjcYd+3`B48%M_W67de^4Qc)$0R;S;Y`&XztJY(Fq{>9g{w!1?d? zb}Ws4`rhd3mgI_SpUgV1r{2(RU+jK35~^wWz3-`+FEvur5@Hc|^5n?y;bYoO1B<>I z>AF{$d2nw1p5C#y*Cs3D(*9uU(Bk%u=r4Pg?-{wWv5ot@;ga+4se8R|ZTa75G=)m8m zV|V`1!V}96b{~1?lrwmLi=t^A_?O3TUSBx5`AFh#p^8-F~r{>q`w^bdD#y*aO=dAsdssO#I|9fJ?MnIYZTGgB)y>GcyW zR1$r*VRWXxu!F!3tX|vLHU8-0*3ftZ8vb$IcR)6LX}(AV8JuqVoeGj z(6NdgTxJc`)Yy;;l@%yq!2%^#>|kQUP8nLsAq^C~=}78qv}R-ZT0-)9@AKY2@AJp! zy?3Ck)jG50sTu&l%$7AP*OysWj>VeFa&EYf*8)%p+Fog2Rc8*gZccHV2Fvv9m$lCk^Q-Rgfb&GOD#|9MH?z{rm%nyc&Sv-mWlJqkWW=2r9#?j z01h*7lR#pTD37H4+H6!;%ow1G!J-3BN)V=v05AYJ5QNuiMT0>ynIaa;0K*J9omo*F z3x{DUWx#btQjamH#bL7YW}Ap}l0^tn-WVN7vXP7?x9$ZT_4PDM)EJz?gL$VQ^c`ew!uA zQAvT7y<9dZIzXU^71P>D)WzZ+ zCoPGtNI*=+0&+U0Drs2E5i|`G04e~&vKPLx++!HLo=`qdgo2MDWHOZ9&bnNj$HU{8 zm%xG~9;5ISjg2s7)nrYNyKXx^aE9e;4+_OBuqz z4gZ1FXVcy6)(5$F=FM)}vit1a;Q7$f`0%B3;pR`80>ziBM?>TLx1QL0^YXuwn>TK# zKYML0ce&xls*%o*4*$4t2R^64Hu{w|)m}^ivY!T9x8rZl z(M5VMZo=1XQR8boo3{5%4mL&jgP(8v?dDKt`{v@ECm3|&(jT_{b+JPu9Ga)@66@vX zHP6%sd_VWU+tK4VGttK9w>)w5&cjcy9RGIW+N_&h8$TYpE~9tb3SWG^sP59T zshxYZ515Wc6Y0|nyYD9ZR=;+9=`g>2f7O$X9dxqkMqlRetBnuqe!0E-^wxXx`|d5s zU--wn=f7Jo?%Ufnwf6hwL#Mv^Y|r2sr4yZvZEC5X8>SDWte39dpLOO5{>X-@C3EB7 dnf6Up%x~>Z3Kvh8{}%u)t6Eo{TJgrd{{i*dIB5U? literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_left_up_3.png b/resources/g2/track/intamin/vertical_twist_left_up_3.png new file mode 100644 index 0000000000000000000000000000000000000000..34d0779de2b8c0684b30bd86116fe88d5d599061 GIT binary patch literal 1595 zcmXAqaa2?H6~}*o7%=rjn?k4&!^}pgsXp}CK54c-G+?Apd5%XLZNP_%C1t5T>0^r! zjyWS}N>fQO9;3@NJ$#JFvY`vv|?6MF4=s4O{A(a`lN^yjoO{%U=d64gpXAwr_2&&$W4ZdHMPI z1qB5Q7Az<%EL^y7p+F!gDk>^2E|$pUauh|>YMi17yBq7x4#73jcWJYXumCH?f{d6$IMtFN7$*GkBtxCuc5{p*m&?`JFI$~9aT-u1A ziI3S*aW0zhqh@TR%|m+vOn|q9<4!*1O=LqN9Ed3(F#wqvC>#RJBhmO3x)9FrT6==!(vC13 zA(di1CN*i4cCE^*R|i>&x9VdqHtDmbL#{0EgUPT+j46~_6f@vz6Ghqedbi2sx7$M= z4<865qS16Z4S|#a3YP%&iqt_V6;T=zYFkprrA)!JBbxE2=3-eWREk8HM52+&DJ7y; zsaS%v(Yaw}zuh_J^~b|}CV>N*5U`ZULdzURrQ3}AY*f%~81q?TA$KYk&Sa(`4uBQ_ z761nTJ^;o5ND2VVL8_sdg+30(W26EwC~)E+paF3bKng%c0_`Z|NEk4}hz-U$@W^-! z5Ne<$1xCHZVp2LC8ZW002CY2rOQm?2(~=qhY8K)S3CYRmfP#su9BG{|V+v+nk-0zu z#?lHgz+?gqBGTb9BZZm`gu`OwoR*-^$%lQZco=397(u`QfN=m}&I?;k?gyk+vpbo@ z+^!#BBN4SuM;VQJvzb8=D~7mm)Tc&61QI2cDXkpRGH6jiHwptd)_)CNSteDDlvp2**HA0hjz_bT-(Pr8zrFA1 zjmD{auT5py&n_jZoe$`%-}hQhd3z_{d^&ZlzP!D4;I&}a?rr$ahs)=tg~ZWI+iuwC z1Mqw~G7)`Ix;MVG;{66=-in58OWoHJq33MH@+*U-?~HFbwzYI(+3*{S#LO%8E2lPp zaTeL}^4#zJ@vTw%qnlsFFW$;bzc`!eoA zy${gi*k1-_@;Wz__kMf-^;eqkj((Ny!@+_H(~f>?Ca-Lw;u-qLTkqEIIg{UcGPbks z#F14m5&Nx8*0Q$!*3Ofj^)BWy^OD8L#l8=&*HwR4Jb8H4H^cQCs>gY8W!ZvLt7|J; z{^YIMoA})yYJ2@Nhej{^uK#Akn%TjADUCG8PJhAuboaU)*v2Oy4G5GZd*$Dr4{W(z5XIKbO@0_H9GNbAp?!31j|DlA|IhU)X%F{{{+fp;hk_(0 zY*mlcEa`Ss9W9-mS=VGXB^9^J9`HN0yKX+K7%KYtukXJ)&_CYUdfB~3Q>Fh--+afG zJ=6B-jcP#bE8E?o+r@tRMCrbg(nFK2n}b~Y?Hza9UgCGf?w6NX)1^T{-s6X_-`}?e zUHk5r&E@-hx_dgFpSXLea{T=0X_;(Af6e0kXV>=<9iOZ0mFMRB9{y}zv;hXMwtqJL ZKVi>%d#mcTnMYp$G}JfNeYB~q@Bft9*C_x1 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_left_up_4_1.png b/resources/g2/track/intamin/vertical_twist_left_up_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f44feb47addc24633bc338486ea5268e1840e33d GIT binary patch literal 1260 zcmXAoZ)_8F7{`Cx*lwd^6`N2(M^5du%5AG~2}O!I;RaODNF7tB{462)KL6f4-xr_f z`D9&-W!B7jGXVgznpZcq7OSQhiz~~D`N@2%3xG1PZteP&#j&KMq_niOtgLLtj2Y$S zxD#|OP-kcJi$|o&4 zz+%8j0Fg!_Jd*IK(-BP}rGq&mEU<7|gfOWGfC7L;5MHfz>vW>Q5H_0!DQeW=NW0y4 zLLrz)=x~jm&>AV!%o;2_W^?0q(JTZ>k7V`7>2QjTDGt=6Gg|a!8nfC>3{Uc2${S)s zF+L`{lZs!?MKV(fH32j<&^iF>0tOK=g|wEafk_a&Z1ZJ=a9&KpK?>8@O**Fq^V!T1 zI~f;f*<()!gskMrCjwKl1hYxC#$>>3xXD3~PMY@F?LntA>hmQ+AvqSyjF0E@c?fho zFa!`hq9)@yI)ynhq&LfibIy2P94|z3)9ERw!qjS$R%=1^G-kA$&4QKkvc+YtsLwwd zi7H9CkRbqTMFd*yW>JyDf-XYx((#~URC1>i!CX37DBOVr05$*w07L*J07e1GA^;Xe zkB1A0}M%kEwSIlCbkqXZER3J4S%fNKrpaCWnu^811fpRqN za#%$-7xug3l3z|rIVA}T8I#otV*n}u!XgWA(eANy9#=4%H3b8YC8Sa$!_XXOce!}n z=rI`s1TK+y!fG6+u$)Z~SrobrFo?q#0cC6P_)QI}KOX(Sw$>IJymIr$j$(hXxoP?O zC3`mcna+z(RW}X6)03r}!_+sn_cIr+?o zhi$|BrTRZ(zw{lP)^VN3&mHe?c<%15_v&wSY&g_1aKxamI$F5)p#9j63;ngD3%Mr_ zbjNr8J#d$7R=qT~tD&RYbA51Vr4@rvFPt51fehxb!+U;An56vI6;{M|@e z`n~I(c;foa{#QNoYA>#EJvdn1cubyo{OhZ#Em}v_ncBfy%a*j&LAAhxxbS>>$rEI?c<+;7ERdcp+_@Qy)FkE$MlzywHuJ41E%U4(JYsq8&WAMtufwsE? dxBvS`wdwheYX2PmMiCikUfI(0#frB-`X5KWH{k#P literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_left_up_4_2.png b/resources/g2/track/intamin/vertical_twist_left_up_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..413e7b45fbc72734b4f34a1702cda1d8665a45db GIT binary patch literal 1224 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_right_up_1_2.png b/resources/g2/track/intamin/vertical_twist_right_up_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e95eca30cf731d0be9a602981ab0567b1e27cd GIT binary patch literal 1216 zcmXAoacmQH6vuyC$F8GbV;U^6%mZpT!wFqD^kN!!zzyqmWCz@4F=eTGV3j%#JxvLP zG*Yz6K~7SVVybJPYSl9oMQKbSl^i&*k%LU=*r6RMTQeYDppY4u{462)zW4I}dEY-i z@B7K>ZqLl=k52~x%eXg8)%(e#KfDfr39Me#v$DQ6G&D3eHkwSPrlzK8 z)21~yHzNpQHk(^oTI^1zlOS9)O>rE<^FC1&qS0s~k;-Ossyd|WMy*D;0ObZOWAXWH z!5|t6yJC_%kz_Mjf4(3VHK|-l(>UUFTLi`)@uD)1r9|RLlrAK^#jKzY#;SUH(oj7P z;KxCT0y2kW1f(EYOBq|O=zvuhtoh+R8A8MvZ zr&6#`a1b^pWp}Zt+mCq!+#4Zy*)1mNsKUhaT)ODb=>e2b=q=wBS}NX}5b&Cx^Ruw_9Y`n7@83oR#8(nXImA zwK4_#3?g#Yh#!@Mcrr{WF)p7B3@VXQAz3Y{wc2$^0pJBd1V9Er0bme-3IbqVEDggV zRMJo{u^12t5T`)S19TQZ4nV;UB?6{dm*{rb`RxFnM^#CSS->$9~TVr;jlosqNFQ9 z5eiKd7}pSsSG`W?M_~kmNdo35s4?~DCl^_6KFGj(Yr8qHY<##LjE1*6JC^r6wYNXs zfA;d+89TQ_WzpzcTlY0bmVfogCHsn>@1#298^Z(deEibX!R%;l>a|XtjNeBetKHc? zkeb}rzu*ZYWI?)K#)`kJ3yx1M+`74)+TEE}HZAyL+o~6?K7Vq>{Z~J@du^b&Va}uT z|L*6F!{@!eskYy5oVE}bN2kg&NcVUJHF*?{M)Xs3+^*&8*}-}*coNv!Gnu~v(2WK z{U3D(ml=QkYVJQec8q+wk4Mifz5mnPH>K8LCv*F#1h8BGt}lP~^^%?Eev@YIH4YrO zIA=uNZjQFv@rgsHmT2#Oexhgb)$Z#4mDg5}EL}v(WxKiOqkG`Lu^}rYxnoN zh89|h_n$n!@$TU@!~d+qw#;ap=nYjjn-b(m>$q>n@a(fc%5e1A4PR_LF%j(wue-AK fgl&I&$A1>%cx(9feAieV1L$1Y-EnBeD?9!N)l4H- literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_right_up_2.png b/resources/g2/track/intamin/vertical_twist_right_up_2.png new file mode 100644 index 0000000000000000000000000000000000000000..10a0c6cac0a6813ebddde8625ced1d2e908688b3 GIT binary patch literal 1607 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 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_right_up_3_2.png b/resources/g2/track/intamin/vertical_twist_right_up_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8a062c40448f108115cd9d6be222ee55caef32e3 GIT binary patch literal 1251 zcmXAoe`phD7{}i>wbvRYLKxAVl4;PW!Nu)_t7dYmSB>?gCp}#{GEM1Cqh{`KH_2w| zPMb-rQEw8vI3o*k(zqQg-D-&=+At!^G}UvhkZxCuHnRa`#xAmoWxR_B-{;pq&-ahd z^K@@%vCp3Q`b+@8?Bgwz34JMNb!>lApFbu`APM+udet$R|jmHz|^oXjK%4N(72pga&t<$OZ zc#K}3H4wCgBXlh8N~ZX%63iDQ(tkz9ZdL|xGY zmr#VX8d8d}{8UOu06hZ?Zea8QvxwkPgFS9`rU*`P1oOO964S7sw&+F93NbB^t+2X)(H$i$CCdjf8uQwhHrlL_Lk;spXlu9KCP!5>G z2o}?kNtDT2+<7uka7smQvLud_PG%Gzu^MF(7!WxjYYl!?XF zv{KF!z(pZEqZ3?4(PN4D2sywcBkqhW`^Ea!2Gf(Zas0AYnipknt*sNWYU6!1v+mH2FybUGQ2hxPe5%<9Lj zVFHs$EJayIXiL#yf-WNz%rJt%1OXMQa{TxT?c~cJ__Vc!0q;(X?yB^so0}T9Hk{lR z(w<7cF{|kilzZqWKm9^nx=fyH?^^WQwejm1yR^7&(ej~hv-|IS&>p&!Jp6md*wc3O z#QG^vzMy-qUylSjh(5d9lQGErE&f_edK=2 zD(3s;$5surubk6;KKgG5cIxituI*J1`Y+uI-WbvhzWDV@W8InEpPyTndDys4$#ndQ zj6c74eDbrlo#>m@OBT+(Cob%~GcxP;_9LB>`|r)`ooNqWd0$(j?cCkBy5`vM<-CbM z`pmgx=a1iwCmOg7zUF~H4&S%WZ`;(UTD*ne)kx*~iB=y>tD-)`=B&zy61Dp5Abw_rH1A%>hw!Vl=nl#=z)Y zKD*X_?(D?m;=L1SO}^w`?fEA#5!7lTr0aQNz;lYe#e6xYm0FACj{PMI5r$>9nq O(7e8->4$agUH=0PVlLDG literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/vertical_twist_right_up_4.png b/resources/g2/track/intamin/vertical_twist_right_up_4.png new file mode 100644 index 0000000000000000000000000000000000000000..985dbbee570e779546be31d95d6abd6f549eb790 GIT binary patch literal 1558 zcmXAoaa2=v6vuxsU=ySXBUVfuGGXe}QM1-*)l=SZ*wjZnYKNvgb?WFWd+DT=t5ytL zIQ5yBQYYE2ENra0QfiC*BPUn2?z32XOzkhtcx3zk? zA~(Az8vu~Iq)J|sngyw9U@=ntlDD`800yXDT3eY~)6&w?)6*FYMn*WLmUQe3MW}D67@puD)P$UvhBqU;h$N;9yQL8yR9p7LS zTdXph9dmgIpI;xOt^H9aDq^Z+Ii!+nQt>H`(4m)fnNhz@74(piUP~wc4=BG~{qV zzn>@J2oSCqYZb`p5ii1aNS`)dIc|2q~u2!Bu#KYCl5KDr>*q8K(lU3lniPQl3E}vZ`b* z4eHb5v{@6j>7#CQ+;1DB-7p$pbEHC%N+Q)Fr~${V8jamx@K~*WhlBQd`$M64JPrYm z1VS5A;$ovd9v&2F`%z0&?Ti_GaVnJX#FF7Lm?L7drChFpFTh1&jZCIjViqEG%;>SU z^}0Nf0G;SZ0HI{+akh!zQ#z5|h`24d&#vuto5Fs3EF4HAh9Clf3III-6aa1jdI5+s z0Zf6R(5Q!QCyazKAs{874FO&Sh+qKX0Fqp2l|Uy3y*e1Qz=#w4XS@_BQJ}(@It|xk z5VcVXms8{OnQ7V`i_tKp#nS?bF$bZzn3GRZ6=?)jSjeDkpN8eOO;CK1uz02OnG5R$^8${Y_vzCQoHSc^uZvi zR^vLI#%LrZVzX3iLnLlg;#Z18m?)+aK!OiVLTHyjF9K<0D*V!UIV1o5z~-9eI9Pb+ z#(DtKFD#KSs;z3>@R53Vw0Lsm5Agdn6JO?(U5|FJI#_;W{Z7Wz`E&o;@)57lTYLLB)&}0M z(jQxf^wl-DECb1j=hv4Mxj^NW$wK)cy+6-vU_2AvF5gTi9i?N3FOT03*@HC~skFV; z*_*axDf5au{~qjAmvomqzsYY`&zP83ap(IJ>$Ap>%{rfMc(k;#TNm$JTX)NTVS;O@ z{qwcsbBL>F(h}LL6{ji`!;f`vo3|a%snX>)ogMk}9(}m6Yo%@SuR(!}g zzGDT&8weFR>!!?FDE?!{-AyNJ^^taFdr{NEf$1HrDbL=RTTw8mdT(aMz)-f_Fy3f- zwRLCO=z(7f`);n>_SyE;2kzb7^6uL6+PPi#b9SMx8(LOf-c#66f4Fnfj1L!OXThr_U8%+nv8}=7QNzUa&kO94HJHeD=z+J{j`C;LFKJsuw(Q?(vL#n?P>6B0m1( zp|bhE*+;%U+L?c1@8F!r-mt}B?sw(bnvLhGyNR*Rb?-Or*yd8)7@5|y&RYFc-i4(b z_tro6`rE6@?%eAmk}O8yt{Y^ADZrpegl{XzUdG&+VUQeB_Jo1RC1fup}+`gXynS) j+wc}LdEQF@KbgND+cIb4r|;cOg&QoXTrNLRv8w4`?;^!W literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_1_1.png b/resources/g2/track/intamin/zero_g_roll_left_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..126b678626c7dc9e2cd33550cd5bc52c60357978 GIT binary patch literal 1142 zcmX9-eQXnT7=EE+H#SL4iWX>~N|&75fn_=4p+|DUjdaVwj_e?}S@k4`bfm$Ho=G(o znpm~b22NI>e>BjT(=<{;k*OC_v4)0Bso{hzmgEeLG@;`|PFArdXnvNEJnz>(?~^>w z`+l@-B(S7=MK=H}86FxOZP)&G;9ZV(9*OrG01nu;W&7s#xM0D8g$oxt9FC5Tjzx!;hL0y00Nr_5tt!5{4;GXUyZ#a9pS9DW0DWg{raGt!x&R zN*>bXW88k;OG|h_A;cIdYqXkS<9RMs6!eN@SRpUv@dtdgKyWe@R9Gd!C$du3Pz*Cx zwo+yzS8J7=47dbvhrk;JT*IiWJ5a!bB}OsDWKGp=t&FC4!X;ClNPtL+bWUcAs$j5J@V;un|E>%5o+WDI}AnY}Pc4+RTh?+Xy@g;AxD^IoYB| zs1TtVo2Uo%Mxq2&a>By8~XIK=@^vRyjT)wU3z+Td9fRZ(6?R+Yy= zAtA+p5dez^Bmh#}C`lrnM@AS`63Eiwf$NyH!P6R5U0h$dMZ}Tr_6G` zVUT)(or-S-X;Zrr~9!1=?&Z+@`uk->dv zYGCYo|HQ7;KX&X1-@hBaTJ4y8F??dx06Y5f*fX8I zOZQ0ny7`Xf`_7+Tc7mPS@yF1)gUi3DPzVz;R zb@a-kGl|kFA78ol-o(+qecwCI{FG_E zW{v&V{Wd>2`^qKjz{Y=8(MM9z-c1({PyRK3c`kkL^!0TE`|Z^7r>^v$u<7}|Pagf| z_K^>Fefz^GZV&9?glWprBa;-bK+g=Frf4GzS-6IjICa4( z6DCY4xEzB_-5T(`mUx&We%*!S^FHsrf8Hl~ zpZAXM91Sd8GPnc)mTrH3WOqBSZwJ}e)#eM*hG~E<*tuhDTf6P(=;-Y1?CR?3?(XjC z>FMq5#W1X|udlzqANP8_H0|R!Rup+z4yme=NF*|uT%ll=%QLp!Y_(_~uznEufl$aD ziFl$hUoz#-WQBY|Dwfo$m8v&%j>3Ze0foooL60VrIhCGDaHUMJT2Smt(y{gVW;sBB zL_w4VO~mpFR!X^Qd3UQyAjgMV5?as@DtiG0013ksmn%*X8cFJY|CAt9!r@vxK9|d( zQi-75UKaNW9=}8e6e<{}WzDZ>3GpdTV=zs z%cxancpjO6Y(S{(MY1jT2t*>5Z8Vr{<`L9tl?#Q$NJNgs6xx?yd>NKDIJ(69W(3L! zdXeNoaS~-|WU|QO+sDtWANYIm2M+BX6=BQWpZB%v-t8m9W1BvnnBY%-ziJsb_g{4G z{;VgY46J>#?23ny=+e2uYS=wDak_SR>=UCS>MziiU<w%IFTE_apmCj+VLHie}8I!4A|HDFFcrgc;oEnm%35n*t;FtTgy)n U=MR0*UJq>FHac=~>)s>(1M5`jDF6Tf literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_1_3.png b/resources/g2/track/intamin/zero_g_roll_left_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..dca967be5016fa0af3a9b1beffbcafa9312e1924 GIT binary patch literal 1233 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 Difs2^ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_2_4.png b/resources/g2/track/intamin/zero_g_roll_left_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa037718d10495dcdb2c0eb2057f49f2f803373 GIT binary patch literal 1159 zcmX9-e~i;)82;`Ku6K-c2@6(O!iWsW(!GXS^R$bAG1zjDjJl%nO0YC@Xwt2X}HMX_2wYRr-bac#_GiUDH zxt*Pz2!eEVb#-@lqkg}iAObW^@jNSvVOf?`RZXX}`Mhaa6OPkpHi-bBf`DUP;jkwf z^~K_WL^7DpaJjrtD9U9!S*__bj)a0PiA9x=PZP1MOq^2bVmegLOHL_Kcl4Qt#dv{$ zgBS%g9?3~aG3l=4Jk7Ef)&sC9z*!AK%MSntfPf&9+pT!L8iwh?;3e;mN>*jPp;_=0hkHcQ8)NWfD3}xJg3Q~h zSV_w@Lv0k(GqwS1mfJ&Oc!(e)6dmLFq$p-$v3xRF%w}!VtWHcc8Vv}%62Q_3k#o}p zFJHzZRXR}%>-AWnp-nXN_1Ve{bm49{iK2|p&*K3x7?fEqA+(mo^T|{xmv=0?S*3u$ zA~Nq*1fLegGjYmD@P$mIWGIzlre3j{%^Q#cAOwI6fChj8KnZ{v0$>Xq4dXI2bm&w# z3`hh>QNUz?!vV+xD4{S(K%IkT6qXav(ZN0ANx;$|#34};RbqHbV{*D!D5$n=)ay2E zad{(vh`T5a<#eB5Vv-Zo8eyXuE6k+Jvt|`m8kh%=K7ex;V>VKit)Ha1XMDRrU-*3ifmwl z!|NeG6ns#@V1|Gu1#Px<{N!ra^t~T=b7(6MHeS8-QmcP_u&;M``QiOXMn1Hb&fm8O z8b_ZToLM;?7@k@?XuRq>-P}9>-E~VAO&u?tc&%{r8XX-OUC}I*TkpTK&x>~NJ~DQB z_3OWV`s?H$Ki=H1%kK5`oow&@mIwc=09>|{JZmCZQrM^qPw0R{c`rF7Z>xN@80sp*H2u0R@{N+qm%osD}=T1 zk*sy~#$^3c@1{+MUT%zD6^{9{cMd+V0Zu-{oIPiLP&_Ox`Q`0@v+HmD^RUu}&A0Y$ T7cUO9)C7b5Tl>bI+WFr9kOu*7 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_3_1.png b/resources/g2/track/intamin/zero_g_roll_left_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8c6cc4eaef051afa3fde2d573dcb4a3b3f85725c GIT binary patch literal 1186 zcmX9-e{2(F82+}g-NqQz6fNP1jWpQENe*%(2X=744azvTo4aWxMQc2vl7=1TfEsFY zkxCk^yk{`%*AlIMBf zkNSH39aCpb1pst(uj%Tq*Ln4r+1gakdQPzbXaapN4Xmn<4Gj&Ajg3uBO;e^!X>M+A zX=ySWdQqacKV zC9M(ecfefMP0e}S{gdl>$A)%=3^{PJKQI;JGhl`SQM^T_* zpoG&yxp3C)3wiwl7LW*D_K6uft}!W{QwyQI9d?r_?)UgOjN!?kKnn>rp@fvYkhdh$ zPFa;~Y0_{|z{vqu7`S7=DY9Zu4V1qd=s(NT^|@_Z&5%_WnDqFDKSX=0*UtwMkbz?(*htb^83 zu7HJ0bfO$oD^a~FPts)9U5V3YjcCo5El=lj@Pp$^FT2!A*7artGuvqmv0qI8kxFblpBODP6GqMy>Qc>ycZ@>5G2e$V2a$xz*OB?HbUw7AvfyKLbf7US=UodS~ zU6c83i?^hHQ%(!u$FFKXR?(5rc z%}D$+ckt^2$VO$yz8muoU)_0kx5m^Kojde`=f4eCpFOVc`1E2=a9j2U`SbNRVy$n* zPR_fSSu%a^m7g9q|9yDHk9U7PbYxrZ#OT`1gMXZR|BGGgUjFXfo~Cd2tv!9=((Nsi zBbU2YUi-oPV7j?w^R%AXo<3=KY-IK42cDQZd|}_r##yhAuN)XRYxmsiPj~bzscib{ z=1{9^;F))i4f(H}A6nP-+AG}Jg=c1nA3wjLbAN8;z}tGJ=j@Bu_6(07JGkJ?;=$3g z*AF5KZ;m*7pIdrD7=H)d{{3y@z4L8lZ~wwMdufGUiY@yc8$NOC)u%>3`SSR@Z$|ca y{?ZojM>h%AGWSP~e^L17n&oHa?uc$JJp@JRWcbNWe0E)E(7md+>+s4qcm5BtP7h}Q literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_3_2.png b/resources/g2/track/intamin/zero_g_roll_left_3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7f99a6e783627f02eaea7599e0cc7f66f7eb04 GIT binary patch literal 1197 zcmX9-e~i;)82;{#yWS7D8J1YI=9_}uc>q(IrXHqYXE@Wu`s4~MO z6Gj|loDB>pGIi04Q>siuWYHz`Wa=~nMjSYx;0^}Nc!Yu@T#)GJ2+8yQ`saO;=Xu}F zBg5Vq-S>6_0A>sg4lHk0ycuX`TQi%;XL|u?10&C_SlS$0T3T9LTie>&rcImH-rnBP z(SaaHXJ=>S}K#t=JRFCvKtN30~i|cT#w)H3IvDQP$La#f)qfVs%TOvh!XHhy(~R zKoyX*jF@ppCGBh!FA~)yTmLmTeNEXjYcRpr4?^wtFU6@PC&U3ugBqMTtR^h2RJnn)Dw}MktpSj zx|N5GD#dXy3!nucYA z=E^zVo6hsZkdI#f+m)4P^Lsabet+$o!tob%xc$WGtJw87GpWVTWgZh#-yTdG_Q=si zduB;XE>3>GFLSx&r?2O8=VsPl*{$6bx`B1~cWfOy@xs~Tr;3lSS669IeK#AOd-wA@ zK1uG1?^uRaijT$~2yf_rX8Pd`^S&U61IJDda$^U7ER0{87&x-5@AT{ECkFeK*M9eu z6ULvxxqUxu*+kr&_~0*OWKsL6_SvJoZ_jl8@hfpU^mmf;t$lJMGk^Ax`{wNSX?CLqQo#T<@K(R+77puC_nU?vpy#UF?19Bl}Qo<~!n~|H?yK z*jYOZ3%;CGC!)Q%8}^ye)|65khW`Np C^%uSX literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_3_3.png b/resources/g2/track/intamin/zero_g_roll_left_3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a6859a1003b537af408adb3e403926271ae7554d GIT binary patch literal 907 zcmX9-L5SmI82x5CGwDoSA{2>i4mniFAxMOPL2`(@nV~yGCd+0aNWm-y?V(5x5h@gn znnRHsA{I7Cl^%lh5VXjE0VCv)Lk~IR&_l%_JybS_MamkMB6Il7vhcp|<6Yi6y!U;5 z|EhcI?DiP|+`7DX{-D0CdYa8fyv zhGETS^YrwT=yW<9$4Zi@spf~QIL;G9m+GhtYY2iRD`UMD8!g<)a=s|iyxNGM%b2C&woZ8iW;znXu^LbN%g|mY z({i0w)l(z_XaE*~2M_`*0k#;R8j6HQ777DYtQ8te4kjW*T__YlDj<_UE{6gIMFW(L zQ4zq4;CYZG&=hQ75cZInc-?tm#Icj-VOi#=_9FYhjas5dC;_EMv{?w=t`}Crc<*O7 z(FUz|bQ^dI>#}%Hqy{QC>dT%z2qtzMPVzJ?ixgEGUY1b=r~riOEXK9nOOVcJy4~_q z|0S#}lX^XMFfc|VlVcs8^+hg}xI|`G3R7wwq*KVI(Ue1xh;q3uKmTUy*^3|e^ud)1 z?>_nClNwFKgn(U{SO~M`tzGt$NCRv2h2yOzh}?>e*1&Z pfBot4zn@(i|K0tb`}WHuX#9o0k^cCJcdr(K%Zsb?pYJ~U>VKytfOr4^ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_3_4.png b/resources/g2/track/intamin/zero_g_roll_left_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..bf42e11f28bfd723fd161a79aa3e6593c25de6a8 GIT binary patch literal 1176 zcmX9-e~i;)82;d3y}NN4x`gSCq`<@;DLAk(<+4b{?kH!?m0S-O7-57e)htrAXBM(x z#X)xG&9HYaoHuXY{Q2{{y1EuDSg>&6 zLYK>hAV_z2cTZ1`FAxY2M3AN_o@WIiD$7zTmCEG`<+5&?Gq&CCbci6JLV#o4(Wo~b zM-$0lIupv}xnenHROOnLX*4w&ME9*^Sps~Dz*LKTji7R9=vTrU)0 zwdyCl0m>KT&`=CxBs`)Jf*O+ZbgIN=4PL9obX!D8e~<};c$^i;s6=Ip@5eMJ`tcvfT;*s@G)g9TBRf_l4;0VTQy;Y!@UCOPcV2U5-JL`A@f#B zsORKnDb=p#W~~xznjSBS;SquqDLTRP89~S=66H*$S}0h$-k6zbx7!f-C4l7+qUfOw zKVQSe2Ayt3wN}Dtt23Q)Ypy;E-MGg?`g{x;;PIdk3dt;&jycPc=^mRhgnD7)HvnO0AX! z9WK8Jh@_iReVm5IbWE~CYCBr$B#hZyZBB2%dK>cs5=EGxCrY7lo=A$Us>HRdVwAF$ zS!&rP>@-N0g*t#XfY9+G?a5?;kKPb$r>B`0WAL_UF;Je)-bT_TirJapX{M{nhtQ3*vax zyJ&Lf#>J;1|7zjMWdu_=+IQy8sdVeg^0Sw=FKu0J9vsLI_9HLfUpahd)Cxvx-LDX|8XLL3_pN{|NHHS8_-sjF>(s$2^7y&2!Bv~?tW_2#-rRhP gy0p%|a`TpNgZA<5)my%vbmRrYLnGl6Pwsl-e+<9<<^TWy literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_4_1.png b/resources/g2/track/intamin/zero_g_roll_left_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..916978b9858c775dd8805f2ae2da0d5a06f63431 GIT binary patch literal 1301 zcmXAoeQXnT7{`Bmy=`R{QlNtZ9aK0-hjm=!kQxrTjWTc9!ER7Uqh+2@X2C-X)KFq0 zl{BP*E-9?WW|UAzofVoe$bkhLIK~KFJm-MAoLXbE9k5894Oz&@ewL7YpSORW?;oG% zIlj5YR9!W{3II^uw5g%BP?r`0t0*aCRIKL#C;^+B+ZqdFQBhHGadAmWNoi?mSy@?m zc{ze06%`egm6d9pPKRLzk|Y?0Vp)sB!FfEMU@#ny^MWueNx6I;GXTN}Xi8zRsO)yF z(`E4bjKL5cjaw5*M@sZ%vJp~`n2idKQoGGsKZ}MPSf7VX2FxwcBskIR%QzxAzX1Day^6&(PLtkeHbz-8 z;b24$n+`g%F;6ZToD^d)D=1YssyAb}jUb&2<73&7(;4^qlHst(^O@n{TrLNJh6892 z!JLFt zLCj|eV5JZTqjX!fe!D*8B4S=95wZ=$-05UUP7C?`I3xft1KrsvtLj}?zE)Vw|L>-hV^m(15I?kwu--?4vU=k%LS?n)Q6Wy7a~ zE5BJgK~&tld+J|y|E>JFuTC7o-!(J(qlnd9X3}!?RxQps`%o%#&5SIr3D+W zZ`^X!kgQr`!_dMK0{bQogRc*V9Mn11un_M+pzS=al zQ@`Ne#>e~ zuBq*Ng%^K3tUZ8^{B?ik7L8))jD6X7=VAq8*n+0U LmWGQPb{_p7y@^9g literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_4_2.png b/resources/g2/track/intamin/zero_g_roll_left_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7b7e0c82f4db43c455e2b75389641e7181f0eb GIT binary patch literal 1346 zcmX9;e{2$W6#w>@&{Bh@Dq5<{pkhUX&DoxY>RGQ9J6x~x>S)E5I^wXy?PAY~mMNRq z5oLNB+|aTOH*};TGSj+Kabt!~VoAJZHA6=hj7*tnS5$P>cG-6rlh1pf_x^dGKR)lh zgN+TU$wj3_0D#H$>uNV-c|kTR`FYt~`gKPy0C}KseN$bw&B@8h&CSir%gfKtFDNLO zG-(o#$K&()g@uJ8sZ@#}3LM8sQmxl(X_~THtxl&q5MaaMp?Ex<$sh`VDFLAtXtgCq zqr_xZ*z8KDi|__?!4Mtg?1`iYm-94A0i_mMG!jNHbJIwl6%RQz(Et^X*iv!NSURi{ z1Dzb0Fu;&JFU1Slg)whQCMt$01n^fLW@|;$YdU+vX3Al21CqZ z8Fss2C?rNoq?kxSNR&F6ijr$Ah@Mf>F5K!SIni>9eLo&N0phlVM>ADwAsv)PUh8lCw};$rj%5==L+NxH z0x<<-P9EYF;z2PPl^YVcEvfaSOu;lWlnJCJVq;Js7Yb34NF|Yya)n;0q}7B?mmOvf z*c}mXARgv22@L4eJem|*bP~oWcbPGtjSRXB5uYU%a;0M7OlBBj0B8W90bl^|0T2No z$pbJ80*7WA`aCcmBV>R=fCB@p3d9KjNdPGkv?I_%K-LJOHW>GSm&T(&jROtAGwMYa zlib0mydHfpXyrIxD#gL9me>FgvjAg6gh!%dWmH_rq_w_`DLCegPOu3WOUp_CD&eUV zLMrc0^}?2wdj+x8>`Eq4m-7|qXcX6K zNuyD3HdBbgiYlBK;=_@US}{b(QyMAMNuWgrT?k|`$f>i-k1i2Bet82sH#Cr7^@H2* zWa~%uwKYxa4jw*kJmOng-2DUeU!0fUT=ZC)({ZGxXCisM_}HeiPafWmFjHC$XHY|1 z+m0dis4Hq5oxJ?ai|J!0zq%ae9(t>1O)dM`JKJ#N*`qbbTgLCKxY$UwX#8fS(0_X6 zAT_w~@2)QnpS&?%HsCMcdb*82?bf!^81?oW9oLl~pkJ=)xXqMb7(6g%JGwUUk+rQ( zcy#WKnu^F(L?-GVwKNMZt(1h%(b+qkqi z%J&SI7qtKB*ZL)q-QP~R`RT@I_j(GDLu~h*UHvy#oX;#@y!?6H-PdpKJ!jjpv3}7X zU8U_Op0~XANnP;C@U_oAu9(_;b}`HBP*k65pLJpS&e;4->z>Xyu3xgXxP6|}c~8*r z>nV2ov9c~5f1m%w?(x;U_oKO$?+wn|=j!g<`leO8c}CB@c!h4J#`x|+dfIO&-d)q% zT9tcwnX5@RyKne&=2G=U+tKlVK5UoXZJg$wJMc8UIk(cZ#lL6$hX2;yn$PyNSd&w( z+%I}DFmYlPy)FN&MpAL0?r`_WvChj2ejk_Isw{tU0#dt@1^*JG1qGuCPI9%Y+3^r` RzWk7&zOJG6{F?Ut{{zjqR&@XX literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_4_3.png b/resources/g2/track/intamin/zero_g_roll_left_4_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a88e85bc4733cc87294e255f7f6e259391f00d GIT binary patch literal 903 zcmX9-F^J@382xrv&r6agcIyA)GIjFKWn z#3=>|l46h)gEvKrDIyNCMT&qaA`CKMgem4A2ZPRGiYtPqSdT4!vm89W?|aRA#e3hk z56;Egx8A%30JqORKD}u68#niHtC_>k?>qx&!Glj8-f!sM-roNHeyi0wI5;>wJUlu& z!Z7Uk`1s`Hq}T8F8HN@FUQr}nS1rpNjYdH*TP)%%TNg!D*9;9j2eQ;w)$VXe*bY7R zxL_*J7g~~9tK8e}LV>~tT-%g-?tt)ha%M4?BOwh2tA$xC$7K;-Rhfu`MuE+PuV8Z% zOTEr!-mOjTID8itvjj*H_yNroJEDa%X4*tqVC*$kyA&UE{HkCq8e zBSn)MxQy;|)>Ifp(j-yBl@=EU!Q!;o=M+lPS=AKGu{@q>v)GJtH!CK2Ip1ET9Ui(0 z^b8;zAbpIT^~43Kro5RCysZ^heuge(s;jfOEmGcqo9jYiDfvj>1lBGZRcUaQM`)LI zx-3Zz7}nqgTTwh+pW61q^U~QYkK^rnT~!qV+ypYfn0ZG?aAidqTVcFY!_rPFe_b!i z>&+EvQ=Jam>xo2Pp=h1sEJ+?~jhM6WCd>Jv$ntv2gC=2?(s4DyA5v3?kH$(eHI|XP zNvGu|tLqnt2N(cY06stjumsp)fEvgGax4^usMyFPm<&vKh(#!5KnftUhdc&_GKz<2 zHAY1UH^H+Y2{4ecq26b$ck5>_y}QqUdGfyf=UBG;y`5!#5fq?)3 literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_left_4_4.png b/resources/g2/track/intamin/zero_g_roll_left_4_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e57c838dca38aaac5ee187773f1681e91a8b5d9e GIT binary patch literal 1259 zcmXAoe{2(F7{}kO+uBlQAx&tY!A2^S?9>h}q(Y-NxnUV4yU7hZEaaA)+OVo89NJ06 zLn}5=$e{)6D6x=2syU&UMNX{dCdVkDkV7YQ<|2(0=?0MoN@%hfUrS8BPo5utJl{V) z&$GLy+ub^2-V6XhYuD<|b@kj{4~tIoXd?d80e}YdtnFP@ZyOpK8XFrm8ckDEQ*(23 zOG}GZtJUdrdcEFkv)NG8f#VoSdT83mvP?J}j>nUkj3~=vs#>X5Q3t?WfbbZ6K2soI z4Tc<%s4Jcz(iti%v3Vt0ETwQn>vb6zkD2pYdD@<2(cv&I#l86qqvj%IHC3y~ZVR9g z5X1maYSWBXiW&=PQ#EgaWe2QMaGHluwgEr@Kxws%(a2dWyxpF1xrPZM=l2&l?oKiZ zCCP%CY?#?WSY4Fe%^+S5rFj>dz{7$kmL*epN>u$;r^Vs6xk$uAJADk!M2JX|N{WoA zaIzXx%IRWFGGf3)0<#}jL%_~!ok_DhWA{lIqj;l5HdWzeI7}cW+Gz>8k*L>|rtvIG zDq*@1XG=o3BE@Tp086sbVTyoa0Oli5O@T+?oxpG41jKovk(XA!B}{Vz*6lqi*)iTM9w^LgCoBLe|C6klVR>;|50)-+56;J*6olhI?J^F!d>$*wMaclhbdOg(D`9klr`wqr7 zyd}5K?0gRjS3g@=TYUBGs%KUl_+!E5L&rOxZweDAzNGW31LB*ZbUcc0BwHT*yWrdo zeSh~vbH_2=OMM%4cfY)Ss%LX@IWKBf7ays2Pt86H1ale zzM<{xiT!IfFFo|@r5OBti~GXQ%br}nwSUUi8l0umoy>gk&A_dT;kLUyLVhh9)*(|{ z`uYmXUOxTPHdB?cZyg<(S=)YO4?Xz<`Pz5%Z;#)4Wf$As)#=x_T^wJ%cMUdw;+;9? zOWPNIvNPcuB!2HTg7`$=wQYYQ=g!O?EFLZoPF)x{v3%#lMcLkOmr;xK#VeBSfgM*qXs_-QTRW=LDmpTB=KU2v!mmd*nC7l@=nwyOekO50*|=1^XOQ1D3{I-) Rr|QH&*Q)N$lPmi_`VZ+dGot_i literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_1_1.png b/resources/g2/track/intamin/zero_g_roll_right_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..80e6fc986881521969c8a4ea68e68ddffb863155 GIT binary patch literal 1294 zcmXAoe{2$G7{}k1+H37PvayO2GjwRs+$PnVxf-gc(t2%ZJnePT6c@UkiVK?4qD4oQ zI%3cedn!{j%(2K8TFE4?nw!IgI-+%>=BnsucC(}-%CwtUF+r{I9meGQ{QBql{_%O9 zgKJikl~ZR-1prhwHqfAzLWs*Wx3k!JwBw$TbOMPK1Dk>^2E|y3nB_$T+n$uVlb73+8EqFzHh%!-4qj2OsgW26F@ zP+%hfMEgwOmLEeFs1^40>FeItW@eyC^)q`pw;$M)S%g%bU4QS zei)4^Fqw*wYbd4Gq$XL^;J_G8YxU`zA-yL;2jV7PG%In1hE!>3RL|f>R>!(1m*3>) zSzd6&M30aOrt(oK0c13gn}N~})Et8QoWRhNMI^@hoy?G%7(=n+GSEB|DHxoJ=O}iP!XS0Rf?x^1{@O&zf$Y!$;C|IEO zB3MwWizw(gYEJ1~X=5N`i)6V(E}WT6=3xaYmEv+asZ`OZhS6%Rddg)gEVGB*p21*P zj0w3E0Ze+tN=qFkC1*i>b|U1WBR=zB$dQctGRasjHx3B^3;S8HS}SSC!nA&96$bH#l)*0*wMV22Fve_Y%27Z8tYcH z)EqkWvGK?8>ayI+fa-ltlBayzp#IEoBNB0 zrdgNIwMH+@YtS?-+4sT5BkSRkuHQQM&H4M=8zW4;+lw5JSGLcLt?gNNc;XFb=lJ<) z8@He9t*+g6wSr$?`Q#Eix~u!n^&~uh|MGva#7Tz$ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_1_2.png b/resources/g2/track/intamin/zero_g_roll_right_1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e7cfc296f94841d1f4fd1c5c58a021f7a4d74b7d GIT binary patch literal 1344 zcmX9-e{54_6#dw*H}-=DrmND;8Y^^CW*1+`Q!705ZRzd`OsG(>WMx}M(MAUrc|sQot2kWUiY_p=&k~Yz@45G%d;U1* zw${p}`8jiQ008;bRpl#EJU>;7veQ$2?vW-p0O_E%roJMz&X_SHEiElQJv}2MBQrBI zD=P~@knHU2nKNf{1p)zziU|UzC>c#FbvmudWU|>DUav109Aw!`*y;T3^^0WUb-2D>@P2;Glp4Ts7bufRI5j2UqG9Dg(GStgu9N&IA*L-K401#&~+E z$fA(AXu_|f!X`Rm)5ScdM8Gx?_P|(>Q-BFY3KUc0gr1@-G;P=Gy%tNr;RySD(ZRt) zA^`zU3xqZVb#Vwkj|z#@QNkQkI^%kOf*DMDQGEs^MCq*;|Z zX7F09{Vp#X3@4*FP{|M-#WAY*j7DTP;2tyOx2yX-#z?>(j|7v+5r_kz06+%-1AqsB zegI+!fGLm!H0Yqm3E2oK1X>hWap02zmIROjP|JlD6go-h)4-4!vQF^Kcnru0pdb+q z%{A&pRz~V_(tf`w9QMTHVVKh5sR3%p#ThQ?5VnpRk1{eNh-m2nztl zN2Fqo66b3u)S#9zMvc>I^n0w~peN1-VKR!zWY7m73m{B+VNS_C2hU`%$6}b>_8huU zh)^mijfOTDw5ZsGiETLQA<%$KJV=V-3ISB{p-~9!DD>elEK7wSE6p8y_5+`-kW*mk z@XZaWd9=Fx{ralb_Jei%V`bUpTcN+b^xLA|ox2~pH{H8Fo%d;vVs%ReVQO9$u3PdH z9$PlG_iD8EK3Z|K<8OQYqj$I^BbRu058d)_-Grcc?fTXmC(eFESIj=XZ`S6jZC{qY zH^1bIS)*;ckM*+oaM%(>A>OdPJlvA$yW#yjbG=d(}A^MYO9t2@gM84?Z6i)Sw| zEIr$F{NZdl)Y%^VTp{c!W(o1dpB{7#T`GzdS)7$Wb{!fUePSJM z_?5gKa<#K*0~NO8c?ZsYv;OdzixDV8_%i(>zp z=|!i}+`iyUL|KxbhylubnM~q0}ne8>hW6R&VviiLEZuL07eY&Rc U-kp_yrD6c8E9B*;K3Kc!fANlGBLDyZ literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_1_3.png b/resources/g2/track/intamin/zero_g_roll_right_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a99d5c9677b12b3447122b6016419c47e922f0d3 GIT binary patch literal 914 zcmX9-L5SmI82x5CGwEy{%hE&9fLSbTR)XXZFklWD&8*oWGFdh&5yBE7U=KxtMCqZ2 zfI*7{$x6WrJ@k-64^ev|S+mRdc;wtM<3=z49hN4eq{s|8_<9_V)Jo_iMG%JQPyUD@`N=@i8=&a^swo0bVq zCqQ~I)x*3?usAJtIE9i7Rx<^2C=aLlG&IA^PV!N&DY*7KZEPvM34!xC!JKV`fbu!j+Wju7%-7^SAw|@RsF# zd$ro32Gwk`?Y2mC6pA)D&XVMzUWpCn?r1Ta=SfzsdC(=yQku3-cs*(|;DezOO}dM~ zUd5B`Dk;k+hzC#sEC3H609XKQFhCV#0Szn^_$Xh=B$y10cnC$vWk3obvyEH^`7#Q7 zC>^5QhiAdFAPJz#SkGwNeQM;1GvA0JC(DBEHba#c-UVjR;Jvo&6M9IRIp-BxQ1+wU zIK2wjXjPCcU?jyzNwCcmRIXV`LLs0W5UR2mR(8*UJA=t) z!%oJ}VWp{{X-cnW3($6`CsYp;rrw_ z9qQp5$&Y`0f9I?Jh~&H99{l+Z^$&Uc^hNa1OJ98Y@y#2R7M$O{IQ!x44?g=JJ!^v` literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_1_4.png b/resources/g2/track/intamin/zero_g_roll_right_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6a79655e71265393b45654b5a42687aa0930c9 GIT binary patch literal 1248 zcmXAoe{2(F7{}kO+uG4#BZX8rO^pp)u#UqVc!W+4DR_(%Zg6uYtE1}a8m!~gV-zS@ zp}{)Kyg;LkR%l`&6%T35)DsIf;lM>3ypSc9acCC`R07hCYKj@~T0-)De*N=&|M)!5 zK*t(t>Xcbi002|lS1w;yt5_`%gRYjfX>(=+paUH*bgrn4b#-<1_4PWPuA!l!v9YnK zsY$Qb8w`f#=4Ok{X2WsJ=_FZ}<~X+?@S#vB7E7elvZ9P=TDeleF+e&1LmS<0v(IPs z2e5F&5sNdav?r4la%!YdOgim)m&3@@mY~Zja%e)pheFP5%#};?+Hkm}C97qHLV(8( z{3H-reTvs-Bc^=HT*)D@gu#jjPKppJHUJm^JbFEEG6fMtMA4+fF~l&#UT;1ayq-wF zY!<=IHqwGIR)+_rc)KfzbD~3tJ3|s3&9KRwN7lSn0>LPogSFEf;pUxumy4= zoEe18*}Vm4xadxn{F$;iQc0I4^HpfHn@ohoLRoFB9pfAhfo8&<+Oj}85*<#ZHASry zNZ_IM0&5C-tfJ2z50Fxr&BVRKQZS#5m-0%bavhQYxBw6U5CMS`yp`PXO8pT#VkwS%Q9hRHRZ#E|UqV zs#Geeu;zt$0Uj`tqJ>FXJu=E`4zcW(D*jA0mYb9dFkeQ^fUxQ*%;YAmJ{AvnX))+a zMuQnCswz@RQ(&b)&@_|*)BuDv7U7!R10kV6yjUdSu?G@zIj7sr`g~j@@vP9d+^Opl|Tov7Yy@zOnemstXHGb^Y+}j8FFEZvXc|J9_BIORJDi zY3sTh;f9p?%wPs$Exj#Y+P*sB+r4SQ(k|WHjvi}!>#9nXSUpERSU$d>a;yKX=UWbT z)xCD&QnU8A&GK~Po3;;|(EfX4_m-7U{wuum=j+HLXSdAjK3rYgH}}~y=KkD;7XzNQ z$lAyHS0Cwg@Rzqvug=S;$GUqb@H;aPeE*AX-sZk@Cl}ou<9g-4M*qkx+UR8S$|0Fz5B({*2vH%Lv_i%Y2R(zYdWN}bSRJiSlT`d#qN}*Z_JOrGJ$;7 z)*0!3yKlwzm2Jw|ZF8PlB8*F?Cr|Bho#!_EwDr`bo|DsB2j%hB^`)@`;>5+@ZpVH$ znl4;K)SZ*m6{?<5TO6H`{g@x^~nsf%X+^ LmLFU8^6viuSqm%< literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_2_1.png b/resources/g2/track/intamin/zero_g_roll_right_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..aa51443dd09fe83c569b1d2df2778186ae0fa2f2 GIT binary patch literal 1153 zcmX9-eT>s|7=GbCdLLe<892BmOfyUq3Qp5NAq^?oBLj+8LcwXK%-HBm1~yV);v$Xg z;=&EAX24E{S&l}AHgU)$Haf#jrygPFRXx2KiY~HnOFVJGg*yTD=LpI3e*N=4$@9GL zp)LKsp03_50O;Acp>J!mE^Ef3j+SQ5=Q0*R3vAiEZGCf`H*enj`SV*^T3TCM+uGXN z+uJb=>*(m{?Cf-TJRXYjavUp)yd(t_MUKT{sZ=JHGmFJZ+paenlowbA1im{EaE8O~ zNYoooFsZbV%?0xXrDP>4Rh=U-KhrJqF4gbWBqF0wBQdU!@|SY5Jr=Lo`dq!}!y!mQ zgau8+vNBdkILcXPqlBZH7d3+DwuVsA10VndF-&$iR26U>;hX{kj! zY1Oioxq^cQrwFbPxT8R57@cwXazvoO%9cM-QS`c2L?Z&}lxRHSBNKimD{*;6v|>^@ zrBsbry^xx-3{)*ToHRlDDLTY*5m8J?QaTdJB@%^9#xl*yA#f_>ia z-L2&hJ=htY=pTLg+U)c{XYOZ-cOM-{F1xz)lU-}x8|^x~;O5b156|>oC67OK<=nvN z?BbYx>ePY1e%Ld1?!uLQQww(fRBL_v@GqNxOupoJYlr*0T@&LUoBs9H`TEEb@oE3(|idOG}RMpFCQCzs_CgsPwc+@{J8z!^5IJxzPjAI^8Byj zeaWFsX9gB6l;0fGwyn8$`>DNak8kQdv!6fEGNtv+^(^`R;>0TM*q1j3&#u{iV0yZ1 zaLILJXmR7)KM&!{4}LMYdTQ|>D_7lm|7c^!1a78h+sj;BzH#hk+t8DzD|;5a_FGd& O*tovG@1w_`JNQ35uLP?A literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_2_2.png b/resources/g2/track/intamin/zero_g_roll_right_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f63c8d754ab48b655a175b6d6d463e5a209e2527 GIT binary patch literal 1168 zcmX9-e~i;)82;{O4~}C;=2>)jQx>S9!s1meT4FhRIM0$RxgJ@V`7s0s0X-*~bIYRQhzy5ij?XaZ~346Uw@4Gj&Ajg3uBP0h{CEiEmr zt*r=xw6(R(nl%gccsvB*Wf+?0Sy2qgvZN?VGMUb1jeLI6wyU)o;RQ4WIJP|yaE3ze zaKsynQ^^#U$qG4BE?DtWSz~a-Pqj-d8uhzX5lhR&n8KJze<3T`M83{4tj$+1HE4X0A3u^+rr$U(b0KfqtAc*8}L|rZw!!(K-bT*OWwSr*SK{x60`aBemvmzOg7%9fZ(n8vh3@e(q z6ILZtnlT+TaPj~R0(S&pDnh1FUlt3Pv}F0?C0VPgc{s-5PLXtleR$kYWkeqx<6e=XWR{Bw^<|N4JTach+Ig#1qJh97 zGVh2AZZ(9bBD5akbE)9C9xa-wN-a(J-D+eHl&6MuvQ{j78(HB0K&Q#u{zyDxRgk$TqaY=hmZ>eCJ^95Au$q>2(LnVlQf|-gvoj* zIlSWcK*0^87)%k+prOUqkDpxHe)qu->>M26!OCB5Y^nDz_xJS^tEO%aP3=0c@E>u-eCO^HkG?JZz2|oCBZne)!V?#sd$anL*>n2n z;moMK?DeziS+s2qkvX#ZdguyWId>hjf4JtgkIzNA-bHU-+pz0m_l*}ukN50Z*U&fm zMSs`ii6>4fu2;7He)009mUYF^gVXWO7tj8&Zn~v&_>+0lONOs)er$2~dpkDY9{&2o zmmkervPe7Ao!{`=@pJo&z3UGo!h=`GPEB++4$L(V&KWv?etQ1g%N?~_o96%Y#)jV1(ad6HTa(**RvZ%?RI*{>hr~NQnZn8C=&x`6bzxh1n;{?j@umO1ZQQiK*)I-`8aY{i_H1K3lbE@Bfj30FeLy literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_2_3.png b/resources/g2/track/intamin/zero_g_roll_right_2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..bec23cfa517a659fa89328c0e6dc689d8b4bc32b GIT binary patch literal 903 zcmX9-L5SmI82x5CGwEy@awrlpV8kLh1j!*RIRwdSX6z1;$?j$$hb%-0*hAHTS*Vah zV0$RiL%<%w(nExxMS}J)NWiiL3DQHAAOlv&p@+icu!pb&w}(M~vn;&t`*@f44)1;6 z+`H(W+uvw3`cOmsROj$KV1h^;tt(|nQ@v&}BSMQE!) z^nh}J_Aovmx^r4jL@U$A8#^q$6kRGz+vLeXml0mG)kCPzC;&^j)RhA_J(gNDYxEU@jNOi^ZHqvOThs9t~dRNuF zxLNN|i@|Z8Ai7jXWmr=XY*`r@wU{#>PnNTJo@UiX1VhGb6?YBF>oZeFj7I8W+FM5M zI++&hw5pyX5kLd50X%>RUZ;{=n+at88L0;f>-KMHCXKY z)lIxX>ymB*Phnja*F~zYa!yb7++xQbN}&Q n>F@tNdGze7#+^5=U+jPU=X+oJx8MGy7J&1!i_@P!`t-^F@dAJO literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_2_4.png b/resources/g2/track/intamin/zero_g_roll_right_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..957a54cb9306aa5ee305618c195438fdf7101707 GIT binary patch literal 1165 zcmX9-e{2(V6n|rEH&)0=npwkTsZg-QLkgUFfg3sDHY(i0;SMZWH6>hP4UL@f&|-?a zL4y^Wc!5HSR;=bCCElcxsSWE$b(Ji!nj>sj@Io5WU?CU^DXF}0QIv<{SW)C9$*(AKG#X7N)7fmUSe&w~dZR&kfMr17ZGOK! z6mo_mo>-hori4s3kS{1DGhV6c9EtfDo6I{@pHq|EX@we%a)qR?l$EW?Sk2OB>P0UB z0TRM2Xd;%8u|ga#XY7paBDd z6$%7pcd-tS;A8@BuT1(>O41l5#YGK1kr(w+AZG=gG~w~O7?I>9+Ani*Oo*ie>71N1 z)uNR!YnjSS0cXK3f+Gmd2)H$jPCL9=x4*#3rY~Mm^tx6=qXKD{Xd>(-<31)Mad|~F zqf$AkRE=o8keo3MR4w9m+D-Z>I>>TiQH)DcDjd$nU)vwpW`MNgM$krZ}XONA=aoXYVI$a{^kr+ndg;=1uERu~UCNo*9Xf`S= z1b9plaW&x7LS!n!8Zj}S3Qihoxsa-ri;c!D!~*yL6aWpt0GI@*Vt|?uI22Kkp(Cp- zxIv~M!9vapmH;m0q} z>>gUa@Z$9iEpJbjf4yMTy4v@zNF4sH@1+fEfB*jel3v?|*O?w-{mANb)I{gPZQXY+ zov*!o$av;7*5gP|9}F+P-ZkGg{>8(Q_fPGs_do2WcCNcTICiSAvT(91f9RU@_1?wI z=-k(e`tk32J{!1v^YH$gXIHJ4zrFNeL|1lnF8jkjq@Mi7jBV&=!$i8XysT<>8 b4Z)lL9l!F+zY}CrQ`p$Ix%c$?9S8mgwiN-U literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_3_1.png b/resources/g2/track/intamin/zero_g_roll_right_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..74418796007918e3049a87d9bcac1552ddebe409 GIT binary patch literal 896 zcmX9-F^HsQ6n?w2yUy<9m|`Hpd0;Vxh2$(GSXg)$_b?li^*AqB81O)d#S|7EOd&+F z7Q#W;p`-k6s`6oaJo`3%GSu2l@j*gFyJDtwS$;s*I>Dk#C zhGE@q_x$`E9}b5s%ZQ?&sc!`}L09%<`^U9Bc{mE0W)i2#F!u>hfp&220X z`rG-SSre#cP-CF`5TRlSpa2*cX7~FZL4*{Q@cgZ!tSoEmd2izwipET#QQ#O3wwm)PkLp9Kr(KD)hkQh_OTm8b3G1rK6UL2pxu1wLs=npuG z)>zIG#IdRdra2pr7eSE6ahYYi&E{}8ARug@B8;8)#U-JxX=^7=_Igr}mxplEEb9C1 z9qQ5jK8NEHIaF!J@h$s6cM=&N)uFV6$)$?rUGOVR0<#!kd32&MTvs45n4}B zmB72;Igmxr6l`ST-k6?-(mXMjOTR4Bx-L=cMOeVPJt4%EgfueBuK4hvr_FeI7p?EJ z9oinK0dOQHF@0SiM=I-Da_Ehcskcn0Ws%lZftnpB%P0d>0YYsSlh*D%2;ZIU_uMRc z4`;m=bzL2eOxLwp#^;zwU{jIJWoDz$wKhZsi98C;SdE*TBY5AK1MA7h_|+r$ Z?T?4wfA;GaZ`w(?dUk#J(% z+=$D$NQHqr+~M#R9i}HsJYyq6r1GxxKEfzE~2=6{T*bo2>#%U}4%Nb6z#<*CafzkaJ14k`32OvQh@4L5hkf9!^Q<6ElIg}yp&E?@_ExRn)CCWP6vTc20V+AMK@da z33VdcWK*q3p&c)GwE1qSz0~L-7vXkOUT?@B5Qv~e(+bC@M7vp{l+M(OC97(7n+%8? zrU-6T^lLF9mtgdiP|ihby4tAZ+Kp|^M3t=9MNnSNhWVBGRAeGBW)70B-6WLn6 zD3A#kqj~v)Uo>#pqP0#$@5al$Y<P0ZwG9Gwr_cM&m+g)IvzWIMW+S6BY^`>tRA7~eF0`1I~o`s;&hPVL=R{cdJ<|3K?ZziaMk zkMI2cvm2lI{^r%Gsmc3pOr7WAXZHPbHff#M_x`EUYYxYAyIvUlbKzR*zo(iXFFyHD z@A9jiHMbsPHZ1J@<@9^w0|!r%ho;_cs_7S}f4nq)W&Pu;Yd^?L{liZO?-g%8u%hE3SzOOl+9$drZEH-^mogwD;C66$(vQki8xbA2g?Q7no86yZLwhl+#nJV zp+V)boQ#!{j!MqiEW1(Nhnga~r6Oc_05|{Q^#MJkO?zyjB)SD=3gOdkW2=FL)RgB8I0tK&7qGdCftSVYVHP8e{I3>y*2@uJkKPNFog*W3; zC9Tx*@kS}VXy#GPa5yP15hSS)%|v)UDM^_~q>xOOvRPBtt1~l=MgxIc25%Z8a}K8H z=F3E=$|P!nR*w`L>P)jxzg1a8-GswIxm*F0P%oi7fO;yn3V( zxkErkyJ^+MX}G9+Wy`NNgnTnnTuhg5=~Yx|c%4AuSit8HXgti5(GaV~!dfa;%%@Bv zU$+d@tWqqCbU+p$)bb+HqPqikJesN1s7(3}lyaF71U?*=qEVUj#VKE!Ci4tgVtq3l zQ4e~Mh@+SnWk{sc$Yfi`Pd(aw?e-7s8ye)HZ}!6OR=;M;K>zT=@9jUl2aS=RAJ}!X5E$_=?|kpL`sbGq zT|BmYeCWV|wf5<^t4FvU%RT(H$Df*hx4-YFefIc?(G|tHq3z=AU8_=OT;Hy}{N&Kc zq}#LZy4<<$jnxN}TTfrvd#dne-{igbkF}5D&R+G9Yu{Mgy3wdLK*n zYSll+KHHXkZSNOjFK=3L`I9~T)Q{&o2ZzsH+WOrZVdFjUdGA{**KWcJ69=DvjWp6h4HeFCN{MHvNnr=vX1ASklYyk{`%*AlIMBf z{k`kGvu7=s1pt`c-PN(7UYFHlUQ1&=FL-WZ1b{}+`{KsV`Z#08jE07W#>U2(GiNq6 zH8nRkBM8#c($d=6YI8cB1mU76l4WV0_lu$s4u|9MWG18K^F_ljYc;|JNDp9Wi{Ebz z1|1>E6^VM{2_~K4vN^G!N6VEIg(E(XMWAi6&!O;GQY6O0R4(o-WCUX}QZ-UjX5MQD z91cPxP*@}_Ah{@7N?U6MJFL23jf2w)gn1_b3;-O02q-Gs?FxpaJf1OznG6I2ltP>D6?3Du=0#HE!tb?JTBtkU> zjS_35MrS~`TcA#$V-wyxWaB%oFr6= z$kDDMgI9e{$T^^l!2|&{66$pQ_}$M~Za?^eog3D(V9j3_`|EvQcgNa|PaWJn;NNy~ zMN8);c=qzWk5Bh(t?gL$@1HxD{o*Y|oVTtvoao5x+PC}4-HX`7!d2YJZb*GE^{-xZ z6>ibH%<;nmV$YJ{L*mHz`0v|uCoYgHH$9r!vRwS&)XL3@rcr~%gS6%BZ=W8zbN}41 z%4qMknQy((-?8<`Pd(_56|(<{ix7atxS zTQ}JB=C+-4`r1dG$LH)?%=`Cjd&%g;%1`d^8y)F%Omq!>mKp8&_36rB+cEyfLu%XH zmUG>2ueP=CoBPRJ@9?$vy;t}4cfa#Z^HJ&ZB~L6InD8WjILU5UJiTtzGIZePk>2ee z_3}SE+AVi(`?_wS_wlw@&-^{Ao&U%-@!$JgAuyd{7x4g6=EkpQ+&_uAh70WS&{QUCw| literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_4_1.png b/resources/g2/track/intamin/zero_g_roll_right_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e870896c01393cc74c797039dd507e513f633605 GIT binary patch literal 1136 zcmX9-e~i;~6o0V0^^OBdT%^IFMQ75$xGbc}6;hLO_AV1ju7rXk3@E0=ne4Dal_f4Z zWhVxEV}-aPj7Fp z+wI0Mtgo-HzrUaG`Fu1T;CW7x1VssJnwm@|v)O#HXjLjT$7y#ubO1OOL}4Ht_C%v( zEFMUu*=$ZM6y;J`tJ>*C)8PGBh#gP`A`v2Wh01I6*(6`ihN?x?nMt)AW42uhdO`L> zj00W53My7k?Q(Y3Hc_*JdlW?(|R5NU}Vx_iT>l9ma^;tCF$8m-rf}~IK2Nago1TiIdm&J?e%uJ!^RP0WJ16jZ{ z2~WtR9`)zqoSBkJxyX!}sF!oCdZp93i8z1|fCiugm;f^XO$<;MB9G!4G7aR^MG90J zG8|Yza6~{7AeBIA8W|$8qNtiejsf?LXF%W~Bw|s8NW}aZJyBi&7m{Z->oJtTdag&RGpqZ&My%NGuq@!yFlv=y*iX6Hz0RD47|%Vz!(L z>NFTZKo%ee5bAo7>e4-cHyO`0n@leI09v)mhr?1ds>I_e9Y`{PEJvF>T^0g0(ccRB zkW8Wkg>p2qIAjam<7Wm3?%e-@m$!^bu>Qu?=ezx58%Bn=u6^hDvFMBES1g?P68$(d ztvx)Rluiwq$DiHiTFf0Nta;MId`507p?y^(!)GfL^|GaQx@n!ATzS`uG6?di@=Uu&1mo61|P2XJ_U43Ww{$<6J`njQxC;k{P zZ#?<;f#*iQzZv=Z)1%mMASAfoKXLBu3m=XLw_X{n4Ttb;qrJz+c1$igh}PZxK|g)q zUvl4-YjfKlI@X7`)xk-3<~H&8#gBe*Yg4Cgeeu)vy_ww9d(49VH6ytD%9{(lD>?qV tp_e|p@ZX7z^iz9k`);G7#qhn}H~t#lwd~}Due!3qhS9N+PoCa$=zr4)@JRpw literal 0 HcmV?d00001 diff --git a/resources/g2/track/intamin/zero_g_roll_right_4_2.png b/resources/g2/track/intamin/zero_g_roll_right_4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f9721a6f78dce271fc40a04aee92c71cc545c5 GIT binary patch literal 1143 zcmX9-eTdU`7=F+D$eq=d(Qz4z5LhQsGgn=ZjCEeroOWlHKu+!X@8+CN9 zU}06t%vgoOI_MwqC|YN?om&_gRLo(SJuL3fZWl+L9Tw)Kx{jUVw%;nk^M3vFKJYy6 zdwl0aX!+9TmIA=?vDZg;b?e%0P=meQd{$Y11)vvpj_=;u9ea9umMmG)+uPgM*Vo_Q zKQJ(WVc6i{;Ly+z?)Uo{CcyKYBnhf2>$;XqCbQXmsbo3Myz90*9VP%=5JbTv%f4uo zjKu?~bTFF}3nj%a>(yGi(KLA)3kN-#fG5JFp;CFBnMv~HY`9v|+)AqDnu~2GM1Vp= zi~~c$3K~{Ud+P;Xr%Iq!0Cg1f$Uw;P1Bd_$hG|}Jf*=fvGK0YxQLIEF^+e)MK99;} zg7Nt|JRp)mg$ikOIKik!P|xwnqL8sAv#MBbgk*_8$RCtwL1kr)*HU6CujDPwswEsZ zQ)?9(i)AkdJ_+y$ka3_4jLqYr5+#>8trkudj)ZUCu7nim2&$eJn+X88*W4F-c0RYAzNlrPJknzGhjC`T2IcjeyXA%3@5x%iDxh zr6UbK)s)Rv%x)X=ol@&jeGz$Rub0K~5b2lbfEoHEE>bBb>g8Ok?sPhL5C;$j&;bm9B0vS8i2>?DqGDk)wCLR%tMAXbA>|&Mdf^zTvAE*WGO0pW8Wnp>*vMwJ&?}$B|F}n4WaZ!sK_e=PY>u-}7ed zBkXN__zi2#^r3g+H?D1#FOE;20CHfd@8$LCX_-3r(lO=O;P~ux|6w9#&7Jw6@4?ke zQ`M<8pPXE~eDeIrieb-~Hv;D;HM{9e(PJ=jrL2s~dxnZ9`u;%Vhh(tvUR~vkMcI zFK0>iy&Y>7kEZTk^4V4b+D@*jBTA5J-21=(f%<1Eu+pOxsW=KaDa%w|P zX+kBHHRFg?sunD8j2arKFx-I^OQ={$7f(}3F{f7Sw3rbaXk_XVKTAlS_t!t~lPAyn z?%%k<-7$ahd;mblz`FjyMs+k|nbFY5)a8kf0Wg4#PYtbYj7?2V&CSgQgQ2CRrM0zn z-n@ATf*6g)wzf8_!{NYjCqUynS$DM$50fshtJQly- z9*~^jh$|Lnl4)-yD;Bg!xuQ@Q!nsTWZ4GjEnMV^MJ`tj_F|Lpn^nAFgE3>tn+XlQC z2#`Q#k)(iRBj!@lQZLwG)d}lfI447xYiM8q@FIv{HV17s8ATPBYl30&K3^#qoJk~L zHfzHz4$|sm>@F|r7BDV|^Ri2fQ=t?c&9F+rtLi>GVRO12E*7JC!Xr>ZmQBRf>G%ivWm71J`6AWhI30uI8ML1WIr!pd| zh4@lTtfWGCQS4q76?B(e^Q7v5%xtVMrf9JB-H4}@e|8UckchdtAiU@(EIz1osB*)(7$GA)!10{*7*{g>m!$Y4>Vu8Ik0weVtD-8iR|Z3(tW>lev#alWVa@k_LPFXlC)s_E_ZzQwk!8y z`jU}Naq*9xU61cP`0)6O(wUXri!aUe{I(aMZW7=g-Q>-r6DBa{R!L!UacZdDp$8Q+L7Ye(vS&`7?_0 zSoBur`k}WvUYR-(p3Z!FYV`Ccm^Af~Z6tIJ-Fv%hAu=kRe*OKs3qHsIV&%cZ7s}-e ztxG0HjmhU*(W|HD4vd}kuh{KwGv8U?^;Q3)w=a%wNi7R6KRGz`@0E^&KeT%WukIF2 ztJLl7n^!&Y+VE`4^c)fz9XqzC>4kGgjPXr_-<^N^`<6oWY|n|WwXx=BjNFT!^|vSA zrLWKQwRa!wMgyNMJ<|T|vg!ZOJBHPZZr-Rkf8Bh_*JN3@QU3c}asQj1&cyn~+n+w% kxlrBp&xc#~{CvqUX)0cO^Gd8in zEvrzpj#E0RQnP}Mc5sdYn>(apg$l)$SYbe6MJuUNd68xoQ*q$W5|Z!p_RsVEj-EUk05Eptin^v^ol%V1iqc|k4}Z4}fKt%7s(E>Fl*wczB_*Y$rK3iTDl021 zFE2+Bq@tptva(XC(P&UqPm%;p8yUvTajetn^m_fFkQ9v$rc$|l9@PT^2b8hOY*yH8 zYP&=4a^qef6%1Lz5iXu^r!xUkhnVmx)~Mu7YJt)EIkeYFM!cqYh)u;@*;JsAiyBnG zq62mU2s9F8k%(KK3@Y+*70l{k-U3Gi2%{PRC;%)7!ph~mN+oEu0UYn8sF>B7M+i1ya;LdKPKd%@N~d5jmEE9ooA4k* zhB-RnWRhMkBRX>tZy_PVOjNGGv^o=tSqaik({6_G+3g{>JL2~zBq=>On9JoLP_aPk zMbMy}46Eq4&YC7&8FL_O59frzd?-7TEWj$AT#hM~2DOIP=@}g7jFih#T;>S5J+WXY z6;0&R1h5zpj+XNlwP4fv9E9ki!#-#Q z35T7DgqY1HV9`ru1*oHn5R_CvZIQHW3Kw!_F>enSyzvn!4U;*o0$^&ypqHBowT(s{ zR-?e%0vF{MTn9uuETs%&i&9u$NI2NTTY-i zTzyG(pl4Y_^RC_CaUWAQqjPApwJv+)*6)R$s z{P@-bU+t4MZa=jC@~hmr=|eNE4~H&d9WPv6BYUgxVBMKVqg}X3y{~nLFV-}#X8*eG zwf}8dy$P>=<>r(Vq05t2cU0cnJb&_*3rm)kM4DRX%(^(a^UiNA1BtyoZtMSJ;>nXE`=3!vtsi5&cNi1N z=8vb|P7nWZ{&R9dpzjO*>LiPF;pg7oo#wXw9~WNfJa*h)n7i}gxhc<$uRr_p-&1Bh zoIfyb_dnO;*ryk^_aEu%Ox)*k$phlD38y4{Yfg72^^LZ0`|;vm&%-8)?{0>#^PqYh VIrbN^##ZDDRxWR-JF;wj`~Um$NUs0@ literal 0 HcmV?d00001 diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 50d81f7953..822db1e15c 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -9500,7 +9500,7 @@ switch (trackSequence) if (TrackPaintUtilShouldPaintSupports(session.MapPosition)) { MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 36, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 36, height, session.TrackColours[SCHEME_SUPPORTS]); } if (direction == 0 || direction == 3) { @@ -9748,7 +9748,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 1)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9760,7 +9760,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 7)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9772,7 +9772,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 13)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -9784,7 +9784,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 19)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -9927,7 +9927,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 25)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9939,7 +9939,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 31)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9951,7 +9951,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 37)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -9963,7 +9963,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 43)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10135,7 +10135,7 @@ switch (trackSequence) { 0, 6, height }, { 32, 20, 7 }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -10153,7 +10153,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10161,7 +10161,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 5)), { 0, 14, height }, { { 28, 6, height }, { 3, 20, 63 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10169,7 +10169,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 9)), { 0, 6, height }, { { 28, 6, height }, { 3, 20, 63 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -10177,7 +10177,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 13)), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10279,28 +10279,28 @@ static void GigaRCTrackLeftVerticalLoop( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), { 0, 6, height }, { 32, 20, 7 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10503,28 +10503,28 @@ static void GigaRCTrackLeftVerticalLoop( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), { 0, 6, height }, { 32, 20, 7 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -10575,7 +10575,7 @@ static void GigaRCTrackRightVerticalLoop( { 32, 20, 3 }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -10768,7 +10768,7 @@ static void GigaRCTrackRightVerticalLoop( { 32, 20, 3 }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 1: @@ -10802,28 +10802,31 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 0)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 3)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 6)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 9)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -10898,7 +10901,7 @@ switch (trackSequence) session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 33, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 40, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { @@ -10928,27 +10931,30 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 12)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 15)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 18)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 21)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); @@ -11022,7 +11028,7 @@ switch (trackSequence) session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 33, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 40, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { @@ -11086,7 +11092,7 @@ switch (trackSequence) break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -11106,7 +11112,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 34, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11114,7 +11120,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 6)), { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 22, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 19, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11122,7 +11128,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 11)), { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 24, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 19, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11130,7 +11136,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -11189,7 +11195,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 3)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11197,7 +11203,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 8)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11205,7 +11211,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 13)), { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11213,7 +11219,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 18)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -11302,7 +11308,7 @@ switch (trackSequence) break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -11322,7 +11328,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 21)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11330,7 +11336,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 26)), { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 24, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 19, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11338,7 +11344,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 31)), { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 22, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 19, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11346,7 +11352,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 34, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -11405,7 +11411,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 23)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11413,7 +11419,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 28)), { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11421,7 +11427,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 33)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11429,7 +11435,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 38)), { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); @@ -11531,7 +11537,7 @@ switch (trackSequence) break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -11586,7 +11592,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 2)), { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11594,7 +11600,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 7)), { 0, 0, height }, { { 29, 0, height }, { 1, 32, 96 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11602,7 +11608,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 12)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 96 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 18, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11610,7 +11616,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 17)), { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -11728,7 +11734,7 @@ switch (trackSequence) break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -11783,7 +11789,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 22)), { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11791,7 +11797,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 27)), { 0, 0, height }, { { 30, 0, height }, { 0, 32, 96 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 18, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11799,7 +11805,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 32)), { 0, 0, height }, { { 29, 0, height }, { 0, 32, 96 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11807,7 +11813,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 37)), { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -11922,8 +11928,8 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 1)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11934,24 +11940,24 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 5)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 12)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -12049,7 +12055,7 @@ switch (trackSequence) SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 38, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 42, session.TrackColours[SCHEME_SUPPORTS]); PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); break; } @@ -12069,16 +12075,16 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 20)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12089,8 +12095,8 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 25)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12101,8 +12107,8 @@ switch (trackSequence) session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 29)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12199,7 +12205,7 @@ switch (trackSequence) SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 38, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 42, session.TrackColours[SCHEME_SUPPORTS]); PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); break; } @@ -12257,7 +12263,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 25, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 21, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -12355,7 +12361,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 4)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12363,7 +12369,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 8)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12375,7 +12381,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 14)), { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12383,7 +12389,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 19)), { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -12438,7 +12444,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 25, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 21, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -12537,7 +12543,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 24)), { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12549,7 +12555,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 30)), { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12557,7 +12563,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 34)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12565,7 +12571,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 39)), { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -12750,7 +12756,7 @@ switch (trackSequence) { 0, 6, height }, { 32, 20, 3 }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); @@ -12794,7 +12800,7 @@ switch (trackSequence) break; } MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 2: @@ -12849,7 +12855,7 @@ switch (trackSequence) { 0, 6, height }, { 32, 20, 3 }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); @@ -12893,7 +12899,7 @@ switch (trackSequence) break; } MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 0: @@ -12945,7 +12951,7 @@ switch (trackSequence) break; } MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); @@ -12992,7 +12998,7 @@ switch (trackSequence) { 6, 0, height }, { 20, 32, 3 }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 2: @@ -13044,7 +13050,7 @@ switch (trackSequence) break; } MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); @@ -13091,7 +13097,7 @@ switch (trackSequence) { 6, 0, height }, { 20, 32, 3 }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 0: @@ -13142,7 +13148,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -13160,7 +13166,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13168,7 +13174,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13176,7 +13182,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 15)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13184,7 +13190,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 22)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13235,7 +13241,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 3)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13243,7 +13249,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 10)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13251,7 +13257,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 17)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13259,7 +13265,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 24)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 28, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13412,7 +13418,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -13430,7 +13436,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 29)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13438,7 +13444,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13446,7 +13452,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 43)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13454,7 +13460,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 50)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13505,7 +13511,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 31)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 8, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 28, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13513,7 +13519,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 38)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13521,7 +13527,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 45)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13529,7 +13535,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 52)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13676,7 +13682,7 @@ if (trackElement.HasChain()) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13688,7 +13694,7 @@ if (trackElement.HasChain()) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13700,7 +13706,7 @@ if (trackElement.HasChain()) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13708,7 +13714,7 @@ if (trackElement.HasChain()) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -13722,7 +13728,7 @@ else session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13734,7 +13740,7 @@ else session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13746,7 +13752,7 @@ else session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13754,7 +13760,7 @@ else session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); MetalASupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -13812,7 +13818,7 @@ if (trackElement.HasChain()) { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); } else { @@ -13851,7 +13857,7 @@ else { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); } if (direction == 0 || direction == 3) { @@ -13986,7 +13992,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13995,15 +14001,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14013,7 +14019,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14022,15 +14028,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14147,7 +14153,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14156,15 +14162,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14174,7 +14180,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14183,15 +14189,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14308,7 +14314,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14317,15 +14323,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14335,7 +14341,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14344,15 +14350,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14469,7 +14475,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14478,15 +14484,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14496,7 +14502,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14505,15 +14511,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; } } @@ -14558,7 +14564,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -14649,7 +14655,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 3)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14657,7 +14663,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 7)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -14665,7 +14671,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 11)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -14673,7 +14679,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 15)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14720,7 +14726,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -14811,7 +14817,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 19)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14819,7 +14825,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 23)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -14827,7 +14833,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 27)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -14835,7 +14841,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 31)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14863,7 +14869,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 32)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14871,7 +14877,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 36)), { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -14879,7 +14885,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 40)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -14887,7 +14893,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 44)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14998,7 +15004,7 @@ switch (trackSequence) { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 1 || direction == 2) { @@ -15027,7 +15033,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 48)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15035,7 +15041,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 52)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -15043,7 +15049,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 56)), { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -15051,7 +15057,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 60)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15162,7 +15168,7 @@ switch (trackSequence) { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; } - MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 1) { PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); @@ -15269,7 +15275,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15278,15 +15284,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15357,7 +15363,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15366,15 +15372,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15445,7 +15451,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15454,15 +15460,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15533,7 +15539,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15542,15 +15548,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15644,7 +15650,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15653,15 +15659,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15727,7 +15733,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15736,15 +15742,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15810,7 +15816,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15819,15 +15825,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -15893,7 +15899,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -15902,15 +15908,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16004,7 +16010,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16013,15 +16019,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16087,7 +16093,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16096,15 +16102,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16189,7 +16195,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16198,15 +16204,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16277,7 +16283,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16286,15 +16292,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16365,7 +16371,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16374,15 +16380,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16453,7 +16459,7 @@ switch (trackSequence) { case 0: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16462,15 +16468,15 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16523,6 +16529,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16530,6 +16537,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -16537,6 +16545,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -16544,9 +16553,9 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; } - MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -16646,7 +16655,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16655,7 +16664,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -16664,7 +16673,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -16673,7 +16682,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16701,6 +16710,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16708,6 +16718,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -16715,6 +16726,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -16722,9 +16734,9 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; } - MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -16824,7 +16836,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16833,7 +16845,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -16842,7 +16854,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -16851,7 +16863,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16880,7 +16892,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -16889,7 +16901,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -16898,7 +16910,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -16907,7 +16919,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -17007,6 +17019,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -17014,6 +17027,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -17021,6 +17035,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -17028,9 +17043,9 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; } - MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 1 || direction == 2) { PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); @@ -17058,7 +17073,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -17067,7 +17082,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -17076,7 +17091,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -17085,7 +17100,7 @@ switch (trackSequence) (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -17185,6 +17200,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -17192,6 +17208,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -17199,6 +17216,7 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -17206,9 +17224,9 @@ switch (trackSequence) session.TrackColours[SCHEME_TRACK].WithIndex( (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; } - MetalBSupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 1) { PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); From b90bd52729f4871970c3bc760e9d25fa7bd6b7f1 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Sun, 30 Apr 2023 14:36:12 +0100 Subject: [PATCH 07/27] Update files --- resources/g2/sprites.json | 18 +++++++++--------- .../g2/track/intamin/barrel_roll_left_1_1.png | Bin 1023 -> 1027 bytes .../g2/track/intamin/barrel_roll_left_1_2.png | Bin 1070 -> 1073 bytes .../g2/track/intamin/barrel_roll_left_1_4.png | Bin 1357 -> 1358 bytes .../g2/track/intamin/barrel_roll_left_1_6.png | Bin 1213 -> 1211 bytes .../g2/track/intamin/barrel_roll_left_2_1.png | Bin 946 -> 946 bytes .../g2/track/intamin/barrel_roll_left_2_2.png | Bin 1048 -> 1055 bytes .../g2/track/intamin/barrel_roll_left_2_4.png | Bin 1085 -> 1085 bytes .../g2/track/intamin/barrel_roll_left_2_5.png | Bin 860 -> 860 bytes .../g2/track/intamin/barrel_roll_left_2_6.png | Bin 1231 -> 1229 bytes .../g2/track/intamin/barrel_roll_left_3_1.png | Bin 1251 -> 1244 bytes .../g2/track/intamin/barrel_roll_left_3_2.png | Bin 877 -> 879 bytes .../g2/track/intamin/barrel_roll_left_3_3.png | Bin 1092 -> 1090 bytes .../g2/track/intamin/barrel_roll_left_3_4.png | Bin 937 -> 937 bytes .../g2/track/intamin/barrel_roll_left_3_5.png | Bin 886 -> 883 bytes .../g2/track/intamin/barrel_roll_left_3_6.png | Bin 1137 -> 1134 bytes .../g2/track/intamin/barrel_roll_left_4_1.png | Bin 1213 -> 1203 bytes .../g2/track/intamin/barrel_roll_left_4_2.png | Bin 877 -> 877 bytes .../g2/track/intamin/barrel_roll_left_4_3.png | Bin 1199 -> 1187 bytes .../g2/track/intamin/barrel_roll_left_4_4.png | Bin 955 -> 965 bytes .../g2/track/intamin/barrel_roll_left_4_5.png | Bin 938 -> 938 bytes .../g2/track/intamin/barrel_roll_left_4_6.png | Bin 1210 -> 1204 bytes .../track/intamin/barrel_roll_right_1_1.png | Bin 1212 -> 1218 bytes .../track/intamin/barrel_roll_right_1_2.png | Bin 881 -> 881 bytes .../track/intamin/barrel_roll_right_1_3.png | Bin 1206 -> 1209 bytes .../track/intamin/barrel_roll_right_1_4.png | Bin 965 -> 964 bytes .../track/intamin/barrel_roll_right_1_5.png | Bin 925 -> 925 bytes .../track/intamin/barrel_roll_right_1_6.png | Bin 1200 -> 1198 bytes .../track/intamin/barrel_roll_right_2_1.png | Bin 1211 -> 1216 bytes .../track/intamin/barrel_roll_right_2_2.png | Bin 872 -> 872 bytes .../track/intamin/barrel_roll_right_2_3.png | Bin 1083 -> 1082 bytes .../track/intamin/barrel_roll_right_2_4.png | Bin 945 -> 939 bytes .../track/intamin/barrel_roll_right_2_6.png | Bin 1114 -> 1114 bytes .../track/intamin/barrel_roll_right_3_1.png | Bin 949 -> 945 bytes .../track/intamin/barrel_roll_right_3_2.png | Bin 1072 -> 1063 bytes .../track/intamin/barrel_roll_right_3_4.png | Bin 1091 -> 1100 bytes .../track/intamin/barrel_roll_right_3_6.png | Bin 1284 -> 1285 bytes .../track/intamin/barrel_roll_right_4_1.png | Bin 1012 -> 1021 bytes .../track/intamin/barrel_roll_right_4_2.png | Bin 1055 -> 1057 bytes .../track/intamin/barrel_roll_right_4_4.png | Bin 1325 -> 1325 bytes .../track/intamin/barrel_roll_right_4_6.png | Bin 1214 -> 1221 bytes .../g2/track/intamin/corkscrew_left_1_1.png | Bin 1484 -> 1497 bytes .../g2/track/intamin/corkscrew_left_1_2.png | Bin 1307 -> 1301 bytes .../g2/track/intamin/corkscrew_left_1_3.png | Bin 1342 -> 1352 bytes .../g2/track/intamin/corkscrew_left_2_1.png | Bin 1050 -> 1053 bytes .../g2/track/intamin/corkscrew_left_2_2.png | Bin 1487 -> 1493 bytes .../g2/track/intamin/corkscrew_left_2_3.png | Bin 1303 -> 1314 bytes .../g2/track/intamin/corkscrew_left_3_1.png | Bin 1311 -> 1298 bytes .../g2/track/intamin/corkscrew_left_3_2.png | Bin 1083 -> 1081 bytes .../g2/track/intamin/corkscrew_left_3_3.png | Bin 1198 -> 1192 bytes .../g2/track/intamin/corkscrew_left_4_1.png | Bin 1509 -> 1504 bytes .../g2/track/intamin/corkscrew_left_4_2.png | Bin 1189 -> 1185 bytes .../g2/track/intamin/corkscrew_left_4_3.png | Bin 1193 -> 1199 bytes .../g2/track/intamin/corkscrew_right_1_1.png | Bin 1470 -> 1485 bytes .../g2/track/intamin/corkscrew_right_1_2.png | Bin 1168 -> 1172 bytes .../g2/track/intamin/corkscrew_right_1_3.png | Bin 1182 -> 1173 bytes .../g2/track/intamin/corkscrew_right_2_1.png | Bin 1304 -> 1299 bytes .../g2/track/intamin/corkscrew_right_2_2.png | Bin 1106 -> 1107 bytes .../g2/track/intamin/corkscrew_right_2_3.png | Bin 1238 -> 1235 bytes .../g2/track/intamin/corkscrew_right_3_1.png | Bin 1058 -> 1056 bytes .../g2/track/intamin/corkscrew_right_3_2.png | Bin 1515 -> 1518 bytes .../g2/track/intamin/corkscrew_right_3_3.png | Bin 1308 -> 1304 bytes .../g2/track/intamin/corkscrew_right_4_1.png | Bin 1440 -> 1471 bytes .../g2/track/intamin/corkscrew_right_4_2.png | Bin 1291 -> 1277 bytes .../g2/track/intamin/corkscrew_right_4_3.png | Bin 1341 -> 1343 bytes .../flat_to_gentle_up_left_bank_diag_1_1.png | Bin 1010 -> 1006 bytes .../flat_to_gentle_up_left_bank_diag_1_2.png | Bin 1226 -> 1223 bytes .../flat_to_gentle_up_left_bank_diag_2.png | Bin 1112 -> 1118 bytes .../flat_to_gentle_up_left_bank_diag_3.png | Bin 1350 -> 1364 bytes .../flat_to_gentle_up_left_bank_diag_4.png | Bin 1239 -> 1252 bytes .../flat_to_gentle_up_right_bank_diag_1.png | Bin 1322 -> 1316 bytes .../flat_to_gentle_up_right_bank_diag_2.png | Bin 1115 -> 1116 bytes .../flat_to_gentle_up_right_bank_diag_3_1.png | Bin 1012 -> 1012 bytes .../flat_to_gentle_up_right_bank_diag_3_2.png | Bin 1229 -> 1237 bytes .../flat_to_gentle_up_right_bank_diag_4.png | Bin 1240 -> 1241 bytes .../intamin/gentle_up_left_bank_diag_1.png | Bin 1341 -> 1336 bytes .../intamin/gentle_up_left_bank_diag_2.png | Bin 1058 -> 1060 bytes .../intamin/gentle_up_left_bank_diag_3.png | Bin 1324 -> 1333 bytes .../intamin/gentle_up_left_bank_diag_4.png | Bin 1181 -> 1196 bytes .../gentle_up_left_bank_to_flat_diag_1_1.png | Bin 987 -> 986 bytes .../gentle_up_left_bank_to_flat_diag_1_2.png | Bin 1213 -> 1221 bytes .../gentle_up_left_bank_to_flat_diag_2.png | Bin 1156 -> 1155 bytes .../gentle_up_left_bank_to_flat_diag_3.png | Bin 1327 -> 1328 bytes .../gentle_up_left_bank_to_flat_diag_4.png | Bin 1203 -> 1196 bytes ...tle_up_left_bank_to_gentle_up_diag_1_1.png | Bin 1001 -> 1001 bytes ...tle_up_left_bank_to_gentle_up_diag_1_2.png | Bin 1228 -> 1222 bytes ...entle_up_left_bank_to_gentle_up_diag_2.png | Bin 1102 -> 1104 bytes ...entle_up_left_bank_to_gentle_up_diag_3.png | Bin 1371 -> 1356 bytes ...entle_up_left_bank_to_gentle_up_diag_4.png | Bin 1246 -> 1254 bytes ...entle_up_left_bank_to_left_bank_diag_1.png | Bin 1293 -> 1292 bytes ...entle_up_left_bank_to_left_bank_diag_2.png | Bin 1139 -> 1144 bytes ...entle_up_left_bank_to_left_bank_diag_3.png | Bin 1346 -> 1354 bytes ...entle_up_left_bank_to_left_bank_diag_4.png | Bin 1219 -> 1220 bytes .../intamin/gentle_up_right_bank_diag_1.png | Bin 1297 -> 1296 bytes .../intamin/gentle_up_right_bank_diag_2.png | Bin 1061 -> 1060 bytes .../intamin/gentle_up_right_bank_diag_3.png | Bin 1339 -> 1336 bytes .../intamin/gentle_up_right_bank_diag_4.png | Bin 1182 -> 1165 bytes .../gentle_up_right_bank_to_flat_diag_1.png | Bin 1290 -> 1285 bytes .../gentle_up_right_bank_to_flat_diag_2.png | Bin 1147 -> 1151 bytes .../gentle_up_right_bank_to_flat_diag_3_1.png | Bin 1005 -> 999 bytes .../gentle_up_right_bank_to_flat_diag_3_2.png | Bin 1225 -> 1221 bytes .../gentle_up_right_bank_to_flat_diag_4.png | Bin 1206 -> 1206 bytes ...ntle_up_right_bank_to_gentle_up_diag_1.png | Bin 1324 -> 1321 bytes ...ntle_up_right_bank_to_gentle_up_diag_2.png | Bin 1102 -> 1102 bytes ...le_up_right_bank_to_gentle_up_diag_3_1.png | Bin 1015 -> 1016 bytes ...le_up_right_bank_to_gentle_up_diag_3_2.png | Bin 1245 -> 1243 bytes ...ntle_up_right_bank_to_gentle_up_diag_4.png | Bin 1258 -> 1246 bytes ...tle_up_right_bank_to_right_bank_diag_1.png | Bin 1317 -> 1321 bytes ...tle_up_right_bank_to_right_bank_diag_2.png | Bin 1141 -> 1141 bytes ...tle_up_right_bank_to_right_bank_diag_3.png | Bin 1307 -> 1308 bytes ...tle_up_right_bank_to_right_bank_diag_4.png | Bin 1233 -> 1230 bytes ...tle_up_to_gentle_up_left_bank_diag_1_1.png | Bin 1018 -> 1016 bytes ...tle_up_to_gentle_up_left_bank_diag_1_2.png | Bin 1272 -> 1267 bytes ...entle_up_to_gentle_up_left_bank_diag_2.png | Bin 1058 -> 1059 bytes ...entle_up_to_gentle_up_left_bank_diag_3.png | Bin 1434 -> 1422 bytes ...entle_up_to_gentle_up_left_bank_diag_4.png | Bin 1283 -> 1280 bytes ...ntle_up_to_gentle_up_right_bank_diag_1.png | Bin 1356 -> 1370 bytes ...ntle_up_to_gentle_up_right_bank_diag_2.png | Bin 1060 -> 1060 bytes ...le_up_to_gentle_up_right_bank_diag_3_1.png | Bin 1019 -> 1023 bytes ...le_up_to_gentle_up_right_bank_diag_3_2.png | Bin 1284 -> 1279 bytes ...ntle_up_to_gentle_up_right_bank_diag_4.png | Bin 1302 -> 1292 bytes resources/g2/track/intamin/half_loop_1_1.png | Bin 1240 -> 1248 bytes resources/g2/track/intamin/half_loop_1_2.png | Bin 1386 -> 1378 bytes resources/g2/track/intamin/half_loop_1_3.png | Bin 1496 -> 1478 bytes resources/g2/track/intamin/half_loop_1_4.png | Bin 1183 -> 1193 bytes resources/g2/track/intamin/half_loop_2_1.png | Bin 1159 -> 1164 bytes resources/g2/track/intamin/half_loop_2_2.png | Bin 1244 -> 1245 bytes resources/g2/track/intamin/half_loop_2_3.png | Bin 1509 -> 1505 bytes resources/g2/track/intamin/half_loop_2_4.png | Bin 1216 -> 1223 bytes resources/g2/track/intamin/half_loop_3_1.png | Bin 1143 -> 1142 bytes resources/g2/track/intamin/half_loop_3_2.png | Bin 1252 -> 1260 bytes resources/g2/track/intamin/half_loop_3_3.png | Bin 1500 -> 1506 bytes resources/g2/track/intamin/half_loop_3_4.png | Bin 1203 -> 1224 bytes resources/g2/track/intamin/half_loop_4_1.png | Bin 1239 -> 1244 bytes resources/g2/track/intamin/half_loop_4_2.png | Bin 1423 -> 1438 bytes resources/g2/track/intamin/half_loop_4_3.png | Bin 1544 -> 1557 bytes resources/g2/track/intamin/half_loop_4_4.png | Bin 1159 -> 1153 bytes .../intamin/large_corkscrew_left_1_1.png | Bin 1318 -> 1321 bytes .../intamin/large_corkscrew_left_1_2.png | Bin 1381 -> 1372 bytes .../intamin/large_corkscrew_left_1_3.png | Bin 1291 -> 1289 bytes .../intamin/large_corkscrew_left_1_4.png | Bin 1345 -> 1355 bytes .../intamin/large_corkscrew_left_1_5.png | Bin 1270 -> 1261 bytes .../intamin/large_corkscrew_left_2_1.png | Bin 1125 -> 1114 bytes .../intamin/large_corkscrew_left_2_2.png | Bin 1267 -> 1259 bytes .../intamin/large_corkscrew_left_2_3.png | Bin 1364 -> 1371 bytes .../intamin/large_corkscrew_left_2_4.png | Bin 1333 -> 1320 bytes .../intamin/large_corkscrew_left_2_5.png | Bin 1163 -> 1174 bytes .../intamin/large_corkscrew_left_3_1.png | Bin 1180 -> 1173 bytes .../intamin/large_corkscrew_left_3_2.png | Bin 1206 -> 1198 bytes .../intamin/large_corkscrew_left_3_3.png | Bin 1068 -> 1063 bytes .../intamin/large_corkscrew_left_3_4.png | Bin 1104 -> 1102 bytes .../intamin/large_corkscrew_left_3_5.png | Bin 1163 -> 1162 bytes .../intamin/large_corkscrew_left_4_1.png | Bin 1257 -> 1268 bytes .../intamin/large_corkscrew_left_4_2.png | Bin 1285 -> 1285 bytes .../intamin/large_corkscrew_left_4_3.png | Bin 1180 -> 1186 bytes .../intamin/large_corkscrew_left_4_4.png | Bin 1221 -> 1221 bytes .../intamin/large_corkscrew_left_4_5.png | Bin 1305 -> 1302 bytes .../intamin/large_corkscrew_right_1_1.png | Bin 1269 -> 1254 bytes .../intamin/large_corkscrew_right_1_2.png | Bin 1243 -> 1245 bytes .../intamin/large_corkscrew_right_1_3.png | Bin 1159 -> 1153 bytes .../intamin/large_corkscrew_right_1_4.png | Bin 1200 -> 1201 bytes .../intamin/large_corkscrew_right_1_5.png | Bin 1262 -> 1262 bytes .../intamin/large_corkscrew_right_2_1.png | Bin 1178 -> 1169 bytes .../intamin/large_corkscrew_right_2_2.png | Bin 1203 -> 1197 bytes .../intamin/large_corkscrew_right_2_3.png | Bin 1076 -> 1082 bytes .../intamin/large_corkscrew_right_2_4.png | Bin 1129 -> 1132 bytes .../intamin/large_corkscrew_right_2_5.png | Bin 1187 -> 1188 bytes .../intamin/large_corkscrew_right_3_1.png | Bin 1105 -> 1102 bytes .../intamin/large_corkscrew_right_3_2.png | Bin 1274 -> 1277 bytes .../intamin/large_corkscrew_right_3_3.png | Bin 1397 -> 1407 bytes .../intamin/large_corkscrew_right_3_4.png | Bin 1335 -> 1339 bytes .../intamin/large_corkscrew_right_3_5.png | Bin 1159 -> 1159 bytes .../intamin/large_corkscrew_right_4_1.png | Bin 1300 -> 1293 bytes .../intamin/large_corkscrew_right_4_2.png | Bin 1371 -> 1369 bytes .../intamin/large_corkscrew_right_4_3.png | Bin 1281 -> 1268 bytes .../intamin/large_corkscrew_right_4_4.png | Bin 1338 -> 1342 bytes .../intamin/large_corkscrew_right_4_5.png | Bin 1262 -> 1281 bytes .../intamin/large_half_loop_left_1_1.png | Bin 1334 -> 1346 bytes .../intamin/large_half_loop_left_1_2.png | Bin 1365 -> 1356 bytes .../intamin/large_half_loop_left_1_3.png | Bin 1386 -> 1392 bytes .../intamin/large_half_loop_left_1_4.png | Bin 1359 -> 1372 bytes .../intamin/large_half_loop_left_1_5.png | Bin 1473 -> 1466 bytes .../intamin/large_half_loop_left_1_6.png | Bin 1320 -> 1325 bytes .../intamin/large_half_loop_left_1_7.png | Bin 1287 -> 1292 bytes .../intamin/large_half_loop_left_2_1.png | Bin 1159 -> 1171 bytes .../intamin/large_half_loop_left_2_2.png | Bin 1140 -> 1132 bytes .../intamin/large_half_loop_left_2_3.png | Bin 1178 -> 1178 bytes .../intamin/large_half_loop_left_2_4.png | Bin 1513 -> 1510 bytes .../intamin/large_half_loop_left_2_5.png | Bin 1727 -> 1732 bytes .../intamin/large_half_loop_left_2_6.png | Bin 1306 -> 1306 bytes .../intamin/large_half_loop_left_2_7.png | Bin 1262 -> 1272 bytes .../intamin/large_half_loop_left_3_1.png | Bin 1152 -> 1139 bytes .../intamin/large_half_loop_left_3_2.png | Bin 1235 -> 1231 bytes .../intamin/large_half_loop_left_3_3.png | Bin 1231 -> 1244 bytes .../intamin/large_half_loop_left_3_4.png | Bin 1229 -> 1225 bytes .../intamin/large_half_loop_left_3_5.png | Bin 1482 -> 1504 bytes .../intamin/large_half_loop_left_3_6.png | Bin 1257 -> 1256 bytes .../intamin/large_half_loop_left_3_7.png | Bin 1317 -> 1328 bytes .../intamin/large_half_loop_left_4_1.png | Bin 1254 -> 1261 bytes .../intamin/large_half_loop_left_4_2.png | Bin 1313 -> 1306 bytes .../intamin/large_half_loop_left_4_3.png | Bin 1433 -> 1440 bytes .../intamin/large_half_loop_left_4_4.png | Bin 1595 -> 1598 bytes .../intamin/large_half_loop_left_4_5.png | Bin 1359 -> 1352 bytes .../intamin/large_half_loop_left_4_6.png | Bin 1398 -> 1402 bytes .../intamin/large_half_loop_left_4_7.png | Bin 1201 -> 1202 bytes .../intamin/large_half_loop_right_1_1.png | Bin 1285 -> 1285 bytes .../intamin/large_half_loop_right_1_2.png | Bin 1296 -> 1309 bytes .../intamin/large_half_loop_right_1_3.png | Bin 1393 -> 1399 bytes .../intamin/large_half_loop_right_1_4.png | Bin 1494 -> 1497 bytes .../intamin/large_half_loop_right_1_5.png | Bin 1339 -> 1336 bytes .../intamin/large_half_loop_right_1_6.png | Bin 1402 -> 1413 bytes .../intamin/large_half_loop_right_1_7.png | Bin 1231 -> 1228 bytes .../intamin/large_half_loop_right_2_1.png | Bin 1157 -> 1156 bytes .../intamin/large_half_loop_right_2_2.png | Bin 1215 -> 1218 bytes .../intamin/large_half_loop_right_2_3.png | Bin 1235 -> 1231 bytes .../intamin/large_half_loop_right_2_4.png | Bin 1219 -> 1223 bytes .../intamin/large_half_loop_right_2_5.png | Bin 1510 -> 1498 bytes .../intamin/large_half_loop_right_2_6.png | Bin 1265 -> 1272 bytes .../intamin/large_half_loop_right_2_7.png | Bin 1321 -> 1317 bytes .../intamin/large_half_loop_right_3_1.png | Bin 1162 -> 1170 bytes .../intamin/large_half_loop_right_3_2.png | Bin 1138 -> 1130 bytes .../intamin/large_half_loop_right_3_3.png | Bin 1202 -> 1196 bytes .../intamin/large_half_loop_right_3_4.png | Bin 1507 -> 1506 bytes .../intamin/large_half_loop_right_3_5.png | Bin 1742 -> 1754 bytes .../intamin/large_half_loop_right_3_6.png | Bin 1302 -> 1301 bytes .../intamin/large_half_loop_right_3_7.png | Bin 1270 -> 1273 bytes .../intamin/large_half_loop_right_4_1.png | Bin 1318 -> 1318 bytes .../intamin/large_half_loop_right_4_2.png | Bin 1350 -> 1373 bytes .../intamin/large_half_loop_right_4_3.png | Bin 1418 -> 1417 bytes .../intamin/large_half_loop_right_4_4.png | Bin 1428 -> 1442 bytes .../intamin/large_half_loop_right_4_5.png | Bin 1503 -> 1500 bytes .../intamin/large_half_loop_right_4_6.png | Bin 1300 -> 1305 bytes .../intamin/large_half_loop_right_4_7.png | Bin 1244 -> 1245 bytes ...e_turn_left_bank_to_diag_gentle_up_1_1.png | Bin 1220 -> 1216 bytes ...e_turn_left_bank_to_diag_gentle_up_1_2.png | Bin 1234 -> 1233 bytes ...e_turn_left_bank_to_diag_gentle_up_1_3.png | Bin 986 -> 987 bytes ...e_turn_left_bank_to_diag_gentle_up_1_4.png | Bin 1179 -> 1178 bytes ...e_turn_left_bank_to_diag_gentle_up_2_1.png | Bin 1054 -> 1054 bytes ...e_turn_left_bank_to_diag_gentle_up_2_2.png | Bin 1199 -> 1191 bytes ...e_turn_left_bank_to_diag_gentle_up_2_3.png | Bin 1082 -> 1083 bytes ...e_turn_left_bank_to_diag_gentle_up_2_4.png | Bin 1152 -> 1140 bytes ...e_turn_left_bank_to_diag_gentle_up_3_1.png | Bin 1013 -> 1007 bytes ...e_turn_left_bank_to_diag_gentle_up_3_2.png | Bin 1018 -> 1018 bytes ...e_turn_left_bank_to_diag_gentle_up_3_3.png | Bin 955 -> 954 bytes ...e_turn_left_bank_to_diag_gentle_up_3_4.png | Bin 998 -> 999 bytes ...e_turn_left_bank_to_diag_gentle_up_4_1.png | Bin 1289 -> 1298 bytes ...e_turn_left_bank_to_diag_gentle_up_4_2.png | Bin 1264 -> 1258 bytes ...e_turn_left_bank_to_diag_gentle_up_4_3.png | Bin 995 -> 996 bytes ...e_turn_left_bank_to_diag_gentle_up_4_4.png | Bin 1174 -> 1181 bytes ..._left_bank_to_orthogonal_gentle_up_1_1.png | Bin 1145 -> 1152 bytes ..._left_bank_to_orthogonal_gentle_up_1_3.png | Bin 1230 -> 1232 bytes ..._left_bank_to_orthogonal_gentle_up_1_4.png | Bin 1308 -> 1318 bytes ..._left_bank_to_orthogonal_gentle_up_2_1.png | Bin 908 -> 911 bytes ..._left_bank_to_orthogonal_gentle_up_2_3.png | Bin 1065 -> 1068 bytes ..._left_bank_to_orthogonal_gentle_up_2_4.png | Bin 1142 -> 1132 bytes ..._left_bank_to_orthogonal_gentle_up_3_1.png | Bin 1164 -> 1159 bytes ..._left_bank_to_orthogonal_gentle_up_3_3.png | Bin 1261 -> 1259 bytes ..._left_bank_to_orthogonal_gentle_up_3_4.png | Bin 1212 -> 1210 bytes ..._left_bank_to_orthogonal_gentle_up_4_1.png | Bin 1042 -> 1043 bytes ..._left_bank_to_orthogonal_gentle_up_4_3.png | Bin 1215 -> 1209 bytes ..._left_bank_to_orthogonal_gentle_up_4_4.png | Bin 1399 -> 1395 bytes .../large_turn_left_to_diag_gentle_up_1_1.png | Bin 1216 -> 1221 bytes .../large_turn_left_to_diag_gentle_up_1_2.png | Bin 1142 -> 1148 bytes .../large_turn_left_to_diag_gentle_up_1_3.png | Bin 1004 -> 1006 bytes .../large_turn_left_to_diag_gentle_up_1_4.png | Bin 1124 -> 1125 bytes .../large_turn_left_to_diag_gentle_up_2_1.png | Bin 1029 -> 1030 bytes .../large_turn_left_to_diag_gentle_up_2_2.png | Bin 1161 -> 1163 bytes .../large_turn_left_to_diag_gentle_up_2_3.png | Bin 1075 -> 1071 bytes .../large_turn_left_to_diag_gentle_up_2_4.png | Bin 1156 -> 1135 bytes .../large_turn_left_to_diag_gentle_up_3_1.png | Bin 1008 -> 1005 bytes .../large_turn_left_to_diag_gentle_up_3_2.png | Bin 979 -> 982 bytes .../large_turn_left_to_diag_gentle_up_3_3.png | Bin 1011 -> 1012 bytes .../large_turn_left_to_diag_gentle_up_3_4.png | Bin 1018 -> 1018 bytes .../large_turn_left_to_diag_gentle_up_4_1.png | Bin 1291 -> 1285 bytes .../large_turn_left_to_diag_gentle_up_4_2.png | Bin 1248 -> 1251 bytes .../large_turn_left_to_diag_gentle_up_4_3.png | Bin 980 -> 986 bytes .../large_turn_left_to_diag_gentle_up_4_4.png | Bin 1194 -> 1182 bytes ..._turn_left_to_orthogonal_gentle_up_1_1.png | Bin 1177 -> 1172 bytes ..._turn_left_to_orthogonal_gentle_up_1_3.png | Bin 1264 -> 1264 bytes ..._turn_left_to_orthogonal_gentle_up_1_4.png | Bin 1351 -> 1364 bytes ..._turn_left_to_orthogonal_gentle_up_2_1.png | Bin 879 -> 879 bytes ..._turn_left_to_orthogonal_gentle_up_2_3.png | Bin 1045 -> 1044 bytes ..._turn_left_to_orthogonal_gentle_up_2_4.png | Bin 1142 -> 1145 bytes ..._turn_left_to_orthogonal_gentle_up_3_1.png | Bin 1172 -> 1170 bytes ..._turn_left_to_orthogonal_gentle_up_3_3.png | Bin 1233 -> 1228 bytes ..._turn_left_to_orthogonal_gentle_up_3_4.png | Bin 1231 -> 1232 bytes ..._turn_left_to_orthogonal_gentle_up_4_1.png | Bin 1054 -> 1054 bytes ..._turn_left_to_orthogonal_gentle_up_4_3.png | Bin 1216 -> 1212 bytes ..._turn_left_to_orthogonal_gentle_up_4_4.png | Bin 1369 -> 1372 bytes ..._turn_right_bank_to_diag_gentle_up_1_1.png | Bin 1300 -> 1304 bytes ..._turn_right_bank_to_diag_gentle_up_1_2.png | Bin 1233 -> 1231 bytes ..._turn_right_bank_to_diag_gentle_up_1_3.png | Bin 985 -> 987 bytes ..._turn_right_bank_to_diag_gentle_up_1_4.png | Bin 1151 -> 1149 bytes ..._turn_right_bank_to_diag_gentle_up_2_1.png | Bin 1014 -> 1015 bytes ..._turn_right_bank_to_diag_gentle_up_2_2.png | Bin 1018 -> 1016 bytes ..._turn_right_bank_to_diag_gentle_up_2_3.png | Bin 951 -> 952 bytes ..._turn_right_bank_to_diag_gentle_up_2_4.png | Bin 995 -> 997 bytes ..._turn_right_bank_to_diag_gentle_up_3_1.png | Bin 1074 -> 1075 bytes ..._turn_right_bank_to_diag_gentle_up_3_2.png | Bin 1226 -> 1226 bytes ..._turn_right_bank_to_diag_gentle_up_3_3.png | Bin 1102 -> 1099 bytes ..._turn_right_bank_to_diag_gentle_up_3_4.png | Bin 1158 -> 1156 bytes ..._turn_right_bank_to_diag_gentle_up_4_1.png | Bin 1200 -> 1210 bytes ..._turn_right_bank_to_diag_gentle_up_4_2.png | Bin 1218 -> 1222 bytes ..._turn_right_bank_to_diag_gentle_up_4_3.png | Bin 987 -> 992 bytes ..._turn_right_bank_to_diag_gentle_up_4_4.png | Bin 1152 -> 1152 bytes ...right_bank_to_orthogonal_gentle_up_1_1.png | Bin 1135 -> 1139 bytes ...right_bank_to_orthogonal_gentle_up_1_3.png | Bin 1215 -> 1215 bytes ...right_bank_to_orthogonal_gentle_up_1_4.png | Bin 1147 -> 1147 bytes ...right_bank_to_orthogonal_gentle_up_2_1.png | Bin 906 -> 908 bytes ...right_bank_to_orthogonal_gentle_up_2_3.png | Bin 1077 -> 1082 bytes ...right_bank_to_orthogonal_gentle_up_2_4.png | Bin 1153 -> 1147 bytes ...right_bank_to_orthogonal_gentle_up_3_1.png | Bin 1158 -> 1148 bytes ...right_bank_to_orthogonal_gentle_up_3_3.png | Bin 1226 -> 1225 bytes ...right_bank_to_orthogonal_gentle_up_3_4.png | Bin 1307 -> 1315 bytes ...right_bank_to_orthogonal_gentle_up_4_1.png | Bin 1041 -> 1043 bytes ...right_bank_to_orthogonal_gentle_up_4_3.png | Bin 1217 -> 1219 bytes ...right_bank_to_orthogonal_gentle_up_4_4.png | Bin 1374 -> 1355 bytes ...large_turn_right_to_diag_gentle_up_1_1.png | Bin 1292 -> 1297 bytes ...large_turn_right_to_diag_gentle_up_1_2.png | Bin 1221 -> 1220 bytes ...large_turn_right_to_diag_gentle_up_1_3.png | Bin 972 -> 977 bytes ...large_turn_right_to_diag_gentle_up_1_4.png | Bin 1160 -> 1157 bytes ...large_turn_right_to_diag_gentle_up_2_1.png | Bin 1019 -> 1025 bytes ...large_turn_right_to_diag_gentle_up_2_2.png | Bin 987 -> 986 bytes ...large_turn_right_to_diag_gentle_up_2_3.png | Bin 998 -> 999 bytes ...large_turn_right_to_diag_gentle_up_2_4.png | Bin 1013 -> 1012 bytes ...large_turn_right_to_diag_gentle_up_3_1.png | Bin 1019 -> 1017 bytes ...large_turn_right_to_diag_gentle_up_3_2.png | Bin 1191 -> 1192 bytes ...large_turn_right_to_diag_gentle_up_3_3.png | Bin 1079 -> 1094 bytes ...large_turn_right_to_diag_gentle_up_3_4.png | Bin 1174 -> 1165 bytes ...large_turn_right_to_diag_gentle_up_4_1.png | Bin 1213 -> 1212 bytes ...large_turn_right_to_diag_gentle_up_4_2.png | Bin 1153 -> 1158 bytes ...large_turn_right_to_diag_gentle_up_4_3.png | Bin 1013 -> 1012 bytes ...large_turn_right_to_diag_gentle_up_4_4.png | Bin 1125 -> 1119 bytes ...turn_right_to_orthogonal_gentle_up_1_1.png | Bin 1150 -> 1153 bytes ...turn_right_to_orthogonal_gentle_up_1_3.png | Bin 1208 -> 1204 bytes ...turn_right_to_orthogonal_gentle_up_1_4.png | Bin 1212 -> 1209 bytes ...turn_right_to_orthogonal_gentle_up_2_1.png | Bin 890 -> 890 bytes ...turn_right_to_orthogonal_gentle_up_2_3.png | Bin 1038 -> 1044 bytes ...turn_right_to_orthogonal_gentle_up_2_4.png | Bin 1157 -> 1149 bytes ...turn_right_to_orthogonal_gentle_up_3_1.png | Bin 1190 -> 1190 bytes ...turn_right_to_orthogonal_gentle_up_3_3.png | Bin 1279 -> 1281 bytes ...turn_right_to_orthogonal_gentle_up_3_4.png | Bin 1371 -> 1360 bytes ...turn_right_to_orthogonal_gentle_up_4_1.png | Bin 1048 -> 1049 bytes ...turn_right_to_orthogonal_gentle_up_4_3.png | Bin 1213 -> 1217 bytes ...turn_right_to_orthogonal_gentle_up_4_4.png | Bin 1345 -> 1331 bytes .../intamin/large_zero_g_roll_left_1_1.png | Bin 1380 -> 1389 bytes .../intamin/large_zero_g_roll_left_1_2.png | Bin 1039 -> 1020 bytes .../intamin/large_zero_g_roll_left_1_3.png | Bin 1480 -> 1470 bytes .../intamin/large_zero_g_roll_left_1_4.png | Bin 1314 -> 1312 bytes .../intamin/large_zero_g_roll_left_1_5.png | Bin 1241 -> 1249 bytes .../intamin/large_zero_g_roll_left_2_1.png | Bin 1302 -> 1298 bytes .../intamin/large_zero_g_roll_left_2_2.png | Bin 1207 -> 1207 bytes .../intamin/large_zero_g_roll_left_2_3.png | Bin 1189 -> 1175 bytes .../intamin/large_zero_g_roll_left_2_4.png | Bin 1247 -> 1226 bytes .../intamin/large_zero_g_roll_left_3_2.png | Bin 1227 -> 1210 bytes .../intamin/large_zero_g_roll_left_3_3.png | Bin 1428 -> 1436 bytes .../intamin/large_zero_g_roll_left_3_4.png | Bin 1201 -> 1193 bytes .../intamin/large_zero_g_roll_left_3_5.png | Bin 880 -> 877 bytes .../intamin/large_zero_g_roll_left_3_6.png | Bin 1142 -> 1146 bytes .../intamin/large_zero_g_roll_left_4_1.png | Bin 1386 -> 1399 bytes .../intamin/large_zero_g_roll_left_4_2.png | Bin 1537 -> 1530 bytes .../intamin/large_zero_g_roll_left_4_3.png | Bin 1205 -> 1210 bytes .../intamin/large_zero_g_roll_left_4_4.png | Bin 1125 -> 1139 bytes .../intamin/large_zero_g_roll_left_4_5.png | Bin 1323 -> 1334 bytes .../intamin/large_zero_g_roll_right_1_1.png | Bin 1316 -> 1319 bytes .../intamin/large_zero_g_roll_right_1_2.png | Bin 1469 -> 1482 bytes .../intamin/large_zero_g_roll_right_1_3.png | Bin 1183 -> 1191 bytes .../intamin/large_zero_g_roll_right_1_4.png | Bin 1120 -> 1123 bytes .../intamin/large_zero_g_roll_right_1_5.png | Bin 1337 -> 1335 bytes .../intamin/large_zero_g_roll_right_2_1.png | Bin 890 -> 894 bytes .../intamin/large_zero_g_roll_right_2_2.png | Bin 1198 -> 1204 bytes .../intamin/large_zero_g_roll_right_2_3.png | Bin 1427 -> 1427 bytes .../intamin/large_zero_g_roll_right_2_4.png | Bin 1189 -> 1179 bytes .../intamin/large_zero_g_roll_right_2_5.png | Bin 873 -> 873 bytes .../intamin/large_zero_g_roll_right_2_6.png | Bin 1128 -> 1125 bytes .../intamin/large_zero_g_roll_right_3_1.png | Bin 1320 -> 1311 bytes .../intamin/large_zero_g_roll_right_3_2.png | Bin 1220 -> 1220 bytes .../intamin/large_zero_g_roll_right_3_3.png | Bin 1190 -> 1195 bytes .../intamin/large_zero_g_roll_right_3_4.png | Bin 1251 -> 1254 bytes .../intamin/large_zero_g_roll_right_4_1.png | Bin 1476 -> 1483 bytes .../intamin/large_zero_g_roll_right_4_2.png | Bin 1048 -> 1051 bytes .../intamin/large_zero_g_roll_right_4_3.png | Bin 1502 -> 1496 bytes .../intamin/large_zero_g_roll_right_4_4.png | Bin 1321 -> 1324 bytes .../intamin/large_zero_g_roll_right_4_5.png | Bin 1248 -> 1252 bytes ...eft_bank_to_gentle_up_left_bank_diag_1.png | Bin 1340 -> 1333 bytes ...eft_bank_to_gentle_up_left_bank_diag_2.png | Bin 1132 -> 1140 bytes ...eft_bank_to_gentle_up_left_bank_diag_3.png | Bin 1348 -> 1345 bytes ...eft_bank_to_gentle_up_left_bank_diag_4.png | Bin 1249 -> 1237 bytes .../track/intamin/left_vertical_loop_1_1.png | Bin 1276 -> 1281 bytes .../track/intamin/left_vertical_loop_1_2.png | Bin 1364 -> 1376 bytes .../track/intamin/left_vertical_loop_1_3.png | Bin 1496 -> 1492 bytes .../track/intamin/left_vertical_loop_1_4.png | Bin 1254 -> 1254 bytes .../track/intamin/left_vertical_loop_2_1.png | Bin 1195 -> 1182 bytes .../track/intamin/left_vertical_loop_2_2.png | Bin 1214 -> 1214 bytes .../track/intamin/left_vertical_loop_2_3.png | Bin 1567 -> 1570 bytes .../track/intamin/left_vertical_loop_2_4.png | Bin 1160 -> 1169 bytes .../track/intamin/left_vertical_loop_3_1.png | Bin 1183 -> 1185 bytes .../track/intamin/left_vertical_loop_3_2.png | Bin 1331 -> 1326 bytes .../track/intamin/left_vertical_loop_3_3.png | Bin 1036 -> 1031 bytes .../track/intamin/left_vertical_loop_3_4.png | Bin 1509 -> 1503 bytes .../track/intamin/left_vertical_loop_4_1.png | Bin 1237 -> 1232 bytes .../track/intamin/left_vertical_loop_4_2.png | Bin 1452 -> 1452 bytes .../track/intamin/left_vertical_loop_4_3.png | Bin 1674 -> 1672 bytes .../track/intamin/left_vertical_loop_4_4.png | Bin 937 -> 932 bytes .../intamin/medium_half_loop_left_1_1.png | Bin 1371 -> 1374 bytes .../intamin/medium_half_loop_left_1_2.png | Bin 1311 -> 1311 bytes .../intamin/medium_half_loop_left_1_3.png | Bin 1582 -> 1577 bytes .../intamin/medium_half_loop_left_1_4.png | Bin 1538 -> 1550 bytes .../intamin/medium_half_loop_left_1_5.png | Bin 1322 -> 1325 bytes .../intamin/medium_half_loop_left_2_1.png | Bin 1238 -> 1242 bytes .../intamin/medium_half_loop_left_2_2.png | Bin 1186 -> 1186 bytes .../intamin/medium_half_loop_left_2_3.png | Bin 1526 -> 1531 bytes .../intamin/medium_half_loop_left_2_4.png | Bin 1803 -> 1825 bytes .../intamin/medium_half_loop_left_2_5.png | Bin 1186 -> 1194 bytes .../intamin/medium_half_loop_left_3_1.png | Bin 1062 -> 1054 bytes .../intamin/medium_half_loop_left_3_2.png | Bin 1128 -> 1132 bytes .../intamin/medium_half_loop_left_3_3.png | Bin 1609 -> 1610 bytes .../intamin/medium_half_loop_left_3_4.png | Bin 1570 -> 1582 bytes .../intamin/medium_half_loop_left_3_5.png | Bin 1198 -> 1209 bytes .../intamin/medium_half_loop_left_4_1.png | Bin 1252 -> 1264 bytes .../intamin/medium_half_loop_left_4_2.png | Bin 1318 -> 1312 bytes .../intamin/medium_half_loop_left_4_3.png | Bin 1490 -> 1488 bytes .../intamin/medium_half_loop_left_4_4.png | Bin 1604 -> 1588 bytes .../intamin/medium_half_loop_left_4_5.png | Bin 1250 -> 1253 bytes .../intamin/medium_half_loop_right_1_1.png | Bin 1282 -> 1273 bytes .../intamin/medium_half_loop_right_1_2.png | Bin 1292 -> 1306 bytes .../intamin/medium_half_loop_right_1_3.png | Bin 1384 -> 1411 bytes .../intamin/medium_half_loop_right_1_4.png | Bin 1629 -> 1605 bytes .../intamin/medium_half_loop_right_1_5.png | Bin 1285 -> 1285 bytes .../intamin/medium_half_loop_right_2_1.png | Bin 1070 -> 1063 bytes .../intamin/medium_half_loop_right_2_2.png | Bin 1112 -> 1111 bytes .../intamin/medium_half_loop_right_2_3.png | Bin 1604 -> 1599 bytes .../intamin/medium_half_loop_right_2_4.png | Bin 1613 -> 1626 bytes .../intamin/medium_half_loop_right_2_5.png | Bin 1203 -> 1206 bytes .../intamin/medium_half_loop_right_3_1.png | Bin 1242 -> 1252 bytes .../intamin/medium_half_loop_right_3_2.png | Bin 1192 -> 1188 bytes .../intamin/medium_half_loop_right_3_3.png | Bin 1526 -> 1521 bytes .../intamin/medium_half_loop_right_3_4.png | Bin 1825 -> 1830 bytes .../intamin/medium_half_loop_right_3_5.png | Bin 1198 -> 1205 bytes .../intamin/medium_half_loop_right_4_1.png | Bin 1378 -> 1377 bytes .../intamin/medium_half_loop_right_4_2.png | Bin 1328 -> 1334 bytes .../intamin/medium_half_loop_right_4_3.png | Bin 1661 -> 1636 bytes .../intamin/medium_half_loop_right_4_4.png | Bin 1547 -> 1549 bytes .../intamin/medium_half_loop_right_4_5.png | Bin 1284 -> 1272 bytes .../g2/track/intamin/quarter_loop_up_1_1.png | Bin 1398 -> 1386 bytes .../g2/track/intamin/quarter_loop_up_1_2.png | Bin 1173 -> 1177 bytes .../g2/track/intamin/quarter_loop_up_1_3.png | Bin 1336 -> 1333 bytes .../g2/track/intamin/quarter_loop_up_2_1.png | Bin 1569 -> 1569 bytes .../g2/track/intamin/quarter_loop_up_2_2.png | Bin 1492 -> 1488 bytes .../g2/track/intamin/quarter_loop_up_2_3.png | Bin 1131 -> 1125 bytes .../g2/track/intamin/quarter_loop_up_3_1.png | Bin 1547 -> 1543 bytes .../g2/track/intamin/quarter_loop_up_3_2.png | Bin 1516 -> 1519 bytes .../g2/track/intamin/quarter_loop_up_3_3.png | Bin 1122 -> 1113 bytes .../g2/track/intamin/quarter_loop_up_4_1.png | Bin 1409 -> 1407 bytes .../g2/track/intamin/quarter_loop_up_4_2.png | Bin 1142 -> 1149 bytes .../g2/track/intamin/quarter_loop_up_4_3.png | Bin 1305 -> 1301 bytes ...ht_bank_to_gentle_up_right_bank_diag_1.png | Bin 1318 -> 1326 bytes ...ht_bank_to_gentle_up_right_bank_diag_2.png | Bin 1121 -> 1124 bytes ...ht_bank_to_gentle_up_right_bank_diag_3.png | Bin 1341 -> 1334 bytes ...ht_bank_to_gentle_up_right_bank_diag_4.png | Bin 1228 -> 1229 bytes .../track/intamin/right_vertical_loop_1_1.png | Bin 1261 -> 1245 bytes .../track/intamin/right_vertical_loop_1_2.png | Bin 1395 -> 1392 bytes .../track/intamin/right_vertical_loop_1_3.png | Bin 1651 -> 1647 bytes .../track/intamin/right_vertical_loop_1_4.png | Bin 968 -> 966 bytes .../track/intamin/right_vertical_loop_2_1.png | Bin 1157 -> 1153 bytes .../track/intamin/right_vertical_loop_2_2.png | Bin 1329 -> 1328 bytes .../track/intamin/right_vertical_loop_2_3.png | Bin 1045 -> 1047 bytes .../track/intamin/right_vertical_loop_2_4.png | Bin 1507 -> 1517 bytes .../track/intamin/right_vertical_loop_3_1.png | Bin 1186 -> 1173 bytes .../track/intamin/right_vertical_loop_3_2.png | Bin 1225 -> 1221 bytes .../track/intamin/right_vertical_loop_3_3.png | Bin 1566 -> 1560 bytes .../track/intamin/right_vertical_loop_3_4.png | Bin 1156 -> 1162 bytes .../track/intamin/right_vertical_loop_4_1.png | Bin 1265 -> 1275 bytes .../track/intamin/right_vertical_loop_4_2.png | Bin 1428 -> 1416 bytes .../track/intamin/right_vertical_loop_4_3.png | Bin 1506 -> 1502 bytes .../track/intamin/right_vertical_loop_4_4.png | Bin 1205 -> 1198 bytes .../intamin/small_flat_to_steep_up_1.png | Bin 1377 -> 1391 bytes .../intamin/small_flat_to_steep_up_2_1.png | Bin 979 -> 977 bytes .../intamin/small_flat_to_steep_up_2_2.png | Bin 1175 -> 1182 bytes .../intamin/small_flat_to_steep_up_3_1.png | Bin 972 -> 971 bytes .../intamin/small_flat_to_steep_up_3_2.png | Bin 1183 -> 1188 bytes .../intamin/small_flat_to_steep_up_4.png | Bin 1399 -> 1418 bytes .../intamin/small_flat_to_steep_up_diag_1.png | Bin 1437 -> 1448 bytes .../intamin/small_flat_to_steep_up_diag_2.png | Bin 1045 -> 1049 bytes .../intamin/small_flat_to_steep_up_diag_3.png | Bin 1477 -> 1497 bytes .../intamin/small_flat_to_steep_up_diag_4.png | Bin 1319 -> 1312 bytes .../intamin/small_steep_to_flat_up_1.png | Bin 1298 -> 1304 bytes .../intamin/small_steep_to_flat_up_2_1.png | Bin 1035 -> 1022 bytes .../intamin/small_steep_to_flat_up_2_2.png | Bin 1048 -> 1056 bytes .../intamin/small_steep_to_flat_up_3_1.png | Bin 1042 -> 1045 bytes .../intamin/small_steep_to_flat_up_3_2.png | Bin 1081 -> 1082 bytes .../intamin/small_steep_to_flat_up_4.png | Bin 1331 -> 1331 bytes .../intamin/small_steep_to_flat_up_diag_1.png | Bin 1462 -> 1466 bytes .../intamin/small_steep_to_flat_up_diag_2.png | Bin 1042 -> 1045 bytes .../intamin/small_steep_to_flat_up_diag_3.png | Bin 1511 -> 1513 bytes .../intamin/small_steep_to_flat_up_diag_4.png | Bin 1253 -> 1256 bytes .../small_turn_left_bank_to_gentle_up_1_1.png | Bin 1299 -> 1294 bytes .../small_turn_left_bank_to_gentle_up_1_2.png | Bin 1271 -> 1262 bytes .../small_turn_left_bank_to_gentle_up_2_1.png | Bin 886 -> 888 bytes .../small_turn_left_bank_to_gentle_up_2_2.png | Bin 1234 -> 1222 bytes .../small_turn_left_bank_to_gentle_up_2_3.png | Bin 1355 -> 1352 bytes .../small_turn_left_bank_to_gentle_up_3_1.png | Bin 1114 -> 1109 bytes .../small_turn_left_bank_to_gentle_up_3_2.png | Bin 1150 -> 1154 bytes .../small_turn_left_bank_to_gentle_up_4_1.png | Bin 1301 -> 1310 bytes .../small_turn_left_bank_to_gentle_up_4_2.png | Bin 1272 -> 1275 bytes ...small_turn_right_bank_to_gentle_up_1_1.png | Bin 1316 -> 1320 bytes ...small_turn_right_bank_to_gentle_up_1_2.png | Bin 1243 -> 1239 bytes ...small_turn_right_bank_to_gentle_up_2_1.png | Bin 1111 -> 1107 bytes ...small_turn_right_bank_to_gentle_up_2_2.png | Bin 1156 -> 1161 bytes ...small_turn_right_bank_to_gentle_up_3_1.png | Bin 897 -> 898 bytes ...small_turn_right_bank_to_gentle_up_3_2.png | Bin 1239 -> 1241 bytes ...small_turn_right_bank_to_gentle_up_3_3.png | Bin 1373 -> 1368 bytes ...small_turn_right_bank_to_gentle_up_4_1.png | Bin 1257 -> 1270 bytes ...small_turn_right_bank_to_gentle_up_4_2.png | Bin 1274 -> 1266 bytes .../track/intamin/steep_to_vertical_up_1.png | Bin 1400 -> 1387 bytes .../track/intamin/steep_to_vertical_up_2.png | Bin 1357 -> 1349 bytes .../track/intamin/steep_to_vertical_up_3.png | Bin 1379 -> 1365 bytes .../track/intamin/steep_to_vertical_up_4.png | Bin 1464 -> 1474 bytes resources/g2/track/intamin/vertical_1.png | Bin 1114 -> 1104 bytes resources/g2/track/intamin/vertical_2.png | Bin 1116 -> 1111 bytes resources/g2/track/intamin/vertical_3.png | Bin 1127 -> 1129 bytes resources/g2/track/intamin/vertical_4.png | Bin 1133 -> 1130 bytes .../track/intamin/vertical_to_steep_up_1.png | Bin 1379 -> 1386 bytes .../track/intamin/vertical_to_steep_up_2.png | Bin 1322 -> 1329 bytes .../track/intamin/vertical_to_steep_up_3.png | Bin 1338 -> 1339 bytes .../track/intamin/vertical_to_steep_up_4.png | Bin 1460 -> 1449 bytes .../intamin/vertical_twist_left_up_1.png | Bin 1566 -> 1562 bytes .../intamin/vertical_twist_left_up_2_1.png | Bin 1226 -> 1238 bytes .../intamin/vertical_twist_left_up_2_2.png | Bin 1261 -> 1260 bytes .../intamin/vertical_twist_left_up_3.png | Bin 1595 -> 1591 bytes .../intamin/vertical_twist_left_up_4_1.png | Bin 1260 -> 1252 bytes .../intamin/vertical_twist_left_up_4_2.png | Bin 1224 -> 1222 bytes .../intamin/vertical_twist_right_up_1_1.png | Bin 1270 -> 1259 bytes .../intamin/vertical_twist_right_up_1_2.png | Bin 1216 -> 1210 bytes .../intamin/vertical_twist_right_up_2.png | Bin 1607 -> 1615 bytes .../intamin/vertical_twist_right_up_3_1.png | Bin 1250 -> 1248 bytes .../intamin/vertical_twist_right_up_3_2.png | Bin 1251 -> 1256 bytes .../intamin/vertical_twist_right_up_4.png | Bin 1558 -> 1543 bytes .../g2/track/intamin/zero_g_roll_left_1_1.png | Bin 1142 -> 1137 bytes .../g2/track/intamin/zero_g_roll_left_1_2.png | Bin 1112 -> 1113 bytes .../g2/track/intamin/zero_g_roll_left_1_3.png | Bin 1233 -> 1236 bytes .../g2/track/intamin/zero_g_roll_left_1_4.png | Bin 1308 -> 1300 bytes .../g2/track/intamin/zero_g_roll_left_2_1.png | Bin 905 -> 905 bytes .../g2/track/intamin/zero_g_roll_left_2_2.png | Bin 1081 -> 1079 bytes .../g2/track/intamin/zero_g_roll_left_2_3.png | Bin 1141 -> 1133 bytes .../g2/track/intamin/zero_g_roll_left_2_4.png | Bin 1159 -> 1160 bytes .../g2/track/intamin/zero_g_roll_left_3_1.png | Bin 1186 -> 1176 bytes .../g2/track/intamin/zero_g_roll_left_3_2.png | Bin 1197 -> 1190 bytes .../g2/track/intamin/zero_g_roll_left_3_3.png | Bin 907 -> 913 bytes .../g2/track/intamin/zero_g_roll_left_3_4.png | Bin 1176 -> 1173 bytes .../g2/track/intamin/zero_g_roll_left_4_1.png | Bin 1301 -> 1310 bytes .../g2/track/intamin/zero_g_roll_left_4_2.png | Bin 1346 -> 1337 bytes .../g2/track/intamin/zero_g_roll_left_4_3.png | Bin 903 -> 902 bytes .../g2/track/intamin/zero_g_roll_left_4_4.png | Bin 1259 -> 1258 bytes .../track/intamin/zero_g_roll_right_1_1.png | Bin 1294 -> 1307 bytes .../track/intamin/zero_g_roll_right_1_2.png | Bin 1344 -> 1334 bytes .../track/intamin/zero_g_roll_right_1_3.png | Bin 914 -> 914 bytes .../track/intamin/zero_g_roll_right_1_4.png | Bin 1248 -> 1247 bytes .../track/intamin/zero_g_roll_right_2_1.png | Bin 1153 -> 1153 bytes .../track/intamin/zero_g_roll_right_2_2.png | Bin 1168 -> 1166 bytes .../track/intamin/zero_g_roll_right_2_3.png | Bin 903 -> 904 bytes .../track/intamin/zero_g_roll_right_2_4.png | Bin 1165 -> 1158 bytes .../track/intamin/zero_g_roll_right_3_1.png | Bin 896 -> 895 bytes .../track/intamin/zero_g_roll_right_3_2.png | Bin 1105 -> 1095 bytes .../track/intamin/zero_g_roll_right_3_3.png | Bin 1156 -> 1160 bytes .../track/intamin/zero_g_roll_right_3_4.png | Bin 1200 -> 1200 bytes .../track/intamin/zero_g_roll_right_4_1.png | Bin 1136 -> 1131 bytes .../track/intamin/zero_g_roll_right_4_2.png | Bin 1143 -> 1125 bytes .../track/intamin/zero_g_roll_right_4_3.png | Bin 1225 -> 1224 bytes .../track/intamin/zero_g_roll_right_4_4.png | Bin 1305 -> 1300 bytes 570 files changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index a8dead7868..6483daf135 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -21119,8 +21119,8 @@ }, { "path": "track/intamin/barrel_roll_left_2_3.png", - "x_offset": -16, - "y_offset": 2, + "x_offset": -28, + "y_offset": -5, "palette": "keep" }, { @@ -21167,7 +21167,7 @@ }, { "path": "track/intamin/barrel_roll_left_3_5.png", - "x_offset": -5, + "x_offset": -1, "y_offset": -16, "palette": "keep" }, @@ -21269,7 +21269,7 @@ }, { "path": "track/intamin/barrel_roll_right_2_4.png", - "x_offset": 13, + "x_offset": 14, "y_offset": -12, "palette": "keep" }, @@ -21294,7 +21294,7 @@ { "path": "track/intamin/barrel_roll_right_3_2.png", "x_offset": -4, - "y_offset": 3, + "y_offset": 4, "palette": "keep" }, { @@ -21384,7 +21384,7 @@ { "path": "track/intamin/half_loop_2_1.png", "x_offset": -16, - "y_offset": -10, + "y_offset": -18, "palette": "keep" }, { @@ -22847,7 +22847,7 @@ }, { "path": "track/intamin/zero_g_roll_left_3_3.png", - "x_offset": 2, + "x_offset": -11, "y_offset": -18, "palette": "keep" }, @@ -23057,7 +23057,7 @@ }, { "path": "track/intamin/large_zero_g_roll_left_3_5.png", - "x_offset": -4, + "x_offset": 1, "y_offset": -12, "palette": "keep" }, @@ -24323,7 +24323,7 @@ }, { "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png", - "x_offset": -7, + "x_offset": -8, "y_offset": 1, "palette": "keep" }, diff --git a/resources/g2/track/intamin/barrel_roll_left_1_1.png b/resources/g2/track/intamin/barrel_roll_left_1_1.png index 8e9520b5988317fde8022202aa10acabbe83ccb7..6578bbdad991606298d91927d8758846962ae47a 100644 GIT binary patch delta 207 zcmV;=05Jdm2ZIQ(Jp+HSNkl-&;&~9sI3UNb z4CHKtJK%W8P0L-(A(P03!dSKDuh*4cG+$G|PjqgV+{Tmnb$Za8)T-N{q002ov JPDHLkV1h#cVPF6N delta 203 zcmV;+05t!D2>%DLJp+HONklez7VfKPDdn?u>htI zj}Z%4PisxoY%Gu;xB2l%tWAiBnWggr$?hA(7>LE%_@luO`g=nIS!Gw?L;SF*#yy&`Lu3Z2C002ovPDHLk FV1j;vUGD$@ diff --git a/resources/g2/track/intamin/barrel_roll_left_1_2.png b/resources/g2/track/intamin/barrel_roll_left_1_2.png index 0e17623e4a8ab77255dd6afc5b2d0c519c971a96..ee9add13ed189b2193e23e59c1ccf216a9b607cf 100644 GIT binary patch delta 253 zcmVY7?dK4i*HwFB==#0d&aK`cZ z1p>gPzIGq~Ky3UkIJ?49d57a%2BP#z`vS4004(vW>m-*dVR(6XRV}mBE8d6m0OlCjDwknC&CU8*h6TiqXuge_`8{*PG2)I# zKTD^JnDb2Ut!4m6LlN}O+Obh7kI`Kndv(*7sNeblwNvJgxY*x)00000NkvXXu0mjf DBiwo7 delta 250 zcmVODJ|FKCR9c@_RFC))Z7TjegNnLGu2^C*HPJpSv-cY8 zVdjZ3i%jcSKNSP0ZI5#E&Gytv5I|#f-g5v&&U|OLC2_g(7Zh@Ddnq#H!HtQ1Wbbbj zW2b$|`HH7{tGT(w%_?E!d^R`!9jtO#B6o|mu|8ehAzT65(^x}v94x9fLgxgC;6wyh zSgr}r&S+*HSW3B&Emclx$xHwx=d;@MrPR;)0w%uk?}m1W^8f$<07*qoM6N<$g0jPN AL;wH) diff --git a/resources/g2/track/intamin/barrel_roll_left_1_4.png b/resources/g2/track/intamin/barrel_roll_left_1_4.png index 4bd8ed5bf97c9d6785b4bc4c0c4f20a68377c712..6231dfa73bf5e3b8344b6af983b929ec05d713a3 100644 GIT binary patch delta 541 zcmV+&0^rC++Fvfum6d zpM?IdoDd!wJq7>r`9r=G`^X`eA|LT*Ij;Iq{A5@Ah}RJKX%)GgDIk1%=m0)jhnYP} z3VgTLR7IE{#;<022j_jG?tEBUf91d3k2`+nCe^z0}Y_dMF)?Q)S#Xnr{W4`zNCy0PkoGSZBGSm6M{{7Z3>KID2`+HCxMIi!CT@98J1zcfXGD&2ur3++5* zA_y01neN~h<6Hhb3)vVHe=u%@3`l>&=c6`seZH#_x%nD1F(^ zkfSzX^UsS`sK(Nohc#vPFNRiZzfH(xd(|tHj@iPFWx4;EygwLE!oRIMj_y1O|297k fAO2@~68;qrX3B)w$;9Js00000NkvXXu0mjfklqCT delta 540 zcmV+%0^|M83e5_zJp+IHNkl+x(eGtnsF%GI=tpw6_H6 z&w(0wqn$xbJyx4KS)=Q{Z}3?}yj7yw-u*H8gV+R%KvOE;Yd(LKvm8bk&s@Z7KF@a^ z>RDW>sAGY&5;gfibNJANiN^As!)k$Yo~`vK8Uljinumc*5q8H0-!AKZ`{5En1Isf6 zKK6^O*ZCBWxWP-m6rRIVQV1$5e(Gf%*kfd*sQS_X<`Y$@JByGumvo-14VZecx6~^V zf@*td7<}$nfLedMSdbITvVpn3I-Ft8F>#K|hV#^Ou??CDNtr`lHIQ%rV4v!U(T9h7 zVr%|@*&wC&goJlK9}v%s;f!RX?(s;_6m6jOHIJ8lj6q4*;=#4|C6Db*(qRSUJhpBx ze2Ipt&|zqF?ma8IcBv8s=EIIazDuKj-?H&f9SKjl+$d;(NDVBzV9 zpA9{Egf@i}yw9J~?bt=TDMxo)=tk1tc*sAjhQm>t#mvX#f4+gvk|anay-zO*x>$~r za*(etMuI=zRkXY05fIM!=IN7=a9mz*btkEhq?lLj{u5l)>oc9*KNYpMH2u9({!hdm e_5a6C`QH@eS%bfyj+OfW00003GbxnMFu_iPKpy#M)}~+ zK_Fbp0%da9h;T&2Mub&F=yPfzYq?*I?K6iv%9UzVxAgAzF+i;sEI zt|4y#325lZ4`3Rd&*G#b@-x6r{~MAI2_?tC9_`B?6Yz;pJBgNVuEP(!n;p2C nz6S;8*aHx%dw|dNap?yc8NKHKAIJy*0000 delta 395 zcmV;60d)Sm3B3uhJp+GhNklQs+4T9LCQnK zrvV1rM3*7!b#4n@Z-_1rzLSs}K-T`5kXwoSHdoI10SHJ$#3jV3wzC$?v1DoMBIN0U=kEY5iaer+a^OA;>DerLQ}U4uvqS zE_4Q|^@9SlnU1H!Z&XnHq)6KV*_1ZF7q_GVG3h&iJslIuLx%g@oZkW9M@;kb+YH2; zg7h!d$OZ|t5N`_1{fjhoTbW|e+RUy5mk;slw>bzt0MgY4!nUms5C;Gz4@@zW%Ph~f zx3Z(g@}f)_$`5~W8WytiT7+B9#HL1>MYOa%Kr(Yn534(*w6GjEp4bK!O$rIq6M#JD zc4lkRTE@v;REs+Kb+U$?0mT67>)IF3tJ~~^g>XCR;jdTpf;O)Kgq540fLO5f(<%O= pE}49MFRI4fgW@*;uIpv$2OIsheJi%Dwg3PC07*qoM6LruV1j(pz_kDX diff --git a/resources/g2/track/intamin/barrel_roll_left_2_1.png b/resources/g2/track/intamin/barrel_roll_left_2_1.png index 78b60917ce50855eccb3d046546e67c24debd91d..784f20a19e403ce4dcc9228cddae9a080f0720f4 100644 GIT binary patch delta 116 zcmV-)0E_>!2eJpSMgwe74uCKSL%ILiWE*%F-BvziG0{!wAANxqqDM-xMEA(%90D_- ze1W+-z%%e|L#+hVExjNY5fyT~oiqbZgDBeJ!vJ&N;ye9L>AzMZ$d#kIevsEw>*p70 W!2eJpSMgwd?4uCKS1o{8lq=oHYv=&S(7p;al?j$Tr^Z?3Hv@GV53U@d8 z3%}fl8Lt9pZf7U6zLi&0QH4^(`$upQ1u)~oXca-IF+5rZ{zIZ@QnPpGK^9F1#&X=d WpkKb4@GVpT0000L6)eqec+xymX(C?4HGg_K7M1GO}1BAL7X1>tXyU@ z5`ZzhDv%fAiAr|qZjPr$=kyj-XL9G33t1$(lt^S;Hq&#Da+0{D--8;>6}v+I64jn* ltvBD(3!f{#{M!lZd;_}m`C0D0bv*z8002ovPDHLkV1kSpZ0`U7 delta 228 zcmVbYY7Z!KRTMEZ@+T53UL(E z(&XQAq?X#Q*I&sYy4&qbhPaVv6JP4MyN9Pf@nrAafo|qeF2qvF6AH!x_q>Zh^}@pw zv>@4w5ZvMGGi5)*?W_}E8^JfoA?6za+1V?i%K;SMI2qP5kU>;+h4zGXIpY%K%EX7Lf{iYhrC_yop3V_G?WzmD!9 e*1xZ+b3Fj$8vo$}A*I^@0000J>>7L(%A&JZ z8?m2-F}CUHdl}EgjhTDlW!%n-!rjG*Ox>*k%zkd`7<8K(X_#t6c%`xoK8|K#w9I9i zDS3F7xH82E88rym?rv(8KNVtp(GBAg1j`NYSfE&{Lksv!D8G4w(2r^B9rYrYQDzYf zCe-k%M-30VCpych`q!SBw&rNGvBgACBi5wn*$LS_GlG66f6$!^G#}XHlWt8cYJ0V? zB46~XZKxO;;y>(FA0na)wXx54SL7xP!;*ilybr~n{sI30m9R*%DUsOu1 z^>lrJDZ9$f)F<}@M;tkX7-MqX!7F--_6akl4j@no3CLGY+5}8V)vR;Dm}WSRgFy*| zi-urH1E37;N+KSebCm|6(=b)+B^R`}%nft1HCS?xnb;y*`~Z1au;gT1N1L(;Y{A)b z$P@6yUQ&j=)FJy|FN7GjjPIUu#WHWvJIy%>x|(kT${#yLm)y5jxB1v1_O3A57v|=j zjsrGZZ(UU-{wj1z`Ha~#X4Uy=iXrsibLjs}Iqo@q`w!v|)#^(5j*T)c00000NkvXX Hu0mjf1<86k diff --git a/resources/g2/track/intamin/barrel_roll_left_2_5.png b/resources/g2/track/intamin/barrel_roll_left_2_5.png index 39074710a8b873fbfc9a510ca74101fecf6eee2b..a454c521a501385007b591035452fefae9d09523 100644 GIT binary patch delta 30 kcmcb^c86_)8?zWc1H(mz3)yTE9SlI=>FVdQ&MBb@0EjRMhX4Qo delta 30 kcmcb^c86_)8?zWQ1H(Cnvl%-A(iwoj)78&qol`;+0Fqq^I{*Lx diff --git a/resources/g2/track/intamin/barrel_roll_left_2_6.png b/resources/g2/track/intamin/barrel_roll_left_2_6.png index 1f24d51c337ce137ec7f4a15f01d58c7595ac6ea..071d8929b67994032f814bf3738e9ab3a5d07240 100644 GIT binary patch delta 411 zcmV;M0c8Hq3C#(xJp+GxNkl&~5n9)|CJy z{=B}X3oLzawJysF`x5WH&vPji_@F<-cC~q$@|2f-cRF&vhr3$5Z8w?g+RZMPsQA^c z|2c8Y>ou^mcA=9^n}<^ ze+r7xVQRh|HviZlT8$v&S}kzIXqMbATbo`T=+fP|M@+45m3C{_zJp+GzNklb`#5cB_kTJaIeuf%(XnQHCOl){vv@q-gf zyV@gt0_lA$ZCTF1n{wMqskOE9Q2$$dHOi-IZa7|Q+tsgRzN)*a_-5?W?{s{R%Y#c( zX7dZUQvO_UZK zq(dbRgRFS$kqdv1NnB58O71$GGUAHEY6nIqq8H(lG0z?b!>*c!b@UTXF@#>xeUeC4 zV<-}FdgyS038Y1Z;@F`mDNvW1z9&j;OtjIMJev?lvEfK0daDMgVk#fEDg0c90j!M3 zT&f`xRk5)2Y_H2N{l1TJ5M>PGZ~O>QZ`)Xxm$Ih;j-M4@!xK}PVsX7(00000NkvXX Hu0mjf15L!H diff --git a/resources/g2/track/intamin/barrel_roll_left_3_1.png b/resources/g2/track/intamin/barrel_roll_left_3_1.png index 45742553f8ad4686b9913141627c2be4f4371848..fa2b341f070f3b54cb537cc1c4aca88dade6ad82 100644 GIT binary patch delta 426 zcmV;b0agCv3ET;=Jp+G=Nkl`M&x!m6u5TiywS;bkS!b`fg@()o8FdXjmLi`NU9DU~Ghv8I zkXfqKW(Jl@^EAclr_+m0N4&a#7qN=p9AM5O!4LOYRkTK{r&ov%jE=;X<3v8FT~JS- zLsxS@BAjS^e;9vGLlCbKEtm#%VgJNz_#p19h4Md zZHzu!=m({1kHE(U?Gd}N3QRS0$CjbBd07*qoM6N<$g3;W{*#H0l delta 433 zcmV;i0Z#th3F8T{Jp+G{NklfWji-aqf?8ju*WX#TqFA`s>oa)RRW{|G;-)TCAvl b4_@^fjW-N~ET_Gm00000NkvXXu0mjf%RAD= diff --git a/resources/g2/track/intamin/barrel_roll_left_3_2.png b/resources/g2/track/intamin/barrel_roll_left_3_2.png index c7ea8f15a0f740fd04cfcb6e2f54f2ebfca0fa81..62803a9474c4643b188e541f9a5a554d0a0d2485 100644 GIT binary patch delta 58 zcmaFM_MUBnEwhoVr;B3<$IRpehUWPRpB|m>cKCGYXYuoMhI3jy7#J#}II`EQeICUC N1fH&bF6*2UngG>^7vBH? delta 56 zcmaFQ_LgmfEwh2Nr;B3<$IRpehUU`(pFXK7R6hLkv-r8hIVTl{Vk-{ia~`iZF#v(5 LtDnm{r-UW|cmNfn diff --git a/resources/g2/track/intamin/barrel_roll_left_3_3.png b/resources/g2/track/intamin/barrel_roll_left_3_3.png index 25b1b294eefe0b69668060766492c4a30f794d82..f892a555357a1503f844b53890d3a086a2261264 100644 GIT binary patch delta 271 zcmV+q0r39B2*L=kJp+I6NklVGz!cS z4*RJ#@k*A!pa!IAiDl(96f~acL@I7543B!|+;yI{sZNKif`Wg1JX&O~$04dBbYMZ5 z1oL_hX8ye{^FUpp-aG1?U}-?Tw^mCjXx+z4{R%H~$yd15TDMxZch8MGmv`|?PafPg V1%kgjIjdruod~|9fqWnTGBa z6Qm~LHa*-=L-7HG5{RrmRh>4GbvjsF@PVWOek7~-eBthECuK1)F(PpFV>bJo`_I9n z3eZ?9Uf5!`)|WP1IDT{s)ruTH!LHUCiiLB|nAk4WzjDs$Iti~wojLKnekrGw^jW{5 XzBLIcHpAHf000R9NkvXXu0mjf6=;DP diff --git a/resources/g2/track/intamin/barrel_roll_left_3_4.png b/resources/g2/track/intamin/barrel_roll_left_3_4.png index 214f0930eb456bea7fa153f7557f64cbb6772298..efc87e71c6abb84018e2d35885c3e86cece0d09c 100644 GIT binary patch delta 107 zcmV-x0F?i!2dM|JMgwDA3cxT3gLD7eE%qp@t?A1w`@sbiJ_9kJ8H%{_kc&q0fTYOL zN(sn68QiC N002ovPDHLkV1l4(EYSb} diff --git a/resources/g2/track/intamin/barrel_roll_left_3_5.png b/resources/g2/track/intamin/barrel_roll_left_3_5.png index 5dbe9653443ffb502ccf25fa48473c7f290fb463..bb878d04b72dcd544981bd1cf148aa22fd60eab5 100644 GIT binary patch delta 97 zcmeyy_L)twGr-TCmrII^fq{Y7)59eQNOJ%&8wWFxJb7FH+O8wWFxJYdkjd848Xv!#lsi(?4K%;bcI z=J)XeZ@R_LAHFHBH>bV$++5~~=?4#STrDtTc&5X>#Cf;0HBcjir>mdKI;Vst09Rff AzW@LL diff --git a/resources/g2/track/intamin/barrel_roll_left_3_6.png b/resources/g2/track/intamin/barrel_roll_left_3_6.png index e1d828fb7bd8056ea6f488ae981700e42ef25c2f..f18b658862c3cecbb794c4595e9285072f727aed 100644 GIT binary patch delta 315 zcmV-B0mT0C2<`~5Jp+FnNklH*sLaPuAQ;P|THhvP>q{dk0ceoptO1$lklD z*~Elg0!T=_hrh8ZjAjyQAd2Fzq;|NGTXX@A#;CVQZOG@Pt$EHB7Hze zd3epvVOw$_DOoUB-zn#%Q$2)gIZ%NjK!>!P7_*6v)wx#*rrd5V&uwTdNf|Atk=tO) zi|uJBnLN6=Yb1kzw!@y`Y9Z~>M`Ad^QYodJVzhW;j3w`$$q@;$o;@LtknDz;{`iV; zHeJenyvcww17b6l$5}a7npjG5*5H}3ZQp*@!Ff4npXvwKO9rrfpg)lgYDMvzMLhrj N002ovPDHLkV1l;Bn85%5 delta 318 zcmV-E0m1(62=NH8Jp+FqNkl%4m8MbY2WnpqQN8(9xZw?};MrvwPUwufJ5@(;7 zPmBm9VECc1URien(hw6z7OE$!>1Q1MWvrn*TI**G+rC)OJ#Q zVoT+`X>V525H&1V6v%pyR5~q-H3A9BrDetiGr{)P2h1)A98d1H3e#ZaOhYM&ApJP; z=v)68Q)ty*klc@{KI3y{%;8$`x**4e0X?Z!8k1*ODigz6OKuG<=*R-!kZXA$gShYQ1vOi(kA25}dZk6wus*qW-8)qse7JV-_45*8Ed`l_33Kyy!oAj{F zwiTfC#SKBMYA>1G}Q`UL4WOOOa%*KCf%1Y%16=vDbbb^V@k6Cdjy?l(Kf8?BD$wCRV+f3{ zXo#~g3Cww0RcmO7UF;grv}EkzMx|&Bx?#=KXxnx86=P9N6)k<_SR(55TgbygFq9JV z2o+y4Q9peHDWyx~c_ER*~IilPq4o z1_;3C{J?`#+XF`V0TUh%7}JYW#d{_+Kyd$oM}8N3Az@l`B`OL1lO$g$HdHhxRskB;~VFr&p(T^8Gyjk)z4*}Q$iB} D2Wk_# delta 48 zcmaFM_LgmfE3<~h@q&qsjSv4E<>ujeer`Uyp*{nH?|lyG-ksl{G5~?6tDnm{r-UW| D@Ea2B diff --git a/resources/g2/track/intamin/barrel_roll_left_4_3.png b/resources/g2/track/intamin/barrel_roll_left_4_3.png index fd87d94c9a4ee849000fadb3641fc6b09f1bfe3d..2e90ab9d5b8d1960106c0ad660b30e75d14b6a5f 100644 GIT binary patch delta 368 zcmV-$0gwK#38M+HJp+GHNklPMn@)<+=}`axU)dy~;ZS1Yg& z5J=VxM-I|@@qQl8^c+o#%JaNg7;SCD@2rzcM~EcI(>HN#Y@FAa$Fsr6H*vr$9vA!Z zPQ+^5u3fQXw~c6F@{W@qN$AQs7b4G1*$cdJrhtaBHxjYsSd57bU*;UD<(QFF`R;84 z$VG^R;ena6LBstk4(D!GkteoXu`PZ2xcFLSc#8I2zZch5UNQLpM*ITel&C!BZxWjT O0000FN%R%YuqU$1BZR& zbD<^W!7T!;wF~JiE|;_DAm$zVA)Y;C2ZRm-Yjm>oxjxYoj46NFSZV@`)*^wc9w%sq zM8*-MD~D!8FnedNbWf3#z$=P(>D5^3=1(*g~$&JHuMa<arqrP^?mVx`v#-G aT7Lj~C#xl6g=aMY0000L6+48BKvltsZmP)FuC}fsAfgVF- zxhT%3CS*TLj8rrv(}Gf}pEEaII7YeL5(}1c6Lk)KE{w(`*u0(EwSEJ$^9r44;OG4> zH|FzE^bpZ@#5DkzNkPKN&V4Ou&XO5eUdR_Pu3?+DpABLF000R9NkvXXu0mjf?*cxx delta 134 zcmV;10D1q#2fGKbJp+DeNkl%E2t&F5*(&{b7TXG8M!RuSFiYML5{O=% z8i>P8?|^PTx0z$u+o(pa_8g O0000yYCBvdo{Rx{2qw_ O0000096@O!~j%02`?E@{NPR*gc{fGPr)F$Qv@yG+jW1WV|tXf9;*r>IO_&C z5|vE`a#gX??{YQ^44Wqx5mknXrHF840+9ErqgAy4mq&y}g#A#9Fe-1|YtW*Lu`~TL9FT|{z)NnOXh8)rApxWS|>XGf~lfanfLQEYPJg?CddKgoH$@5U|(4?gB z1gb#4#vkIz+!u5=O6Z!Qr*_|$bHLMETb{GIzWuIzD1S2$ESAy+>Kc`A8H>feU$vR# f>GXd9v)teV34zE&v9W*`00000NkvXXu0mjfEE>6l delta 391 zcmV;20eJqj3AzceJp+GeNkl-k4if`?KZWnWkx~> z?#spJkdjwfYps`bzVfn^HK3Ce=V_kvQp#CKsHZgjK<^mQwDEW(a%g?ikpq1^F)Q^F z%nKU;slh^oyXwZO^Zbf&JuHd{HBsJ3chJ+EJ-H)<0kC8&Uy^?qP}!TWF-6)3hzLv+ zNzF@9v_rfL89tazc=fz7aXEM7n#IZrz`{azq^p?q2NL#Kk;@WgYMJD+8sM5C9zl&{Z@sPVc!9E2IuLP?J41|6Evt?mPZxSzI`e>I}Q2cr7X-es8O_{~OiLXJC zo2Y}rLS?2zTpA#CkR?qZWYp%Ns9Y`G+jTp8$$_e4LR()MK!AT3EcI1|kp_^RiiO}4 z*{78gMoQLGYwc1&B1CRO$dtHh@1WHxAbG500=43bT%3$!$eh4h`Z^kkJ>?DJf)oPl zr9S}%5Qreh7_G`VR8_6dn1Y#IQ^@A>skR{Fp7PG>HL<9{bpS<&Y;#g8q0osT-|g&N zvSlg2RH`Ck9F%_vIU5AXAi%7(``@6H`{2O1BY- zqukJ~$iZ4f)ZK28zQxLk!Up=)koGZT6c|?4I2Y=eeF7&fOB%)gMFFkr!#%`?1%7`E ob+KSOeWF+cJxPK8!*8KaOnu)J;t)ix00000NkvXXu0jG}g10%onE(I) diff --git a/resources/g2/track/intamin/barrel_roll_right_1_2.png b/resources/g2/track/intamin/barrel_roll_right_1_2.png index 4b0229357cc4905db84492182a9623aebd205003..a29eb17545be4ff3f95412b8798280bc500b0022 100644 GIT binary patch delta 51 zcmey!_K|Ia8?*K)2A1dgHGhv4eEXxy*0woapW$b^qy$6f4=&ZVNqk=!fWXt$&t;uc GLK6Tm{S)8- delta 51 zcmey!_K|Ia8?*K?2A1dNYyTcAcy>sYt!;C^@^!wk2kqK92F{ruV2S{X}ott@u7=hChyh**70FHO0i*7vByvW_uQ zkUe(o(`}PLw2$E&oAZ$Zur!s{M}MM1F1EG_w|YE&F4|z`v(Pg&KNfKq-zb0)cj&0! ksL=Zt6*Vu*zdw)EFG+5so)|8+VE_OC07*qoM6N<$f=e&EPyhe` delta 387 zcmV-}0et?s3APEaJp+GaNklD~uQS6y zO7!&gkVnRwOWF5(=>2XCsPGLFP9z7k=r_iywK$&h<_4GKUphu;m*q^B>YQphFXCTt<0A>rQ{F)#|u)UP0D}vX(t@bL-zDTyil7^ zBx3c5E?X9W9!z9Hu^y%KQXv{t)h1d+R?k$MTE;>Vg)bB%MP}z5Fg>k?TxJBtvcJk! z1K~Z3DA!z|&O+&M^f?6#RN*)VbZwxn>51boY|(qJN9_xBZqN}PplY48n!zxkH4Se~ zAvx7TV=#n-Hm`fNzESFwLafzrhm>W|GS@2mOB!-Fr{k9A6d_h0XAvofrOw~c7Vcw= z6x7(hQHV6mtd9|j%lS&-X%Eju_R;Ss$mNK5b+;6bCgpJV`@^3~?(&%;8d%vg1wGlz hGliO`JJoNs`sd{Nm>8^002ovPDHLkV1h5xxKIE9 diff --git a/resources/g2/track/intamin/barrel_roll_right_1_4.png b/resources/g2/track/intamin/barrel_roll_right_1_4.png index d5b7291c49f65d68d76094ec7108b53909a6d118..f19c646025da0786bcb50c1585cb6a3667c9c2e8 100644 GIT binary patch delta 144 zcmV;B0B`@r2gC=kJp+GoNklf3{kGSE-_~DVT07$jZ#i5RCxN z6fe}g)_MY_0}##O0nZD`l%$ZEpN^9)L}qBzhJk=8lH&#?0Sw*Kw}L=~Pj)Dj_3*#1 yG!hPbS%n;$ecgiF$rpIJf}2A={f56s<^?v|UJl*s=Rp7f000O{MNUMnLSTX|ra(pj delta 145 zcmV;C0B--p2gL`lJp+GpNkl(XaRX@kZ(|hIj3_P z3Z9D*1W~ zS#eNldwexh-dEb%4>J)p5AVOoituipb9U3D@&e^!FzQp9iaY=S002ovPDHLkV1m*_ BDNO(X delta 95 zcmV-l0HFV!2b~A7Mgv#55x_tQ1J!?T<`J~wyVP6=c3@@f>;M8jqGJv>X&^IPn-!VK zX7QlX_Vv=#r0*+jt=$0fhdr39bpSJp+GSNkl=QiF87EK|Td%|M<|1|E9XJqH0 z4gD7#uh^SAoXcUsvRKOk1@Fz+B6qNbP@Rf{CYyZDdxHC1Lh< zDZFZV;TzjvF1=>aDakBY$5x*cq=kc&-e=*h!)Gowlo6$a{!9?(0mO4IQo8}eIrdXx zWvb8eqIdYshqhMa?Xf`ZM0>3~B~5xKU(Ms79H%{tE2Ov}3xw9G`7t1U9~ACk@zGx{ zYEX)on}w(vDaCUIM`!mx-6mX1twpsII|YaoAAvD!``-=Y<#BROD;TaWqg+GotZ&8;$Hf{E*Ut*9hiUB6*-q~oUvMSL2fUT z_@s$0FU-=MhkApv5S6|c0d`yV7e1{I0o3LK?J)<8xk0VN&-%z{OjkCCar13O=Mo8wYN!!U)Po5ffg}3daF(Ew#D$Mq{ z`C3?1y`P9$Q^9rON~M`TqNhN)`S`|epCzlET&i66;2rkQVf&Ik^pgxh@fS6CXOS3Z zK74N>ygb*Hf+5IoDZ-s5++X2Gm9a&?0{opO9lvEq$rTVL2wB1gD(xRn#c00000NkvXXu0mjfbP2q4 diff --git a/resources/g2/track/intamin/barrel_roll_right_2_1.png b/resources/g2/track/intamin/barrel_roll_right_2_1.png index 8bfd7d68802d26ebb999b19eebdbe80ca7ae3cbd..a43148f7c67ce779f3af52f1411911bdc1c51e9f 100644 GIT binary patch delta 398 zcmV;90dfAj3BU=kJp+GkNklu$m@3Poj2O?|3~ zw6dl6V*HWvVohnf3fq-f%*3NDq+z(LsrBhjQ)gKvEEUYO+trANI?GNw_IMC6luMn> zbl6cgak_`aJ{auai5QB$^sa$XejhsZ-ZmZx%QYC-b8jsZtLQ0KE@y}>mzkAVqU s5%!ckeaAWEwZ3J3OVAI@DdX}3bdm?Pz}g+Lu&2=4;IYI3LOD|=xyUrwEJ@o2nnjhFZbK%ec>_IP z*~W)QprO>d9Cjwt&8OjKwJ+fF+B%`DINCHEVW9Cj*<+~*jME?zqOr9`k`-)M4>OnB zpJzG3+(#$!i?V-mloCC#fySvRLSVN`kWXamuRB7oTj@jQ*{0iJkZ578tz}kwIDcz} zs5kb}Ey)Ns3omo96^hNI9}Sd!q}+Q?{&lT;G~6b`5-Sf^@C&;2qTgC|Gg>P%KO@if nxVP!!4ZI>JeZ$YXvuDXP5_ zYUezl;-i)+uu|I?Zv>pr0u*==6;Wdj<_;k45Cp5cin5wWFfV>0UR@N?khp=B*(_|N zzgn>fnFK8Au_j3@0=;ZpGf5C?$P6I1L^Qw^CfXlRjUd8PjItny8A!x*EoG$E2@J_Z zoK$4N%%#MPQvFg6Y{cvst;NA|?e0?hRe%0zKfry@HwAbf%cmAb4`w+(4fD2sYybcN M07*qoM6N<$f-fv};s5{u delta 263 zcmV+i0r>v92)hWdJp+H~NklT!F~(Q5EUooor9KKhVCa`B6z{+(a;Un^MEyi>B48q7dy$6#DG=ihf1WbMH@Zn@+p)kAHo`@&^-}J}dFgm{b4& N002ovPDHLkV1i1zfsFtF diff --git a/resources/g2/track/intamin/barrel_roll_right_2_4.png b/resources/g2/track/intamin/barrel_roll_right_2_4.png index f983943ad9af52037a0ca72c05ccb1795d87f5c3..8cd6721e1a74547236b0d5ba0062d74275128a91 100644 GIT binary patch delta 153 zcmdnUzM5UJGr-TCmrII^fq{Y7)59eQNb>_RHwQD2oIX=MZ=<3Nb4k3Xi(?4K%+Pa@ ze9aC#%mMfR=UmXS7U zt7dPHCRU^r-Pyr;L!&BQ{7+Z0(CQEUu1_vsf09{a6L;*#Gln;2Azzpx0z!dyGI+ZB KxvX_7M~N-zOI}1~(G4^m7YnLhX|#!`w$}EY zo{xDhwSIB;ZQD`~{&_&K5iFGlHs@jPHd63i9ir|a0VLmJjm<5NN(b^S7R#W_WH7mE zJAy#0FwDW_oOy4;gFVmy?*nJ8dm~~@F+|gyS!#RXn$Ac(jD3H0Q9YMktJ$M4cbzl@ zI%A-A)~Ki50;6q1DfQJ;jviVxYfiBUVoPf8anjPT8Sx<1XrC_Hnl39?G{$9#q2^G9 zu#D0Bb^kF^!x1K$daoY}mbkoFby;=pS|jiJa#}CrBeSxsqw8|(U5{7x+xv)zaV`7O l=d&{ZqtWPh-SQXv{|^d=TfJVTR&D?Q002ovPDHLkV1f^qi%g~GI_Y&QmOrGqpTERF(p!NJDrf>nH&!1je_wEono&1 zPJ4v%@cUv$EN_#0w>eJ~Ir%7G%kKuF@otJBcho^aibdk}wSE+l5hLXYn71L6=h zb=bBeeGH`Ks}@{xerC!Ad%*=dDjOOT=i94JT6Cqw&=rm)Vx!1nmNVc`IlxEghBWxV z@3l-g@6-en9sA{?{*OZ7{u9`3d9(e~qGqV3l#^E4DH>t3NUd@x`_zWh_ZWlIjcBI} lUL4R%28v(!6MYxG{{qg4V~xSl080P>002ovPDHLkV1i!;kIDc5 diff --git a/resources/g2/track/intamin/barrel_roll_right_3_1.png b/resources/g2/track/intamin/barrel_roll_right_3_1.png index 2e5bd987bbe04b0fbeb7ee2590c63f6cbccf94af..d050059fa5ac81318381e1ca0817a3a7a88e6a43 100644 GIT binary patch delta 124 zcmV-?0E7Rv2eAjRJp*)KNkl&bpIM!kS0000O;&NFL>b2triQ>=auzn?b%$4n|g@B&kNiVK9)R2Kwx5inzk$=>WJYpqf8ai z&bh}X&>(>i(-h{Xpe;yuLo~uXvvd&kIc`#u0QpoC-N5a=iH+ z52)PVf+i@lK=^UNRZwO?-6AGxTt!Z#W+?`9zlq$(k*mkdq8f~lFbf?jC^c`*PWhWnL-jkOH`XC26?w z`6idLhbY}y5}O&u00000NkvXXu0mjf>!E+) delta 272 zcmV+r0q_3I2*U`lJp+I7NklS-Cp{)-p&o@*3R=dcKUQ+!HZhURyI$gH|6O*k5ae?kts`hlEqdE344Uv zbmcxKvToCo#6glOvg|s8Ng|{Jl%z+hHX?CQ$q8`s5S#22Bo=?B2x){1M}jcf9Ted$ zw?MG&=i|z$X&RH{xysenY+Zx#LfQ(`jL!DA|8;rzaa763k;F`;l)4}1`R-`7ab{{_ z#@b?V$F5}u)7nRmH_{=@`(PH~?KuW>Ktbq+wKeU$^!l3xm5Sn6!R@tt{nYv^fbJId WU~12MKrjFR000O{MNUMnLSTY+5{pd$ diff --git a/resources/g2/track/intamin/barrel_roll_right_3_6.png b/resources/g2/track/intamin/barrel_roll_right_3_6.png index 5eee5c0d8cbbd1b55839b4c397e8d6d242586315..9e0b0940fb05adb02951c4f4faa2daecee84009b 100644 GIT binary patch delta 467 zcmV;^0WAK63WW-=Jp+HUNklS=LWfptXifXA6I){2Gbv$hnlVlstx+ zFb%%l)I<|Ar(A#qZgA+)R;aw^p@$`*L99Cd=$y$+Sw%#rQwYB-x6rRGWc0*rNMAah zL`7>#lSK_S33ITJG4jZf6rJ#(C^iNkt&6^7%_YGC1)R+;8)EM4V-Rx{B?=jhZaYSS zdd`4M(Bed{Xpn#0gk$oj3Icy1>(%xpgLQx=J7U@NY8s1WuRC1?CoiOsReiR)DmI8P zuJckh{hu{*kqVi5DQ42zdK;nST{dTfAj?}=K`R!mxc_{Y@Klye#T3FpV#q#kBj(vz`o-HjRpC- z&S1xD0{eCO_Y1;utRHk(hqvF;yBCZ1rS+@x@{ars`K|XS{sJIqTB^VY%#Q#7002ov JPDHLkV1n+v=QjWV delta 466 zcmV;@0WJQ83WN%@Hv0XpHA zZSfV0B3;T)b~(y;uASq9qwlCh5R4v!^ku<4FT-EwZ(?A zxr&crU$SS~<8l8x9uX_CcG3CBFdX&I{6ZkR#}HfrkV`JffVy1pbEhcF)V6a!+3nn8a>F(g_MCZN%Qp3D&27BP*9gkeL9&(=VNKwzi985&hotMXpgU9XV! z0U_}c7eel=YKFd4*|Qp>m3V0d4Y96;6T8qhusKeKQ((~}@n{i*`c^SpjCzSy!+Und z_Hm2R0hz~EMobK zKn#ZnyK-& zL5LKu(@VHf#=BX{5c7`oJ_2(X8=}-ECE5Ju>YA{*w}b>!bnXpd_7frciVx%$vck5V RS>gZy002ovPDHLkV1gy~VTb?# delta 206 zcmV;<05Sjl2lNM!7YY&x0{{R33FG`-u^}7-f1*i5K~yM_h0t3L#2^R-Q1-vI5%IAW zQRHX9{!BWpl4#Q8gnKRITH!Rg)KX5!Ogr%9|QdL#PM|7>r_m|>I)4>C}QV57K649;EN}B>O*Eid)TNt+s0f++h zIL^%ftr@T0SzWaD{QlvH$i*`-;(vfPz-rj(xDyWe0DOMM7vGVt;Tq7tg8%>k07*qo IM6N<$g15?FLjV8( diff --git a/resources/g2/track/intamin/barrel_roll_right_4_2.png b/resources/g2/track/intamin/barrel_roll_right_4_2.png index 08d74ad168764e4701bb702fbca225e67f537a9b..e09de59cc5fe701334f15d6103b3e302f8366750 100644 GIT binary patch delta 237 zcmVC!pA?XokCDbr#+}fT~gZnM8kO=VF8o{$xeD#8-SY^K02_=ITUyH$sU1Xz@5Kot9EPPd#e~y5m^IVbI`U;3R?MaGhT*z4aH*H=s#-+a>-Pd@2}{8h^c00000NkvXXu0mjf?t608 delta 235 zcmV0r0&Bydy0>dt8(B!&Y3OdmGhN{)GoTTIiqcqbBBUUdq z5jP`5RcIxIc{U31gey)Fn(g9FaF*ZbI?L#AXNwb;vT0+a`SxSNC8*7hYaeXl;+Tj< z+Zsv-;O@l2k{P~UFgWD{zIz01O&>aJyfvFte}nHHQv-G0H~;MZG!()s@e+J#0cM*M lO-{eNpYRnghyNY9)YSJ;W0N1ALDs z+#Gj-(ryyj?h)htzL#StrE=^O3`CIX4T2oFMMS)t?-Jd|7(uixLReJQ%zC#i;z=A2 zB(&khT@vl7VZbbXXsT;snsQ7(_!L`iVDj1=jNFF-qV}{VJmP=QF(fo>z7DQ=Iv;f`^_0kRE*_04mfr+~=bA*PHKp%LL8PbvnjUqDa1@3?H z+9L?jca3;N*f0-q2co_c*dlD0)u`6Lq?bg956ihWR{-yJT@h15=E*QsA>JZptoJUy zNCj6!sYheRM<#!&pbBU!^T^S==9G(?z^R%RXD|qt=u%9Z0|Rylptu!Usi*##=jC!) zlK@dx)0ajwJ{CloO(Gzsq#e(bctx}zOuby%zq0SmxhQXrwwmqXcS7LMPdtQIK+j;SK*PwiR#A#qqqFI2>*yEk_hw6 pu|b5$<+^`N(yog0Lz43U&%f5^Z5x=?s3ZUY002ovPDHLkV1n2X@@4=4 delta 499 zcmV57Kut*vBhRWk3>2JRu9r?rCP(T(n7LLh&l)z*Y=0Q*^~(6F-_ zK5{PK{e(dI&xC)~ud69>B-iLmeJv1gVdm_=i%q9ld4RG|DTuF@<(Ls}!y@x_5&U0b zQ;l$!YL6bDFRk-IbmL~x>zgxxB_av#T_V{2(45#~f`oto@ar=_Bix1-QTc%aqwTsz zloCR%D6dMM)e3*rKZ#zu!io>dRc1uEiA`EO)C9mi%Oj){+Cor09atmqNU4S+I^e`G zEhnU@mOX?YNhA_xgwMJPsaZKhRZ5ujf2DMw~Jr_9J=@ zh_?!+%4_#`bVPVs0MHI_rt~UkW*iW1B>41)KRDNEshMb1%i{wMP9_74;sXgq@mF{%In002ovPDHLkV1gS~kH!cBH~8n838f4e%5=yi6TX|2MG#Fvp0x;iR?J8kpyV;Uh3zw zULppcV{}u9jJUAt-pBAkrf@Rbh*JPwrDqlObi&$C8Hv>D*1Lb2l@#eQ4oG3CqOh?n z#Aqk_Bu4})3?c)Rc^>pvj)e+WaaBSksSt@6$EcxVYVO){_R)QSIU(YvjWh#XSJ&y7 zbrII4ZY{^=u?1fsB5he(id0KRE|5yp_SttllQ|)^Qd7zR@pI9!#u;IBlp+MT8_v0D zZXj}%R?MV-Uw?lPW@9CTS#PkddLCUyduhO_3RkWr2*i{t^>2?Cu>K zmMQ-sIw691a#08pR|kmilcjO@g-rz!WhxOgw#(h03d*F}*tWP)!Cdk(So=+xT}9LE xjlzCPLEGu%0pXV$Wk=qwKNNZf((m{A4{bxw(ARQ>UH}UK002ovPDHLkV1ikCyh2dJ=t2$3E`{#sQ;tk~82NPM2>m{&6i zLYTz>d+)8fE`@)XjqNg9y&Q+?>V+}qQsQ;=)f9H;Ni%QhC=kgtnh(32|0gzP5sJ3? z)%-D*)!jfyiIt7*4QeK6L+GN9|JRm~2h9qH{XFjxD=Ez4d;d#C#3ONiDkS`JqFl)H qnUnbOF!)85Uu!k<3;@}Fp5HZj%U(bzP`Cg9002ovPDBK*LSTY($iVvm diff --git a/resources/g2/track/intamin/corkscrew_left_1_1.png b/resources/g2/track/intamin/corkscrew_left_1_1.png index 224cfb105cade936be053e7a29a93015af056ca6..6195047ec1d9f59b5bd4435e848e46076591bc14 100644 GIT binary patch delta 681 zcmV;a0#^OZ3)u^>Jp+G-Nkl*q#6{2iM1GC*OP=|8tm%rxGEKa>V$%v|x!lSe~BE_`K$%rYXTxNe#q@>e?WSXc7{*ZMt z1v*6&L_%xBOi=)~0Nv-eBN>htC3X@>%&fUkXw2t;95+Ua)U|OxzDWV(H5gKebZNHc zqXqzoK{FNf3y4NK@S_7Jk)R@Mn{+)&0l<_wzo)ltYzHYa0BL^!yyKR5FvjHZ8^BUj zRINXW#$(KwoSJ`m3hR&O^U;rLqSRQ_AiF=hiL3`T!Fub)DyS)m;2&|^r<^IrXArcr zW({v(B*KAJx;a4n&QL}oUKt=8eyU`>8D5*AYDmE6xoMzUA`44OL)97aJ_znqYLd`e zv!Mtg!n8VGN&uN%cGH0f%!@L1=QRibzC>xHngFB#V~2m1OQql`k}u#cP)hbSGjk2a zoET;B1UdDNzA6A>#VE$W!-Iv}CR9;U^S;t9;5xN;eg6RfQq(Vz9RLEL04;*ALnyUo z#5ech_khRK+5_9x*dPZ@j)ABR+0DJaE(8D^>_gy0g~HQeKL`PA~NiFJbq3 zFFV#)qPTxzEDw5wu~qVkxTHNV-EQbR7$^>&Ah|RA*~|OpV_e$KxMYeL!^;?>jeGeM zt*>{O+d#M-$G;t5JY23fzg@XW^UGiukMBFtZ>!?cz?D3%=qt%X49|lIHoOe4fd5I@ ze2YB(K*2x4T!4D~*$0vhHNn{De_cgxoG0S_W#}Pk>et({3@ovOoDcmAqE_i(yTA^} P00000NkvXXu0mjfX4Fet delta 668 zcmV;N0%QHz3(O0!Jp+GwNklX~B3xxKrD$Rj*$AS2yr?)r)S|r?mCYc#nUei!Z7F*!oM>dLDavMPgef z$}$mGiTEi5ElaEtCGnz!tP*8eL&}=Z8$4uqAaIso7I<4D!4qN&G^$6X0kt(4iyU4YW5Xeu@TbAFRL@CXKpQXGji z+kiw=S|!e~4+O(C*#H2kdU{-g07)|mBC@IqiDDthsWy?Il+3f>ObR0GaS|g0ik$e& zIjH{ww#Szo8KQr~2P8zFz@#TecBL9;ZcfBB>xp?kwN}nKHbLGKfB@hLD8jZT09FOWIBWpTY7q%Akp%Nm>o9Cz--7^f;K}DHW_e%&7K$}% z&7J^C>Yyj&<$*nefC&TIMy?roCBw)CAqQHofr1Nctp$IqghIyLLM>hcETo=B!D9#Qa2Zufz*MK)vK?KElb^umtKO0x;k4!t7cCR5H2Nmr}UjTT1rnvdz z#qTBuiXUwLI5=O={T0Gmcr-eWBPlFwY9A_WTV^yZDb9srk9hps zp0000C>@HU@j(FlPQt#?1f+jw^Sab4^RfV9?otm(ew23slGL zPYsB%xv-3D;xd2JE&|)vGJ_<#Vp`eJ&g!<@!szJYf4P&Nj_eUfRm-MQ>a3IDSZFoLzX~!B-h@^4IZG z22f@o5o3>a~3xnvZ_rCxD002ovPDHLkV1mME>stT- delta 489 zcmVNa5Ev? zgcxKMSaQ1d1|k&GHCLeCMPp=7oJ3>o$}4p z4#Ch$jMI2QdKpvjv|L#w4_^N8yl_xB&3c fN0^uL5qJ3yBMA;oeAbmP00000NkvXXu0mjfEA;KZ diff --git a/resources/g2/track/intamin/corkscrew_left_1_3.png b/resources/g2/track/intamin/corkscrew_left_1_3.png index 33b25558c8c451a24d32b598f0c1e8e684d022ea..0c0ce1152c52268a8abe677f61001ff1e6aaf767 100644 GIT binary patch delta 535 zcmV+y0_gp|3djnuJp+ICNkl(+1`vNrj-}$kH?a3fn6*nI z0LbM_DdQ_Txg%nX)&u|%x4EBeJ9O`F$_lViOv)I9FrHR-ML62Gvi?Vy^vDtrRaphm zt>!FJYq%jkh%&U2R?6lgsN8hFBWTztCc)8TC(4vtR~PQ(9nOoYY62)n%6xM3A-!%9 z4^JeqCX{{PEbo6>Ox}B9cr|iEGorP~n~DtLbw^xDAhFmS^i4JsH>>JOk}!-~ot|XI zQUP%b3{RvqUiz6(lWKEw!pb^2Ue3NJOtNOU_gLjPde?IgP>gc1YiLT4xrpW6pl>O8 ze3^**A@np`jaKC}nyMrf!QqEB zI((edFNkb~7&rQ6E$bS-LippCZxG>}-8YCZB_`+IA|iNXJU-69LfC**4XrR1w;2LQ zT|&69g+CMNj-bOeSE)a;_=$)Kh)B(;SoG488;U@nZzpmhYh-^pk}RW0xH8PAOUti| z9+Z_J@Jq`x9}CFaTsVG|QRFNQ3%7M9Y_L6*OcOBOZZnA;wxu&ZR7P zS1q40aoNI;4+=*r<%f0MrW&m^_=7D&&oP8W8VbI;%&PP3x4VZr)Rs1*6EN2ZfOBXQ&Kx`X^ zn~z|CHkp~iksw6Qux8Q5+09H5ZjLB=EGv$;du5i}J`CY#+O+oZ@as$hf$sn~-Q(or zcz+Lk#|@OzY~vrq9tEuwUK5y5bZ)z^_!kQ;v6afN1$u#}q5fm)ueV>Q0%G+%Ti;v& P0000jqoz z-Ao(Nr)3C7mz5qb9NRdztm=rrYB()<}$*~AdU4xsqnt< zC{>y{RXZt$!f7;aqYiwjn)CZ`TwOc-an1ZTH}Rg}e@8qDSrSQAx&4^=-IS!Z8_hjq jigK^|Xt*5IoyYABlLzTm`NvGE00000NkvXXu0mjf)WdP1 delta 230 zcmV9HumujCoQcZ3t!_4kardEx01)50L-XFd zw`N4|mMI;&vILl=B#i0^5#@}yCSj>vHLYyhIlF`zaBZ`Nn4ez68Wvx~5rj>&o`f8a z9^|8e)GNgn4vVg#?XsvCKdZW^u*TmmRR^LP3r9e{RvbrDk;i!bO|w#Qp8AL8&gN47 g(A0EU)Gv?A3-bi)wb!c$X#fBK07*qoM6N<$f(Qp}V*mgE diff --git a/resources/g2/track/intamin/corkscrew_left_2_2.png b/resources/g2/track/intamin/corkscrew_left_2_2.png index eabc8e1e609996a27f95a8aa7796f35d5c1d9bfb..eb46629426fa077a9d4789bd199eda28eaa23054 100644 GIT binary patch delta 677 zcmV;W0$Tmg3)Ks-Jp+G(Nkl+v<_9QS z_k!yTYSgISp|yYM4zq%)%sWtk!dFDLfKTL$`r6u35g#b-V0b#BQX*}p4hcQ5f4SHY=7T=4BJt&qjisEe$fevFU-~w)s|rr z_zqB`O7&OHHFVjQ3Cc?pgTh$L=G+jQWfK!ix%7S*7sP)uzn|!x>Yn4LQeskg9RrTe zr3lr~R;#d?WfH?qPX(^BcBV*D-=Vuzeqr4Fu?tTlORPwN^6Nr6 zAP1p}ShjtaSb{OIF+WBtQ7QEjGzzIL!AXBF@kpo-SZ){k*m}bigui)sL+y;c10S-N zTEh%U_5Xikd8Es|zg{@$-PFkTcZwP<7t8ii92sU6#qqVoTms7tc~bbe6*mGdr9;Sc z6DFx&>MC5L5I~sWkU^>*P{2sH0(Z}5xx4$@3Y@Nsz!KY^eN`v|f}db_8`-E*ge$NL z%*17Y?~IiwY;9rE!Q^3UCU#$$f_0$}6@(TAn&W>k3MOs$W1r*IG zEjM!;vtk}%*Az;o*xFLv?L|5-p(ItyAI#iY(iA3o`W9nJQKh$fZcMl9Hj*h~GFR*m z3e3MfN7ZULF_3>jt#4~7s#PokW50VG!)+}khQg+zJ={UvcWWuJu;UW!kD$I*lAyrcIWhfTgI@OpxLgE&@7p zR6We*tF+#l^bBYu*QlK!y*c^~kjB-M( zZz^We*D?i0iAH=$u`-$-w-W5=Z&Mr_I>6|{5^$@R>d%<|J1EjQ=L*Z+PY7aLy-%^$ zDC#&)u7`i##}VWCTF3v5lX=RLn16V9i^7h#DWV~m@wyj0#PwFJD%kNBb6i6zC=J*O zo-z~~0%9-&m@m&n3;<#`>8b zIvglXk+=sMGx-}yW!sY1*2l2gnh$)I^|XEqw5WRlHoRJ_&$(1bL3S!0Ema#MZ*p4y zK&64Tz5SI@|J(pJlP$OCzXqG+qCQYn$>>;BEfO<+c!9b$ILlB8w_rfJvWie&QB#~6 zB$QfUz^PS%wibUVM!F9-w4Qebt?Au3=hd|DZ1{17x)!v;Mb(47%gR`4$zl*-(3|l7 z9F4TyLP7JY-t-n_>o{k6S1rhUhst99b6#pgg`2D^ITrlz{S9Mpw5I*P@H0(p&&3Ep zVfc=;(y`p*^BMVKu=@~7siD9fQ`VL5&_wT*g|);M0=;OwZ4<8^YGqN=K<_T*^iMs3 zsF-eFl3ZD^hiOAvEv1+t?UmRg3eqOj2Yjnwk5B-XzS_i7L~tJvEs3WdIA!;M@5TPI mvnZ~^Sp^a6JPJ3S6#NHFbrPN#rjgMr&OP%p;}D9wI0jX$I=)}99-_DLAr?HMs%8>SYqL>&$Q=&wsQH&oSn_>;a(H8fo_VmD zN13Exw<6dQguy>6g?6#|0nP4dUx~@8gGG9VpRgQkL~OyWsTwbhPz+tOn`aQMnpDj^I)bafLN@IP zp(x+qt$(HY+jwtgPY$m7>+wflQG8df#*SFLq8HfDv(wa{!*L##=g^dFStlK!{sWC^ bzW{##!yy#Ti;S*H00000NkvXXu0mjf;KS(X diff --git a/resources/g2/track/intamin/corkscrew_left_3_1.png b/resources/g2/track/intamin/corkscrew_left_3_1.png index ae5103541db64af42b891f39d6091ec1b9530815..03009038e604455ddc3a514be4f371d0f9b93bed 100644 GIT binary patch delta 480 zcmV<60U!RK3X%%2Jp+HhNklAy#1DiMSW6aQ{J2>ploM*XTJUFA!ZUQ;x z$s^0zWGtjG(KLTRkoP*z%j%do)dsqB&VUUKu!)Y^2!VE)TK>M^z%m@l(5?|jczU&9 z^YGYwu@NS{q>mDaNRf!!j6Si)$WB+SOewXSm%U)f15plFPcf!Udt${W#yR0N#)Dq3 z7zQ9)NK^fZ`f)3FUrWH?dA$B9b`Z?Ck}wK006QiE1AbVR?pBF%c-5T);x=wRLF`t^ zq^(yEBmILseC9^G8NvjSk1+0Hk)M&RKe#EG5F+>1ND?y^IsXrNqWFqL(0S+a&4w>R WSZp4+>*Ia^0000jJAG}QFS#n!0+c&u5eh84`7`=amk_wEGs{!kfdE9^1a9gzeGgPO9!kJ4W z==XkG8WZkaDYl7B^L%F9N!v=ZqrvZY%gU+8|BH%aQYG$5hXZ8Z@zw@ z1c8vctG=4CZA16eIDd+{`Yo38=Q${_B5K!3xpt!MBHNtBeZk8M2MBd`G3PmMspK*- zEL5++B6(!#JavC#gDFj!Fy;Qn$Xgz{)Rq|NTBWp$^Yg@vILWVsbHTu&8>o0T5M0V`#5&KQSeRAT?Qa5xB2F*H+e z4>vow7Cm7RUkhd<+_aNl(6mN#8}j_0RX^IY)<6J;_U{xeOq00000 LNkvXXu0mjfuu+4n delta 263 zcmV+i0r>v82)hWdJp+H~NklOOnGN3`BMRs~KU>T|!HOET(1R1gP@jwOU_` zZ13;d@Vd^r@mWD8161P&v0|Zz}v38)FMJp+GMNklsR#)cQ+ zQA1Kp=~RE{Ba~jM_qJ4PDYe%1y(0c_CsFpLe7;JAw17WvU=66$LGv&gDyCyl>p2#m zVC+-Wb-Ef0i-=C9K{iz>;7H~q^B^Xc$qbOb#KikfBCI~i9Ql9zkjAm*-uBEvd$uW( zwV0?A+}JL6^^|JP>f06^e$`!Y+a7kxgD%q40m42BGqN+(bhsz6ZD$RzU*v>ILmh5N zZCcnN8+e&QWO=XsY-|+ij_2g?6l7&~Bv7nEt~u|eEmmeYVKXDuC>eQ1h{oj--3b=; zlO6CjM~g%?RW)rxxf7eRtg6i%odJqk3{A9F+FbzQVIh2S#h#4wk-Ait>NO;o8_+y{ z&m9r#J_bTu`Fue_??OpI2OcVBy TFNbPQ00000NkvXXu0mjf%v!Qo delta 379 zcmV->0fhdj39bpSJp+GSNklF)Ml22?D@{t#q_uzbWjRP@7Irh!=psqh zD$LZNj!C>de7c)5Pj$9H8uh}GQn6-Ro6K=%gK=ABi6Rh%Iy|GMB6iWu>lC)@jf|QG z1PRr{)Q}NiQB#~XS|>eFq=8XI$x<|MDUJZaG1(SY(XPXRL}bP^h_WIZ1PT`@@@|&h zsg(@%L&&Tl0)ulXcObvOdOGFkgT_P--o`>Kzz&gp=rHkmtd^tdhFwW z>`1PS>PGX?Pt@4Y6}iVgMZod2N-QI(T3%LpehQX$`4B80 ZgFju#`^xt&ix>a^002ovPDHLkV1gl~wL$;@ diff --git a/resources/g2/track/intamin/corkscrew_left_4_1.png b/resources/g2/track/intamin/corkscrew_left_4_1.png index 2add1a7adb79437ae6a3b921727a9f4e41178bf7..eb3f4b7a5ded08e5f3e1534a9a5ce15262e20130 100644 GIT binary patch delta 688 zcmV;h0#E(r3*ZZ|Jp+G^NklTNJ z@&b^6;tt{WI>R^D@$(gy+gDsH=RWr$iuGrEyzA;SZI1^jrnEaAPvXfTZH`Aoqfee` zYdoeoIbM_Uj!j4f;&{;HykT<~$}v;u8#a$-n8e8~^ys!(S~Gt&{2A{qORBJiHF5?| zGuIy%hm=oXn66Y}9@$wIq}&WknVBH$wV96-RA5}V;|-gTgVeC)NO#+;O&Hxu2m_dV zo3M$hV9Exo9be33Z7I0M!}^rR z%%~VIq~I-CL8nJd6Tg4!ZF{3EG_NiT?EEc(!=@cs%0&e~@12U9JI~4G@rZ2-Qt@#} z4`=qqOI5n49=@_*Ekd%IsE!MQ#mk|bOJ(suJ4NIBOnra0X{oDnu(B+nw82R^rd8~= z=U4S|XS47O>lEA^*3h1g$uca6kHb1!vuDFHOxAMhJzPDIdMCZLPx0mO=8!tC#l7=N z&ipbsS-LcYJ|G+MMINwNev9yowbY;E=i*GS&WZmaf?BmB0&Pw`=@1Lgfxt?A3(XaR z*34zk+jW1lz2N|}E!1R&DRa6H!eaY~i}}1SQ&f&}pS!M3@wPpUMI@%1_LK!bvv-SwGpa3c zERP%ZR5%=^v3%W;DMBF}u?hF%hD_T3M-uA6FB7IV#(H(YUYURSY-4P#z=B(5ET^*K zO3xmIQ+c>JOu2=NSh-)KO34|PcZfxL$NWNIugp}>z>1+874(M8)7%LeJc2jV=*m## zLx=>}k)2b3Op6NBMLN`m?vt6Dg+ru_AtdVV=3Z?)FB3aUH)K8xi)w)h7`kr?TPAB7 zs21QaIWuiCG46kfWW(R(J|WP}syb60gP+jrv=?)I$QTgVpU^p@(_SjAO%n(TLM_uS zd&$DWoUpgLnB6OjZYmwNNV+;(cW;CRV#8P$?e045AuKV~x~v+?SKoI5TtkuZ3c$u3 z$;;KV<)kZIGN*JY)fX1%nle_^IqAaqvX?_U*Bna;2jG8L$9t!Kms#4m=ETZgA*}Vi zi!KgXF-l)nzc{(t8uRlTb8~1zLnM*R6_{Cuk3&0K%Q*kmq~3KcXT4}T<;hDf9&208=Rm^+`GOkl5PCirra;ZBz@gFT03GO}tUGeyd%b#(33ZH;EdxG@? b_pbH_^Eev))}oA;00000NkvXXu0mjfyS-3h diff --git a/resources/g2/track/intamin/corkscrew_left_4_2.png b/resources/g2/track/intamin/corkscrew_left_4_2.png index 1e63374bf518dd8fb63012a5f4cc40c7c6f8342a..e603a333b1701fefe0df00192e6cffbc8296a940 100644 GIT binary patch delta 366 zcmV-!0g?Wt384wFJp+GFNklq3}vvI&aQ=0l(*t1M0{q61BR!CGj=X80+KVlqNi8Pa~)2Wzj> z8_FV67P+=#a^X`gHxJS7fYL66Ufw5)<2JZ{9t_0+3aUPqzcEWC%Y}V&wW?-M$B^x9 zXd)oRM-r4a(amNB9Yb%iD=KFgl3ll{K4%xGpPsXPU&_`h_v$JXY^%>$W3HCSn0w!aDnrvVVApigX M07*qoM6N<$f`v7#CjbBd delta 370 zcmV-&0ge8l38e|JJp+GJNkl=h=X;{5r6TUa1w57^%~=acW1wI}pkjX=3eWo2Z9R-d@e1Xz zWPL$vTp^;yYnBNTbtu~*JY_ARIiT7c{^@ALa%BxprFSgB*9a2+eAv<47n?>D6;TCb zvFgpa5OBPv_1>AUWe#9V?RTs2sGp)|F+;(|C^`_#%@+19{><5D9t;bD6LCH*SV}q% zK&y_Lr95S!n-ppViMbKBVXceAs&Ka!bLOVx&~2J6cVnfJU7%*1gi%z4Hs9~iebCkR zkFK(!Xx*UDP028f+m0ORChq&1Lm_54DmoHNd{XpLI3)iPJ45{`3HI;d7uP3*JsRYkR@c_n*D4j5dEm1W3RnCZ5ekV9LvS z+v`TcG^V0W68lu;n3~QOBclDb7G=yhFdf|((^;nqaioQKuzNl;h`1k`X+y`9i?RoX zsb`owYiQO>e!?AyIE`cuvPpEHzsJA{-CflDJR#^ooGORd%wky$Z$Aa`o(t=h(AFN3 zAP)6Sb0VatT5EKV&AqA(P}bI(rihNBF*E%6A8e>n)<2go2V}+N8M7!`_Q&4J+u~Od ztbL)82*X^?!FTTJs&d8G%u2Wx`+yA+;I+0000#~K4>cS3gr5Et&^Xe{G>*K)V19iNdAhel2t0PI327W#kGfm-fX>roPR8Z;14 zzcrE(s`n^52DUB#TCvR7PZ?;2y~|LFQf$PhF`BDA9e^G8HJv(wGXQGkQ9tV@*G?sKi0D)#l$EcR^mOq%VouvO zo6gakcpukpb&81R;4BUc=1aHY#EI3|*F$&>SGxkUEqJ~41MXzU@uJ43n(?2EKO0EO Us&X5^lK=n!07*qoM6N<$f>k%NfdBvi diff --git a/resources/g2/track/intamin/corkscrew_right_1_1.png b/resources/g2/track/intamin/corkscrew_right_1_1.png index 273ed766d9fd52d0f4fbe7cc889bb67daaec8887..f80fe5aeac5f05c3879bf888fbad50c08f477ca9 100644 GIT binary patch delta 669 zcmV;O0%HBX3(X6#Jp+GxNkli9XyTJI%CD5oI!y zIO7i;{TipVv+CB}FRGS5Ve}UaRMCB^Ql2LJR7s+17XxLBWsid~T5Eiax#M0%@Rv!> zVw=X+Ol1@Ec+5m4mmS|Ak*3=B3VP?1_!?L`MxiK%gz3zvEr@?C6vEtCLc*3z$B05$ zt&Il0MZeUN7}c1uRx>ArQD9JoVpwgBPFQnk!`23sfZZOkz|n}r*3i;7=9g4M#u|*7 z%~zsh#$4jWx^vBgq7s`dOD7j}+h9U2VpKU1KH*ZBxgZxIs$=t$=TheLbjdO5+Wb7l z);RB61hD?Rt^9u*7(Jju5_^AcPH;>tD6wA>JzLZ3Dkc$BLqD&z?nGBeju|smozG+k zsopy(%7394)hKG~s3%{O8;zphjs_?}-B0vat*SLjwIPX5LB3Fx71trEC!ZcCrW-tr zQ{}?I6^y!uU4j(fkH4u(?KlFCfwCVW0LSdvbIOLxiMr$sVm~^*<-Cg-c#85P&HT? z7^L_#{1Kw)s(8D)OnQKVK7`N^KvXxX;T|ad|-)DqM8HYCSVGm%vq1Z_pkw^}v3!)Jj zZI0oTl4R7!<8jo%;Zr-JIIVoNqm>QHRf5cgMBgU)m$@Z6ygMV4?T0z_^B$JF|~ch00000NkvXXu0mjf D@byA> delta 654 zcmV;90&)G#3%(1mJp+GiNkl^l z&p*Hs#5lKOX>0W_mBL3@`~(9P<_A>tLui-M5NUpIV}V`teC|5)-G$(3Cp`_Z5j5G; z5}0c}?o$ESrn3ZWPI=ihW~UUZky@t^tr*W!sI}Hxb0M0rq$Pjc`8->H;t`Yu(-8F& z6|%C5$>uDtevwJzJjF#DmU6~2IVXuD`A%jk0TOxuLxu?15+bN16Ga>pLt-Xp86nQM zowhjxl?LqE>dw&`VrHnP@&$&9P}N4EUF3AS!$ZteLH@0eQx*nQZB*71r!|H{H`ZPl zu##~Oz`~Oz0?mKLMwQqX7V*i}5DR{MVXK}fnVf;j4*UDF(V&dZ(EW41HanWBA>w*N zV$cs%u~Df(zR}U8+3`x$Kvjg)h($uogVP2D83_&(_jEnmD0N4DpjoU`c^$ruTBn(- zL5?>HbvQ=IwHguwCGTdU)ECl$7|er-2dMkRu&73qt)PEfT6?mXs8XxeFC48?Doi7F zl!)`XPlv`#ao~l`SJ2ViSx5+&4Z_`??u0`q&EmrE+Z5ev6r91zYF0wid zz3d}ONk)Hf+RQ587mE3oa{fU>CDiW;5VYWX$}J_9_RvouGG0)xdZKh3P!x9~8@1dy z_wc!998wks1Q}Io6?;ngh4$PZ!zVs9y4BscMVV{k(+6vksS7N(Cx+Rlr_Prk{``(A1T>C8(k+hOoiglnt}*!eczUxIST9u_g^IzHdK)HKPmVb$3MF;BR)aTO5ku^}u)TFPpTG_o^M&q5 zUXL-;^Y|pB!Sh-1?P`8Jt@YN2>D{UDKQ+$0#9)Ux5fQpcZYadYk>&evM3?m;#+kjx z0G_^s5xUW@fL|C|+v*laT*}t9w~1|EqQAHo0Una%e=y`-00000NkvXXu0mjfb@8s0 delta 349 zcmV-j0iynt36Ke}Jp+F}Nkl9mVaY0gP6T{em>3 zu|xQ*I=MHia){XxR;?dl+Q$)Qz1C84PHBtjs}?XRMq)LSIOVn86s}B#L00@D#`GU^ zDzdzbnaQEguApLUY;dNrggB*cjCyFKV+^W3?l_sVT1|(AC=22!ruXDN7MGS0TJo z3VVH1`nRnG=28j1VGsV>rA{z+q(~$~IvKXCf`_g}QcO+8!0MOz^x^y&cWl3JVtixZ zunD^}IxRMhIfPYvWxKb+({X1+a>`2#(IpmS(;eAi!3c(6zKq&&0fs2sBL=Vw*Jlid v4F3c?VUQvx$DuOLJHSFIr(ef2?1}pUp>~>I%6W8{00000NkvXXu0mjfz>=bS diff --git a/resources/g2/track/intamin/corkscrew_right_1_3.png b/resources/g2/track/intamin/corkscrew_right_1_3.png index 214553157e3c6ba41c22b4cb96b60c88c5c2cd89..991e2a77e5d17c73f38c336fd332cc84fb5d452b 100644 GIT binary patch delta 354 zcmV-o0iFJy36%-3Jp+G3Nkl1=nF2IlmN$>-8qv>p*ja#=N-A5;SgDj6`*46GP zuo^d-Sf>f2@X4MU%{UK6y4{?c@==725B zux;h*7UHgy_WfGd3QmjlnACdUaO=rkh%p^-29(3#eB=J@3?{z*)M_0|zAMLc$}aCc zhMH<$YT@IY-09`~#|?k#i19ymWqud&C;S@m6T)${8#RbizW@LL07*qoM6N<$g08Ww AYybcN delta 363 zcmV-x0hIog37!eCJp+GCNklhf;wZ+0Jf?IPLr} zVCds$NJ`{M+e4q9@}ss|9;%h}JDgn3>XGkM%K4!Gyn^&gDFG3oA%f^Bk-i90v*&w) zVGyz*7|lg2=NGu<6a#SKcer_s5Dl2x?);RZq&sH7drV;HXc&JY3hNC(F8>>>g>8%p zhs5l34Vp89buor-Dc77&Pkh`!QjL6<5Z-V6?Lku?T{Yd(fwE^G;mUNgDIGN!Mx!}R zF`F6UOd7+nNRbgciq%kavbab5rb002ov JPDHLkV1n(%uc80| diff --git a/resources/g2/track/intamin/corkscrew_right_2_1.png b/resources/g2/track/intamin/corkscrew_right_2_1.png index f3b242fb230bf057e583fb76ae28c10388442390..021a359ffc35d81f50038db2b03ab4a1f768e018 100644 GIT binary patch delta 481 zcmV<70UrLC3X=-3Jp+HiNklN{+75C{cH6ezD$@mwLuG$0=sE1ftQne#n0rHX zL~FIOI$v~|H3$r*h|^)hdMqu)k4ZgxA{q`7Rrfi4PiTTE#VS#0VZw$d$w4)gO1WIx za<5Ut)piev&3D8yP^Er&FoVMX)7QY=+A$2C!-pNip_RglIf;TQ5EI-6f$I^Z%Uo*@ zskqdwCuCD^QYwEj9WT}pu00#>nuC?O?@s30XsK z(H>StnqGd%oKscN)~ie#s$)U`{E!*YE9M^n}o=n}$+@XK6TPb|-7xO37Lbt6F zjgA-xaazI! zr3REr*|rw$m7}jgDi4;4iuN8 z4VVE)dyK`vJ%(Lnd9wX8KD!5-`%T`lyibNvYdT?gewuq0WzEGTd!FuBw-AlzL}x|N zt>;Yek+pU4z=2M8EM&R~OH#O^zCu_^but}4W;swO(xYC%nvUSHt~>t!DpOnQ=m(@8 zd=yk-%!)yn=n+i*fw@7DOw0#mWjtLcDe@q1eR1Ijkc5}sj_UESX7Np)SMte?1U~s| cTEx4}zcSHr!gS9S#Q*>R07*qoM6N<$f=(sz5dZ)H diff --git a/resources/g2/track/intamin/corkscrew_right_2_2.png b/resources/g2/track/intamin/corkscrew_right_2_2.png index 4dfae3633f5dec7b6fbc3a47a249f7d48e6e3053..7ee76937eee3b57a41d4db57d013b5c33a9cad93 100644 GIT binary patch delta 288 zcmV+*0pI@82-66#Jp+FMNklYAcbz9s>jN$X( z0OcV+u|FQ)Y+1Mci};%Iw%@>krptOGfSIOs{~$+gvfRpGwYjT)2&#E0MRnOOpvB@~ zVWZ{(X3c<*zjS$NZOsAi{Z-_32+WG!N~L_P-? z0zK&`mgn=%>NGDmvT|wj@=eUSPRn;b=uxKSLT&=hSDCA<>+8W6iEL~mK+ds5V;?3b z;TrqqW+MEa<@=7*Mf6b*$v$c~bXKqLB6o8S7gd3se^9$9QD=Y7q8WO$@D0DTGyr#B zMPS#J8KBMKRRq|!iZuyac;+T+H%41L!(7J#uUFQf^&|!xF~(@w1gl$Yh!I$*5*19x zcfh|DE_6toG{RJRDxhiT;F|dxP|H*?{BV|`9eP~kRDfuwh+zI)11@rz&wX6s@tAsP l65P&S?t*l97o-;k?+-M;Faf6~bBF){002ovPDHLkV1n$Zg-HMa diff --git a/resources/g2/track/intamin/corkscrew_right_2_3.png b/resources/g2/track/intamin/corkscrew_right_2_3.png index 928695b08007881cb9ba920f7d97e32413b60c16..67ce0db88149469d1c2ae9027cac29b6af8f3e1f 100644 GIT binary patch delta 417 zcmV;S0bc&r3DXI%Jp+G%NklnHf=C^3+o)-OWMx@4 z`t~&p(Q90GT+hJQAK;6+UY|_;%6P@s>FsvC)S7cXQi?gobR4;qmGQ%VQ{_lmnR{zK zy|G&lA;gqHpP-G~reY%<(t9(T=FHZGNQ@HTlhjd?lX6p4Z%uzo8I%3q)Np{8NC+Eb z*4cDgV-^{jQnGo7r@)pH+iG&}n{0QUvQSBf3`589Ae8#(7DP-G%-AK@bmiV<=0H4* z)gGA0#kvxjW1&3f0=w0sla&R(AW6ntBr7pM`-nOx8c|p5jrP`=C$T%(!=Q&_>uzjD zHc@BwF6D^b-3Wi^0HI@G4UjCXV(O29(v+ZDTtZDdQFEJE$1E>VP|^Sz$o;pbo$6~8 z8KYjFQIY4q*4iR5u7Q0xtt&n~QESD8*OgQ=^f#w(=^=SNsj~fnCoYTR3_kDfXLOcv z*%mo|8!?3Ck7D*bV$CJ}>)H^HQuKdE|6x)0JrZT}n~cS#DLGNbt|u%00T00000 LNkvXXu0mjfhR4ha delta 420 zcmV;V0bBml3Dya)Jp+G)NklRe)jHEjnt zhAb5tJpUW8l=af)bW02U_pXftdi zUGUeVB4#qc7isfIe?2q9GsiAa(Qh1>f@p_n&`#&n?#kmT*i5sp26Kpn+( zw!fj`zXB}) O0000XA*6pIcHP+6;1^XuHQxU0SE8!3fdM6LBt zi=2@l-VKQGU8fH?(O0^wdXguCLX0Vm1}TQ%Wge%*ZS#Kj2xVkeY@$`AqNZBqs7IYB zpp$M|i*rXQI(Y{*t0E2wtUW29GjuF2jm_NqQqZoxG5m!DzrM%m?P23cSeo| m7q-2;E>Md5zCut8EAj@|-Q=+M_>va@0000`Y%uQO8y+IBIxI>Cxm5pCK zNCG&A=xga6BqID}<(H+oU-P0c9FaNa`d$y9CsFg^CMp`SM!nzP8?n_SVm_wL*hT%` z3G1g0jN|5UNRI^Ny~<rg>h`!&YisL*R!h#Hwj(&CbW3I_Ct-#&g8DFJ0WcA; z6T%oOuv9qE@PD%d-I-0JEOR`MLS(Tqt9f*$o>YPDZ*BFh4Iczx7RB*pp$4m7#|sNR oW`wO=PB*C4oUbSn{kvFw0MhI312Avz9smFU07*qoM6N<$f=qvI6#xJL diff --git a/resources/g2/track/intamin/corkscrew_right_3_2.png b/resources/g2/track/intamin/corkscrew_right_3_2.png index c9ec9118332b15e4153c7c650d9777ee20924399..77c618aed90e034d034d380e9ad76026496712f1 100644 GIT binary patch delta 702 zcmV;v0zv)j3+@ZBJp+H7Nklv^c4qvn&DN)up&atn{DPMLqX)ESskeafh2pUjl= zq&Y``5Ujyj%=cw*?x4N5UF5t(m!!-nQ6|) zgg?*GEwe4&^J;&4sdl#ujR%sY@~mZk7j|p*%QW~d*}J{kaIBo2<~7a8s+ViBW%3o) z9SAezJCG2v@t7dD0>cdXxHzw|P0%|8erCugb4=brzLyA_aP)F~9OFdNhc{t#^kH+L^a`)8K!@e)Mz5*dg}#5d1bIOwh4R z?kCjbwE^Xz%+$tSlbe%6LA<%o2VQ!^{Nm&yOkd2)ZiGck_Sb6%3Mq#m3QuzLj!{QF zj5+RR{JfHP{0dB;10Mo&3e6a+ODLxOkW$6qfsE^l5sh(xdwZOh!USOnEHRxGYm{(gHMZ4AIjio9MIqj<{iWj1iYh`0H; zr13Q99k%bD&N3L6`x>GKUI)L$aEJ6RyOR^=yDgj<%Y&g_>${Ekuv)~#Q(V}?fwCL- zEVdZfvA4fmGebuMk*w*&!cIruvqxwnGd@7wTOy~Mqb2729p(ti%%ydv zIT6lZTv#U2+)4TYec07sIgQn*)dZM{oEPY+%9+a8u z=rmtmGy6hu!!GFDEvAHCNj}b?%nl6UP6Y)lDznHWLb$cf^Bx_&Op_S{^b)srv&3X( z!hs2IY&T0RTyB5Duk2Ko$#F!}BbABH@<~hK-ioHjs&F3OEuDJT5>1cAayw68w41uc zIe|=F$!=5yTuf%+y~WOD_qGo+6z2Av-+sStA7w;k@~+A<98nH)2RyIm*xrlU@^H6Q z&IsXa-I#RqXjyWDV`yn(y5uhLvQ(JY=e#fqH+hshN``-Vf^T{!_D7hT`CUQZ82%<$ z&WQ;+P4&h!xJr~e2r^IcH77ZejB<$}bL>_j$D&uOVGc3{Ti357Uc>QTGB1p4O6Kpj z4))6!BIKq^&GeC@<5$m4$jy9r=zJV4Bou9SR@%XY=SAwJhPL%iZ<@k_FVS_I9vJ~Y zllxI*u62I`ax5rfWY|B0codnl`M;%yU<=Z9J>D+~pVAv@H#WzX diff --git a/resources/g2/track/intamin/corkscrew_right_3_3.png b/resources/g2/track/intamin/corkscrew_right_3_3.png index 60ee3910ff5f3e0bbe0cb979f7865970e3a68551..a51cb0ca70928bf83d25b3b817f1805c5dbc8e12 100644 GIT binary patch delta 486 zcmV1 zp+^*X=?v8Ru$xFEglEmFy_@K8_Bf7I&NW<05&ZNHmsLd`;FNy>o2r53#@2(w^?x`x z?V3gK)rDT+q6T!BZziOAjs;8+w263AgAxwe;RQWmOa`(wlIAv{GsXGSgyr&6n|jGR#L9ly@taV7Dkw*$9!J>et}uc@F7U9x`us1ZJs-@ zIPR1g{i;lil zF=5OnP0Wo$_?8Qta1umF#l4_D!oyvqoRE8ESPn02goO5s!cuS|ZN8&i=b$66=L-o* z`h5p-;r*A5-Db5}KAz!EVLZVJm*R&#RdjRvmhcQ6qd;C6yW}P7arnkL=F73LM*Z~t zI%PH<58&^76=;)y@$NSmX@<|_8G1n-#_d6I$gil&sD6CBfnvT|MP&z_*(rM@O_#UX c5dWTk00HzlK)V7;82|tP07*qoM6N<$f&<>{zyJUM delta 490 zcmVj1#APoNSQ=Q7J-Jv2(_MS z%4HiOJ1G~sJ>ec!=i@D`T769AidH3qZ=|&oRrXh=Aq!Zp;Kfo^@t?3+z^^FFXB;Lw zdKYH-QU=<4S8gQYw3xrNOKS~r?-CG@1ExlI~lh6-g6GxC7tXO1nr@<2P7I*RlL`y(8c8N*@! zgOn}34Qx#m{xyHjw%kuX!5$q4YJ;cCGR__j$!0?^%`0UQJt~J*Yi$iMT(FD#$H2O> zE{Hkg=M8S#z(24wtW+$3A%B81hJrEB$YQ?p5C*MwH>7N4pEllVn0t) z1h-Xowpmu5Sb0Q{K3K*&~`S)=F3)1Bl#$w!| gYfWxZ2>-qR1aoLKm$rny@&Et;07*qoM6N<$f+g+bw*UYD diff --git a/resources/g2/track/intamin/corkscrew_right_4_1.png b/resources/g2/track/intamin/corkscrew_right_4_1.png index 62f7442b93c6aa7a2dc43869caea42767887ffc7..c19b143b8ee696ddccc64a38c03af5baec4b7cd6 100644 GIT binary patch delta 655 zcmV;A0&xAH3%?7nJp+GjNklO zMXQ$ti4S-e$+mMptn7aI`VAxg$hEy%z+bbX;Id`g~cJI^uFe#?96L3VBLSO1)TQ6T2_#_?V@W# z^4>Kr#g$6YH7AgzkEKpR-i!11izgAta*uFV7m+lRrLEsgn7FxsN?MZ}x?2?>M<*O*O_=sd5Oh=?l_h8QvLF(dCW3!n1VuV$B z?LS2NM0Or6FeCb**SCBhpBW1T7Cnwb8~c9wUdd@kx5X@ zK(sqO-j43u6@y-?RcU)|!}V&R^&a9m6Jo7!?HCF-^H1!wd;gyPhY0?|EsSX(&SHi< zqz1+5YzluvNv+SgGb6LFsh#^rX!s=m9Me_$*|p!0AsPXUF`Lr-HP6f>hr6q}iHT=3 z-p3>mxFbi%Z=dIgF?bl^)c0gZ{{{iXwyvvkAmW?vtHVteAUCXkmzEOCfhXVXWmN-_ pxBJM5KvWh8WB6=Koip#m7lnAk{!7>t4FCWD07(Z$PDHLkV1g+xLh=9r delta 623 zcmV-#0+9W`3!n?IJp+GENkl3;1u&%O;h!iI$T4h+q|`TCk}~t22CUn?xI%wU)VG}YBe$_95_2Cu z?I0ngvF8M3jmK6`e9Xz%=NsP|hm_5md$um(+E7;SZ9H$D99q&^eWETOuX!Sf)bem+ ziMXH(%LN|rrH*x8D#C>sB8J*n?-oP?7b3|vfsl`-2$iBvVvY@cTt@6d3-XD$WFC!u z22u0GxSH?+ucv>-UI`P+bai~|%T;lTfN(OxWAwHROzQ%{9!+7UV%I9+h(z41m`Boe z-4-7pLR^5PCas6LIRYzzP>w{5n-cOG@kAg<+zVlrt#n=inSqpq0J1RSnBI$eLSRF> za-MUeGFM?b#z06@ zepo+qV{sLK@~FtDXJ$F~$RKBX$#fyGoOB0#AgwlP>KKzL%Y1+T2ZQ;qIx{}t{`(wI#8Z(0Go;&~m002ov JPDHLkV1lQ9E>i#i diff --git a/resources/g2/track/intamin/corkscrew_right_4_2.png b/resources/g2/track/intamin/corkscrew_right_4_2.png index 687dbac9bc7e4661438fb886eb7af79528641d27..c6f1fe28fda7f0197a95d26e6985c22cdc8eb913 100644 GIT binary patch delta 459 zcmV;+0W|)L3jGPNJp+HMNkle}$a+dP>IP&}zj5Z1Z z?nJDm=%yv4wU2h$^z}pM<1%cpH0XaUA2tO`e7xnM$pKZe z7@Oegh)f$lvsW8cND=1FlRU&~P5*{TZTn;c?nhytr>UnU>3p{F0jKQ+!+U6?C~QXG!>omEZaX*%WedmZgYj`a z!h`ELH39^RSMq;5@yIOPmgOm)hyeMJPljJd)I~qIuKsCY>wnEJIlpmWY~9L*vs?Kw z@WOF;VRHX@?CLtd;RQj|czEGK1k(`FZhi$JWdzhEhR0iGxQ|+1c@SLAzMVN5F!ze( z9u0DPW;c9qzk_J~DEv9V~}Y zcV3O|iB_X=lNTR+LG1y~ycXI6D|OG=*0l%A{{V2&2p8!@rF;MY002ovPDHLkV1jZH B>G%Ku delta 473 zcmV;~0Ve+a35yD_Jp+HaNkl-?1dlbn7XREeRM;?-2)R(ps zAn4pT$SosMiYrbjt>tgX%U&LGDo2=1?m#M>eNY?Zrn#;{REw#}Ma#YehbX9ZC1N7C zWwEkTAffcWZT62thVfAe^rqX!K6QZ%TiXe2xct@CD{t|3flYth^!UJs(8&p_T%EiY zG~=2LtOcdL*l1I0YUQo>(*{OdcJL;@xXZd@ukE<&k=5hfME5|woW%?|Rhw2w(Hxu94go~T<&tQLCCdApjdLC*!W?bv`Wx>%myO~D} zh#V8*d~6sT+dqE>%_9AFJjpl0z=^gRoH?XHe~<8}Pga&3bxV2jK$J0k3y%HD;T8I) zcb*B?#DY6aa#``}HS+sVbmEvoL#Rv~8xTCioc-`Cz`@~oPRYox8Bjm)aLtty9{JUf zvV@+0jf8FFr;)O%ANYCQkh@7A@xB$ diff --git a/resources/g2/track/intamin/corkscrew_right_4_3.png b/resources/g2/track/intamin/corkscrew_right_4_3.png index d00bf2a3887b5d79248372f03ffbc8ea55ae0174..b26a78937d0928733e0cb9d1a8f3bd16adbba9cf 100644 GIT binary patch delta 526 zcmV+p0`dL53cm`lJp+I3Nklro^gwS38StyU+oQu?1TOGGJn_2Jngv@`n_jd0Y0uwJ6Wn+bR8NkfL-e<4bcS<49kdb&p1BNHbzihAJPYH=iC`L%LO`9W z#}%GcH$GY=jHZ81FSS-=9BNK+<3mTgGftQ!xML}%hR<>H8+_>liU?Y4g~E42P7i>d zg!Ye0tg{`K-WO^PLD)=a>EKX@?#;Yt&WAsyS+e57dVA)NDM^y4j@}yhYx#EkXIGNY zR(d!78vhuu@Gq!BJL7dXKYVL_|C;u_{LPjtsH-E?CuHRrC=mpFFE>or^gQP zrP)(UM7805N6i~`bG?TuN z;&_QNdk|~8*td+MyfXAqs#6=+$3w`QjUvDra3PB|3q)bsE3?bv@ z5a;6z%1k;_dWF!>3>1VIs({6}2&}qpeSday~Fix0KN@p0sMUV``rqf)9ia z8Hz2}=Bk-v-fr-V_Y+ubXq~5axb>r%CQVHS`(xesk1;^{cArk>}-aFAtS6>+b7M zDOKNW0)M0C6qL+%!NLgcX@?PRhI8?Rd%~>Ji~v*r-6c^qs||d9__3gY$Z&s< zT@zX#&fnul0|73x5P#qb(aRxE4Zsc(;856~74`4s|M7pG(5$sX;3JQOJjRhw%@;t= zdi;Q>eIOxLYaRP4&p&Ehb4(Mzh8kms@4oZy#+{{&k(wn;__+Z(-Mfow8?AriVbV*$ z4p(TuCbkkkFXlZh^SCalccL#1|DWJD41yMUgx0Vw=!~>3=r0xy_y_W>PIV0*Gd2JK O002ovPDBK*LSTa4SOsPP diff --git a/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png index 31a01b8fc4378ddc98e0ff0b165369bb74cf66a9..ccc5092ccfd2b9427ff6640427d4dbd6137c97d3 100644 GIT binary patch delta 186 zcmV;r07d`u2kr;3Jp+H7Nklr9+4Q z9E8!|fJ*dL@elFOHlD>%qBgp@msl8Di>1k1%m6BEI^MbG>`7;N_cVRpNz>% delta 190 zcmV;v073um2l5B7Jp+HBNkls|dnp_cOeG|XX$CyJrlll$slgmqN~Nt<807*qoM6N<$f#>cw{!F@=W{fs>p41x|G`d&3*qqyPGb!5ey5ZUMwr?$T#5ULF@$hAMqBJa zTx+Mc;bCcsEhT)ftx?^!ckwy#3)Lp4%)JBmT6lcCMI)+jT~mMS+Mo_uN)tKkc~IqR zKyH3&4a7j34WQINI-pMs3egzV8)yVJ8&K^C{EANInu&mz#j1PYt_If9Ha>w>HxwI} z@ak5)Z?<2uaBVXVWUb$H2)yoV1MmhQ6Caj=+0$S}eIqeFumwtyCq$-I>M|gd9mnPk zz?Jiwkq06!N|Ap~*TzE(IcBB1(tXC!*?YOB-DTI!!$uaq`yjFaE`vx z%n;BO+WU!anfv;K)>^J3ZPb1F6b|Ks%y!t(+l5rkW-L3lO6Ws?@Yk)f zFt0!e>nRMx4t5CycY~2@hN5&e8Qog657fAnkb27_uyc z`#Z>BY~~7M-AJUUfw68BJ}8Ip2}TrJVmv%+eKur*5R-MkeOzQ9S`w*$UF8Xisb}2y xK2InZu>|1#eL*9HnCShVa>o1gcjfXA`~bClhkToX%b@@O002ovPDHLkV1ggul7IjJ delta 293 zcmV+=0owlF2-pa)Jp+FRNklZbA*nlWKP`_gJdsH@_ODkAc&|ClJb<7>UhOb7`97wR3wTp54ym}s<22cA!TSt1cb0R#>nmWmJBi2Z9$gVaKF^ii81J;cQII_@S{fBf7 zKp|q*7NV0rKrSdRs+CB|%bd+X>Cu$H+BDB3RdcL4itslHDccfB{7eMncuAP)Mkfi6 r01?(@85Ie3T*@7B@OSvI^B?#Hr7VfmzSW7^00000NkvXXu0mjf1OANs diff --git a/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_3.png index eb1a3473c396cd11adb3849a6aa7c4e5603a5602..8d011a7a3b34cdf8ccdc567e8fbfb5b486cf9341 100644 GIT binary patch delta 548 zcmV+<0^9w@3e*a)JOh6M0!c(cR5*>Lk_nE3FbqX~|ErOOr8k)@jsv6lHqch1wrXcA z0SSsK(Xg2X9|23h_Hk#&&CM}sVXfviNlk{g_l(>yQB$4WM$(($c{ zS2vmx#N{IZ@y0oQwUxLJE}W1zm8^Pu?}@T(R0P{$@S>16Dc^s@C9xK=;#HMLbqlrM zNqI?;k`i3lkcFMf(2|H+S1CTuS1nI4^($IRHUM>IkTjp*z^;jf&s2RtDq%gA4 znT7jmS%h)m-H3l89XR~m2^cqskpaQov5e7BbXcup450bg`!}h46j2nLtS)O%1(XU5 z&TNG_Pvo7yYuGY3?zpy;q?fYEN)?2?!;n=o0F;e&1|UA(hG&5>jqIwuuG)}yERm;x z#I4;CPKsJ|XY@QD#_~7qMJ}bH*P{V+K;?HMUsHlFK^+*O$Gp|aUf(91TC}2kbZ5jQ md;~Z#x4s+%{sZ7n4^Tgl#Kqd=4yV8X0000Lk_&F*FbqU_|EpQn$I4CCB=z%RNy=$mG~K2t z0S9s{KFx3hw_Ao^Roe3HR}i0kG)R6C(uQks4F<`tKn6e=;1;)rw7sI_0N`$`GF-eX zx%~(LMSq|kQ2OG$LGsgf!~&2?pmxY3ugkJFg*-|53#SAc(#(JQARnIll=38n`T;zB z48mP_SUW6EC;LYE0wbSI0!{#rV$%>e_PO4}_SpHo4_d|d& zR!4|VeJM)f*VwF5()_GK_zG|e!9Y^TC7iN?yVt6vG5)u7r`^36kW-RiYNd)YRbpns zZ`$7{;sasOaYW|I0-&ecKTuSPC&m(_y?o#Gh#~_OF#*X0rSx+O%=!7L=M}(3kD&em Y%Dc9d_ihf$mH+?%07*qoM6N<$g5fOzBme*a diff --git a/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/intamin/flat_to_gentle_up_left_bank_diag_4.png index c755fd2899019e1a9ac0e766b9ca38232fcbc0df..edc97af070385cb60e09b390456b58603c509d2d 100644 GIT binary patch delta 434 zcmV;j0Zsnb3FHZ|Jp+G|Nkl{JN3%i4ab_cO}PmDTZ6 zQw0dxf-s;~M`{fdi$F3es##NMOdD;cA=68 zaVApk#7GxR0kj=x0H^Ror+H>#=t*f?I~(Ca6p`K8>WO{@zEtgXM-lbFseUI`WR1SA zH|mEAMbz2U7<(L9CvxoFqdO7@YpsN__3kv$R#~HWr3*o_MD#o}zt5(YNLy%-O_VWi zDr)sYhAqQuj{|>Y)r4VC-$N#{AnE&#woXJG`yTXSptH}&>9AkNxDN!CTw~mAo~RXmcUhPxf+t*?wM>MrUdzk4OUtsb;Ji^bHi`Z%j*1w! zF62N&xVPvZzu-)+m%)ynz6$K#uLbj`0EW8)K*Ko$Xr>ywpLo* z2|>bmm83l?OjhD>1=XabRxu(-Qm+Ti<`KpWiZf~<50rF}AK8EL4kO*u$GH)SaB7iE ze^NvO#WJEW1kr$l>e)Q2nMKG_FRC6W5V@h1la!-FFt9;^7>iE##$p+RW6w9CSk40X z(as5?D`lqWgPQZo9=$upx?9CYB7@L__883Uq`ffOa`o)%99QX^YpM;xDvOF*xyW*f zUV9vrrxwHT`__MTP~K~7n@ut(5`sP-Iqn*{9D6LU*a!73YvSm7M`cMd@qRbKI3zpr z4MLm9|J!vPq!s}5a8uuYaow}--$@dtdOcoBR-C4Zg>fViWh@SIHDX)`%Rwlw#t8a= z#|TO)U}$% z^Nj~A((wrwqJD4{<^M=rjXf|Vrp*W#p!T~G!v^FB&j+Xv}rPzh$58F}$kkYluUt(x$|DwkU;kudcF3m*$i`{fmEg@V-+@0&os%(-a%4A{6cWRM0-h?T4=lUue^gwqsxq8Mn%#Eih%{ zicmR2f&<(b8@K7$wWE`b>wwSQSTi9Ppi-L*2V5|eYTo`?koTSJxp_xT$Fmjza#414 zGMzy`xO8_a=Ln>Fp z(j9^UCV&@V-mmtpROWvr@Dv`($w^}oJ8D0xD_#B$HOIksW^{iIzruBAXj|6=FBrbQ z*0U~zyV!jQTy3i?;#01y2{ef>Kt-CY7xp7A%?rI+;Ji67bfsWPKRksh?f}NfOr|Uptv5`unh2y$~<6Zw6rlMoTV-j*KY$d-3QhNsDCQ@WMDK#pf4C) zj~b$w?Me1^=`JcBKp~%9z$$vs?>Ctc;$m0VYj<y3&fSI|64@6KQTh+U7%c#N%ukai$OB4XB>c4-8GR(8qM1*)`S) zR6xC}S^g+&UW0*X=?P3|b4(;`f^MS=F~9nv)|y^xxb9N))+&EqBwYq`mxY9SSS8Up zPxqTCOYyYT(Q$D*&f_l{E*7R^BREyfk>Y{J#UV+0a-t(k8OuJwMsW7P8SWQR1vXMH z^?{NI+v=G+mWkN@!Au3xcbSDjgc+-~Lhpr`DLfr+7`3*6B3C?7>%QfWs+Dk@?Niym u^IeE3F!}h8NVOmj5dL1IDg9$1eT83?(2E>cQRL|W0000ztTF*fr19v8qu@i0ZhRVdKOcygP&( zrczb&RMn@)s(yA4&Cw-H=B5!XrB=ISfQ5KiVt-&}>vl~Lpj?0e delta 184 zcmV;p07w7y2lNN9MFW45ISvCM3`M#B)xa>=R~a_DiCHr3EJ=|fPe>H#KiS5H%%5-a zBl9Fe-rSy)I^CHwC99$8|jidJ-nm}a+#leL>kfy}! zsWcAOHnDqdqEEG6oCPjPWMMO+sj^&-cedUP9A#|-{n=-mNLAJDHm#*9 zg2cnvMh!>!GWO#*_HO`dt=};urCjQ+kk0_EcS#Y9ZU4-plSPcv<1(W!F{YeXc%-z# zV?XvwkdEK7EUk<1569%iTw^Gv35zry@QE2BFuB0!y)m~ISlWLLONuB)MczdqALEo3 zNO)k)EFr{M&0G2SJ~RNPf+#>^b;#f8xCg9Hu_RMKIZhtJlmJ0Jf1KYeKX?*zSC9Dy zoxw})tJbr=0Bjn1wx7ySa6rRgf&zjyCO{?SCjf8vRwn@GIl%HAKurl`rYSuFaQ|%X zrwQ>;0Q4!G)o_0wlcl0U&bo(Kx1Ca1o7&FKcss1MV)?kRCgWO(HkpYNK;oUz z%SyWRy?%RQvKqx~YL(NKFf2j7SYdQ}jYq;sfeSF;^y+~rlL8!g_JI0Rf=1MtDW*7J zE6fGg0(zxp65lN%;{{-1lKoepEJKw%ecHs9GJExJBqbYJykVGFK zFnY7QBCO%dTGn-4z5&doe8=DzQ!a}^J_CpfCu7v*GaX9A8_^Wg>^k0NNQ<JfB8{7vu@Df6DLG-H$nIN=e z$>P92a>^3`(yld-s4 z&|6{W-a`aLq`d#+o2ZIw!^>sN$MC&Gg1Nr8FTAyXN4Hj zN0~`l5Aj0T9i>pw);3y72VJ6rU#OZv$PB&2DXUdeUjKTXND+S$oe10HqR_=$9tauG zP~EvxSVo|s+G~0sR&wR6<@`V_>>OmQEEtijw%&WI;X=7X6w!=lt(0SJZCiJm8V-`$ zZ+8ZQH*g2J*TPWX0^uV!8oxzhMZ8g)B1{&FDc24wxE%Ce%?(uHmY{dPYy~o6K?AME z8~I}xC~9FNwc&rMh_mxNPGk*zKhV%nxwwrIfC|obUo~Wz8Lm>Zb|XfI#4M^|FBGDq zU`uURc^TG>9rY@&s+b#>a%GJhffmb!VzO&s0`z*lSXpG+ipfH#g*uLm7D5d+^N`L~ zXuk!5D-oA~E&^sY(c{VBbfV%cpU;TYm*=v%gM1ONU-Tb(d-sjD$p6?G`~zuAH`aJ$ RzN!EK002ovPDHLkV1f`D#6SQ5 delta 422 zcmV;X0a^ap3D^m+Jp+G+Nkl=qSWU*LBs}57ib^?4ys-d-XTkN2^TiXghnw6kr@H z<`cP?d?vAR=s^L$Wzwh6s)RvbNYr8Wa3Sw{8*ou2obQpErCjo5+fc)8$uUVfkfO0& zY7Y-uv)w#v{ZxMu6O{}3smfY0dwUSlF>of`2>U81w1c_bt5+1o;LSSTh!we=SUyi|LW1J6SBUivBtXlu*kfZLoPp#(iV0B#C;ukGOW?EI zGL;PB^=BaSm9u*Ym@ey^IFb+?y%1y}yb0b~`Axw12dy5<_C?I_^2^S}e+pAS@K-8K QxBvhE07*qoM6N<$g0ShyaR2}S diff --git a/resources/g2/track/intamin/gentle_up_left_bank_diag_1.png b/resources/g2/track/intamin/gentle_up_left_bank_diag_1.png index 84b5325e35e01238cc1d1ad2bb0ca91bdcff2b86..7cf978987aa18ab113a79f9061dc5ac229bf3c2c 100644 GIT binary patch delta 518 zcmV+h0{Q*D3b+ceJp+H{Nkl1C2e!tdQ2r05w+0ycwe%!3mbpt`DF>!0}lb7Oh=2ovIFam!Rs;Jcdyh9GjQKe|f z_qEFcIBgD1TqW6FZ4Qn^8tS@s52A1m5R=X}z`2U&3CErbBSV>+`lScfSpd3q8UtMA z)6J`o?o(V1Zz69ytZyXAN=zGAnDd zXG_e)%AWUVZ0O${L2jE@@2C4wRV6~S`(*o79AEdSFsamb*K*i=11V7{7Pg1|Ls0kI zu*S^pV3Ngllbw!aH*>MP0xSUOJ@1`abbDS_$$hhbA`gBGHeueU&g-@~P}c zEaND_{k~{w9yYB0^rP$pI*a$bF#n(h+r8)C$phBaEidi^a(XHI2v}b8vQ5pMyq*R2 zgNHT(aQSs$XR!0K15a-Tc7oOt0X zJgl@2VduW8%jGNZ<+83{f!DaqUx9<4J_E-N4(S@-lJGNm_Cc#8S>m#MK-+6sP;8Sq zgy7!*M}p^^uZp;+<+8=;+=9o+RwU&G8X#4(ZrkhNDYiRu1stN2 zOuynHrZP={v+CHxWy(04JUb~MT{=$<#fo!4sm^KTtIK%q@R)N_tT4r9erkp_lmf&% zX}#D%4=2xl5yzZoP%k@39b$zIh`07$`ZLBO!<=KzIi*?Q$-g4Y5G%9}Ry#s%?d6_x zPAT#gRVMENt=50YW{PbsU?kMwJiZR8?mlN8XU@$qsZh%8L_686O@$UF&6T|LTGvP)%&VSt>6r?ExGy~|7+gF?>3;}+3aC!J7h?SZc+mnjc33UMoIDb7IIV z)GP)jdY8%wo2ov}t!rhZM+jr3cYu+h@aPGIx$QkY93GXyY}05Fu{;WhygdLKgRm@* zu|mp=%F=IQ(79UbTG+j_qpU*51wt#l!>ApigX07*qoM6N<$g7pt>6#xJL diff --git a/resources/g2/track/intamin/gentle_up_left_bank_diag_3.png b/resources/g2/track/intamin/gentle_up_left_bank_diag_3.png index ea857c1e460f674dc5a0bb4d6c7d83dfa05934d5..17aed2a300ac26042c03c86a02aedbade5624c4e 100644 GIT binary patch delta 515 zcmV+e0{s1~3bhKbJp+H^NklFtwEa~J9$m)B+h8;gqFUc!?zNM zR`m4x`Uv212?4%2oDUZ{K8MV1wqHR?gY2d+Ae8|b;B@{J(g0HV1B5YFGn*B1c?SU0 zFfL1KkgB~V2`?v+_=L4CiWx6Bzco&i@QdCTv#=7gUL-!DT_Jx@JSh?$ur`QApPuzi zS<>ulNifQHJheC;j$B}{2I~COlSF8pBQDtbc^^b}3)qSb_am%gA0=^xh|Ell*n8h2 zES-ggm!HleepIYn3clpTm30>Ha??%`>u>X*R}Tqs&RdtL2e~ zC%r9c_P~=#Z?k_sT$AK1w@Y|*UZ37~J31Mj=!fZUoDOlCBnX6BElAR=Ej)G$J5Qi{ zbMs^y<(4Fb;0UEziw(ItO<(Kgi43>wJo#1V9wOtIsdBSko4tC1m^kk}fz#bu$2bBB z+6l8FokR6R!$-ZZJ2$+EhjN|wNt`i6n45%HsPAGd82Wp1(;?t~98yoT+0~P-h**#R z1>7Ll?Ql&(uu=#0-S!BP9s&-ErFkl?sP*azE%_;6gX}!vqQyF+p1cJ3H%V|t&a8Nn z_+`M|I5o>pA-A^x8^o=h@Ouf?WAh|@@t3%c^D$tB`~@~p{wG#CKCS=&002ovPDHLk FV1h?$^@IQb delta 506 zcmV$F^`B|!V^8{aO}>ATBsnF@HM1vUUQH;t;dK{BjZ2Q?)lldRxUjR{M`x05l?a`YK)V9+)``J&j34!ZR2nW zAZV;3wr*PlAD;pqB%xstPpoK2^sD0k$N790shAUsap_Gr>$k*8l(j07*qoM6N<$f?PT0Qvd(} diff --git a/resources/g2/track/intamin/gentle_up_left_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_left_bank_diag_4.png index 1a4a1ece1c98d49af5378f706ed67c5d60e64c1b..9e1eef0ca01cbd767187c2637354b16a2e2e5429 100644 GIT binary patch delta 377 zcmV-<0fzpa39JdQJp+GQNklTXK;<5&@*|L|Y0BB3LtH^bfDOTV^s@p5LI_BQSEvd%s}RE5n7b-f zH4cp>hm=%^d$$Ua?NPKdPR6I}- zagIL9kV~SdZ58r-#*GOKBD`W97I2S zl;uMS$LGnx<31n!oDbdS!vg0>%LlA?=lD!{ye8@NaU93xL;b*wmJc)7 zFzli2K1ej+dhh{EA9&3g$mb(Q>3s~ez(xdUUhx}Y$83Qk9P^uMjfh`px-V46@JPZJ X+S9ZbDn;eW00000NkvXXu0mjfH-WQx delta 362 zcmV-w0hRu&37rYBJp+GBNkln&^Ll$~92sTOeNg`RL^UF_2O&r3V>6{X&Y4HNk#C$b$xDOo%YXgtY=b zVSWQ8IP~E`K2@+Li3x5!AdF|C1I?ezaEd<@9Hk0G2UPSHbq;@`788&bhh><-^}6{ zN1GgU^HJ|UxNE=qkj{ZPI5r>U2OoL!!36Vnp?dSdO?Mv{-%p#5=kKz7P~Cm(`_bNh z^YOAD!u7?6{^?@lbw3sd;l3XqUY}tK3XbDAo<6+7H;>7El(nbYnxf{#ASU&bwT~2+reTVJ`gw}^^4T$d z?BLi!{l{kJu|fSKa%m6oGPvNF#N}&Y6*10WHbK1GH9$%!ccLD*QtMvk!P}((HwNsu USZDeh(*OVf07*qoM6N<$g2Y-@ND+~8$^3x9smmKg>PBe+@mMBuH5y*JsW-Ddo!QKoGKR+Hy(!GzgZjF5^PkVg z__;%{g>es<;HJpjwN)J<+5hi1W#g>3OoTIeRx#6unKv=U(byl7K+e}PFT7S1@&E$- VxKtcuuh z%=Xi+)qPosM7R_x#rBREEZBL9B(8PHv|@`@c(SDXkyuC+0z`j>sc7>k+L+H0z;9ed zheyV3^df!Pn4%p8^lCLpRwAN02Qg`+nZT0{uH26Tc?0bUPx6z zl!kQ2usaCIEQdwCrmoQ9$+yC+d4eJ~6o@?3vSDBPaKe?qY@J2xE|Bw)k0X@?fg?w+ z558LaY8|&>{x^Rg0@+?l_0Xa@`yoevaJ(HHP`s#DPV@0f9cUekIRi2Ue5fYL=VV_4 zf!1lA%@_YeVm%w}p02p2>v4)^ie0WjK@G-Q0qm&VF$Ooj!y{OMHFL;xljrtK^zt89J2BsEIc%MQHyS)Wn_$DwxrLc87w{62J zm8u_^FePqcZ;k{@!a2K~sZ0TokUdZ4NTqZhtGSfPE5&W-=~RE1GQN|`Qn_JKYUVS0 z=1{4y^fJ9L$`WwYnkr;*WV{MswN@xdk#pO35tu-edouwpGXa-%ioN=j$qxbKS-bO6 zWkY5HkgWT(RL_6|AhvP4HuL3QKr0c(MgPd_) pkfC?TB>*_wb$tx~=8oRQC(e=k*cc#T3jhEB07*qoM6LruV1gY;v(Eqk diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_2.png b/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_2.png index 932f3952a6646d538ea078c4e304217d7fb6219b..2dca8f21ca63cb4dd9ce65ac07813a2c5780b238 100644 GIT binary patch delta 336 zcmV-W0k8gq34;l+Jp+F+Nklfkp)hr@>9BZgR#;IN%ooM2|Z5w)*3qiKA7%?BY_KN7p zotgWIrm(0va>W&>(g8iU_yhu>#Vwub5|PLIn?7hvGbW-|>Gx5;D)DJ(_6_tFWmRJY zGK#$Rg^+3tgb7IUox3HmQ08VB_GjN@B^^!|!7j~5IoNIOwWU{-R^O=p2ccB)Kgi>o<=WK4p0Ko*sIT^bn87_sgjl&zxVd}e(k{fdnwUqa z_gIT~D9J9Zpka+L)d zSl6xCh1`4Zsv@5YVe~NTi9bW{=1nKGgCfg28r~!}Q5%X*g!4M;o16$nco(LHcwZLK zC}WnG^+ZjE7#o&dS$){47OP*i)an@Dgbvh>e}V42qf)zeN@8f5H>)QUKEpjv1BtQ- zG!rq4PTM{hj;cw*GR%4`5~7)DixXk}$XJ#{bUzF3^NcUwB$4I<@*u`#BE3ItZ;4Z9?kv00000NkvXXu0mjfsCA*^ diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_3.png b/resources/g2/track/intamin/gentle_up_left_bank_to_flat_diag_3.png index 072b2073178708bf9391d72043ec18212bc574cb..d3400357ff8fb53b65cdea52ed623bfbbbcc4668 100644 GIT binary patch delta 510 zcmVWJp+H=x*cm(SpE(R!V7@%H6K3W&)TLi|kasZVI?RYJn%piydU{t8ukZp+? z0Jb80Vpzwvni$$W7hzTRI;Cl!08h`tyyi@5vW=4N_ridOs8uf{SuF7C^onnfP8(=x{u!}znp+T#432llgru69fWA8K(^cK?gfzir>|`&YaB@Ck0qqm+_iW8g~5bW5Y8v{p;mV8%0h*!3GgLmT4; z3%JP`zBs6BzJ*&zGqd&(BXF9Fk$`}`^e7Pz48p2(h`H3@a$kRoGHtqc%9&&)pfW@` z#whj>o4Zt;qPhre+TxhRRZc8+n^S{3%nLy@=IoROpxQfpw87^TV+^R$s#CH2Zf~T0SFgaqIuwEP zLE~JRy(9>JNB|O3Yqk6aFZq-73Qc5AMfxm{-PK!3YBz)kb0q^nE4R*-V~7{XTW2-l zW>Hxl`*}46>VYgUUQb)$x_Y*td8#xp!D*(*VtZlseQR|(r-iv?)ryYG%wk8S=FJjX zGS`grF{hj=jweeK?$&?%`Wo)jcH&(pPfA(VN8=mg%ITZEeKo;5XS<~6=%Vwa6u)l$ z#wGg9uNhcnBhfl<`AM zEG{Q{hZa_B4*7rc64MAhk_@e02^mt| z=hV=u$S^nIhom&Bv+tACj#nyVcNXLiMZXqKN1voub+#}%Uy|L}c1*)E3o)Lq@k=bl zF#JPuY$CFk7}KeUlZP~o!sfCM3kM;TcCl&3`i15&=xE;$nd19P@-8HZX_E|fWP-#Z zLZfRCUs>V`Gx%}ni`2GrRw@|%s?)M+X^`)=MO~I5q$qFO7QUJu?NB*6?om@dH-_vQ zq$1#CMFPnPsuc-&vr^cz>*GLW>`-A*(u{$`N$@m(B=eYTn>&xK6Z!P=_k3;JKY|iJ XELtDKM3#2n00000NkvXXu0mjfNbs_m delta 384 zcmV-`0e}9i39|{XJp+GXNklw1W#`S&-t+{9tNoJ*mbL|kDJ?)F6Cs0gdK(WjQMO{ME5 z-PBVmjBlc*Naf5ADT>ru%)H;~aDWh!PtrhAiizBBBFv|#L>zzpsYjGOoW7e36BiFV zPmon%bMzoz^)(qpRgW+?;fJI&vLAkIf;_B+%y$&zn-%dAR_oZLstfWQ$4y2fRAXA# zz-Cl&S9HQJnPSARPqs}b*-MN?;pT4?hL|YF(>D>tYP76j>=mLMx7vUDCTy;%e7pp9 zlT%)wyc2c-5}SAk5s4-79fi)ZEve&YuDiBz@N5gMb6cbpF|ea`X?q-qDaN1AM`MwE zLCRE!H%TCbx}9uAH8@CaNJ!?(ZH=)A;k2?RskP4WBq7c2A#u_iT6)gTKI_dBFn`~F eVjcLG|IipX34&&i=l#a&@hp<+ftEVhD}3meN>u;#eY<3oKXftjvOBVYf??_S!6% zOn!{9?u9WQbBfU?6*};<8Lkwu@d`jk-h=?zm9D1>&fyEkh1(@HPB)C7&=>vtQd8I? bf8eV=Ng2KE&N;?d00000NkvXXu0mjfFQ!xz delta 173 zcmV;e08;6tCam-WTYtWBHSg?Oqz1Wv3DUcn$#V% z4!(DY*K4CI=qsA$15YW2;I9CzSgb@`MQuxN{ds1G5{fpP$z6W@VX|`SHl}wj5B|w6l2uRw?b?UNW^w_ zY6D-(P997cQ1iJfL5gF1bGzuY3I#scUY39}yTzn`XZN{nh*`(;L0urS4ZuE(eMgRF z14=y^hZS|TZ3|N7rW5FpzOA%4GDaS%WCg`{r&sdS+7?qpYNDOZh)&w`me`58=;G89 z*lHoB7?4OcgXw=Zw@wS^Ap>^PlkTY^iV~pVRSx@gvHJzh1Q>9wADOQLQ52EPZq)`5 z z1w#1SwBAXE0DQQ=mXfzEZAI76yAl8^361e=_jS%?PStT_Hd*8ldT(>x$-eL!xinL2 zEZw(HStaOBCTgtK6Y_c>^OoGKZidhiK?Gfpc;R)8<}cilDmj0lDaIHY;msj1X;`CZ zhznm!Lo*o`RNZDRg;QMg#Ir7NS^e-}nv6DD|l?lDC`mDIGMi>wUcxFz!l z+;sJt9*!;}Lkxd_IKdW^2Aga@4!Oe$efNEu2%;#o(t@RJIPX`dX<+qb;Peyh{LGU; z&S_<6hMue6#hhT1BDSRjR2iE4}vR=#=ZFCX?i3YQFTL1t607*qoM6N<$ Eg6mMmUjP6A diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png index b432d587f95f33a28b80dcb897faae979dbbc358..6beef5fccbf6865e4f4f0f36de11eab3dd04df70 100644 GIT binary patch delta 285 zcmV+&0pkA72+#i4CxNz*uUbf;qZ!X& zB24X_wyC}S1GQdvQR^+>Ih{9ZhA`}Bxl}Zf zD2qAhbxj!ap746@hsvkXT)C`k0;w=hnz@Qmtt~$o_>9Z?rL)9T#5_hsDL{w%fDto9 z%+7TkbtBXmESURZ?lO1`u^)o_xD62fBgE!R%nuP{QL%;}WF`p9Q#7rGUm_x;ZG^tq jRcT{p8=>Pk?ynVZhAdU6SKOm}00000NkvXXu0mjf`tXB> delta 283 zcmV+$0p$MB2+jzwJp+IINklW*mX@e2gcg4}aiVTmhJ2PoMTv-q zn1j}JO`yY-P1=dDDgq0Y>$+wlW=1OU7u7MVpFo7wF14=2d^2TW+hu- zy(_V(GOHY?U^5dDhfvSEf-y^a=|WnB#}K*x2s^-yr1Sme8-lEiD|^jQ*E^wK_PZ_F hQ$+Ohdi}k90Id@wQq$##wFCeF002ovPDHLkV1hl@i8cTL diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png index c5519a03ad43d8f802700de3fbb8b89aa23c0673..595027a3eb4157cb8c98d693b38b266c5317b749 100644 GIT binary patch delta 540 zcmV+%0^|ML3d{Ll~Ho*APhy>|JIB#CRqxSFyNV92|IQB`ld<4 zhchPT_~=TRxa8hk>1ONifVR{%9h5&|+9Y+EmnEK<`-_<7oK!bq)e0HI-0v^g0N{#J zxK%1G%t38dRZ-4!01!5z)*NlPohILEs1ZdygGpMmz=0LOwPSxzAhWf}&&Vc4tLguk z)k>~#03b`LS`H`!P`tc1IO59?!*7<{KqE7QVkwM5eg8_+E-&8@f@vC3eMnnun>Pm%Z2AlH7f=T+LWEEJB^py zRlZJ@A3g&XLZR^4n_Dm0is)rCfc6G+^W*Y^G(7AiPGgb} z$kux|lC(y@0zTJ#$rWL*F-9o#=K&AM5y`q0X?=eUU=U2nnBrTi{Y8U|$%y2g|AUe1 e8-QUFJ^&Ptc*s#@{3sv*0000JOh6M2}wjjR5*>LlnZX-FbqU_|EpQn&%Vi;`U}`0<#gL3K%1-( zI2J5D%?xQ%r2iZ-9x~nsbl<`ac@NXK+}v(`SeWx=Oee~nHjLI>3n3`w{5=K$Dnd!U zU$xuaI`3nEn)Cb>MgSmG00wczblXgCwt26ne#FERk25qt0daq7LwOCT%|MNdUZWAt zb3l-%N6WneaOKjVp@5R)hKwDqbd6ZoJ;C4flIyt5-ozsleqOw)gYU=w0x!5 z55`GXkvtRtOlB$*7@bm{CO0e%-zX)Cj@|iXCW5d4Vj@-Ca@BdA$cc<3S$pI>X5;I za9akXKsTj~f(NevV$S|1-IW7UX0}O$e7F$_I9ckEE|i3oC2oIky-Oh!;W+P@J#s-X`-hw3 z2xzcLnJ=O?c^$6T{I#ph(xWW=3fq6RIYzm(9Y(3kjl4YNd4HQl+6^@A>gF!6T|$%P1-z#h!F}t0PQEhzp;PHH3rnqhdl2te+_a+5-VQ3F<%2H#O!W$ t@e$j2QNbf8C68R+1IV~@eIKxt*uR*q$Wjl8wa)+m002ovPDHLkV1m}d{iy%| diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png b/resources/g2/track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png index 9881616adf406e6cea15739acb2275ae41fe9bd7..07dc2413b555be1e1823bd5eba4740211bdb8bf2 100644 GIT binary patch delta 436 zcmV;l0Zabg3FZl~Jp+G~Nkl)Tn7h zsckQF(LOeHpD2$D-Bo!U_7~+5Q}{)Bq?RX&DVRwtsG4aHV2w)2iZ> zvJr*18@U&WjUwI?nYg2;^FpPtN1F77;3dMW_pN;{UpOU1(YChXp;Q{-I7|sY&~PQf zcU3{hE}|+P+l6Q+AIV2(-6s;mHC^jOjgl2T-`he>hYOgXCA9E@woKQ2Q2R!OID8>o zTEtMd5OFUIu`YkqkOPvopBvTII%)z*w}pmxJSB4eEaXaAXcsaY4~{QzBiQeZ5eWQ>q#I#OFcBNIjO#|#;LGLpdS$!s?Ka-5u*3{( z_`(ch5RNY+8YL`vCe~9)1PvC37(;cssMUQ8r--wC5gIIY7PavNB4^9j`A2b_$ouiF e&jm&O&&n^l@^Z-MB$RCc0000>F3+GQ-O=Cczz z38Y+)G*&s{&w|?Z2es?cf&3w!XhrR6k`|{ zQubV`H5*7&A!yBJU?Nd(O=v+$ycwN@8taQ7Q9Vza=^ef-j7WbyzTFpG3Dc>=st|Gf z+-gS_1#Wxu&qRzGVN@qVqu@&mO_UurY|pgU@9QhW0jrzm8Xn%}n421EC>yA7h6>+xv`oJR4WJ`dB+$id@0(j6NN2RY%ozF z5@vjus6v5G>ra128HfZV?e!kejUe*K_4MXO6dJL8LC`2{t;nz&ord1D7lmIiC6(!Esi(H+xdyltD+Ubkt?EHS1zx&s?=!pNQ* zRUl$*u7VkK#Dse82=*K0oH2@a8z;RHHadxM&as4_Ew?1+j^cPSf0k?gEJWo0Ed2s; WHgjy}|CmMq0000=E~BCu5KL#ZZOTP zrE8NTn^LrOG_QrC*~YTJTk0xk*pK2vkn*x*W*MkOG=_V3$7oAv#zWt;uZhtNGj|yo zm;LZm5=jaCfn6XtqZzKyw_~ubsOr6zuAa+75-T;1+$ew;3ZzE-VL{xdyS zD4?2B$EV56oqT@;Nj^QuZONIb4;Bem z8ntMx=d*e_3u3GBHl*Q94h+quK2wQv@sPXib6i_9o{Um@MbA?-50C41ksI$Ee3c94 zj3wtt`5wH3lC1$<9OgA~{vgw#NP&ItzH?|6^VGoi!| zHJ}@h`tS*I8nK?r--RtU`fkwUr&DjbDOxYy&LW0o$$)kDYQ0DAL%Xhm9q4xC2m`}7 zbJOm}_6Vw|rUbIM3zIghnO%9V4`$MP%)T_6Tum?$3~m@G^)yIT@Zm*tPFp!`Rv5%a zUos53rPR!`!vTMm!gCa>m^(oASaJq$OjCwMF$_4YO)edRYqK_rRXTk$d^JE~Hm94m zNy*hdy!^Y`FAsxH;RbQ3LW8CC=+@aWd9}w38`DJ5%O8|s=+nHy7b(7|!IqfMsTVF+ zH=gFc7vpt4HJ5jR*<)SfKGA_IDBT+L_~ZbMVbC;Iah$^+{K(Ktd#sa|BE zadIBCufT5ELAokKm%kHT(K{dfDV;Cjo63oD#=7?3q|+dR|4$ppZx8z#zXAK)-zo7f RMI`_L002ovPDHLkV1noS>)8MR diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png b/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png index 09a7473f745998c91c2c2fed3b2aa3e1ab68ff3a..85f64e99c3c68c0ef45d7762c28363d2b0c22b0b 100644 GIT binary patch delta 325 zcmV-L0lNP42>1xFJp+FxNkl~wI2sc!o=qU2B{--gzwX;fD|6V z7R$VX_&^t-D@jcP;3KGZ2-T_xfhGZ(#27??NPWy20dWT^=d6FxBw_Fu?|W7i&7j#6 zn4UG8AOw4G>fFOEV=38XM9a<{beLYgO(IDK-1rL76gmw-*#(ok7tgA}oZRO;Uw$bU0!0 z`A1-dT%c*CoOV6+mX=A>?Y=j$vE9U6izx;$zwlwl1B4k`>(1Yza-KhLd0wxt=il`W XAmyOs+Y_W}00000NkvXXu0mjf(1)C= delta 320 zcmV-G0l)tE2=fTAJp+FsNkl%;g zm?dHmbG2BAO3g^(rsnt6Q`42v1VylUY$B3`JT9;zJ&7sMdPaYtHmbkICWJ;&NG!aD z0D>kK?0|XN>5|0B?zYxQJDnsOb=6y5^B-|k&L+yTU>F0X39jD+no*gT>?n~wW?Ob^ z4Iu%EbvMylx8(tXhwRMN785gvUzK@VCNkv+7_6w5ELz$a10pIv9TH+fX}|Z5^pONd zNTW6)$+c2QurxSF)*^a;gMTJw$3V{ENABA%`yVeoP%Y>k;ZXUV?gQ>##!SF;%4 zw-dHq!~keU()hoN~JeHf{@5Xfp?2~%t&tj63BWr1GP zeD-T;7C9TSKya~2ul`n?&4fXO4>R1`#&hyT)LEP)m>Dj8{mt|(4T)>#?wA74oQXpJxaOX z?zbNRs-x+yiA$SUmhq)50=9y4Q2khZGBrEp_5c)?{a91e05q0l!|XZkOBJJPz9|Z* zCEMu+K<stfYj&0=>XKRW z3eGJ{BnhX>v`wglt_Zn(WrUwH3O?WA?`AF}BtlvxqmS2SMy*?6R5qRjW{B(jftW>t9~b zRZ6`z)DbKjaYgmK#e`Dix_4!wyOqoUW&s>^+Th^?pdf#%HEtrztTn=Yp7XjjTiN`h zz1}WnEb~En5|sqqDa>KPtO;JI1Qh0_$(+#)^>EY`iJ{3u>{&oz#!J96NsVC6+%ZXp zQ)|RJZRFky6|}24#AuO+%(nq223Z}hgp@AtEBHk@P5Hr}=raY7j{ycjb^idOdD`&s Tef%2$000R9NkvXXu0mjfdY=8L diff --git a/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png index a3a7332ec52d25fa2c1e0489e6ae64db6ff3c1ae..0f4f3e00fa6b0278936637bf41dd0d1b0af3ed28 100644 GIT binary patch delta 402 zcmV;D0d4-n3B(DoJp+GoNklDrW6v;dUa5j?Q>YMO%8d+U&ovwc{b@s`ewq%pea5!X& zLUz`$3U?CtIs`1SszKx*Vp@76;&gGWH+X)g+a~GSlE;zPq_th+&W-dbuPg7YP8AU( zYeBY+UcgB5vJc@Hy~x;PFiR;_UbqIYqZfEPqR$u4cZl*vVbpA~HklFJsF5@~Lr631 zu2}-M!p3m7!F_+QcP^>mV5Lw`4fW~!Xnx*OOFK$4Ah%{PtgbX~B76nFV%Ft1VF@pg zdt7>7VD*GO9*;HTLpWfKhY_mg wk$kUi<)=N)izYVzHRbzfVf|=7QER^e3JyUJNjUD^000UA07*qoM6N<$f~u{$0ssI2 delta 401 zcmV;C0dD@p3Bw7nJp+GnNkleh_oi9B;tg{tyK@f0YQxGe2r;0XS-o=OPxsO7FHvHD&f7lA~(^ zbE>`bff1-FBcv2WtS4!TK`J0F-og$D8V$s35i=Q<1WN_Mc0+%Cc3Bcgk*PHh1Q4X4 zB}qGNs@Gu<7m%kc0&$V7VP7P)V6>iX)?gV-3Swsxmq8Mn>_v|0LWIot-gbI9Wr!=t zTrfzi6E*PL=%s~Fcjr}uAp@bd9lc>Wn)I**I3;R+>805z>>=ygv^HIlhk%yF?-X$)O<8iU|=qd=+J)hgqsM)sd vftg7ecYz<bt%Pnf&59$kjBBF2JfkdH>nyvu=000R9NkvXXu0mjfRY|mD diff --git a/resources/g2/track/intamin/gentle_up_right_bank_diag_1.png b/resources/g2/track/intamin/gentle_up_right_bank_diag_1.png index b9c022b3b609083a50765f2dcfb9e511ef658f4d..a5ff07c5e3b7319a6e2fc2f7b87f9b1bd100ab4a 100644 GIT binary patch delta 478 zcmV<40U`d83Xlr0Jp+HfNkluwt41|6EtAUr{DzU7^PStCf2?cor6BzxV z*gmP%EePR2T~LSMWhvzloKrk~2rmww&mT{Y<$dk+O+FpwX*`Q1TP{k)Y7#%t{`=jhxI+}KM0YL^H@v48&9(+=}?J9#wx?Z0O zm*O2>%0AcX)K3c;8c62z+^yxDlk{yEImhYO9E)WIuEBeQgLnmPHY6r7E8CNiv$vjp zb@OG}9k)@xVrB@BI#d_0Cx&%{xXFX!KL6;I&>@#e1G%4!oORU$#n4w*@3AxP zCN}<-Myxk@{v3a9lk3cRb=-4a&qTh7VHZ}%UbZ~IUaM@Ed(C-bpu!hA;Jff%lKZs* z&sjE)iRhNIPe#sE-L54kWRRc0>vaI|z?{NEx7vJ{N-0GQPIh?;uMPaDY4tw%iKoi& zo?4S%hHch0=hgd$e+qUhk+VFP{ZOFDa}G;^iz%h-R^C=kjywNcxQ<$pb1#{P2-beR z^M3*a_ldz+J@Qu0dqv0@_sNYh`SK<_H_+Z2>-&>`s=vGQ?>Yp}21j78{hVLdKcNQy UQk|=mmjD0&07*qoM6N<$g3N^OCIA2c delta 479 zcmV<50U-X63Xux1Jp+HgNkl>D|jk`HZWQ#1RNTsGOYhF~ha_qRsek+my+ zpxQ#{BVYpI>wVc^&7BPbf({PUjaz?H_Jj^n6BiI<5VWY3_G*9gm;UuCgPWMHm%?T7 z2~TBzBQLNpVr;C?WRA;blygpE`{bBQ469wZ$`+APqCqx~pi{n9H=-E)1Uv>oU>`JPmRpR8<%Vhh3yxWYPudTo|tk*4jcoyrC zc?dPu8`;H%ThD*hd%h;_J@a}km&SMkcc!B+Kgf*O>7;qj&}?`VZY4#5y3>E; zxvNjvemvwdd&UX##_Bn{*__NI?`*!pd*1T$o&(HQ>gt~gMI=y=~%9?Sj#-{n1{52Og$=($(lZ;nsMYh$fe^o+cCC`V8G z^v>q11G&^Q7DIUCy`Ep8$xtF<;$M&*g1<*5{T+E)cyz+v#Ychd4md(~yzcoq{s5l( V|5IibB`yE}002ovPDHLkV1k1l_;&yR diff --git a/resources/g2/track/intamin/gentle_up_right_bank_diag_2.png b/resources/g2/track/intamin/gentle_up_right_bank_diag_2.png index 7db79507d386e624d80d9872fec7c19f3c0f4b81..d1975a976666031729bfdc9805276afc946c2063 100644 GIT binary patch delta 240 zcmVDviQfo7#g*W79OiCYo8DI!~i5cBJPyXvZ545NreVM z7rale9+86(rOWhEg1fuTiHPzLsKNniI)53;xgdc6 qSugO0_-y(7d)L(dIDh!s*$^@T~sewscX`}CA#59XSu$I)qHnyODEBPBYtXH=N7 zrw(cqo|5P>RHcji*<%bfGvOIm5B`r&uu@cH&^W+o`d}(=gO_S5>|eH}&yna6^QMN` r<*f%0(`At3_5byHANzKF@aI-OT4zqaeF&B_00000NkvXXu0mjf`cQH# diff --git a/resources/g2/track/intamin/gentle_up_right_bank_diag_3.png b/resources/g2/track/intamin/gentle_up_right_bank_diag_3.png index c209410af0b342f47d21bbb203166b48c847d2c1..9257e8ed036d545b4b53c2dc9e9ecd5ca7eabdaf 100644 GIT binary patch delta 518 zcmV+h0{Q*B3b+ceJp+H{Nkl>|{v)BtA?vi8|_aL~b6y zbFe?EstdQS?ssQd)^%Ne0T|~w8RImBf)C@=A!qD}DpTx`Gj^0H<7}JvA)c|LgOB5! zQc)4-!`;qNh`PahA4Qo}SWEW)dk8SfBJyYBqD3`_5WfmmAs>GNm;=>mnx_qJ+;}`# z%(G)rN9v^@2NEGWyPeO$LO#0&z+iO)equ9WgaADI)D!f8>`nmS!nopsT(Q;3qA`E} z>q&upJ2q)ouDckV0c#P`oT;KFZ+o)fq;v&1Hh|uu6}Snc7)(Ow$qy@T(w3xcidbp` zV4ffbeg>`~hRuHj3DXP2_nn&%C?RS9MAKKpNHz|*35=j>*jc>yq{#pzHpntZ#nisp zJx)v3$pyX;WqTQ(iKE_=dl;MYW^uLoB$vn0FRJ5rItuz z*a%TWcdc5FMu^~?DyBwjzjQ-CKWCkc1Rc|eE!1)~T8!kuXuzyJUM07*qo IM6N<$f)$bR00000 delta 522 zcmV+l0`>j43cCuhJp+H~Nkl*!>+ zr&LtL`Eaar7NX8ixLlQ4g;mM>_aVSwUS!+2Xi?1}#J7x9$Y+01CZEgwKHoQN<8J4T z#XLIz9IKb&gU=$wL}bRE=n3Q#`Tzj2QgxF#k#pMupZ(So!ME+z6o6t+cq(FWHs69!!c9t_G!lXGAZM@a%zT$X?7hiZLM(u_4{MMttIT5CP& zJb8Knc!ta*Rrk_6gFp}(<5XS)o;)cQ&8O0~&NkL>=YZ56+OQM7`f&CPWb_2-jH%41 z9G?W(3C~JUg>qKG_jN3t%=OLr9kQ>3|IZ76PfAS6MZy8O4j7Psg5LtYBO_K;00000 MNkvXXu0jG}f@Z$~F#rGn diff --git a/resources/g2/track/intamin/gentle_up_right_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_right_bank_diag_4.png index a8306e4b17530b25b08239951355ddd518971774..0ec67bd3d112b8b613081a3b48649ef5c1117908 100644 GIT binary patch delta 346 zcmV-g0j2()35^M`Jp+F`Nkl13*tuixB76_pRwb`dx0|2q0aQkdQN~D1ZE^QC2 z0*R4Z^FYYk7DQZp4YDbLS!zud2#RyGjROEW2T|vM1kyP~sCR!^xN|h#+E!mwIX(eA zU`Lmr9DPv_#I~|?VCUe218*D?bssy&(+Bt69zMW*@Xf~?iFOY6p>7e&;6pAP?qfYT z(k%b>Ax|Ik#YYV&fB2ZO_!QA|fvb=8^ufCiK7G6gAGC1{_k&Lk05^t@`|yp?`%*uS zY&?7nDS4GN7nSnwf>L=-g5^@q)=tzTS`8zuim0qE5MiX$maNJKA=BXkYipXiP{j{5 zIa(L8vX5BW(exJ7Pv;{9aUoUHTFC`tb{}D+cdQaVRJ)ICF#>-dsM{8-cnyKbM^yQE zjSfP`lSO#=Ad}$1sNo|7Q@ea<@HkuNvC($%(C|Uo1`oaS*gtsSPzH}2LO8Wwcx?S>f%|wq?BcO3%ajjc@fEjx;O=;~%LfG99XxF0LplBg zaL7@5PUA};sJzm{eTdb49oxj8a*hxPgw~`;9*W^cdImM)8TsTZ%5Y??P9 zrA?+NdDj2=t{;JZnnF(a4bZOolZmz<_H}ld%Le6g!EI~IYDXN8&UPGpmdnxY@nU}7j*^*L2QRAip@}J+51GgNv7@(j$Nj4H#f%fq zxp5X2HQO7&b;oLMC|)`yp)(a*N|Et}>t^x9#rHqh@9axj@d02%i-5%lM=*N#CZDDH zo%G(E*zSn-LC`fFf)ebrz0UpNOTX(vjQ&8r<6mS4dh}~sJC delta 472 zcmV;}0Vn>23W^G_Jp+HZNkl7p$+-$MG%E<95fkk6I?W${M?EsB97NMvWBUY+I30 za?Z=L8sxtP!Vl4VnrNNKF)c2t0cWg*~#KCnZ7NDS~eTRrg?IUds)MgeHI;q4X4+D9^fQ1hCgD1t#g=7oTJ#=;?; z#`@9BYMlafvXOti!anM8+^^rAD0g%-O3`eMe2!P^U(!d%(xcF$?}thHa~lXiGp_o2Pk zFU+!@TpITwvJ=?6SNsa0d6)rK@y9WH?V=+*z)=EL3e*kr(&Ei^@G%)(s zM*aK}>`t0D6Zwv*3q^Q>B0E};*SD~~F@KFuy;T36e8+#04e;onxrU!?RlZP_^5cmB O0000%GMJp+F&NklleZoLOwnaa;V-JIwI-~Wd=~6?M}MR6s;s8yUk#=VUU91?+2<8JxTIJ zYirSaP!~jT^i`S%zmc`pU4<~laviGH+OBf+a4=VUW;+`h9XWp*+kr@&?y0{Q3RC{m z&4<^Xy{(=b6oEK~WGqmEy$)2{@B;tHyvKHk!cC%YX?Cgng}!kSMWEg_PA-X%m zauriW_t?W8_C%^8kz0pc$aUC5UlU;)0eq1YaqRFSYQlxpVZTJ;s*GhIb73h}!S0{^ zLc;k3WwliKzpO-9plGN=^}N3DKJ<=BI4)%m^Ebj);K2~@?~QBVQ1@3UCU+6tTS@IJp+F!Nkl)AY&J;`;o?U0K$^nuTaiyr$c9JKm z%-++{X%kggdGAKZ%DinBuF+F%c;#SFS*~G$Tmv1A9WxQ^Y-E2%PRvAWxsa>C-HD#O zZ^T>(5{V$+mn_WDyTU8Zz3b)`Zg_E=4v^VqmMWLZTJ#lBO+LKVZf33%jQ~FUbE@F( zTi6S!wC1^D&wV10OTx{c_P$W8m?!bncA(1R1cRDs!voOb8CRt*1F1EXxHJ*9$9DMQ zO%*}G<@mBq4A(%eJ->c)dN+9k%|8N+mNGR1X;3NhiIAz(|71+nJ8If)gdQTx4bk#* a-TncNkFl$tOE=E|0000T{Jp+H0Nkl_6i2OsHpy~~)6EkFPO002ovPDHLkV1hoUQ=9+* delta 185 zcmV;q07n1k2ki&2Jp+H6Nklkfk;42AptuO><_uQI{5{unT~u*5~&2PJ{@ zoE!?wEF$n1L`K97sq2o`!e%zd7|{srV>0C707*SgQ*aGgjTS_7YAzytrG+({Yj%IE zDXZ(09n+?Eq~M{)-*#0kO@*ky&-e%7$c z0sKZqH|BY`8mzsR31II1&fq3y>y_!#T`3OHhq7$AB5k1-B19*5{ah^-+ITa%RqE@fFOULkwsl+08Cp_MLZ94 zl`~ld6gtax1;M8XV{*WE;9(9TA2Y>@%)BK~wf5qtBz!E%=n}3@0HL)GKy3^FphNl~ z8cNwzTyfq&Rb_vtMpF4YFU!>7jap9dYVg~G*=fkpvjmZQG4$IZ!jh>Rz9 z$*zvG0%SL^9U}Ox4MkazJ3j+_N2PUT0_3ctl>l^}Q~v~9+E32%Gwo6MCgyAT7ssB3 zUE%7lsx^HRaQU%T`$Kr+dH;0d@5v76AF?fd0ZhvN(k%~QpmP8K002ovPDHLkV1nW` ByrTdB diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_4.png b/resources/g2/track/intamin/gentle_up_right_bank_to_flat_diag_4.png index 8d0155af70150606542116001af8c5cfd6e7580c..6eabac1f491aedba7b956550d8b2c0a735bbc64c 100644 GIT binary patch delta 377 zcmV-<0fzpz3APEaM+1M3#2^TTx&PU^ovM43@*~=0A6m^U$u#3v%6ouBl<6x9epfF0 z+)^n)-lX&mI3s2#;q$&)xvPcz{` zQfT!mw+PE3s0k@|we1I5qQKj8s$$A)vbBR+!E?{0ss_EY{LX3ZL+6?mj0B0?R|KZGyfOL*jE2gB0JYpGh#cgBAVzCKxN< zERH4?`At8hHPnYe`hbvHrS3~BqpuOo_gCeq&>kYIPJQ|-JL;hMo1wJH95+dO+BF&_ z1;OaiMSIo9DEV=Yea-AMa@s3DiCrmmGi>Y~yxDOa-s8`irX7umYRBr)&$u*UmK3ei zImo3!tQuSIFX6acaW8o`dI>`Z3}Qc5SpHynW(Irr4bhm+73<@9HIMN)PWm4s@jLzi XXe|~vw}b3x00000NkvXXu0mjfnm@H@ delta 377 zcmV-<0fzpz3APEaM+1MZ>>vn*+5g%)9c^bR@*`sM0LQ+$ByH*!;J~Q>aKTU9{*>!} z&ZFM<4;eN$i87nhl-kZ2ab)MTi4G4lP$^%+L@d3l>dxt!t*QSd7R~E@ef#)n4k1iZ zL(8k8eR6K=F*TNl)IJTEd6OEJ=`@Bfk+gtl%u#Yt zNaMJ>`uM8HgYrSK(61Bt zKyW50#eWp~?j&Z52u5Z=T#I^9kS=cYtHj7}@8YNMy}4-iVZ?^(+8_BkUhp?E@i+bf X#5ouX;K;b_00000NkvXXu0mjfFn7O< diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png b/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png index 181ba9e6d09afe834788c0bb64e25bac9d209e65..0642b3c8ace657f99e21d062ead3cd27b0b303e4 100644 GIT binary patch delta 503 zcmVF#Rxjrv|t8U8fA~#1+4I?+C5?(ZFD7jx7F>OQ5I!MK!Dl7oW`2OIKoBWi!m?q z;?&~OUTz~>fY?4jEeRl{Nyc-3)Y?6QmL12gOTWP>0VZ#^G;V+|@=R=p_F<#)dF_ph zfiHMn)5ZM>9;fqX`)DOw;e}3T-;)S&{TjOt*uVjalGJ+J=Ko>04s7d*N}b=roA7Kw tx2x$lVL$b$^Gje(>>2FGQhE;C`31*U&FhR(0nGpa002ovPDHLkV1nPs`NP9iT*`k(K9I7yWFy5?+-%lS0kGSK?Di>pwRxLy!5FrebRnj(3@p($#Gc|A z!@!_W!A!_50#j!E<~x;&hiprkB2`Q)2BVOd8L*U_88;JMD{5}1@8BcmFM%pCFk6yf zYqG9mxNLiI=H)C1)t+wB3su1%P*Wf}$@SbH-Puv=Gdgm1b5(M_;1Gzzp*X;cJSVmj z8W{U3dy$lH%HB`zkKk!QzRIr>BaElo^EE7tdiC$I*C7N>Tx)1K-?sT**sTN1t=4qV wAHsHQO&-H`UU5HwM}e8xGuRHM^c=?d2BXEz;eYrI-2eap07*qoM6N<$f^WnEng9R* diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png b/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png index 2678ab011280ec8e15622cef386bed3c911584ee..2f0b3d4b48a68cda333971c08652dfe459d86592 100644 GIT binary patch delta 274 zcmV+t0qy?I2+jzwMgxCal7%n`M6>_BIVN!}@@TMXAi3U&4qw&@-85LrU$uUeSJi(A z`y0XD2!`5@<3UWd9eqJ&Fnx?nVoQo%3~(#>rf3}+L}7t+qAGB}Tq6Z$QwwLfOUC~o zKrPyUuy1X44Px$l1nWJKSqd*mO_UMFz{^BO{E3=fu4CjxwTFLj^tsSnvh^-u?@ zMB;&j_`Wj7iZs;U!xK!boU)*lGWL~}lP!&8{ne!ULu=EJ^0O(CNPVIr`X*)DxBK%K Yl4e*7p&#d#000UA07*qoM6N<$g6@QZX8-^I delta 274 zcmV+t0qy?I2+jzwMgxBf4udcZLwo zLx|~tFtF5hz4e59UE2jkApB;TBrcY%1Tf-aSu32x5hq%Vc8K9WR9oX@wrQCU1bA#< z(J|TwRU2ChgIQZ^i6T-sU~{63&}bMNDf~bc+wfFkM@yqHgKdAqWM7gQjD}mNp<=V6o!2fSL9ztP*DaWnkvtbBIKhkM64&PnP?Io(`#}IULy^}x5;#C$|MYLchsS}lt-J*4^pQ2^?Q8- Y6+BicS0cK>000UA07*qoM6N<$f`m1Cf&c&j diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_1.png b/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_1.png index 184524da4060dd7923badeece185013c210eaaac..4b846a9c548bbfe418d2ae4d6ccf54c79b85cb37 100644 GIT binary patch delta 196 zcmV;#06YKp2lxlDJp+HHNklE`PvO4OWpCbGa3ul%j=v!{%7l zc4WRTIKwKfRChO84S6;&F7YA6nEGpnqKLq)jlj+c{uFFA&T~A7DW#7>h20%;TwMCV y9C{aDZ8XWgLk2dW2iF}>cKBU?P&CPN1?dYu3c%HJM68Pd0000r#%3Kz< zfg^V#BqGx=5_p=&qbgD7Cj@Y=sD?Pj8{Fw-2_U-4ci3$Wtsrepug&M2B|ELCisxpB zU0`^F$Fj0TWY^X^B;P>&34X&NtTCoz+M!^EHY}xK=mxa}@4Gu9z7<)BR29ra1uQ;T xi#4Y7TXw@B3`E)g)?#b}-3of(esm-tO`2z;k0ghn z%gjh2uy7Dzs^POjKf0|zs3IXQOI+7&Pj3Q*{qgDwh}4dVLRcmzzsd~rwl=H-Eo>`h9p`Y zpekI6Y5L*@Ipzy`tfLH0FglLdBxWa6@@NFiF2(_buyFTu0)k_7j>#D^%%;Va6J!&{ zis$WFvVbal1!kVHd+wyw<(#va%tXXnZ#O{qrN02MsoB~zfA4yGqPy8rBTcE##?LDw z+73`uH%6?m)U7o3Tq!yK3^ynD~br z2D}TngqRYLuoIS^2jc(|ItJ@;^-K(sloHE`w09BfH@4;}z^kuLN+qYcDg9aI1CZB% z3qQVpdHN=5?HvVwrDUg=mMX{d2p&ioQwBxae*|1prlBG7`uZcvn9#=nFF<|(B8mzB TP8xw-00000NkvXXu0mjfr2NNN delta 427 zcmV;c0aX6m3Ec^>Jp+G>Nkl{a}cupjevLbYz4);3Zp zs_Mh>wMofL{G-C@y`!pLEi532S<360w{1V@c>qd>0c-QCiKH9npi*l6i1QF2Z1II6 zD74#s>rG_MYtGxggHr~l-h+0cLX<|07x$}Pdoy9ygeL@N2Zw(ypNr%8!{JwkVx0qE z-IT=xb|Cr^==hmFR3`@rFcgX<2psiz{FD)ki)c#AvN%F>9yxngQv=vQkoZWFnuU@E zfT7^Cnoax6)#Wdbs@<(MTo$s#QRseqJSm6lrAs3kvx(nX zJ=y`VrhaE)n|6OsmF3r1VG_f4{4P`56=ppeF*Rg*Zp(W8;Q<8gkiaq&8URQZjg3(4 z^j)!sfV)hfLIQw|9CZTZgwdaXZxCoSCAAr80G!i46^r}dStq3yx;AAzR`pbU0uU-O zo&#%KOS_Vl-k&k}se+fPh6~&IO8rp54o{U@tiKGnQAQ)S4ta|Zlyx-pHXx2ez5o=H V3HoVshPD6z002ovPDHLkV1fyi$us}} diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_4.png b/resources/g2/track/intamin/gentle_up_right_bank_to_gentle_up_diag_4.png index e6d24e932a16fd8c3587323cfd8c27b17b0fdd34..e4e939aa342ff576493fe2dd6e4d16c0375e641b 100644 GIT binary patch delta 428 zcmV;d0aO0!3El~?Jp+G?Nkl`_KzEd#UcRF2JnPp*@8E@OfH$)0|B$MdTC17GiSj46C+CR@(Gmht z@z+HPF`Ula6GGDpUw)Mb-xsEV@Ph8bAEI!fcH&+I4<1VbV-j5V5QYhsuMb26p~ zD8XZ)%weBViA8@24Yz$pVbgV_fzS^$qoTia{163Uckw5eHE$-ufNsJa-blM)+~9Vh zcy+zm#iL>vAAJrlw6>@|6jsMYQMB3xKJd@5KIpP66%tg}G-P44D2uz$Ff|s=?K%vb zNE#|QQ1=^UQp_J#u9t(6v%rL+twHfBm>Yru%r8p!sFoz`ldr$3lXY2E`nRsw*ZKqS WoLNbJ3Gc%I0000pcIMUx3#O zMC6Zy)(Z3B<3g=}q1Jm{s2UhUDKDhd4bTfA!UBoQgPL}H)$*VsQdPCJ=08Y~wySXF zg=$e3B8x6vr-<%BaYfO>yCuj_Q;Jg>x>nV}3n zR;`+HN-5(_s(9_A5?tsG)&h*93iXAO2jtLiP&8T7ax!yiHa%o5H|JADM93cnr{raPm>g_<3!(C>przc zPxt}_ZS;GvraONbb|v1A6%}kp!`nSrC=h9wJ9ir=>P;~toc)91XasNgjTpCytWg#- zDFcp$=A0GDrHyz@yLLmUgSq7UMrSiCkY&1F$cCafD4nQe9|C#?TYqosJ#RmoPH)`p zvrR2!I0kfi<2?|j9EQCSgmPi&{YH{!e#X-4LJKmp1i3KIU*a1i=WzVW=P3j;0CWDB|E*>mu@)8Qhekzih8H8Cz=8B|(8yf{u>IGYs?=>)XwRuXjA}VVwwA7S^HG!7@Zy z)Y?{10kd%~Y37Sn#;fn>x>VMw1v3>?!dpjrc+Mlkm{ub*TrWTS`ctBdv+eg!f*g^-e_M%0da+e9VGqlX&-@rpwsb1|6f1lyFpj zu0$+X-Tw?)Bg)l6U1I6DwR#C?q2Zl4|1%F?M#A8Bxr1*6r-`&7OhO;CoQ~yj9&CPe z8tm8a8*b%>*vZPJM4)_{on!Q|`w7~>RYSpXO3wG7#x&x0v`-+g^hUWnn7+omU)ssL tP#Yz6eVMv(8vlyB1?002ovPDHLkV1igK`}_a^ delta 499 zcmV%xM^UYw&rL!Qb`&6tw+P=i(z5?%zOi5MOPI}d&Yo2q~I2V|RCRke=Fi=hvt zE9+QAqv2GU$`Dbf-S=h`48zUz9&{Vdjr0A2~C$hjQ}O;>+45)cuy3w1U9iQ?7eQaVE{^ME-CwsI7%EdeG01R-|DIOyFpW-Y)7 z^s;y2K5n-Jl%#~ZLQDjP09$G$f}>gcQ1ib|lcx97oTBzhN2@JHh?6>t?&Z&6CGDkcfwr!g1&`3hqm+ejy2V{ pp)*#uA7Lkf34eyQQ00%oh;Q0f=K(kEYhM5W002ovPDHLkV1inj=>q@& diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png b/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png index d1bcf9ed2567de6fd395c32fcef682cd2a13fa32..0f1246bed471c39b6be4b51a2227d4831ea70d57 100644 GIT binary patch delta 313 zcmV-90mlCI2=xfCMgxCqZo@DPgMI(AwP~bWrPeb6M#=4lcK#KAplMRh81F@VjL-Ft z_&15%zevUx$@EVW>7~gJP$brt0W8k(t0AT^KfQd|i|p*?86L>9j_u@DAO{_sOG6Q@ zD#EP^H>k|$IFfmtvQh;|WD}amM8QlrN*lo9wIr-sR&(s4`oXk66WM8ErUa*&4VafNk3y!|aI2jPeQ{ z%5e`-G~lFSXGeS>G$v?s4#~4L#9V2_#+Y$cXrdach`Os?-Wq&PHJx+H)g#*h#t_3} zO|Q^5RjEf2HGeT$m%oc(I#Du_u7L#yDBS-@ttXuE;M>>lDckJ_w&%34k)e{T00000 LNkvXXu0mjf$(NZ8 delta 313 zcmV-90mlCI2=xfCMgxBfZo@DPLv{bVWsTIU)cU4CDLZS|%s>$2fucz}M8AvWPT%Vv z$t%g)FQoE9ssg0`&P08YJYxDB>reuk=7E5bUG?Ba0AN0v$VuEg>)Nq}%QG zgt1)8#ze?BEmk?Ni)b|!rvhtP2rzf&rk*f1YN@LfZW%Qh;l_WF7BkT-+<4niNRopx zotTeX2l!<|^{Q4_bf2b)wYLzH3ER9CYv=+YY6x$!`yr>m%K!v}cdem_)UOc44tHwe zRB6a52)!vH11Tg7KVvilVA|9HfmQZ90InDzYp@n3QJZ>k?+bIUTJUr307ZW2fPjpz z1AzLtX-;LQdKiBubZaQ{xgm!r7YD$<-pew#y@#HEWQo|0@Msnf;2~k&nKlLhjY_y0 zXX${RKOEo|8ar(H_eF?-*b*a)0|xp81PtB$#ZDW~3R@etyqMbpM4Fd**oEaD)McrJ z;K3Gm0NOuou>)|>0xfiCxpXbo$;OFvTXK2DY1=WJkm6#4($KM12lXOVdTbWQgYSL6 zlH=mB1qaC&YF)>8&=$VlzW_g2C+Napw9@pw{JT<2eGLX>rTV6U-+mlJeVf+5{P{hZ g>6`uEfZ-+0-wMX*?ku{IPXGV_07*qoM6N<$f>iA5A^-pY delta 489 zcmVF(!(!q&z_>b#~_s()0Pe zVXQDMQfB0vQfpl1S+tpo#~INg6)-pFrfwKZ(M!1jCFZT>l97K#3#D4kM2pBu%VL=% zIjGbF^YQEee?(MoYJ|)!#>m!Nn39QDTF6!;2^(q%FH>|s)hX~Y0Ku%Ww!p&eD+ICK zothYl$Oe;yvUxK+eCH%}C;Q65g z;K9CjfVm|#r?P)j{TQNmi!z@J23>0*2Pl|$ZIoqRHyKnrvfyJoZTVo~A@Pa}LkxhA zCVV%}(g8hxI6z1afcf|BeUZ)6Bm#h!zW@S;ZvJAY?Y6|$VGFgpEktDXGM8PL&qJH% zR&lu4;tuG&9)r;pC=K;n^Qk*kF|$2?r}~}okCdj1($HbPRXcR-s6Sf0Hj5i7XWy^n zxM|;lgM=&mc#QF&Eo=HOzz@~|I`+~BM6&)e|5Tb%UxPuxwBH5nejHQAPQLT!cQeyB f`@aFhOUi!$AXw@2>YA6300000NkvXXu0mjfPowTV diff --git a/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_right_bank_to_right_bank_diag_4.png index 38d99a7efbbe92fc4856c2c1eab7b78f51e7e8a2..2d4d08f4a0730ba7bd6dea2e5931601f40ccc9cf 100644 GIT binary patch delta 412 zcmV;N0b~Br3C;yGL$421pu&sJzIuTtLO-ZoizqurM0XwNs?XULsEZiK)X-Xyx4Fj_DFJ; zMJ7)8(wxqEg50jYy-s5WaSOlb`MQsQRFb&q+~i8HonqqJKWP|_qmd!dy=+CO?O8g^A)t`nzM_H9duoNh%QmK9X)GV z?t#w^`m$1MxM2``g=oidcwmWozB@DHxr#7)dkIr+dAyf_G=#{(En=@nnJmLV9HZ|Q zB58%lOdh4Jd_*%r;frCq-0_2XKkWeYJdWqD_aud1=N}Xjyf@c!(+!{i00003A6HhYUG4*WG$9R(-ZVA_GOLDT`#9Z2xFiApe(X~#|W;`#ZF$ylF zD#++vWdvT8B6tO@-dBtFAY)9ehuD$iHua@-7=yTlGw&-;(Ik~50-rz}aum3m{~Nte+b4y z?yCG{E67;qT(*CL#K>pzjK`ss>Tcg;4b`Jl!QN!67@@hQAEo^awcGT5nwYK53W=0$ z5@#e#<%nFMY4oL~*4!vF)wK%B+qPw&ux6150dji_GZU6HxA@CR1`2>^+KYx8{=av8f002ov JPDHLkV1n&H$>sn6 diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_1.png index 277ecb37befb58bb168b8fed0a88228e7ad0b362..325a032a87786ce32d81696fb04f85534e2b61b1 100644 GIT binary patch delta 196 zcmV;#06YKs2lxlDJp+HHNklf3^4l?~+k)6EGeiFe`g!s-AR_ z1mLf8f@iY}UKAJ}hEC2ui07*qoM6N<$g2)kK A1poj5 diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png index b8afbff82e5a72c61542ec502d5e605caa6c28a7..aef80938751eb33a28c5ba5a27882b9e0adf8f9a 100644 GIT binary patch delta 449 zcmV;y0Y3it3G)fCJp+HCNklw<#k0Cr8>oa=I`5B$!>lwYwH|aH}1X|LK2&)$d{eBZXj7B(UF4|@r(=Z)DOO(p0 zW7YSzp(u+qZo+jN!E?@_mwB2dk*Zv4rLtX=ID%7^idQME1!;envR+ZxgWFVU!^59! z0^vf8PRITN<0ha!ZT1hz7aaR#URss%D}W9{K^kVsMwwcA^Jo z2~>)dOx*Y(346b&=vMJA56!Uai8UwX|DNkT)?mto5Vf&y7q r3y*(lUN|0i*)9O~<|nR?C#;PhkGB}<7cRg?00000NkvXXu0mjfK#|o} delta 454 zcmV;%0XhEj3HS-HJp+HHNklEHTu4;*XWX$D|A`r=|}qBX)bH|iC&$4JSZbh<3Zn8Tb-tPnr^4*4CS1~ zq;2O69Hyf!i&U<{ww=M(bp<`&5F*yt%t*I`C7z~}NyVjTtx13IN!*T97=wE%X800w zwjxaj#^{3&yVz0D_DoYE`GQ0GG*=Vb3rL7Zoffw~J_o+>IWc2ns&Pl7KrdEPfwLbD zQw+|MSXFFmHmJeF4?hj%or2gn0FIwlkej>4rlO(E>5R?%f0|sndMB2c9OII<&2TM} zOK&~DJ&JKi*}Z=b0Z6-i%z?aoY>hzgo#MWvF?N<(N~hl%m!=G{-jJ}lF2IYy@DjSa zHSck3tTmGUki7~>r#}gIn$T9U=2l$;Y4D}TH`x86)D0)8zI9^e5}nI(;N91Ghf}Y! zEqHCj(BE38aBURu$zAp$=CTjKy{*#Vk>@e`=#Ql55rNwl!PenZl8fY wu(iec(fIsd&4T0M?AgY9A~E>~NcY^=` z;DlegYB|oAx%cau$RqVcxb^EC=rVUVqZ^=)2u?J$f@#j=z$=J_+`|>%o~ZH(>V)ux zvcHHCtIe)TrYoU)TQ2Oql4|}23GpbG3+08z7%cWANRw?OELvy%qV6xEk34D8&+&B; zNvMVIR}tpcIGLDz5wbCd?Rg}FTq5sp)lF2xC`Zg3)4>VcnB-{-abCz&goJTSD554= pNVI=NYMbiaw;JX?{1xIq@B>9HEpsKDMza6_002ovPDHLkV1k8CauEOk delta 238 zcmVPEsT zrPR`wR#Dr-%xdpAOKavc5l(bPkG@V6=`@V94plCade|Hr+Ih z6pBjum>C<@JRYn0=!whv_z2>opW`PC-Y1SO+!xZip>C{o5VG81?8f9KgSG4rA@2fA z*$btOc0tjs$?jVazo7I4Xa01;9CNnnGfs$bc_9 zN;6;6QGNv(cayuiks-I=m`rYT$PWxEHAZY{q-P&Sy2;$(W^RRPp^Go_oYG)b3kXsc;&6C5$<%%M(NN%{%RPgKDp^Wdn%0(=^>N0~oBfpRs0@zBg~3#{ zPz$xa&|z(I|0pShqpPxVZ3F;BvHCrg;k*k@`Y^6ak!XK)C36!Q8$Pv9PXOv9P_oub zd4`llawTHc<|r(A)Kh>mG8D}IDU=7A4Gq>LSkYqm6=2AiBTQ!$IUGeE(Iyr*`K5xd zG(t#}bIR^-(~6-kiT(^2bxkP+2q{F)JyFh^;XfHE_$*IKcKtUN;MGk2EdF&eJY~Eq*6H#*qaRb-&oKOxzro`2SUI4@ r&)7fHO~PO}iupD`8Q%L(0P@&Bv*Y&elJLjp00000NkvXXu0mjf%!3^I delta 617 zcmV-v0+#)b3z`eCJp+G8NklF%gm*TsDG2=lUj1#!Vm;TuNYha8;0E~Hc=)r_NskogK@H-?KI#xeVwkWT?7 z?jp3wZlu`G_&`U+OG?>{NxPw3htc}!69#T86rqDM4x+qqbfJGGbBd9fe&E7iv*kMl zA67(jQiuFFqb?Y(dTo=SyjTb8&ghVs!i-Cbw0k!lT&v++&2WY>hZJ)NagQCqkRW$0 z!nPvYw+#Jm2|1QF0SKv5XQf@3M72x~ek=zJKlR|3rD7D7P;zPjDS3kxW{c&|fNTTS zykell4YDW%2ugod0Z|wi~k8Vq>Nmch5X21|!G?t>-`tpX+cJ>3(#BUKj z!4q#)3r6y(gk?Qqj3e0x1nEV=t<^~kl8P{NP%1s!BN>0zIcK$pVQEreZ4(0j;z6Qeh=twOrEeSh{s21bs()p`HzCT3`;~F?xWwt diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_left_bank_diag_4.png index 69d8b53f367ee981fa458fce63a642afbf03a5f1..12f56ed98c3a7c7cd9877e1582709ad4eec932db 100644 GIT binary patch delta 462 zcmV;<0WtoA3V;f*Jp+HPNklviKFlAi=r}y|)bE5O zL?pVcM$c8+(|l_`|ENC5?Md$XkCZMdwPp}KC?%<$RFDYiSCIFU%w2X+(aZvJL@|C! ztJ~OGA|c!jRK}TVWfr0EJY-GUN?Y9nGN_Ky&36VxfclZW;VFNVSwV47RSzR1EA6Kp z8!IHT4@8}m4G2?UhNFiKovN^*z)2$<+ZXRdn zYhx?pfLZZ7>Cz$>8qxJ4H^q4D7G*gv3@k3%JZKbsU+EdG_fP^Ib4Eqdjsv{EgrRO3 zBZiITqK>{;-Rgh1VIaup%s}6$@r02rHaFr;u#Ywl8ZRglQSUa%#6z;EOhPs9-Cr!n zH6MgcsIY$t>8XE^&18Q~>e*@DiI`1fo7tIO8-)d(?Tf@D%RcEHy-!lj5uyf9@?E2U zI_7;#MTgGwGTSU|WaC&Vc2 zEHkkr1fWuzyOs+6;BA$|B9&Hm#H}brzp78M2xAcmmj0dJtSRryeK zvTjw7m@Z0&B-($QN**T+G_snJyUZ#3!w?wYW^onAWL@P=Q=+BC3il$-?oZ(bVcU*^U3!n|;-Fn4HpzXYB zjH5*%#mei(GHQ?cE`&9PD10Xvy7fogo-#&%$Tp|H+x+i diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_1.png index 279ce8fd4351e975c98e5a5fa16fd1e46309a916..5f4ce1c0eb89bdffbd51bf3fcc629e9ed57bfb94 100644 GIT binary patch delta 554 zcmV+_0@eM@3fc;=JOh6M2uVaiR7i=XRBe`{FbvE6uLk+zDodQ$>AttJL))1t%(mb^ zEiJNSS&4I3YFU;`;G9#sgpR>a=c!|u=M(UaI;Lqp%^m$r!oBws=#+w=r?t2)t+Ra4 zLaB31L8qqT9I#EK_S@TN^^8UIv7iCpnyVsfm3Ps8njH5EX2pNI_P0U`cSrAWPqwdi ztLRX*0c!*8@LP~JGz)J(sBU0Pb?4?_X*=}s!CiZk`=A}IN;C7NQ;hg$U%_+kLO_9a z5Q#Lm7BwPq=ajV$(1}^+CQ_6munyW`?(?oc?tu)RU59bE)@C)eOD}tQ41_dpIG^&4w{W9_z?eiFI4Mb_NfV@1n zjB9I!i3i5LHuz2)AgNF-FHzg8CEu;KiM^g2gib=C1KWSp1FKp~gNq^5O7wr}Ta9E= zv6~9XiRmyh`{k9kkY2UU#ZtpZXsc3Nfdbr6xTEMD-@cXZu<61!>7Sud%#4MV_}SoJ s6?DeN!bu`D3OhT?J?a`7bqS362b=)pSpl5xasU7T07*qoM6N<$f}EBZ-v9sr delta 540 zcmV+%0^|MK3d{XWY!0Al4-ANpM zWc5>(7I5y9SeE4@IHedrqJy7r*QG&E7w{n+;%&OD9sEQpwQd*a7|r*ZT}1}b`VO5^ z3ej8DIXkDDE2{jWi`}@W+E+^;8#`8A`MHVvylze^!?p3QY~+6&Np|Iz zW%z561}!S%2ie4!_O)tp*oAUh!d;td>7^S5Hka0XtrPXYD9$ZMxE2SNV#d$iS?To;z zE!sUnE4@lhZKHo69Oh{{(2o1Wq$(Drq0(NRi+9-nf`@id+526r;nW&lD(SLxI2^%` z6XP-tNSk&hw9BPGVc@-Mw=XwFE4k9sQb)?~kb1hA(_zTQ3`P>wis;CHvXW zXBP-2##TCU-%p1{*-IWU(V_P}Y*C;pNPs3T|MzS4?frk8ZVA+6AKKMRrZs0eY21$l z((bDV;lQjILH5tYEp~KNJYyEvxmtau>8ZFy`ZhgbVd2JmW+ML*jTpMQ-Bg(*#M6~I zj@e|b;Fc}(dvuG;1$@R01vm8bh&~P5d9i^F>+jK)pcG>87p(Wts+gF+NFy+_tJ*z2 eqY)p$h<_Bbj^tgvk+=5%0000h_?k{0yx(;;w!InALY9v~YTmssj63IFO1BEqqFsg>C9_k4lBA zDnqfLnPJ2)0?oqmR&*hA^!at#jYLLN6?RW^J_*K~aBCJ5kr`fMfE;+mg*GCF#+q~E z+o}Z)Ua+-3twc1)=OV delta 230 zcmV0;-MB1us+Db17bKmNL3x_*T6&~=u2x#=R|jCfHxvE zvbkH(+@Ta|Rj>rCWvzZ80ELy^b|DqX-OpRON2Vs+ht0-HhWB2UWS5CnB8JAwfVb5u z9MG|knN^5DR8(c@7pf`)-vUs&#EBN1+B}z&!87bNSSB>S^0W3nM9mQJ{lj`^&I6R+ gf?L-=R@PT}1N-ePQ&xiJTL1t607*qoM6N<$f|3|(EC2ui diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_1.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_1.png index c641b71a43d97fbf4da827f21ed995ebf5e805a3..b6996212f34eb2fba3f1228c839d3acc80096a22 100644 GIT binary patch delta 203 zcmV;+05t#m2mc4KJp+HONklS%^9?KKvAPmL<(>cl002ovPDHLk FV1mO&TNMBR delta 199 zcmV;&0672u2m1%GJp+HKNkl&u&=%SFe2T-%fg#CZ> zMFoZ{%r#ovWlq@U83eB)%(RFUR%Kp6Tp*$aq!@vzX`V*7l-vcY{EcCRjG(j|vLWX8 z3}OOH6@0{|vCo{wOR!3B8mvk3CN$O|AA~5pYEuj$$XFgAeThHbYV+)H9$@l;+z9ZD~ze<7(5CMx^IU@$E^?NSc3acrUs~dU`$Xs<^9p zB)SRFh~u0-?EvHe1(o=OdK@p;L*Fm4xXTlO+LE1d45(|Z)eQ!~z5$4DY(r}~N;v}H z>$J7id^7%tFEVACNt9#8t;W;u8_2nfhoDv66T8fI&D+L!{#85vrMIgV72m zQ811w$+?TH71Mv@L!lf6IgERoy_6%wuSnU7jT~jXv|T3UV?;0@Qk?SuxIzb*<@5r9 zP4d!Xt;;?TQ0VKCkLoLnE`r!=-Qdy{!~urEKy}RgQsYsLH@INN0kCK-{=kqg^9h8{ zNQYEkADeqUQ4PnrJ0%j3Wh?s;*;`{9$vMV=go>9lT7yM%7uCE4@%FOq$+mMzJVBCo zCrqG{#oh%BNT`6K%(t^C{7spyd#_<2gV=h;vz>A@cAXwsvtBiHH_6V#qfPy~~XNTp0Ve>;s!Q-|E4voncr`@xO zv+g)@62cHt&`^IUZ}nq8NE(Ik$PwZtByYKwTOz}j-Ez}$jA#r9nKQ;4K)Sn84gLgy zMM6rsxk-CNKtiua)2W=P=t2;CDK)nqu|r}2sdnD5w{$Aw?FIvG*c^zRd3%8oT+s!D z^~ivz)!X7Ghs+JNb9YHdgQP9*XN>#e*7SUh(IE5Oq`*oJjja(Rd(FwGl3X%r?|Krw zQQslncE>0tC9?2Mz<`((^Mm?X?h`&JQS;RpzffX~KLFbB{|N#Y@3DLmzyJUM07*qo IM6N<$g5)yY*8l(j diff --git a/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png index 80efdf7472742745bdcb9f0b2a9bf31d51aac7d5..27e3b88f138d6fbb8d816942dca80386fdeb6b63 100644 GIT binary patch delta 474 zcmV<00VV#H3XBS{Jp+HbNkl_1TYLdPE{cU!HcRbfv@Zc@3@Hc=&@)Q9c2bl^J#4(W(R$Mc0; zh%p_)L~V>M=82H#N}&Rn778=`@hH5a_Jt~o>Uoa6hI~}fX2O5sLNOoqsFh1NQ3ybz zVaH5JuqdF6KYO;yZbrFq79i8$vr1V QtpET307*qoM6N<$f)fqqO#lD@ delta 484 zcmV`{ih=15W(EbOdPn1K7%~q}ZJYm~YtT~IyYoM_EJ?-b|RAt?hNjeH#&L(ah zDj&SP6RzjEhSUQ+&O($D;8bO(vML@~CQ?I!P|2nAJT~?*VOM|6*hp>D5R+}Qvhy8z z4|LYy8UdyfsLjDZ(^!l`oEzvHA|hs~XM2$S6CFHN+f`K2GOM%pqH@6vt@KiKRGRID zwtd3{&dy^Ff8TYX*&L}X28Ms&|LTOJ*eZ7A?VgMOf5E0-u=s;?U zgFI1=gE6J<-rmC|q$?TIp0@#rstrhCIs7YtG6J)zX$VDc@X&6Oo+Fp4c7k*;Qoro0 z7)Bel6_aD^dpX@cV+&lpm?+O6FoP@hJ=SN?d^ND3`&}^ES4O@f>Hy5{oWlOlKrSPY zinfjK9GR)7IJ|#K>(Rs!b$MtjeK0kzvN7BXa3|Al4_noGxvUjKD#M7u$)M*Y&%izo z(s?V?z=0uMM->qmjgJOOAN<7ZM-V2rua49=WLQ>)kf$F9x^x_XSdhj=Kd&4qK1@Ou zy^gEr_&hQh60Ns;US=z1055q0bd;A5_gnZkRXDCpjddpGfzAG{bvx$3u+09W0DS>} Y0P*q>SG-Tq$N&HU07*qoM6N<$f~O+I6#xJL delta 422 zcmV;X0a^aw3D^m+Jp+G+NklO*p`3rRYcIn0fS6?*dfyKysblBZ|#tZc#s{oH5{Mx6HmQ>W+S4$V&xUY zEF#66ud059)Oz0d(znhsA932=m@+(PUon?3hbXyX%1i)Rc@1#~m8A9QvBmBBr{2Oh zpxFF&{ZOCEEn#|YAW=POdp&_@WU1f3gd19lK7#b#^IaY>pJ#ivb*DG*4=LvoX)30^ Q8UO$Q07*qoM6N<$g5vOS0@B3`5!f;(|@K0tRy@Plmkv8MKH;sp?Z| zVWCc^#3pC@@t=`A`fD`z;qTZS?40v!zS2!;(IR?6C5NI7&!ST(E7JD2cTsi50?o-5 z3|V{$XH#legAdrHXbRbshL3(hRt~aPav#=e4q49TF}hVa#>sz9Xt#!k8g5S(hVO+L zWXH)ZGMK=xR|`X8k*}&9(ETyA!8Xq7_46n!U-@-z$o69nG4AJusVop#K=$h-yFkRN zh2LC}4YuX>gu2zb%@leSa2i{IEmoa1Ee_WDq9IF{5FG#(bVNoA4B1_>W=C1o{IvJz zR>SRxCl6V6aUp+&bh}3su`ePU4$|C>3|S?zFt{SKCk7&`U@ZcR@|KhAt{8r9mIE$( zwUuwh!OEa$!LL#c+Rq2uLd`6$t#Jp>YiBv=q>$S|3>*}im_8072skK4WmV=1!omUD zSEK+g);qP_IyvgST0jY}OF^zN#6k@C?2P>pvJ ze(rrhRtk|V{!=CvEl?}R*9h_^=00000NkvXXu0mjfgHjOu delta 569 zcmV-90>=H~3hD~5Jp+FjNklhu&MR_o9YKHF651wHnE`l1K|l zq+on=UD@Vhq?e9C0SjVfB`IJ^un9JL@62{(n|l=c8uu9b@@#LS#!_%oY!cWv_)tJ! z`EBa%E1NN{Zz%Ih2k}QmUJt}ZU03Py^xtF6ud(0NwhI0Nr%|*kMT$ez00000NkvXX Hu0mjf#<&hL diff --git a/resources/g2/track/intamin/half_loop_1_3.png b/resources/g2/track/intamin/half_loop_1_3.png index 05bef03068a4cf7c8b2251b8b56fbba31dc2cb7f..19f8427c75f532de16986e6b3cbb0a916a1ea808 100644 GIT binary patch delta 662 zcmV;H0%`r&3&snuJp+GqNklnzw6-iS}B%NTTI78I!KN$1!yM+>8wHZ6nb!&%hNQkzz)>jf!Xtfr!`x}OB|0!IZ$Mk)azQQ82ma>TNMJdkJ0j#xG-Mr41>Kvd2X%DuZ9x-xhplnAR@ zoo(uLPCx}{m>x*;5fIB2j*(R~Gxd%DR45zn~lW>YwH0w76jQPmRbl}1tqG&c<$@N36*)iUlL0f~e>6_8{e<@otFp)C? wYqq}}%k#X#%-p^ko{SNmLE*LmnI_`@e<8&1O!h;!zaXGe zL*)CTt4`X3D3nqqM4<6A=B_-3SX)Du`xqi!`xX=u)e7_=(V>5x_aHWoT4QwAtp(u) z$WZH6|I#5S3G$htGIcU-LA8`ZG2MHgE?o?@iRH_81&N!jCcJkGg7O(QTTz`5hM+H! z5w=2csjC%1)M2<&$J9ze5XkNw87Z|PYgX+eyL2$G7Nk=e-H}>rIV|1K8Jz^o;uQI% zy7W8?K{Ps|$d7-)yEwd@jEOZ%S3;$%Wkk5?U3-@$3`eF4~mUXMt1~~`wGrF=6)q0Zn2#3GxJNfin*pd)0H$VGr^7SY!%7Ogc&@seNjv(>m`31yb)q2Iq#!p=45wgX@0OvcJ43I9pNUT zHa3*uD}gsSY$y{Qz-!em50W_tKc3{1>|14qUuvsDiKIS|tGg{&ZDq`d=6^9KT}pX3(?f?cS7L-Jh! O0000&py>Z{Zw-=KRyz1_;x2dFa2HYY!h z+WQ~4EPCAlXo74NBD5_&*ZR7q28O(R^Jfz7;ypE1K<)E&OW-h2nvfYcGgF&-@Gvo1Su%lvPGz6rCnlja|x3|yqB3+ z#2n{>Mx;l{eY$P{Gcj+Y_ukrA!X&meh)`qF{CK{h_Sf`dprc175%=;l4@^)^p(ipz zsn&dAq&++=x1W5&l#rb=G1%idn`^nXXuo{@PBlO~nfH5hf(!WX56P{4yoOo-0Rq3T ULPyp`YXATM07*qoM6N<$f|9thA^-pY delta 364 zcmV-y0h9iz37-kDJp+GDNklm1Fj)f5SBjxhMP;w*!=tEJv6D>?kgga|W4-S7i8DV!LQ_zmnR!Et; zQ=;d2=eqki)f?Xe4EC=fjMf99Dl1D`#Tt=}+@Xk-#G^5x5*i~63v4*{Wr+l&891q? zlaweTD;jn-0lA@W%MvO3Ap=|7H&i4}FvLwwy@>#GX8cW*&O-(f8?$c`AT2+C02UcC z0LQ~=FE`S55+zT9w`Mfs^e8aps-}-tDr~UxV2D*i}S3O(+0000< KMNUMnLSTY9bENM8 diff --git a/resources/g2/track/intamin/half_loop_2_1.png b/resources/g2/track/intamin/half_loop_2_1.png index ef4d3247468e019b9a9c73a9221713ae755f0cdf..b31c3f0353c9c99a61bd04c4b824b01381d2386c 100644 GIT binary patch delta 380 zcmV-?0fYXB35*FLiBL{Q4GJ0x0000DNk~Le0000y0000S2m=5B01A#QcCjHG1AjV6 zL_t(IjqQ?AZUrF-Mcx0_-l({j3IaAM=uDcvIHrC5=|^uSG8&Ew*AQM8{DS@0U)Jl+ z0=&oq{2VQ%Krt+5F8j?hJSn??bBtUdZ(&u5CQxAuNklDVQDxsJ#U0wa%HshRv>j1; z7s*+>7AI4T$36Pqg_SKTsn9?b%6}+#kVmU`ObbS0`tI+K~L1iQJ@%~t5fs*`4~*)r93U{Utzo8{ZQ ziJy);IA9%KT5loSfLLQP=dh*W_V#%i9EZU;T*g!}%|~*1xPyK3@iNZui{(3T==qI& a1Ni`_s@T0HV_f|J00005pV*uo3>WNP?6;QTv2#Z_~ZK1NXjh zwHE7_quTDOkF8EMuQ^+9^@4|crdqgiD;|-TTqE3OZpmkOUBj1Ki#0-T*=LCAYxKz$ z8vKQSR<}@NlF^Q^ySLWcgUuMvc7J;R>KE-DZtPMMaCBJD4cxVbJE5H)+?`&0II z-w!R>U}?hQQ1hemF`$|fhKkN$$UFoj)Du@&aC>$-WImyZE0at>!vH;l_TmG!COq*( zci}9U;TTSwC`0nWS53F|FP<>Z$V%8y*28Le%_QJ^Og~Q-URkn;vUV_ZnM|=Nap9m) z&i{b0ZV}c!0L~MpTtqQO*{6EOF+B>1mu>9W*K$nwjF(OG1LW=I^c~Wx@{9g~egQVF V;r%b^wj%%l002ovPDHLkV1kpguABe> diff --git a/resources/g2/track/intamin/half_loop_2_2.png b/resources/g2/track/intamin/half_loop_2_2.png index a439e4816690fa5067d14fb2523bb9b7d14e262b..d4831cec98e83a52ea987f9ca10b6556bdba44d1 100644 GIT binary patch delta 427 zcmV;c0aX6n3Ec^>Jp+G>Nkl!|n{F ziFFP1JEUzhcxcK}s{B0t?M*Z+td!4E6LQUDCiZT}N@^w#G&t3v1M z>9K=e1u<|UlZAFW&Pt`jmcnDO1{ToU3Zly}%+mR_&$VnPNO&a&KMcxWC>D{vC@@hK zsaWOyq7;G*eQ(zc57$wxA2an8B={r8(eRWZ)!JXLCrl&#g|^fF&+{bmcj|XUY%XjWm2dNC9H9;z+EhRtk?ZLngT8*HPt{sk?uQs+dV{2%k2CL3Y(0UBn_zD{a)AhRzIexM%C1t)C=l6hKP8D1#HJn3PQYXBs$g46t$_h zrY<+7<%KZ?=y!jmVh|1j9_}YtSGn0O2J279DX0b7wVAIyF&j-KLq5b8Xx2%8pFv3d zNs*ec%X+O@jGu<^$R-j$Db|MX+ruawmX2h&TBD%t2H|at5<8x_f};0Xeo{CiE(Yr8 z-Bw>-M+Jv-j3=R@aOq470`vH(L3Y)nZqzfgHZ=aMQ?(+p_uqow>M_<=>hB2AFPMA} UMhXw+o&W#<07*qoM6N<$f+}^+P5=M^ diff --git a/resources/g2/track/intamin/half_loop_2_3.png b/resources/g2/track/intamin/half_loop_2_3.png index bedb2c43b8aa6e2252d56912a5474ba2dcd4f282..e803970c4f72f2e57418a012e1eb6d08a649d02a 100644 GIT binary patch delta 689 zcmV;i0#5zq3*if}Jp+G_Nkl<+%T6hQhZQJR$$T zJv_Ect$jPCX?x~^l^WyI%rRCZeW~{qY=2#3A73OqsrL;cO$vVpQ-OU46s=51=`Psz z>P$VdDcHJqrnn%b6Q}JA&m7Y0{1MkzYyGW|Q3+|^dI8|X8wl3kL*s1NJttw7pP}9aNIU6OKrkYv%AE% z-U#iq74KMDVa(SQ(;;M0rDViW78t?AA%7clEq@QQjk%>W{dG!c9r^oE<~%c|Sq~Q@ z3v1=T0zzhgIgYIc7oWKtzBnJos*7>jNt-7ymp zcjFj}WE@f{Iu$sh#&}2(pQH~@7}eI7CD%W%Z@v|cNU@>~k4s$-^C~7cps}t^*5PC^7X2w;cGeI|wT0+t68K*gsMCxT%OqR8%NwE-?5G$dXy(T<}y=t6UI>Hys*@C;TQtzmE{+%vW_?d zlU_l<&Dd7V0# X(u|&Yh!l{T00000NkvXXu0mjfzotPo delta 693 zcmV;m0!sbi3*`&2Jp+G}NklarQi$uH88ead{G(p&M>uXj&KOR=&NvZ@ z|1lT#G357a^!tD@yHL_(Ubu-k=i&RTPQtB;f0)~WrLvSseRF@N;gA9z&0p}tX=}h? zNZ8g`RF$dLlzPI}CYCL%keP0tx04wr9Qwg&{T%OoOs~(Mkhj+EC3TgMHq~pxhe0K- z8@z7V0q!a>Z)Z4gJ)n56u44S$NT~Iwa&l~>w9P7(fXe(((Y-0M!;{LY_Ml1>MwOM3 zDuU-R$BxsQ?)ZPhAZ{vG{9Yz;sHkmR;$MtqA#I?GzoR={T%ENB6PNml4)|I!6{>&l z=x%WclT)ociUSKtYrIe#&s-T44YN>~#EDdpEi}i7Gt2$(bY{F3OVueLMPe;{FAuz{ z8n!b#&ZGzCfAJWjFUFZD+YV=fm4E$WTk*c5oYY-8t-*iWVSS#vbIOGgh z$X;kyo0moZ!d@M_@e**>*k! zKUmHfkthV2I<^9!YZDC^?^S$&EPSCaj;CCyCpx&GeIBO7@&7P5r!00000NkvXXu0mjf6P8ds diff --git a/resources/g2/track/intamin/half_loop_2_4.png b/resources/g2/track/intamin/half_loop_2_4.png index c87edbef1056b1022e9be88aa4cb9e0b8376102c..058d06c09e7b83d1dc12623ab20b7ff280786cca 100644 GIT binary patch delta 405 zcmV;G0c!rh3C9VrJp+GrNkl z%GF>tU|fV$zaX(o3nK=Ib=6K=6k#xLULpXP^ouA6*IM71oU?yB2@vJ5ohPUC%p`oD zYyu-uVLbKBX)lkzO!RMkmq<|2+}z=HM5QixScUSUTgMUklGkYpl2-U)#_$`3a<@` z23Eg}&xYwmVKskXuu>Sv>k&<9VC77PMsqifDGaP`<_@G=2qP&$`0XbY>}&MAQnD`iexQ<*K0 zRBS%eC9|)P|D{`FIn%Y&A^~b64 z)$4SC$ex%snml2hLhQnX5y^{x7KzaQED|7;)j_n~Kt@1AbT3jvXqQCZuW2L_?JxGC z!sDo?==3?n8fNGl*~xG)FQm#nS9;zGGFu8V|QMSpFJ3p={M{?;;4RPJkPgrPHL zJ~3U?I`U0m7<=AM4B3UT9b=w;gLWTZ=QSH6Iol$YS-$pgjyf0wRXA{3QU+0AQaaA7 zwptt`YUsg|rB#2FTQU!#%mdK;Y;YK$+VD8dyNbjHE!_2Y-x zxMXX6i}dQWXO>%peB9Fg*H6?8vCE5-xF5GO8&;SnQLXHgsF0=;qg8BE%{Dw?2nEpivH+OR*?xDP?u1H2tkT z2M8Z-J{MPakiNRPZ`*zWXyUVnn_6@;jvhC+b0^AMI&xV9|IvTt?o2j>c}x2NC z?{V4FX^Cd!+CJVvb-6Xhe+y z&rO}f9OnjQaO*`!BkarSMhZ9aFn7@xtrE5OB?u|Zro?enoYW&TytsJ8(AABZS-}@l zSnxj|JKU<0^MpGo?s?aSd0|Y@{H&^Q(Mk7NmgSNsF~^)=6V4}n>BD{F0$lXo`US<7 V)3evg2gv{c002ovPDHLkV1j7=ngsv= delta 324 zcmV-K0lWV82=@rEJp+FwNkl%(X}o)74~^$sJ_xTu-lD50Mo5wK|Uo(p;I8WGL(vK~ByojAG9M@ zMVzIWBIJhJvg%QEt|zVN1>JD*P|?gXL_N5uF^^YMd7OP4cDPv-G$3^wQHrR*CE2Ix z^DRALHepE!XO0CnYs$s3f0@Z(3L8sCxLfv>w(5Xw{_kA^KIF?$kZ1-NN=;RBd;ta^zxlZ>lO@nbo*lh}C-Z6E)q9rTiggKIS~n_xqfs zUQp4*OiV=7v>uNfI~omAFV)@CG0<`WbOHl*g0Vg5GAz!-mng3T+jVARHj*^oxh zunbtan(*S|tU;*haT*Lu?I*6U{ zS>hx!EZ!hLNy2{vvMU?5uwZz$VF5Tc)d`BkO?I3142d)QShUg7({PWx?26OdzG8Vpz^E0_(VI8(`vKzDn660_m}J+x40|-5E4} zESy4z@!P7*A!dKd?2HCtkG=*Nw?h%}nxCgztoUE#VB)9=!!2QAzyETY{CM`Aa z&w;m{##xa)fDJdsf-W}};NGYumSZfGa+i)unSJfN1bX7Y8sfZq>aJS(eIv?(y!jDD zxvj>!LKq&E#uPbL-FIy*M#00MVI{cQcv$W>qpmJuu5l`+vx+al@JGqF)K!@A4R5^% c|EKttAD7-5T$e^fL;wH)07*qoM6N<$g5l=Wy#N3J diff --git a/resources/g2/track/intamin/half_loop_3_3.png b/resources/g2/track/intamin/half_loop_3_3.png index b59977722539d77bf823ebdc8c6e59af0518d0a5..291fe876fa2604aaab6bf7a5366f85d38ae1cb19 100644 GIT binary patch delta 690 zcmV;j0!{tg3*rl~Jp+G`NklvjDbTze;f1fMUHlzM*#pThqr1It179~-ssf3Va< znvy?)TS>{r7#luoGatisN!x&ZxC!g7e45?%*tg)9tHjUM3$TCKbqy$x)>WejvtO4d zuB%29h?4l_ZPoB!QId0NwC?(`R@ym(Yi5_*T3s;}GP_mkc}@)~iCp~-{!NKr1@rFW z_K@y5JOo~)n|8U|VYMzAEx$Wj*G;EJZ4IqAB^L6!Vpa_0!aG?sTJugygqK#o!L_;M z-$mG@J=Y$kB*lLp6I+QIlbL=s?i#TO9l}yp>6T+Z42!T~&P7c{BV(IbRU?#;V#9!9 z7MCzEdxXs5ue1siq=O~p6|45nB!hX!lKp>;H=}M?EYkhyWP7x$IUdtI z{S~wXgHiO4HmrR77P(=^fIEsr>ZQo$$31t@JvuOkkd8fNA&r#&!1j*Vt_w!fL_|@% z(vC5A+!vkb8O^tCDJ!nRS)zQC9pm(3tr!OD7EL+DVaWNruQ9&kC#SnB8y?Q_HM)|^ zf^pvr+zo$kwmJD|PiMPu1G3IuAx%7KB%n-vo~N*o{A zutuG6&}g#~=ai#RrZuOq90yjMxqel`3T)uo#uckeouA|S!_35s^VmXF62{(c1tGXV z!SVm;+w!|kgF=^)Bz9&x$LNm&Eus9yxxrhC6~Zcv797s;LB>G+NK>U^g)maa5x<@M Y1^QLV#CPAj;Q#;t07*qoM6N<$f>A_U3IG5A delta 684 zcmV;d0#p6s3)~B^Jp+G=NklVD1F$tcLDD~*a@^g09 z3LS!f>Um~ie$i6T(y#D-AZ{PM#xHR#MATp6dKyq`zntZz{EMmEe`q0n%S)}C1NYzJ zlmqqt7E=y^e9%&AX$ddh1!9Twh0L7z9IEqmcL8R*u9-Di+C6^^9qssqEbksNgOQBO z%7%NSZ!D7fcoa=-MGUdjM_kjla5LL6=aq8rn(KpSJD}{!Dc8RtbE!FH>o)7jyGKzo zC2}~I0w}9b&Z7u5hLkkz;y$_wu@E^A78~QbMlYKO(j!JdM%;XhbLl1Vw;|42Mrmsk z623gR>G;kt-5!6ynZQ^7(r%pyz3#K!4l_0Z%O^8pd9ch1sf$I2H8vKEQh}d{m{<5T zG^NM9iHj+siI9{VqX4vHJ>9%D#fFX$lfxsWwrb2_sE z4G&JKoG~U)H2g^$Sd3H^P4pOlt|Ep_O&+T>G=-u!kvV_I*64`EVa1~2vH0Yd3K()0 zCUW@rIl{VG4u{JT!|F+ld+lSO$T|1u)MVE@dHsbyjmH%lb&o|pgaI|(Fq)S__E>Y ztGJQY9{+#CaV{p4u<};s!Wyxz%x%ZHVl;vSvW9tQ2#g`mIwiSOaQ_`B6uohnndfz) zA-Gg%&OOaz>|(M66d2I+e7gW=WyG8n=~id1W8N<~vc#JUX3vVN`0Cn@y-qAW3I4T= zVMl&q&K0+#kzsE4l^(yFe`lV`_=+*1GD%;a|$n zZfF2_U%Wg9Uwe@wJVu;YFpotZ3(ck8*aXp9-Xm^9Q-st;ow!JZ0Yl3|MG^tnJH`=| zT!;$fH;f}8id0G&$|Zv<660)DbGn=ySEFYPL8|4;mK|Y4eNKOq&s1&IAzF?|u!K zQ~3f(nsRNe@;{r+2@|S!>8))4_-z~!Di*%9f!Hr{Oon;NIjyVqC0ruzWL7*FvF2uu z;2EKysX&Y>R_%WRafTE-(}RhbFA)x5R^8St-rE^L#uz5w(E1E?MuIza1SD@yK2Ef& zHJEvbKpO09S&;}>@C zG~defMcvDMVD*6vd>{iK$N&yc;)l6MU?lSm6b_y<9TE;>a{vGU07*qoM6N<$f+2mk AoB#j- delta 384 zcmV-`0e}9;39|{XJp+GXNkl3bSh>S5_lnkl)JhURH*m70<}9h)0z42}P4 e-)2tCD9txn(3HgMWR&Uv00008NzfYje$DLoBvL5H=)K-1inp!%s59f}&=pjCA9H4drJ=XNgK5dYLE}$Rr^hT7D zYl{H9fR@~gYHn9|Q!1K3L+wwvtHe~M8(>wtbMF_%Mx-^J$|8U2aOYk~V?+kLpxzrL zRYe938<SmPrU<^82%hbPn zie*|?!C8$~N=swDj5wu(@3kzf?`>gfQ>}4=LxX5n_8|WN&KV(EUGr=&UL(* z{RmiMe9=+tlu>`zIh8?MP08xIIKa~l+KbgS$48sx%966t(7vs%k-DEJpd*2Rts<@3 z^Ws|0xsj_az`C_qfjgX?6%ex7KgR4@X!bkThTnkELnhR{a~;K|2mcR8uJ^WH#a=v| z)Ze-057N$>Z0hl8=1s+kewKDEMGrS5Xv$UVh6L4`x1=ICbL{0H~Gc Uhn5{HW&i*H07*qoM6N<$g8xw2@c;k- delta 421 zcmV;W0b2gt3D*g*Jp+G*NklU)w51`zaNwkevmS-KWKxhfXFv zL*Q^t2!GczY+g`y(Q%ZzNAiHWRkcfxxt5)mOZZB;ZZx1|c%);EKJ8y-{dvH#BJgDqPOt5CqoO3eG5rrt^zy3fC&YQcJd_9~ zD(%%=>aI#;=&{Bo8g(p4^qDlT8Fs+A*kk7#eW7I=J@y^Z9QR0-^>_ONegNWy!(~9} P00000NkvXXu0mjfN88E_ diff --git a/resources/g2/track/intamin/half_loop_4_2.png b/resources/g2/track/intamin/half_loop_4_2.png index 02f39363cf687975c3d150983d5cfead4e38fa4b..7843fc4ff3a8534d4292d3bf80c11d4b1c0b06df 100644 GIT binary patch delta 621 zcmV-z0+RiY3!V$GJp+GCNkl^7%=aglr;i*Dv3E=_{|GybNu?j>wF8DWTCQV`yc6Nvd5!{PHP-1^DfS3J7N}_B zRKb$OhhBKhqaCVXv3T=hOLe|J$DbbS?3*q1Y3zpBIZw8fr!jvozZJoeAOTpbTP)s! zEl~nMvKiwy#1Yf=g*0`#OCv_k z2&}DhojcpoS72=-4~^Jb`){N%ws~MPuU096;pmDpiBpCb4}xYM3b|$ z{0D#$MQ@%>?(=3OvhmG2+*br-+9CSVTecK{vg)MY74jjjPihJ)I9_|#bZ&gh7_U(- zDpmFI#L~A(WJ{)O(qo$fknuOH>#E5j3FEc2;_H2*BC>xW@1*C(3rS2be6XADNtAbb zrVVyaHEx+4a>*Uoor+wb;z(uIoJ+FmUZB%dQD?sI+-KJpj&$?hvY+AONeHp=JAF?ivt?UVQ2 z!qIRon_p$>&yaNxZWF)QHAmf;Cy5DvV$(; zxMjt}EtKD~$o!r_c^x8>a6W-zNs{Ft3`DvA)#@`Cd=xW_j!uE&M{P>rl@~A4 zQlh}}W>7%c6_T!FNQmWK`g?k5vMm5(ysO*aPSnsJYsf?9%Q#My1CY5UBMPZ$c z3%&Adq2@$kZL|$bt&Z>OACD>Kx*Nas0gGkfj3Ta5ASdhbQLA8ow0=kUBwJ z@47SGQW+}7q>Y@NfyMVMS7lf%3tNruh!k=j)opBZ*59MHG2oq(g^fjbeUb>z-jeX_ zZsoz@ZSqLw1!AMmR@g1CGSMy%RJ?@QIpiS<+a;XZLC~*oCQjr`xG<`IPJ~OFERBt@ zLC^s~EBZ%8Z-jr@V^V8Pt9(@G#KIt>;*H*f7a?39ey!B(UU&gWWVaySsem0?_Dx%h zFY^J!cIeFr70j{E*l3v*Oy(-qp7zoAUfk_X?_(ucTRy#g=c6-5CEwG=vKNH(BA>EO zHjW1_Bu4p^6-Rj`;u+-$-IScZ@wK^7A{_O5bMQ1PEnPVp69?n)6EbSyqNF7;e5r>J zE1^YP4gFU7o1L4A{o04@fDq)67``{Qv*}07*qoM6N<$fu|y zSW>GcGfwHxRnoVs(07`@)7v*H(mrEu&HOVZQninm#LVSOWw-u0IIC;_lRQV0M8B19 z7xq*bDsq1B5iLWPyOn^}-znpHU~|yi-1579#B9KNQB%3md$51{uI4D4(Yy@7oW+w` zP`T*)R(EG&&|S-z zJ7JUt$BL<+r_+B}I@YL!pXY1#1p6c%ZLyzS#bm-UO}g}jDPw7j%Tbzl$1+W(T*EHm z$$|JhD!cGy8Twn{%kTor>?oP)h~>h~Oxi8;gfT~$qMn-dI`);~#r^Nu%V~jGiL3RO zH{t1QLaTV9oZb%cGGoH4!&Taj#wS-IIi8T?xisw;KVg51O`C*qQ=`kPrD@p2UYcRO}Fv5hNjkY3Su54=65;*Fswg7L>f+Y!aPtKu~-V|1dO z%frtm{(9L$o50Mw1LBA)_o+Bu{Oy6$0l)REvo>A$_W1cU=&Rz!^#|*VdCrc7xo_7p z!`HcUj^YQtA7BkFvMaJD950Z!^c9`sZtr4?j~ir-<400000NkvXXu0mjfzAS+q delta 728 zcmV;}0w?{I42TS{Jp+HXNkl`~Sde`Et4dRw%Slsq&q z0sMvJa757|`sY*V)2Hxfnm*IV|5D0Lo4===-RoP7)Yd;#exwhWQzGs9_d$v#ng3LV zYG9+1Gvl|fT|`qRu37?Gf2Em4YO5ABwQhrbENZ6THx*NP@N0jtN>lS3R8`VzFt8Cx z#L`W9$Zh8FtCSa%7;4-@v}(&KfDoRtL^%dfU=A~?x=oW5SZ{xf;69rcp5NHK*=$$5Glw9TzwCyr!}X57t9uM<;lUiKw+BdPFjg>wkTR5(n1 zgQb3Jr<6xbjD5A0dXT@t4H!dy(h|3pw;c=D-{2!d5w>~wH{%*ux=FL{+jGQXTz2c< z8dr3iJHvk{?mcEvsgyAqXBIdh^yLNK^1jC`;?#J?xIMr@Cj_I24x z8_fK2Kqsi2iZ>Mh!ge6+^mCiF72x}?LF;`{e9KTjF-@%j@xIOujCU2p zy~&PO_(e-!3u3m~`Z|Hp}>SLB>a{VPi(rO9r~ z8y6&D6MhmpKPf+m(cW;FjrO>xjb4xC*AL7=vZMjzIH0|?Tan9^Ni#a97?psOp`*80 z>l5j$|8P>IXHUSKOh!vOJ+jOvHy({0&=qh4+}B$>HHH0M?I7oK3MnScYlx+gGBu~T zpJzPBBx?ax_Af@4D{9FsaHVCAF;Zm4m4`@vPy4(W=>0zHftt@rUi)P^pBL!UT{}k@ g<0p)Y;p@Ho0iV-~H0el9bN~PV07*qoM6N<$f-v5ktpET3 delta 340 zcmV-a0jvIj35N-=Jp+F=Nklz zaGyGTJq%MR)IAn5tjdLPspt~6Y1cb-QGpZed|4{7jKi#JKn$u6OwE=S^RLttZh`}A z-4{t4DmPOFu>@jSi@+_y+)(O@z+X0wogJS*o*?j|wUY1CF$u^(>0000$@9jB6(P)8kamJA4P2(elq?kZuIbOXY6)jUrpS5#JuK(XSNJD)WI`Su~xd`(Vk%@ zh6G2_uwO6r+D|B!HRD$LIQXJ|%|pBp(pGjySzfJrXx#F3EhXL2PVFVt)s!ys0Gzpw ze2|F=IlQ^o+RuOYmE9wA)*bn`l)uM~J=Ml9^8k+VdL4-thlS zJ_>$W&k`g*a#y_BZ|s^c(}P9jwa~|enitNEmTk4TIW2E{LFq>ot$|nYCrX zklt0({M-9v50B5Xthr;g4B$PF8*2D~7VnjmKD9rlzy~)d$wxIm1s!Kh9;o>drC8cy typ#>s&KG!DD#sUi#)BTs`cK7U@(*|#R~j>YpCJGM002ovPDHLkV1jAj0RR91 delta 500 zcmV92wZ)bM%1#Uj>1P@zHTO||Bz&ao z)G=cmTK@_;v5|A3*8$Rh42*HO1m6Iob#ZgNC%E#<7oMq3GJVhMGID5 z4|r$?j*A#pVS0PEYDui}(YVXPbDwjf#*C~%9nv6`kH>xFFdYXaYHyE&3HyZ)<>M6( zwOu;W7Q3R1dxY~m%`j$ruNLMY3ubYiFFuj#SSY*?HLGmFEKGak&Yv=PFUx~s6%y`T zd>r1I;%8YEhf>tJT(%Fk;|Uen)br-`ru};gtSl{}^G?n011e?r=1$G8C>(%0Z~m?< qavZdiS~B?;cqH%>YyNrSWAX{yC$o?vMG%s50Sr%WsU6(BHmGB8A}oG7{@Y}B7Q&6B|&jP5SZh6`+tJ22)rhgIf3Sc zEGq&pN@Q6PxGe|>P-i%xE(tg#plwqE0B^WY5@e-3Cq$Psg0z1GWuhUg>Wq+;nXyg? zkegr~TMdZ**@r6yP|Rjc0749VC;@^nli&n#A7=!iG?8%P;o~tPs7f-gpu+?n6A9iz zBX4rIF(IWG1dnjc$-DxN3CUz^V2z)>8E`0V2w0G6;$Em;ixHIeH|fdyyz$uU(VW zniFpY9Bv1eJrwwLxS9!gxW|cdsf9Fc&@YVRr*f=&V)F~rP0RE1%S3<4>9%o*#TQM5 z!bD=<>ApZ%M0CUy?B!*Lm-rhsA7d32=@mu+hr^>Cg-w4tg(q$*akdIeQ!RY~^w$(E z`peen=nI5{C-L0G4Xz2$EwaPI%3jYeSA{-1Uy?A%J;dNyhkL%pMW09X&J~{7cuAlgf&JiXnL(C>OxE&}kOhB6t_WHam4(QxW-9`j zi10ZlWIC$yIk%da@VTZdMO3n_njmJAg+@XJT}c2z;p2*+4K`iAz$I*&5-b80eoYe~ zAYu0NfEH?%l?1q$Vh}RJOYa^{wrK+CI`07q4%4V$&je=dLM8N|lLTS?e1hG zFzi~19x+fZHyj?<^m9A9<$4>iM~C|qM1g#aB9+1iw;C$ z7WC)yjMspsApmPIUNxRC@tS}^0nZ?e7Q!K*DpJminl>9}fQPXpu_fqG#rpaD;|aWA z%c_>=g9$8w`1-O5j<~oZ?gD<-f<0XQ%e_0g3H%1IJ#`KuVbeSS0000DY`7NKp50ljnLuWSw5PfO@3XlBh{ zw#oZ2J$f3-m|U*Ry1)F{1D7ka_CD3~X%jKk5lw%`&iH`2=B4jbXJnH2M&P`#8Htf|k&in=u!-wQr2HU*h*5BwkgLn% z`5g0c1UB{DhW;}Zvqn+=Wj);w2r>}bjlKbeEPdY8jJTxQtx3nNg~yCidmdU(s7CFx z6<|m?FIFID5>tL#ITz+cBYdrz`)Wn+6dGD}5JGzCfG|&ebe^_Vmx7OK)gckmq673q zWX>7Myuzx3I;~X)k#aUKzR_CijiiZCVo*nbTe7fMEq#{oblw6e_xiYEXP z*Tqb*`*tdDy=)lot?eXzy8iBhbtfVCn7*YAPEn}^8@fB462^bl;{9dAQI$Bv+_h5# zJF>T!uL;ke=F-=+^;)urTP$HpnkvQ%sk4^xfOkt3lY34#(wK6=-QD^QxlZ#}|A_pZ zkn<2@se@N&e;tvOeQwmBF;!U*97*IwXCxuw=fu6sR9F<72YJn>p&}0G`eA-hseVEH zm8D9_isJD`vg0c0j2en?`)E zx$9bkEwJT$Z1%0P$cqOk@hsC5eGrvawv8y|L`{8suVT`&Z9;n7RCf3FL1Bo<`yd6F z3KNw{Dn_I-OX=|+X_V>#C#mL4CpPtE(l3A;QRd2d?h{d=)p{Gl{bn5n*1p%W<^{l=6=!$WzgO`)mS>z}<6k P00000NkvXXu0mjfcKYbg diff --git a/resources/g2/track/intamin/large_corkscrew_left_1_4.png b/resources/g2/track/intamin/large_corkscrew_left_1_4.png index fb8ad147839a6d0b338e353f3f477d3bb46a6023..2748daa720554d8d0485379639c1969d540f7296 100644 GIT binary patch delta 538 zcmV+#0_FX|3d;(xJp+IFNklyG0f42Avv&z3+S*(WLHVu&=yv@7jOgB$*| zGx~IFA74uJ?+fQiPu|#kydH2YgZBq$Oj$;%`|$-8aj6cFWTUmUR=M2-lH9SZDx87w zoD51C@;;outGXkeQ9t{L#Kb1sms z=-PT#rdPB%KjVw|b$qxOMRpe=b#1`9eoZwXs+TS$B@Dn)R8uWkIpRcZ?8~A)ZLRev z@V|F97Qm^i=s%*l%*>GP)oAY|uh^qwS zq)t&Ef%Y-Xma3<<22B&4BC949)k~E*y>KfHqg1q&{BD$86a0?MFa0WawwkY^+a4#_ zuvi8O(V&*n7>qtGSN~npygYZtFN$AF&hY+-h|L!D2_JnJo%1(R{Vsic=iU=_Kj1(f c|5@_`U2_t3d0eIkRsaA107*qoM6N<$f+(^E`2YX_ delta 528 zcmV+r0`L9H3c(7nJp+I5NklftjKi3qWTFeh`$TUX^|J7jp|RL4pN6gF!t#i#AeS?1@Pn1#vG+GqPQ)^+~fKIO@nmQz-UU&r<(tus529>B{;X5=Gm0eUi8z<|>e2}!) zS64F}cvnSQR~=Ux>s{*LNxg~w25F_zoJnv4niR4n)oA$U$)gLrcsxkVm2tUP7*=lnpb`dx+^S@AP%hss=Vh$#nM0(3fM`BRh> z$))8b>FshNT?^!4G@ zgG(wje~waxlDgL@Bh_&Ub3u0-rKBt~C@Uq)7xpXtkYax zngvMb1YJ^HlsuQfdJCQ>A-$wgC>!;1C;HteFr41o?%uPQ2(O=ej=Yl2Re$bze<(sq zIM=cthbu2Z#WCL4w5K%rlnZoT_wsNiUz09=_i=KxPvs-ZMPB0u>!zG(fVl=C`4IK;Fs6GW=Ub%F}1l`X6hM8FtQEr+;3Kyi{GRE@+td_5B! zu3aQol>*bx4OCrF?_tksQt5-DSzK&vQI&ha7Ze?LihwrjVlRJUmD&pX&-(_#X2K8; zVu+dW!hLWP{;3CT3wqN3BT)cxqyh^KEjp|G2 z+qIy71Zjl`6Ov5LM$wQiclIVQpR-cvZvCflpCi36d?q*>T%$<}k^9S25pVE+2o2MB zj*LNAnazn_;pcz$^8w3ZXfbjoHmx<>t~k6Eabp>HHzlm?#;_mPdU)pa6(e}&p?JX0 zJRWAqkZ+7$L0V4002ovPDHLkV1oHm)z1I` delta 452 zcmV;#0XzQf3HAxFJp+HFNkl_8NUOL@`rledkZ2dJjJJ`Yf>?LPucsVb%PEI(5y)gE6oD!lFk zCQf215P^XE0tao@TQ{xd%Y8?In`v8`DUs5qvCUfyMz5Ikh)%w5AvQH(=BK zFsUop-hDcH#)p42E-(r6ioDXQI5b?3cy2r+d6%{%SsgRb{X%dYbX2&@QOvDVwNY>Q zqa)vaE-7QeqiVk9DfptZ{k-PD#c%S5f>I(khAguGqvnK5aLq>npBrR(U`37G^3A18 z(NOp!`r%Shr!P1CP~49Kx!9qVk-Otfv|hnq0WbLDBX2wq{jN9cQ2;!|4h*ZypY*}& uzC&gD8=gF)AJs=NO@m(i6rTBi|Na45`X}W(NH}Ex0000DX`kFq8q37u&ob!T6;Et)rU z^6>`<;kVXsyK=dU6cIzV8$xTUak+q;(c42wWSSfqpJ!b+OHe~lvDF+?u_!~zv8{Ko z9&2eTX&F;uZ&<}cwANU8vTy$=M&rW{OR1B69snigrI{^L^&#EJkIJxkxxp!Jw-`>^|;QE-PHkg|n&h4=cZ zxmN<%e_RqpidF-?Cy~HrurskI$^lu%iO?TH210vbNP2;IA&A|mmxu#NK$)r%T_pP3 tuqY&WnJ~oXNyHyFh_0k`k8ov(cmj$-E*MtOznB03002ovPDHLkV1mp|f)W4# delta 306 zcmV-20nPr}2;~T{Jp+FeNklu$p!3JUM3oyK~x_bDO8MI!d%- zt)uBK_>-TU7-l-7-fEr|3Rf7s+e99<(EBJt+`21QVT3AG)(N}Uz-I8B3zQSYKmZgj_c8*V zM2HH$5$Cv`BnB!nztnR<9*Dh^5W@vxDs+)Bg;sWd0hqQg{Gw6r8~^|S07*qoM6N<$ Ef)#;_w*UYD diff --git a/resources/g2/track/intamin/large_corkscrew_left_2_2.png b/resources/g2/track/intamin/large_corkscrew_left_2_2.png index 11097513107de117de7839b153a4db1e8e812c8f..e9ad075045a5c88f1fc210e584ec6d2afb496117 100644 GIT binary patch delta 441 zcmV;q0Y?7w3F`^4Jp+H4NklxX!8P}zPvGBw7FQu?h9x*^OA5-(_N4%kt)5;PCQpY&M)FAH5ryv^D3#?pZRbp9UC z5?Y^ULTQc?kP#aqK+wj0D)&!|*7C~S*)TZ8ap9EiI}S1W@fO3hkf?8QUAxvR{NhPe jw{<<f%xtw^~+Jb@z+uskd$eYH&ZO-Hysg|DSlNfeq|`VfCR*iw|8ad(I~Hty;C{ot!m3cXUp$qhuz{|Z3c2_ rJ2Ph+AAgC;xxRIr>!JEC@~Pq-|EWfGta?(l00000NkvXXu0mjf>sj61 diff --git a/resources/g2/track/intamin/large_corkscrew_left_2_3.png b/resources/g2/track/intamin/large_corkscrew_left_2_3.png index 1d8e6f062ac69969124dd54336f3e9eda580d33b..5b2a73702bc8a8e789863ef08b63b314df7f11bb 100644 GIT binary patch delta 554 zcmV+_0@eN03fl^>Jp+FUNklO3;7oe1sI?#=v(q{dznH1Wbsh3SkKXHbl|z2?_;FozoCpe= z`x4Y4C%l&t3h=cHl}%P?&~y@a;KlmjQXdtd$}}T2ct@klhL3*&XsRu*i#7^?&vi}!oeQcRpe0l~Up{`f&c=3+B=zi-_n zR5%S2H}xaqMKdP9xgaK_5FC%zq2Rzbgu*{-*+ZmRNt)1!L4%u@7;4z+S1#m@Npxb;h z(vc+qUv0y4`t<0I-Y#63pC3jTmJ-HIXA~`UvoL>rZ{xTDp{ar>s^hsX`?wosCH4X}PG!wgEt!94=$&l0(iTYM5sfKg+ed51re$Yj4a+WdSmRy+cD5e~9P_WOT@Sr&L;nBne2MrDUD>IF!E zE!S92@=v!BcWf7)U1BvYwknq6evCn(T;_p9pd72Yf*aM#QAx~DH l@$~ThD0myl(^HWmH-n8HOJTC{;aZvA9-J-HsWLr4)7heLmLzo*@k_FgRTL9`#Y zTA*7c|C}Jg@(X_4CWpDTmx12hy7`B`?=$fR8f{`eKCca$dO$cVR1fjObDE1Y7=l&VhJi$t?-HA|o1Bb_ni&+0dYf<1DE(tx zp;WK+Q0+&5RMb1zSHbT z(+7tXoHr9)(p&46!pkY4x}?j%b1LACCgT}&X^pS$F#m2@n~ZP(|4kPNpPFL1KZ#>H z{r&SjqfzaJb&M>YY(uhUG<1~WgYM0@ZAE_?$UJ%qr+ZWWqInP8&TVGlKgAKScvc%P s1><}^5`MiGuHkd~VVnO)L;nN%7cr`0w&IyUuK)l507*qoM6N<$f)xMvxc~qF delta 515 zcmV+e0{s1`3bhKbJp+H^Nkl=0roIk%V%y3`pH>a%&bsb({<7XymdEf=OxcLM*}b=NEd%Y7p-2>xSauvG0Nu; zv8=5fm!F5lc<14@5_%ZuY6e$S@uzDV4&oW7;oYZpT*TKjLYTtYqFcPTbXW>!)oz0F z8`@Q-#~p^?iPkjWuaX}343&s4Y4Qm4deVF1<%p#clCDYX5G%VbDZI!;6s~|qa#poR zDrpUH;v1TMc;bI((-GRbp{ozPPoqp=@3x{LoE{O>CIbT%U#}87g&!sOx1wb61?_vx&h?&mV4!#@jq#=Ve1?&$6^c`K8Q!ARAuws}9Q zS|`DQF|XSE*gEkbqmwZOR%$}}3h^c**1{``g88Ou;S#=wvQe%RW-5b>syc7nah4s5 zfaij^mw9H#FgIJQqR*XTfPMLQWE&!7ovG3RaeZ(njhm=1a6jr*V^Xz>=A)he>cco9 z!Ck8NVjaV`lh=q><&K{%Zz?3jZ;V~bwdGB%nO~rDYk9;xIZyxq002ovPDHLkV1kXa BsUiRX delta 344 zcmV-e0jK_!35yA^Jp+F^Nkld8k?ZSjd5%(FWr5`Ks``3DZ^T-i< zVpTvrr#w!0Qx6a70B=4Mn~{mw0PH@|j`=N4R{cR4wyeXaDA#`jlTZaf{X-5V-}iy| ze+noH&>30GFIiW=4#!K656_~WxgpBzM%XjtQB@p*7ELC9$|Pe-Y-mw{r_$yQdnUOD zyB`lY%B18v(!FpJ^E;7IXPzY1p5cM1&rRP}Gmizf!!k@8_PV=qDf_k{(8NQ|pR#e6_Bga98lM6G7_;i-3K5!FiT^GXnf zMRgPL`98{XMSv4%4K_YZEqaaN0n!E);1lIKCQ4`~Hd0a(jc9)}hO$E``BwL7>VQW) zodF}#=@dc*PKH(~%x3uV*dk$aVh0v6*urQgvCax4no%nYOV zdj114(YvX#y*;~+$hJxS4v8>-VMLBm*~e!_#%SJqM2vw4DgPtzs=PK2qP@8`Gh^A# zPa>EY5vA7LZIC6l{{~38euCyRH3eFps=J1##}GMDYAHLik0l9 z-oUK4{hzM0x+-D08>mvaHLJWlTx2&>MM0cfH)uJmP_sNjL@iSwFDUoo>htoSnZ%Un zR~3|H%KjMWVUVFR0=v%=r&mn=DcO;iS@Sh9XIW75Ba!n5L5s_M9TLnX00000NkvXX Hu0mjfea@>N diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_2.png b/resources/g2/track/intamin/large_corkscrew_left_3_2.png index 9904964d3e58acdfcd758783f895592f5ab10cab..9ee4985797fdd6fe48b89df6c7b57b2897a874ca 100644 GIT binary patch delta 379 zcmV->0fhdx39bpSJp+GSNkl>NG%RSvOnY9z>1NszECyD%(_@HgLs_L~q>yuxkl6 zkYS@^njp>ZV^>Nr0@iy7pfZ7~S8V{4#|(FQ zf>`u@{dq)qJp4V@z!&fSdQw1Pz)rO+^Wf0?c{;6@rS^vZTgyStJ#BG2bbNaEyyTT3 Z_y-`B<2RumDX;(l002ovPDHLkV1iqMw$lIr delta 387 zcmV-}0et?h3APEaJp+GaNkl%-48 z98w|ND~7KXQ~idd?+k&F&yaG8vFj&f$nt)y_P2-#O--@rYVV*iC(Y?io3-{D*(j(I zpwi6hE2*3|VuDbNxvH7Aex_nd6Gg-rQGuKLov0Yon8Ym198-U3YngQz_D2p7iz?HY z18ujq%%8Sn{fgQdSh239OI)ehQiEL94)W%UUJJ8NfJIU&wVMJGym1uLa6ssYndTUt zu5}Sxgp7()j%*p(CzJx-_`@B3bU;R@*nI#cj4>F9Ux6Fdg_bFP{DVrZn@h3J^8!Q9 ze?_kKFv?srl-zrhFbc^jmwim0{XVAb3_hd0{W&hcApf{!NM-*BS zS8`$lI(Ag#v|uEvG^vISzP@X$k7FL`Ce{{?Qk<%|4Jg+~AY002ovPDHLkV1l=ryI=qS diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_3.png b/resources/g2/track/intamin/large_corkscrew_left_3_3.png index 2915c6904c5023cc719b37e9dd67e3e9155d441c..8492f60c35189bd08d2ecdaef3d4111589eed372 100644 GIT binary patch delta 243 zcmVq7+VOksc@Rs<5gY|h)-+# z`}IZ{9P1=&(YQ zW7a&g@G!I~mW`I9exteAQM+1mC!Lo})WvbON_5X!Yvm4~8V_sOZc_tXxoEYlp7>dD tVZCSJy$^-I*HAKJJ6!ME;VS(5egje_9EWc1!ngnc002ovPDHLkV1gztaxVY? delta 248 zcmV~zerNplR@rJ=r&9I0=j@dm}0Y(>0~G%S{0X7+VDbNNN1KUCG$-^*$qnPKZ9 zz=CCd;?vFR2XN*H0@N(B#9m*B6c|y&6z+&cGeys42&WfkZY*$9iw>XVZSYL>35-HK z!61Z_fzPV0$=`pLg8et^EU9I32I}5Y`0%00003QJ* diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_4.png b/resources/g2/track/intamin/large_corkscrew_left_3_4.png index 21485c51fa324b0f4ee43cb64d022d973fbf77e4..d238ab96c73a4350ebba6a6c18612b2e8468752b 100644 GIT binary patch delta 283 zcmV+$0p$MB2+jzwJp+IINkl`G^>z=84;a$0?#yO(4~vg?XsU7;52#Wt{3p zz}*o8Rx4xWObMmJXE?Zd9LzeW4uoL~`G#lRsUD2l6VJ$V((Hdige{$9h({<4{Z8z0 zWDyTsBJSDM5T7iDTWIEBi>w?JU67$@eJY%6u(ocUOi>msp18d%Z>Y zGRxL4b`5Y%P%$u*`kNyEAHzf)U$GCE@+muvk$Br-7_#Ri*z?$M%Cp;X+Sf_rh12z; h?2H#qZwar)9~u)~bUKwC=@9?`002ovPDHLkV1mffiQ51G delta 285 zcmV+&0pkA72+#;SQ+~wON|mR9 zj)*+LW<*B3;jbN&4 z>({<+(U^Pf%bJBR> jQtF%W!sV^u)%XT00000NkvXXu0mjfwqcRu diff --git a/resources/g2/track/intamin/large_corkscrew_left_3_5.png b/resources/g2/track/intamin/large_corkscrew_left_3_5.png index 97ea42f6d9e3a54c1330109c11fc9bdce862aded..9a2d47e2c3ac92dcb2414f4e73255b2b69d2e6e6 100644 GIT binary patch delta 343 zcmV-d0jU0q35p4@Jp+F@NklSI@WRjoB@ggWtmuv~W4TEU;}6HLcoRkPe$&>IE$d52NW%;utEDkAkjso#;S zWG&`7vkHs)9Go{AqBqQ^qNl&-tenw&HJF&Q-jTXorp~0w>~4QLdtn)BiMM8>6Z18f zLQ(|6o_yJE?n^wC(&vGR&IJ}?4oT=;RHvD-i0mRg%ms~1su+|;t z6(;z*05^f)vu^4Nz@*jJtN<4f8RTyzVQb}jAQ@+002ovPDHLkV1hi@s7L?+ delta 344 zcmV-e0jK_o35yA^Jp+F^Nklb-$_!F4j<-$9`hFv|0^B`5slk(QVbCuA&3QW=E^jPz?xrzKAaEWZF_I3 z<~aa136qTj-A|6^vPzxD5c69G4Oi+}^}wh(v)x&}M{7lgE5U3`Dag%qE|P5~%z3S| zEUu+^Z%)L=w=qy}KSt6z^QE+Rf8SDTvo#&+W9o`r@@XB*u4hu`p*N>%B+h5`u=_#z qSVzBpdoQ_)+b8vs7samRN&Nw%UBb}isHG180000$)%0RB72dBXGa4u9fB<3nD_=)o^ePk8Orht>ibQoiBOlhslS6=KC39>bAO)xl5* zEbeueKia(z(+5CTFh1^i&)?|7-OBu*j=dhs-;4cH!>Q{{L(zZpWiaWDs+lg0w+1jo z6J(7kJVvt)$=)!c^Ia`9P=PLpTLZ=?ZzzK|RJdOq-tcbV08h@!=J_3Wf-o3w_j6jr zzC%aa6u`@HvuR0T8G}ntn*x^K3uK#?x6|qfhi!o}dGXXhW*J_%bAU9j&u-d@y6?n$ zN?Z!USzs>c#G!u=n^|7+vp~*N=f;_?j;h z@jH*DP;fX8;pj7P3Gax4fw@ zGax3Ya)Vnyj6_t?4bnaC1xmFSF#%M)$ESl>?OXLk%*8s#GFmlj^~no_P!ek8u&S(T*KoJf5<9{BT=O4x@2j< z`JPWIM%5&7d1$C}0R~Fdrslcm4=&bxw1%QH%&>fScu|iT*x8a}Y&ct371a6TD1BOX zp>2-~0XGbwoPt`q=MonJ;JW}yzsz%D6~7cnomXwO?~ux9!IWo@ztK{B=iFCl^IP^6|K#KRfKK}-IOTG_$C(qplWq_RZMnWFzE`8Q!z+ACrCRO&(rL?(g)LcEKxGI)@Y(~KwT zHw-i^bzBxVrz&^u#LNStCb?5c)UVb=?TsyV3Pe~y*eZgs~sj%Q`U zhZdC-Oz(s5PRp=#By@U8)?qN&b(C-fP9CB*=QdrlZ*fnDK7$K9y5FNc zDpPDxVMIB4?9(J)mp2LC#ID`phu-|Y!qFDhVGyG|_9edKQ48IjOpt$-s7ps}SGxzd z%hHi`_2hW6CfQjhH>p1b2)}*(=#No5&mB&ZD>JS3HAidL(A*2oZ91A!dDUpV&)-5{H zPrTcY$d9JuUHYC&7_<#Bmbty-+mXwpv%x*|cj;R!g#t+;F*Sc2<14<$k~=dYLWq&! zINj5kgeM$G>j(9l7W7cK$2{rg_0*i=P6E!-LU5X7PVG((LVeb+;|Ql^+hS%2fgEwB z7tZp&r=b;Ulp)ItCXb!<0*rLnb$ZeeX`%zAM0W(vp(HYut2y_AQQ;aM+QTgvYRP`G z+I7b%CS*HWAJBh4`dA5u>UDLcibKh9YIq9cwhHO^!EnrEv}*S@@4@+oPqDUUFPMBr zRZ*^>mE73#2^e1_#C~_n)r(#F1$ffWIKSYjlx{G@gZ^0kf*+~mWIYw5!-!s&O0m6D z+a$U9{q@cM#ux8y9WYhA?&EYH(wy<{d1wm!Ro z`fv6d&rg%|75s(U;>{+l;jK4bV1LA{u@C;c`~ofsBxlnc?LYtk002ovPDHLkV1i9j B>1+T1 diff --git a/resources/g2/track/intamin/large_corkscrew_left_4_3.png b/resources/g2/track/intamin/large_corkscrew_left_4_3.png index fda53c9f42eb4edbc7a9f31428965d042c4923a8..00320ebd1b09ba8b35e09a026c5fea41b2fa04ff 100644 GIT binary patch delta 367 zcmV-#0g(Qj38D$GJp+GGNkl zKR$awOR3luJV<8tqBu;&&UQ#lB5U*+Q<DF&ZyctTG0aT#$=rp! z2y;ulcUI+fRTFZpZwi4ds1>I569Zdlsv3b9Sa`M)7=&ZS&yLxjm@2&h)qtz{gRQS>+p!( zmJS*CDK3a9xfN5i>x$SVBNTIW{4%LF6rpS4kn;^Vm^)-SCw5}~t=}SKqHBoY<&OXW N002ovPDHLkV1lm6t~~$% delta 361 zcmV-v0ha!v37iSAJp+GANkl1ZpmX1Kt zahTiOdL4*sLfBz$y;RiA$sM}p)-f%EbvHqjW^>6kYnOqM;FZDF`87kLLq@mUoX45j zw0b-N8T&ELJWgQ@rqwz^W*ylme|EyLf?npE1L?X>#Ashw%o-nT%_qc=T*9GEK+Nv= zk&^?;z9QZ!2L$Z0B1X!!jeIT`$XPb|WA6S(kbFac`L}-oU(=g!;5i_H00000NkvXX Hu0mjf0@1C6 diff --git a/resources/g2/track/intamin/large_corkscrew_left_4_4.png b/resources/g2/track/intamin/large_corkscrew_left_4_4.png index 6393426b3b6cff3f8229377003e9bc0334845d6b..d8db161bb34d1fb45d1e5bb91f738e3bd1dc6ecf 100644 GIT binary patch delta 394 zcmV;50d@Yx3B?JpMgxE0Zo?o9g#G@nRvrW_0XG(vuKPl!#94o2aa^-W z5Rj+r4Ec1*e4>9+k*q>4Oy70LO0%Mlu4!~UhvMIqVU&;=MN*bJjzHztsHKiQ#>3BR zAg#fuG~e)+D!@{^Hep105+w4&V(GmVWTLrg(AW@TuLV_+6>gyBu*GndB)hbOTm^w{ org{N16vMd!4%KTQ&{y>h({rYxkmW}q00000NkvXXu0jG}f;7y*i~s-t delta 394 zcmV;50d@Yx3B?JpMgxCYZo@DPM0x+KMUu7jDB)sBA04_#QJ}3O+aH01;Aw{Bkm&4d z?ey=HZ>x9NN8HM7Hso8ngH(FIBil!}(Z{Tp(K*zH?0sH#+-C2CZRjkkvN`8kA@tGO zWQf|_&d`)1Kbchtzaho6Wk|JF_hI|oPtZpQF{WHfNz9@ujC+6fskABk9KX@@^8z|$ zCs~LT+Tln;D}DA{|HWP~oR*S_grB&(5eSb7^Y0o&5Q1xvr0!ZmbauuC^kChzFf(32 z$H3ODub^Os4JX;5ji-{=yMlVXM`dh~MZ043ts5(-TgHsoCB0lsDKDcgn>-zY2@%ls zW%o{@Pi7b|8b*I1EiWB9qX@1ayl>$W)o)7026=C^cop z6CsvW!x&{T?2p5E!9rXFUoD1R0V(~l47w~POCCi!B6$t19>pEQy-0dXi^pHCf?ufG o4G<`X!*@VOmlowu^!xM)2q~tIG!b}*00000NkvXXu0jG}f^pKkH~;_u diff --git a/resources/g2/track/intamin/large_corkscrew_left_4_5.png b/resources/g2/track/intamin/large_corkscrew_left_4_5.png index cff40f2419b04ad2741f78ba2e60e122d6c727c8..21debd85f86abc589c1c6b0f469ca5199d71fed9 100644 GIT binary patch delta 484 zcmVvH2D4260BM{5&varQ|TB!NVyM<$)gW?DC^ zAI4_%agKx>!ddJOahmu@+*T}Vt-l~EzvPrsjGKW^H_Q3S^*Y7}kHLlh_Y?y9~|GP|1GJ2FPL~2;REr7?04O+n!<&s%k?+b%$)Qs?+ls91k7RmGuiM-r=+zrrg>j zYCKH_tRV?T*PpV6e`vLpHuyWCJT${mSboQD#2B} zs7fMD4Xzv`uV;U7pYE{H!n&qDJ1DQ^C<;wyk-%eG*RZdf_9)r>{NqA#7Hp_6ZmLS3 z=qGweg8ME14%vDsPI3LqRvVf1%#)>C&WWe=I|40iq%Fpn9`37E6wj@~QR(V~#LQCe zNQ&FHLx`4z=q<=3)1WdY=dwom2jmc=vKKbO%n6JF+wWZS@+0D6HDlaaM@M-Wg}DYZ zoiQP7MEFI#~FPrjz^N<)c-+E|SU~r3^O=a)Tvk7L;rMap?uji0*T)Cc!rn>+G14Qcn*VY*bNIYg^N8f#a%8s62a5B?!rplYvw~{bgj?b ziR>Nb4@+uHKFxnHiTc3yn7c|xhH+RM<}tyG*&!|zK#|64wJR&_4m(H}1q+5Sg&2i8 z=~zm`eYIMjLw3a{C?OUnK9bEUlO)$7BL-f`y|s$aM3sm4q63;M9cAoI$6#g=vJa%> z+ovIf6>!J16t5Wp(L_?)8RajKr~@7}@!n+$E`bH@40B)p5(#C0ZW3Zl;l2p#8O)bV zN;jspeaATDs;{`b9&}1W+TsA_SH`}FmN>jrA{*)p`Vq4V4<~&fm_J$X2_zZ&{-013 dZ$H!&^%svZZyO~H27Lek002ovPDHLkV1lGu=Mew^ diff --git a/resources/g2/track/intamin/large_corkscrew_right_1_1.png b/resources/g2/track/intamin/large_corkscrew_right_1_1.png index 31ae5c965c30f1e890c1f77a12f5dff9916d6c5c..ca90468622f6e8c46590a238c413ad284e0a11c5 100644 GIT binary patch delta 436 zcmV;l0Zab%3FZl~Jp+G~NklyR+=jqABcx?ZjrBXG3Ds+%4vtC@+!Jp) zgI%I*K4}`&f&G8MJ?doK#U)Y{r%@sJ(i4+THZ;bHx<1w6vsYIWlT7Q2n-4>o#Y=Pv zBu+MmLwvD14`E83O?Yg%bb-Iq7%Zop(`uc^>_j;a7B5&Il?VDE_IeepACuPQoqSZB zMt9zVJuUefc4=u$jN*!2S`6I8&_b)r&HqPZ99GwT`-?0KvGr4U5;!k=BGDsmtLvN6 e@u|eXpJBfrT@9aUsUb)J0000gAJEXLyaB4d}e*kON0{)Rbvd91c002ovPDHLkV1l!a;L`vA diff --git a/resources/g2/track/intamin/large_corkscrew_right_1_2.png b/resources/g2/track/intamin/large_corkscrew_right_1_2.png index e3fcb236cb3f9e2fb0b3e8bba01e46dd964278dd..53751760dad10a52218ff3cebb85381047ab827e 100644 GIT binary patch delta 427 zcmV;c0aX6m3Ec^>Jp+G>NklO}o;WZTQ+2d_~C;jUSR{sPLAjRj*5Lz54Ca5@;)2sXoO41Ty9&c(L1)cj&YzHX znJ}-L05=WNw%{bz_S;W4;f~){IiFMv=zL;iSwHx z0$fA5yrvW59-MzQdB1I7KmnJJaKa(+q*)zbz!mfFG?J^!sDXF2qJ<}&_#o^9(Y4w& z{~k-YcX!#JLqfRLS}+qMiGSr@V3>I?UK=hNy$J(vm{7C@`$)zKC%+tF^!4&b&F|%* z!fgTXy62t?Wc+Tvj^FJ{a~7w+Lnv6G8rDY1?V zC?MKLf4Kh-wDJ)+^b^4Lf&eIGNL;VLaS+=c=>Td4KoaavfNRC42933r1d6E|UgsfR zh+2vO_zkT$Us8eH3k^{=8H@)v08iTNL5zdy4j6=^aSfD`Kv{o)GtD6OOS#@9vJE=V za^&r>t8W09aQ;iLGNf;SY|>|-&9;a`mz{413 zsrm%!9k2+^wb9FsR-ji8#eIR(628r$gDA%un76jJ0`}vAg+pNneA}Q1TNH9>GB;aJ zEa+H@pt)$`K3GOU(vstk!nh3}fVKs4vBF$he*)4AjTZ%Yf%1@}KLS8f=s8D*TkCHU gQ{e-UTeQ9Y0+hjd z7z3=UZO%VHEkA)ne*tXv9XLp$e*@_60Jb&K62Qm#GRnRIiqV5a)qrNZFF>!dv3TL3 z$oTs%#WDev-NlFnh={S28-OL8toIC(dt3sVQKk3caRB8G7-xSoinDihyi2r(g(005 z4#=Bq1}ai2=V=lE(iT8w^sCHu<&sT^nI$Vbf;h(ji6|q31k{Q+H9Pyu5ty$feFY#T zkr(yxBDwuf3;@ndnsK$8=v|^^Cjd^WFZU9@G%<*`d)5U|uSQ(oni7*s`?Nvr4kUu( zZsteM1D(etag|JXBygSp8vsDP%b407;1O(LK7hJZ03|jJZ(9JMXr!6UwF3Ywr>3^O m#PDMEs{{;%AHbNR-bw=i00005dE{hEQ2rlgh1zlMjG0ZTEjaCN&)HW(N4EQ_4nb zU__4+VR6w1BtBC8dkBR96_r}6F!M9>V0^5-Qfrs-wZMxlr48%#|*UMS~JXjd>|o!E9`$5STcC$a{{0)Cr#|j%iq*Q*K4nXMQW_hEoHm z|6egmAN!tG1;`mY9>=ol3#7hOzlh#y zU%F4x742mxPt9Z5ze0B~nK?lU%|l|)`{!s`$d-fi&9u9DSE9}GiQezOo=}->+io}V zqd6!E^{PSSCbY36o}T|=Ik{WMA)*=%epp!7@PnF@N>_&G2he{I<;}={%^MA z?$i+G1P9b3otl5mN#GSFbOv|g;*SmayH<0jrbG<;BIdd1k@`sIsEV=5yE&vK#*lJe ztPfW-(hly5hADbfU!Jepe1Q2Rkt_hT!;G^^tF?ZHoh+ZGAY!x(c5SOK`+u>8E)av$ z(P^}LZRpqJ*eW#5Od6Iz`nC$V1eU#Ezf8@S$_4J#(M2s(qz~~0YG{GiVxKtv1S~o6 f_c=;idR+bh>)TqfQ4B3;00000NkvXXu0mjf2&LFT delta 437 zcmV;m0ZRVv3GNB7L<4`7lWUITAPj_k|FeZhvR488;>VUjGab$JY-UR>kwpGnWuS@f zI=8MR`i;)IR6_gld_qq!C6^RBBp+CE%An7m(Xc>~R<$GJ-FzsC4AEnw*Y)QORp4?Y zWiw-OqUqgK2Hv$-7?WtxIQdGr@|^k51z zmu6FKjQj>fJt#ss`jgH`h}B6jB=Q>EiE{>cpE2qTFr$>s9aMukOlQ=iRYMwBmOF?T z(%Icd?4h~xaEcXOL}El@q<5gG9xxlfQ~GBhpXnmtpY1y+5W>Aj=L6)odhNS7`wO%1l8@(sa_aVa6ZX zPrEEOz`a_7cj`Fb0Z+I3KRAZ@Uh3bH;xLR?!7d<+d$PIq??wuFCfR_YOBne7Z^05jIy zU?#9_#SEjSF9~41Mf4CH7t3obh8xRPSAQ%JimR2Tp200K4^1Pru`psH`oufg(!1Lj zT_TVTzore2lP+@>E1$VDPug!oL5{eGFn2v>yd!7)T~`j53X8BCam`WWERsI11G$0m zoJ1rB*A)mK>+x2*B}t{S7{AxNhE&>Nr&YIhQ&AK} z$>ZS8A-dPL(L1$X-T^P+Z-B=Uv6T8hd0fN7ZQ%r8lH2wPs1Zf)M9b2nuFsmI`+|oa zt&ic}F?@9x)6-QqEBFt9rvWf|D5NfNyn%$AjypCbGkMMu9h= z^Q!fpa(+=2)E8fzn|tMldOWw3kR3Kiy5Ucd)_coFwVwx^jk#C_r#R#W%s~CZ&f%pN zv0AXJ0or$I&p+0Q4o`?vbg653iJjw7#vWsS6fOV&002ovPDHLk FV1l!+v{wKC diff --git a/resources/g2/track/intamin/large_corkscrew_right_2_2.png b/resources/g2/track/intamin/large_corkscrew_right_2_2.png index ea4599e17a7d3ce0215fcdea2fc4a6f77fd63d0b..1c918de053bb48d81ead19a1a32432e75d7d54ca 100644 GIT binary patch delta 378 zcmV-=0fqjv39SjRJp+GRNkl07k!grSAcO^AR7^Wt@r>K>HoDQzNgOQd)(D7o)QL82FY9y-@Z!Adq)7-4m#efw*` zWxkv17%g|ng;i8tm>&n?(|~xS>m=0N@@L9)^bHR)Mz)nQ3ycOP!;VL#uVX3)02MVB zMcK7rn17duzISo}o?*lpMbsnT{7x5tYHJ#W#n*|OxpQfi>v;tjC@Vw^mmr3YwQgn4 zTS6XCgykvV!SYO?FBDn|+nhQSOJaH^uzY197#G`{`%i$uidzO<0FS=*c%46(tK1`g Y05FZ{+U)U0asU7T07*qoM6N<$f>vd!4gdfE delta 384 zcmV-`0e}9j39|{XJp+GXNkl_>d=;Bj`9-otQuo_?<3N44I))DgkmnFO^;r3*vtq&6{3)#Gu|yX5P0BuSnhF}g|L`sekE>y zy?&;1>^r9HWvRTFiKrnH9UsI~14O{}x>7W@XmZxpk4df7reeifV~}|laXm}5{J3rf z@&VA$)-VO>*pzta_a{PLKxeJM?v6~#OgH;2c|#OsaZeKlA;$go1Rg5Y9SSmMHmiT} zV`Y_ExWWS~U%0^yRp-CQMo#QP)mbm)jPD2psWwsv=Cb~Pz{eD==Tasf0+s9fx^#M^ eAK9O3M|}e>>gOX*uyT|D0000W>dDwci`&R_+a|8@D%)@x$EuA4kj;TkRM6TH%H3AUXU9nro5Y95T1fq}$!XbW!z*&5*HPgJSLt+1jJ3((Gq>|I=`VA?U)2WXl^o4}pUwD8UC&NhEx&QzG M07*qoM6N<$f>GLj`2YX_ delta 256 zcmV+b0ssEG2($>WJp+H@NklC6Quy_52HELp;) z*NdLh_8%^_KMlg=X&6?XEGiqf{$)K$3)g<5!GXqgzfl15%I)H2kmG%9rSF#+X|do$ zmK~6oUNZc1!k{8c{Teb zsP+iWurU)$Q_+yd`(UobH8vED=6GizF4d-=F&@p4-`pp{V$qyW%v|J}3n@EQWsEeh zACYX!-r&>{aw1DM9!7imWLm2~@w@1$$^DK7p&3hy5vry3n@nDo&A0000JTi)&v00000 LNkvXXu0mjfNU4>$ delta 310 zcmV-60m=UC2x|xatW{P_lv7=A(JF5a><&M5`H8 z)q8iVmf;NE=o4dB2(b@Ct=`~h7Kpe5O{5KXkHt%MuC__6{!KsqdN>RzYv#8#NUB_&3Y!A|;xN|M_il zqGt6UkXd}v3ve!)l;3khE&<~07*qo IM6N<$g7o2$;s5{u diff --git a/resources/g2/track/intamin/large_corkscrew_right_2_5.png b/resources/g2/track/intamin/large_corkscrew_right_2_5.png index 80d24996bd1a55f0f7b895a6cad63bb61dbddeb7..54ed2f090baab5467ff86a2161f92a437f7d9a72 100644 GIT binary patch delta 369 zcmV-%0gnEo38V?IJp+GINklid&{0^Fr%B~L*5hF6lMcPVi(4wK4b~aDrTZd7qCP+H>MXw^UmuIPAeKYldQlr zvEUSz+;w9krjEfYyu>En@iA&NMNAjVZdQAf1z!|hP_`xLhJVtWs@__SSHjL|vCc`p zfC*r@Z@u;Np%`h|S~;e}%f!y{gykB<&KVL%#a!JLKxW@uj P00000NkvXXu0mjfsIjq{ delta 368 zcmV-$0gwKq38M+HJp+GHNkl+iWk7;9t%BQ5$Dl+Yo(N&|1h||ZldD$eaQ5|I)2J5+jOq#PPC_eruTCY#1Iy4~=Yg#$TH46!7DjJ6h`Z}io=&#WP=;5Z-_ zOEuwpiw#B9CN;+=>Km~LteZ`>q%gp;ONy+NsNK?5SuWfa&KMmZM_&UOc-;jr=^I;I z*zCvo2xLB5ZJB5Sjr&wsUwyVk?7d^Jh*X$s!F$Xi!8rT}khS?$tnS6H%`>yEW6G+j zcV@4?{QN5h3nuNM^TD+Gi+IEufzHi9rvCS@0wjs^a=v8l8>_AT%X|SGOT}Z4;QRRi O0000sl4{x7^gKh1opXZh3-RcEv+M<=BML#pIsB>;9ZjTzODf+eiVf0m- zy0`%;frwIHU_ym{b)@oqLMx0F1%m%F5kgS}qf}^_fQ?nZA6_OfDIf@ywq*hg(;bUh h{;uy4xSz}2Cr1-sHD9viC|Upj002ovPDHLkV1liQg5m%G delta 286 zcmV+(0pb462+;_zJp+ILNklv&2I^IT3&OGq2VEL>}Y(gV?TB zIqi}8bBYa`?np!|@x025hKK>U-yx^8=T++cZ4-g$5&5-hsrDE)>d>fh@3?YwLGyR0 z9f-J#p3nl*JGUm>*pZt>-!V)LstzGNfh7V!4@SRR<+Lvn#z0D#Q(7hfi2arKuuNzk ky`mQ*T>ktobq^MN1CW(EG@&b3V*mgE07*qoM6N<$f`Sl~GwDr=e?z5x4y-6GyG;!U zq4@LjvklP^bE98HX}=>(lQ@qAUoJ}>rwMTYYPFvvSlx--m$IH}%Zs|21){VwZF$vv z8;eS*{bvy)v~PiQ=J#?!#6$6N7D)KM*B?bfVcHEo;(84;uI+#S$Y$!{fRNtQg>5MZ z@-Jp=$Tz=!>_M1UVdM83^7fj+hQs!c-36R^g#y+nOI-(;7f`Kuu)75bj5x6o=BCn? za%T`vR1SZl8!|Vt0ALt^1SW2^uDy?$j@}-wP-$)hfW;2i08F9hfmtZiQcG=XUl9#) zLmH}>kwgMG6x4smv8b9$3W;9xMoonElSnq?KUBTah_h*n?%QWI}Miea;q#qnXc;A*~p!; z-Uez>Ll(?THX)#w7^y9c80;sFk9twceFGb8m&D64Jr(b`NT>p>kp5RF>iRKEE zqaRP?UrgJZ*-#`gV){6a<7b}8k86e#c7d~XV?Pip+1%w(mPY0R;!bQE0o4#dQXhkJ z>GH_GnTS_nnjfvhkYHo5BUo4NSS7Qryl{WUAA&ov5db*%L6`9aLbZ34QtGlUjLLW- zmA6FNIGxKFqnUpSijlfmRLG-=h`)-spU%!%5MRuo0G&hRvn3u0uQ?l9(TR@zOgzp zOrMbmP=VgE91E~ZTtM5`);^6f7cK>D-)26ZcgJ7fV@^Q(<%R__b$mW$otkDFk8Q12 y>y;j5PB?%)rp$M1ZK>DUf1wz0jRD8|{rfKwBuoHW&D-4o0000SEQ=+K@X5?gpmP(0IW?EUBs#A19r^(OqHaN3Vk70k9OoWhwZi>k!a zCK|Wm;U7@|P-mq&u3b(4$opJs@yD-u>+g+B;goBE?mPMZb}!R$Dz%mB!+9|G!OeD@ zcDP4)a4W2EP!3agW&X?%k6QZhrf{mQ&xvq&0}ojdUMu^Vl$PnA-Rk5+ZPN_xW8N2p z``9Xy(joVKvmAd10l=rv^f~teVaX`dzBBQCnmyx$wz_8tv!`PWWxG@%dWcn#&aJkw z+eD1?NxkGc)Lw3QN0<)Ok~7NNBqXy`9vzbMg&q;tbfLJEKS?S4Yx=U+A?3R*ZogSq z7AVcFlZG@LopzWDbStw%@|APboG%QZwbhBfF{~(8*WG_4=77%_mVC9bvZQBE!3>CY z-?eUMb)5C$H|)4&Ef7AX#@h6rj%|eqDK_a^@jXCsH@ittTNWgA&C@t6wABIoBK~#3 zaCC1I$a{}?%NV^jA+m{(MBiu zydxpFzYs?ML$HKem*Ri?!$)c{{ubWFtv>%taDM>IEe+xUa2NLx;K-ipe~9=Dz!&Tx c;OP7N2Q4e0BpgUuumAu607*qoM6N<$f{IZn{{R30 delta 580 zcmV-K0=xbH3iS%GJp+FuNklq7ijoe;fbZ zKZ@HPm|ax4fo0S`iYbZkSNuX_<0^gxMBU#L#u>e^=t=e7TdVtoab?1fmDyu%`^Y$L zdkXX<%Gr7x8mF{}e9yPA_DXeZJf-ZSm>K=hJ~kdx&S=Jdm5yWjXWa3aGecDA2v<8g zKH6B~EHNIZ4~T#C@BuLZh@S~DGwo)}aL0*A8G#xjD0Jjm-QS|rFt*1nDPPv72y*Gt zHA`<3%fY&O2ORKthsyyUiU~Qm1?yOk&qTN+5LH@e-9N`sc~%hBN`F2lh=qM@TUEmq zWcnE{pcCn=`N}yPZj!d`qg#D}DAd$@|BAJB6cq@>>BWD-7v_-0mo!!o6O!}g=LAdR zGdw9ldGNHXE;Gb&sNqh>c9=JCOl(KWT$+f0qnRN|=VlOeanYP7&hTt&P1x6>3@VNZ zI9-#96uw}bXy_a^Eapovwpt6EufOZv1{QpkYF26)6n|~#%0;xYh|Ulz2rf4F|A#ns z2R4ye0{uKIb=7P72pBKLX7v9@SnczG-|I)OFM#mu-#a3`C*A>Ji7$ab|K5M7GN6<6 SWzq%!0000j33cCuhJp+H~NklVOQt$Mhzl@LNEzc2rov-Q(GmR_XRb`%eus9ujo1a_{H}u|z zeL@7Ux%hm^_KgRGVf>nI{gg{Fyps%uHBFaS{{nx9Fi3cC0AGK3saHRuK6R!5e2=To zb>PP!Q?$p`s;V2HnDZS(ghcpCu#?E`7bCre1~CjZ`{j##{b~0L@uSCFTOf7wvw7e! zblVx`Jn@Ar4nnY}-7>Ee5BX+juy$2Hu{4j*$)aYL)~<#VpNPiqtw;lls;eg#*@vy& zs#Ey(>oYxPKuCY3{z=u>|K#~;cUl*2{Ns~nn-&VM@VWeT!HSf6VmVE`x^eS5%TRB(UP+zh-9=>c!OntX7KIOGGr zY17pjYXI-IdqvK~ECl(mUWnCiHwlaVQ9zDP40n3;-bPdxguXRB(mQQTc)}j;iGJ*~ zm-!yC3bzWdJp+H`Nkl(3`E)g+QQdfO3(*+&?TJo8$EC{a&oQ} zRjEWm_@35|@cbO-^#?xJKk*U#ab3@N{qT0R2Q&i@DYwH^_w|)kg(;SH>T4XE7eFd^ z?jeECYHPk#yrE1K#Q9-m#phCMkb&|lsDGT6SA2Ayg-8US66}8&aali=%G@V?kL$JL zQJlU%R?oxCRs&9GNCj?+aLka)ys2N9nR@T-?w8#IBYRjRSTLvz=a5B^HJ~hYgiY zKdo{{nBT$WQb&LM&kY}DM{~L%jCK6Mw<&i{3!65|x#0^T5JZz#i*?mbOeGVhMPatj z_S*2d(4_D7Exb}&^9atTF@(*(Slg3p5rkji{yC?$u`^>)FfSIg-^?_Y4PQJEJa@|^ zxZF+Ld|ik>bvJVF@p}Hz&gApjp2@rasC!+`FWZl)Hqd>yjl(X#+}8Gs)7UMfrt`S0 zE#<}}6>f^RZ+<=Ww_5 zypRjR%oy$idZxdV%Y8&U-)Z{)@TA|rif851_bz|R|9k!c9tCcYz)%AH00000NkvXX Hu0mjf)@Tx& diff --git a/resources/g2/track/intamin/large_corkscrew_right_3_5.png b/resources/g2/track/intamin/large_corkscrew_right_3_5.png index 99f63b65c6d4430d7431c2cc254dc6d35546e799..440f1797653628db7b0d2bf946ee7f8b814c298a 100644 GIT binary patch delta 333 zcmV-T0kZyw35N-=L<4_?lUt6%APhyl|Fwkx=~jYY^rP3bBaIpw{6(Up`)~+ROg$d7 zoLttFroAl1RC&)UN|k&irbgsu_Y{Q4x=^~av;j4%vj1!uLZsdHEDX!X6dP{Zbraps zG!F*GyxS8eN$H#iQw1W_apG;;&TY2-S}XiOs;CMkUE}8h%2a<0P;1g1 zEf#wd6p$VvKs}EuRSB^b1)M%qpIFus1xRqkNVcGSX367LnByyrTu1$;#xguAx(c^8 z9O*J)S-GhRC*U=wN%cgb*m9N6QXTRgrkRSBc4?0)P523>n(VFIs!p2Y@*1M zA%E)&xbx6jB_o59HNi#5(3&kXnw4hgR=5tTO_rz@{{mE)Nx4&dxl(QkmCE1%a#%Dm z@~2pRAch|-m6=89OBH`1Fhs#&#rzcO5U#*4U_GM?7L+A-Ob=F=jUR~LV43V6)N-#2 fm0uae|2uvIRuz+oyS;3h00000NkvXXu0mjfe_4_v0yPGDQ*mi#2?m zlFR4?0kz_JE24jG%4JQg25-p|HvP-_CYr1Din8`)$(0zkGLLpG{MD9^*P;^_oIZ53 zbX5qegs?)aUL+(pMEa-EyC4f)LwsRNx0k*m?XBUdskck73SnW()*bX2nuwm)hij8p zkwsa$y%=<7%S4z3cyaVM5>y1Bcs~$<`Z*Ef=r??bQ2SE>`0lTUrxBIp2+V@D;o71C zXNBpj)I{8$DHt()8A0t4FnonU@TsOB2y%Z=)1Qd0-)VGzA-GthHKN0_?-%r4He-QQ R7mfe`002ovPDHLkV1g(D;XVKW delta 482 zcmV<80UiF03X}@4Jp+HjNkl2J$Om7nTw9$t>FMCU)NjlF9)vX@=wMNAQA~zx}G=}U6 zW){`p8l*~O{grc;l#q{WsC(~^5YwKBAj%|&x{aHDp%IJvxhH?wj5per2ppy8B(jY` zo|kOH3c>{hyM{fVNLTBAAj~x;s^Ua%R8@z;NZx6{dFhkDWR%PvVcV7yu@3g4=HozE z2k+W)qILZ_wtH42mNso6tEjcG_^}@Dg|u4Vhy>q}QfF9sTu7^G!D?-sFe}ofJKnCo zTh_eSH30>L#6N$hdb$JN@pEN`MKA;`R?PX-N@J!KZG961W8yd)ZROmNEW*4T&bwQ&j=5qM^v@#MA@AQs*{Sy0Jj^KZ++CseAqqmU> z=H0tHlSNp8E7n&>4-@JA^0&?J{OUm^HpPlN$~l{_a4A~r`rEr`hZC4bZm8dt-y$Nu zTj*SxmakX!E;4sZYh`_-{6-)FnXfnNLHN#>O*nsv%+Y^_$Z{#R$lqJBK~`(ALgEd4 Y18XlcL*nP4KmY&$07*qoM6N<$f)5Ssd;kCd diff --git a/resources/g2/track/intamin/large_corkscrew_right_4_2.png b/resources/g2/track/intamin/large_corkscrew_right_4_2.png index 9b823577d92651f89b75f34ed6d05f7f2014006f..6162cc6d0d724a158fd2c21fb42c842a4c075b6c 100644 GIT binary patch delta 552 zcmV+@0@wZ93fT&%_ql=E*rh=^ko4l$Bpi{`pQ7c zF0BHj%u4_%m%2J1v$bnIY|a~55sEpr6`_!iwjvacLso>K^NN2^NZHth0iUwig#p#2 z%`0>F@q}wJCOLe?^~Egk4`%c zi|OEM3Z0Kx0ml9XoKC3?McCeH(hQxFU=~J<(Oi9l9%nNyWT>Fj`@`)a>js@g_4p!o q3s)&ROYb0ZFA}pdQ@=L+`}+smC{a0*9bmoy0000Jp+FUNkl*oY41~G=)iUP)CNTnm7ilqX@y0gtDit_pT8NIS!4GPic5v?;0WKtP%1tn@xXdz(Id0BZA&Fhc;xU z+LyZXIqWaRAq<#ptQ|;$tRQqDn?BYK&|vIcK_nAU5LFNyf@l%ILdYly(7@=Omx!#- ziE-fb_7EB<`}dMzK>;*CONN_INZpoeMuNBs!}|b2flxJAb%4yAz)6&aa<~hhbk2ycBXTW(*r2R z)GN%E%dTLMTxHP7RGPc;8L+v4If#b{+2Dh6pZ7Xip!&}w?mTljpg@JT>HSVO7P>6! s@+z>PELI}!<+&@^wUsIXw*LS41J`O-lLI3~& diff --git a/resources/g2/track/intamin/large_corkscrew_right_4_3.png b/resources/g2/track/intamin/large_corkscrew_right_4_3.png index daeb9d26ee6a9da0e3737def5027743b6616e446..243717a4132451e209a17eaf9408a28777632534 100644 GIT binary patch delta 450 zcmV;z0X_bK3iJuEJp+HDNklT(UAf zS{&qos)<|mxDtt)Dg8)3%WdU=FZez3tLIRhNTi;I6_)Cf=9YiDmAk8HKQWCI0$J2j zD-J6>`66PYyBauh%gU+Ru)_RTNAkbevT~H|?{Ock$uwB%?k!WY+HGI&+aV1$a*r-Y z_dGg4NC1-XBbz=Aw;fe9g2C5Z{ZM};O{qlYfYr;j}^cp}S~<7b?`<2E*LlzkdD zgr+_uFs%d2A@MjS7VTlJRVP_1T+Eip_=qm3^;0&pXySZk&R!!e2m{c}5@Pyl2C$mN z%*c!q##3HUFMz+G**>0F_U`K{`$U+TWs5WtAy{M*Me#Z+P{?aqTw)~>Zbd#y> s>_GHi*zT5>{=jono9u&qL8(Xn1HaArcNEZ%p#T5?07*qoM6N<$fmwmp0ERsv=N;iutMZbBS){B<8C7eo-w+=uJPWZnhf#NYLpX~uCdi+L&}uABq5{V; z)W41W{3iSyLrNNol3JZN3`Lzqg*@sEk+aBnjI@-z9|ynL|?hcQ+xmh9*^bOm!g-=?2GG9va8e&464ysOY6`0{t}q&L<1&SUm{r z*f*3xI!m_}V&H$qZj{_MtFaVj6v%geMS-MFXgK2sb+cv)9+cf96HmzY&pa~Sg*MJu z#|iZjWkP)lp$YYtQfB10Nr}Zl#VkoT#3T|X1X+kA%nXo=9UIMQiOpkK5V*@S zzuO4#8@2${9i?RVUKSLgJ?telp~JeOc9?6WTPJ>{Z9PZZeOt1;(oC&ssOGY)X>^{e zm_7d2r!K*(XKY8jH+Z4wZ*D~`jkdIufnI64qX=zh{{ipx04!851|R?c002ovPDHLk FV1i(n)w2Kq diff --git a/resources/g2/track/intamin/large_corkscrew_right_4_4.png b/resources/g2/track/intamin/large_corkscrew_right_4_4.png index ab5277efad57de3f5a784f2417b46a1355697ac2..443b55fe4f4f565b5db1cc69b7c896ec224052ba 100644 GIT binary patch delta 525 zcmV+o0`mR33cd=kJp+I2Nkl`Pm#kT{;{eodC-VxoQwWZzS2|0Xv7%wp z-T+M24PT^50<`b1Q(DuMVEk-U$XLwZ|9{P~M*nj%Yw8($VkO)o0-}2ysk8?Eo%>2{Rc$?NaB$ zAj}@LAR3H$Nr=4?#Fw+SI3~Yod+= z`OH+>n1NyxwHMdBVN@5Pv3@5K`k#AfUYg=MYjp+l@S=X>un4VJbS;p>XAmu*C~EDTKdVN^~b#hf?gG z#7N{@V;v$URXVP5556_a8w1Luw(;7`w%p6F}jtx~&F;W%Wce3$*l;;|d$pE@Fa_vb|v{Zsi}Tjd|Hr(lta{vdY%0000< LMNUMnLSO-cY{U7- diff --git a/resources/g2/track/intamin/large_corkscrew_right_4_5.png b/resources/g2/track/intamin/large_corkscrew_right_4_5.png index 6f8d7416e6f590d35adac4ee5edd58548e26071b..80c4c15ec6b2abc053be67cbe9e7b1a215e7739a 100644 GIT binary patch delta 463 zcmV;=0WkjV34sc*Jp+HQNklJ?P*Ll@paM+kd^%9N=E@;%ku3d`Tf+>6! z1?}n;Za!$^EM3W6sYgr0JI7Mwi0b-ZID8;F{3w~(x1+o9_)~v6MLi(MnIj4C^IWF1 zm!s-Ka}HsH@pJ1&lh)ET+Y8f@PV0EGG~&zAz>HjEJhUMf9LZ!}i!+UEY;FVWfW-B+ z6}3tx^6zwT1t;%B)UsM=kU{o1wH*i zQ|iz%af0*;wn(1aFmoV$Iql)dHedL7(mKDck_+|{MKacf6>Lu8=zXAr+M6Iq8F8JS z(GhotU}h1#gO~c;acRWpq>W{$^B=PDjBj7>I4AirGP*~k6lO_&VmcjMMI63iU!PY` zYa_qIB@k|j%FL7X^;14OcieNEbZ0!|DrKh^gkXL1MO$^U@rgw002ovPDHLk FV1la%;I#k% delta 444 zcmV;t0Ymd2+nN;7qg;GGaJmJMY?aiWC4pgPM^#% z8hE$MB^?Xc>C{G_xKfnXtlyrY@)8_qBq+8qx?R4FM;Z>F_m!`7yKIQ4pQy!K?B4n+ zzo297%=K$WcUphviJ8d-?Ed0a2M4Kx6v~W`nT1#Q9*HpK7O1qYb}ydC3chI-0Zx>( zcc@c(BR%Ooh+q^F(UmM2( z^Nv?+El|8O>hxOL%M*wJw*G@terM!=T_TwC?ir!k_y;sxnMxhNJ!cxQL5n zro1{P462$RGqWsd=SS-1gXbX>9`pXI3&-Bnmh|4*I_tQwx3uVK;+QVsPAwF+uvna)WcSn_kkVo)zVFO;x)myixsr~O_*QuK z#bc`qEt9_@|WJZ67NY(6&emmTIx4zw~-i&~~d zUtO{;zmAY%q(l& zrciu3zty;=oK#AU8!0HWcg7t`r|i&pIlhQ%ZL@!jgRO^Ri{&1 zZOi<<6^6W|gz)-UTgI5y^1Dk1H3EOKn)q~+vWDic4^=4sN}lPJzcR`s@38&w4E~kL zP2qq1>+SZde|ed$AJe-2wtp}Gj4Rgjxlt&kvogQ@3H=8-7llW;NN>mh0000|#ufx6>n`U6_|n9JPF(wh=XsX6sw zQ_YLiceJl&-4k+6v6W!ty5FueIWFVX1c|oPJrTpymr*@H8iBgAfB+c3cLV+eAWI z0Sq@sL6mnYNW+cp(%N9=s31Ar?TOZo&;t;zu|+^ZE|G$QHeeR)SQ~qg8SZP@RuC3e zqrM zRmNFed_WLy$A&RQ2yMepU3av!0O9Itc%i(ji<7W-jIk~aw#tsm#L eavq)c(0>$lSCbfyrLLs_0000|Fadl5~-tDlqmP3Gu$R^ftt2H zb{%-Y3?GL|N=Z*^`TKvgB9Em_>hrSA-RCpuUUT?9A30ci`@nfnR(_26DSN}CHLc|s z%OG!}cV%~h7%r-43J;~;6XG(~ZmKn*hsIhlXweKDI74t#U)d~Z?RX=9jJIbgu7X|G9HIQYCo z#Hw`hoY&{Uw-aqk8Vd&{#z3?yaUig_gKnXNk)w5N!(z;tnPd!LiK2i7Ttu7jg4sr_ z9NL=<(#GU<*tCBy2N_xf+{>|c85YA$9n|>~Bf~Iry62f3=ETu>F~W z-Zp(8cv7T~{((QMe4Rbdx$jFBaimC#53SjS)NoYZJwROFfn1-QeY6 zOVV8c*>FekqS@=nQ2OG-ju>>A*SH`h*+5pc>)e+PM9+V{mf473(e-UvUyR@xp_Sh2 zkyO=o@Rr$713|l98-~jf!a+Ht;+JNLV4e~0GJrsrCkXV#35*@Ph^@Jff$E#rH#6(# zi@Chi27Y9F3?qWiopX60`yJWdEZLekXCYXQ*0Mhf-!?*8uSfgmOa=y#ee{n70(0Bf n_kq+OO3@wKyhHG}_*VK0-gT82kFgY_00000NkvXXu0mjfL&gmE diff --git a/resources/g2/track/intamin/large_half_loop_left_1_3.png b/resources/g2/track/intamin/large_half_loop_left_1_3.png index 1af4ec1bf7980482cf78c537fcc10200c09b4522..252ab219796ffe859ccf662dc77c67c2c6cda377 100644 GIT binary patch delta 575 zcmV-F0>J(13h)ZBJp+FpNklNWyHk*Ny$4jn3r;f;o23TPey~0M>+AE^oVP3P|R${q2KR;w{pZ?vP{#eNtG; z*sx`SIn#zVFI(D=Tts|gTGq2R7zHhAPp*hvAsw3&+oHN6a(kjn(pE60-Ti|$=h1R) zN@p#YM+)dKU5|e!SME2f?aVTDZ_4bDGY?<+$<(<+ZBTb*YHo_1W{T!b_)NgG4w3Ru zJ%rTOzRoQGf;+5(DdRd6pWItidN5NtU}aM19sv_=+E|{cNwGs_H-+KbM!*^FP{^f5 zxd|9XzyTRN?QFS*JH(y{=8?)<78@Nc8#O$$miK-8>?eN>5B1xJEhqEkEyI)Blw3os zz8rAofL=K{HemvOl7bUV&NIIFATS@$k%L`B_vAKZi~_)9Yy=wO{MuODVVD5cO^7%Y z$I_YHD!6fYBzadY(GZ<{IMg66*$%G&AXAe8I3+yi2+ox6ape*xgNdILm zV^GjZc9A!7F(^7<-iZI+TubM}A@X+tFgEYcdJR~zY4{)W6(Cj$_zh%?*Vv^LDiHtx N002ovPDHLkV1gQh51{}6 delta 569 zcmV-90>=ID3hD~5Jp+FjNklmqQJB|!4EajI%Hvr5jy zeLh>01W0wr^VKK@dSy0B*#^8aLi>%yHaTsSxJ4%vS#uO0B?Eu%y?EF>rm($yFg##zEz+VIUqtlVw@uWH+WQ zV2kCl%9@U1WW3A|ttGfh2o+CugJp!)+<2Ri7U2rftqDF)ql{a>O5MB|6Oy_n3!`M} zwU3t_eB}lsn%jSoLapzNu$JkWx~S(em$HzlQCm+t{E?}oL!$etQ(O<7!ev`wnGnUg zJS_Xolz4{`5TYO`seY@wHT5iVZ@kr~k4PPe9L}vm0fP%B0?> z9Qb$@tR^wJzW#Blt)|Cs%8vuWuYjdDjUS(1hr(U|e^SD~dd%H&%BHK)00000NkvXX Hu0mjf0jLjg diff --git a/resources/g2/track/intamin/large_half_loop_left_1_4.png b/resources/g2/track/intamin/large_half_loop_left_1_4.png index 0cc6745c5b4087f10b3a28448b88a520fce1115e..15125099863c4ecaf6899300a8e3f2d6a2b9a4fa 100644 GIT binary patch delta 556 zcmV+{0@MA^3fu~?JOh6M3Q0skR7i<^RZ)`cAPDsScYA_4OBB)hc#URKwZg7HlS&6@ zn#M`#=b`k+p-j?#N2yg&9Wk1-bRAvpFhM3t%|1xPCCJS7(}buLJ#ixXCMo=JD6iPm z5vw0|=!(^j*f|fBR$c8g0h$a zwCcZ*GVH#ap`nf@@(olR$|7TR1X9f_WoDgYAS+kjPu@BraT(F*p<`Q=yDQ7@Q$ghu z{jM0G>6O|jrdxl?>DH|j4B0T9DW0-}{djasd^gNT9EhD=jA7Igm}cu}iRnbG+jW0Gnv8Ow=zg09_akh$y*Ex6y^_UTiuRvqC$)1on znh#`xik6rUzwv%yIwG-mRC)fpBv^TbK9?gxy9N`0-Qb%baWaxOt`f-s<8@4_J7ByI uR1Br~o@FG)IPp45<0$cSuG4PEInn>*NWO+6TPE!Q0000h@^i&rHRfNqdCh^9nwOAOq9BPkcdmb%*HB0RQQX1SN+~3h4YzB#ymGl z+2t|@ZZi!-shp{XCiDy_2WUz<`lV=DJW7@ba-id!i3r%W8z_I`2kJ8Ipe%Kdit1Fc zmU%>CbQ3yrnHmp-4^UQ5sn$S`Dn;*isO5f7j!}gWarbo?D_y8*FI8o+4pQvQl6!RtXZBx+V z8aMPn+1QVmse^x&1LCEzAgb;aA=MrqyiT6@$B$P>*>j$ixnx9Ha?>su?>TRj9f209 zJv!E*hcTGf4|w<}>&%K`JIaw3{A<=aPftC>kOSyFUFu`U24ZK&EhFSW*?QhQQpd}V zb)F(K|2*p`RmT`R^z)$OZAWFU?rzsSYd@kavX71nt^I%3CG5C#O&`kI`oqNZrfid2 z)rftn-H)jB{)QNNaAQ1=so1U#H&*92)~(_dmo+z8lp|s+Oc{_dE#h*d7G5$bRz+=o zo+pyPjXQNm&gT5Gs=~jVyb~B>6^zRXQCcst~`0<_xDEvUkhaFI7)ag0DZL>OPxcGd=+Yq z?49eJSp6;(sdtuuLUV*8UOXlumK@7Bc5@rV9NG&lS?MpoLCSx4y<)6mU|IDG)~i%e z)v|LU6rx6&-NvC)>*$Ds>a{_Pz->vBA?g$~`Y%m~4!1FNkzmqB7-QR*pc$QNpT%=D zK|NuEKJ(>uT*}xw?elOvVr_?lWIXMPsnZJQYqQj_ZJ<+pqo%C0Z9Il|h)i%ZWn;wR z6eF2%DwD0D-XVWkz%^_<3rlA-tl`#ZbGq4vn}8qO>_IXQo@^T03!Ggn!D1)Gj(*6Etvzl1Uuxr>9>$enqMlBtnf|7bj4 z6ku6UQwonwqn5TO=VmsBw)O*vQeu3xe)7D}ADI#}=h9Z7dPiXHXV1C5#K)s89 zQX3avP(J>MN%_-mc=DFY-B?L-x9U%ban%|QWU=SYnNG?VZ0DAYZxO@DK7#p8Mkyny>kgxb|k*)%~4=+?1f%BB6q<< zosU_gW$?21)zJ|JK$oqK*SR@RhAS>Ur5h(Sj78kCZ6v7km}yP#@eqvtGT)~scg0@N zFRtQ+Vvv4#ajtK{r|b^H_~g#WDWP%b1M2ri471n=>|TFA*J#ZaYLktxcZ_1KBk)2?m?BOMw+FbtV+X)53fxyfR2cEE9M2bE2wuE}^B6_c5B{=v z9>y~SXsQ23%**W2x%>IZD!GsjkbEoU@vy8wtV*u<(CfMSDc+!_-^Ls zkBzTMSN?yCqfpdYb&tP%M||2j+OS?K^$|FiAIiLkkjX?Sv*hcnl_@=!d{g3 zohu4nZ9aJVT=#q1{L$k4X?s%VHlJgnXaixfcdi)! diff --git a/resources/g2/track/intamin/large_half_loop_left_1_6.png b/resources/g2/track/intamin/large_half_loop_left_1_6.png index d81e7d2346ec02ec7886597816c22e32d79a853f..62b36e9589614b652458c837bcad697ca1ed86bf 100644 GIT binary patch delta 507 zcmV0A)~K+fx`>^mF8(TYiFQ*Ttng~aNMYsRXqDZ&o=U^1D^Y&}+WrU8?9m#W8hk)@ zKz`btYThF7<8XSD;vFW^b|Z>n7u=|$vC%zDq_p3m_+B=+Xv2kBX`V5#dlYOA_UP9X zuG!`#`eupP^)%Iy_qsxRq;nuqEjnXQi~4_80wo#)NE6#qO1&oo6^?6ySs66<`&oV3LSGq0#fc56uIdv4kP#Ou z;#ZTjuj*6Omq6ilT31_)3cCfH6v4JJuqr5;9a{meGCh@F21O-wiy+g&U(!M0YAk#S@ x8jnhPDvzExLajB($MRQD*QShh>A#}?oMu`zxbkP6+002ovPDHLkV1g`0{L=sc delta 502 zcmV0kG zURqMCf#~mf)0gL{@9$XK%a^PTE!#J&T-@g?ZKeK(_UmLLN@*{@$jU`cN!qY{Jj?bA zUt=2AEA5XcNb&OeL*DHJ+Am?0rwMI(MIF?6oZZ?kZuqQ-(^@0DG)8g-uNVUMO-7HoO1bzrqv z1N;l>J9;oOil2Y`k9uIE`l|snd-xVSEuO&;ZH+T-NuMh%uN2iM7$D*o3i}cnbB?G! zrVw5z;)J|=#`rF<)FF68&U snZQD{AXAT)u1Jw5WoTUbpXmSR595hKWIBoKwEzGB07*qoM6N<$f(_E_lK=n! diff --git a/resources/g2/track/intamin/large_half_loop_left_1_7.png b/resources/g2/track/intamin/large_half_loop_left_1_7.png index 14772a126e4f079a28c49e785a31fecbba6d41b0..502c058ffcbaa86c7b2265f7cd09f7dc26df49fe 100644 GIT binary patch delta 474 zcmV<00VV#23XBS{Jp+HbNklhJ+!y>~= z>qLBrFUz_Huv4->5oob*DTou9RCf1+oun2;hLo#&2xE1t^`WCw z^I8ZQq)HpEt*s|_LSi{~6y!qU%EYw~JP>ybsK`{dVXheC<6{jMQ>_sU36jHC+Kg1#7V3SJaRO$a*bo&N61z2gxvW<#Iu20O?VI6n%%c- zenhFr4OH<#I?#U_Ghcyakx569K61w1Vk4!9T{I+i8%5e+HuGEe@s$Tp~u2NvE5~9Oq@~(@eJ5* z_WkAb$||kr3)pgiW7j7)Psf7&<#AvW*>ehS{x=|(mz1Pw*|)^ILjO;M1&07*qoM6N<$g7vHCqyPW_ delta 469 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 diff --git a/resources/g2/track/intamin/large_half_loop_left_2_5.png b/resources/g2/track/intamin/large_half_loop_left_2_5.png index 524d5080704584249e2cded6141a375ed2a214cb..fbccdfb3903177989668140eb319d9eb93d18b40 100644 GIT binary patch delta 918 zcmV;H18Mxf4a5zwJp+GoNkl$R1;qKDL+Mer5XxS2tl7P66}{(( zisWmK33I-N)DSb3Tc0S8K0*23M<0DuIngyog{bED2~1FSzvO=?o6&x0EMcz-ZP&(X zeCcD>n%NDgaOJPqT3tQsr7<3gmbTk+qMJXzwmw3<$kH)LOneq$1&RpyRuxF0e5)$H z8Rh1*T0WO!tv77OQ56fp2Mf?u1pCBT3zPfkU^~>8CGFi7(3IbA2in?9T~*(uY8&r0 zZ62|0ZYthspKX7(ZN|%MpH<5?-gmA)bO1S z2&W0sl=|Y9%G-~}R0^LLDAoswSj_|l#+w77Jir#%gJApwd1&uli7vqROA5J=1)5s7 zbbyAcf*mwhhA@;=D2zV99#K?nJSr|Er9wVPjLoPE6q|ojl#4q8kYo~U9#jHsJFCr8 zFhL0cNTu$s!6RI$^1cr+RtKM}@Q*A2AuhARp#d^}R!EIiX-1%jHCzHX0y9EHhWKVH zqKre}W3(b#S2sCwpE@$z$8I235RH*+0o1UMDkWLcy{LY00~{callL)OAp2}%Uf}Ek zm<{&_WTk&7&P!{Wd4U{Yu)un_j*bAnR6m$gI>0VNI+d^@e3Zw)94TY1;)m)B{KBhy zbkzg+OxE2cz>btWxYn06ngE9mR|b*T0z7m?hQ|YBc8hUTJI{!W-+97Sw7bWI6kb4_ z5FA|*Ilu^!7im90kdM`vk#yZ`yzGC~hmRinl|01*$+GTnha0s`Gj sVhC;`Mnrmo@Brxv@)JDX!!zR_YiH_7eo77+0RR9107*qoM6N<$g0D5ND*ylh delta 913 zcmV;C18)4p4ZjVrJp+GjNkl3`E)g)?&a;_f7(OK<1n&0k$!nui=g! zMM!3j?g(dPR!qP6Ia!OJe=bSY+jJQ|Sm z*ZamJoX#J?3Wj6v;xU^J_Cp%km`{*M)tt&cb^zyDa84aW(@sM4ngCj+oIk;Y7{FN+ z>f->+xCrOX_UP?=+=*47aO+Y-+y(LN*Ob8)-&T<@iUEI0SGsXEM*yVOMyQ%ffWWn? z`K|-(j>}it=EVUVm9MhR>ag4Gb{YM`vm2BmQVXA;;@_A}slEfVy|{g&(jy{PrimB! zcTs4E`VkRD&GjwrLq|+(LN8%)cPWVm_~tu^uK5nzuLzq8rSu7B1foeYy8#$Srfmo_ zkg4sZoLzrdAs+i)X#jJ$iyxq9x0FUi(62VvwU`7%WVmG>+ZY-!M_FEh_Y;_-MEF21 zfYttDuW)nM093TB4kBhNmSrDAi_oS6H>o3n`j;wP2C(=hod?L>QI9vH13U#7{VQ0# z4%{cfAMEl4>;-_S)a*5Yr;p9i_Md^<%l68OFQ$J3#@ptz4jBM8Spzyi7m97~GMs&1 znaucpS;rNd@3F>&b!nR-UnqLPQ19b-w_sm$I1J!mIw^HG>>;RlD>C+U0K5wrL&XO9 z4x|kpVPVuX_X0i@J%NKL2*phXU^5)*hj3^9dDsV?r;JZd8HQati(>cf@jL_UCAIhS z%D{hX%2e=I_PUA30O03YqJgj6vYajGKZl_{Z6; n0d5U&Yk+&GY+yONHRC@^6YD3d2r$+F000R9NkvXXu0mjfo$R;O diff --git a/resources/g2/track/intamin/large_half_loop_left_2_6.png b/resources/g2/track/intamin/large_half_loop_left_2_6.png index 3849bc0761fc1e4dd76bf2c6057726a64f9dff50..faf6002894fdce9ef5ffd52b6f94173dd0b0e8d1 100644 GIT binary patch delta 479 zcmV<50U-XG3YrSAMgxD{j_V){g#G@{#&77O1Z>02+HAWUs8eaBBb{7D{WRlYa0>8x z$^+~tIpnrXMl*;4MF9NmsXgrH{c%ocHPKmrJTBq-zeJ zFMcr>9n+{Y*7F)7q~p*rM6Kevgb-0;IZvhD(Z_rh<;;xoJ5_(@mnOuI8dB4D-MKbF&;UPV)e&v9((dg6~uA)2xNl(I-j;3gK zj_s_5NScrX;}TEnV;Rz01==TdthIt(#wLp2lavICWu4TYWESyDBwiUq0l47Ob-_f` zaIg??vMjKOqzHc`9^jlyu!_`d7J&hF5g~x+(8D4+icVpYlQq~xy8E(S)h%u+lB!QF z!mS$l@P0R9Bk5JqP9*r?=dNszh!DA3FdlOu3}KjeE61TX^2{)!?-`5_{3Qb2AvTDt ziZs;TMRFu;?^Ay4%tw!OLu84@T{>!JdGmkZG_uW4P&QY^w3|C*4?420kY#sIn;EQ delta 479 zcmV<50U-XG3YrSAMgxE0j^iK?dpx)y zdY|Ki=Eui{bmowzN)_k#86-?w@$uuBQCsFkJ#x;C^%SSpidWRTOOZJ@`7wt zR3}Oj>`ED3w{o@QXO}N`(-XcnX30{9qGa5O#V76~#&JafIzEgZs_)E-149JqIv7H@O^ za>SYLL@q4o8v>PYB0`gPI(8OXhcDs zrwZdojq(=Wq=LPj{zM0NF z7y&Zm*a~AXx$Xbt w9$OND2|Zvdb9sb5;PsUBFY{ONLi)e{0Dl@Xo>1o&W&i*H07*qoM6N<$f;P9)00000 delta 444 zcmV;t0Ym=y3GNB7Jp+H7Nkl_FdGhwDfD%JQF)PvDS;g&D80G41jJq90R2Jev6gM%s@V(=`R)djobMGnt;G zifmTxL53M1Oum1ijhE=iL~%X1B+}a7TaAr13NdaaM&NBs!tJGb=qGNFm*RYKIe^$;`o+>!Ao0BgU)`Q0evL(N-W$%J zG>l^~KS`dst+DWOr-7_Zne*6TA@O#7h>>KE1=!SM43RYZ!UB8j?m1#1QAi@jb0M6q m&;LNvZ#Yc;s$Z)AKK=m6wj}?1{YwS_0000dX3yzMJ zSmRQD)f~n1QJ*TGA~VM?Yw)@<5na$zTp7|BK~zUuhxZZd^~UP8*4m!hyl2OU z8gi|5nx0vY_s1Vvs}n@1Q?1X((ygeL(!FaDIkSnaYAPZQKmoX!$iTv5mK$AQ;jjoI z=$O^9Fg47ke#aeUL8zKwb6tH zys1f#pq3jB>qa;&31lP`gpo&YuTbw-vS-*ZqchdW{2luAala2SQ;)y$yZ!-ob_uZJ S%!{D_0000#&+S0J-Ok!qX0J68ol?Y^rFUC_;)i`6kUL+m_OT#b!&>9)mbbg)0Txalnd4Q z{gnHTf;||gENuO(!s9qI&KVBMKz@s9t|Ac%J{ zISYOLUbkFvy4FNX#MSuMfcjkwf_7bk-4XyJ@t=n fE;2re*Yq2AV;&0IoR4PM00000NkvXXu0mjfMKh+b diff --git a/resources/g2/track/intamin/large_half_loop_left_3_2.png b/resources/g2/track/intamin/large_half_loop_left_3_2.png index e3fd5ddc22e2fbc3d08625643cb45b03e35f5a18..671e40889d1d56f0770e5b6375699eab8163614f 100644 GIT binary patch delta 413 zcmV;O0b>5s3C{_zJp+GzNkl5ErBhLm*6C10Wkk6;&z{d#noz zr2+?D&Xeexr!azQ7?=tW=E0hl9*pCP$+O*HIYf~-#uZp3_=)QZ_2fKCymo8?v}cd0 zAfu3^h_Z0j4|sp3+C`B#N^vw(1Yy)liF5_3etx6M{o95M6Uv;%`=AzyRmUFvf`0gK zZO_^buCySnXGwye66G77hMWv$z+T)QwgvYv_6>b66avf;z&aIfaudOw+n!ysRKNsk zYo?$!!^gnoY0vNF8yHv3Y#Q*5oPB?ez9?C8&a(1tS>6=^+deZJ-x--Y00000NkvXX Hu0mjfy|>4D delta 417 zcmV;S0bc&k3DXI%Jp+G%NkldLtFKsLRSdT zYG(ZTA;PEiAi`TU`F zo6}9y!%E_e{g=b1Pcil7#7X=;)~(9H&v6_d<_V64XyUjS+9iL_fo4WusM7}6jJ(!2kf3SV2pw!P&2>1VPS1zi1eZ zl!}3}0-^ib=Sg+GZHUfTX9d+Tn7kGu-5tk$aeNoP7jy#lKs0;cf&-2Vpwja`mDIPE zOPUMO?tz0?F|mI$!@NqZFn!3gtDZY@P=RZqm>IB80If*G{M=AsJ`BxNAzH{4np9~b zleA5#st`j%xiN!(?XV+>!ZYB*Z;nqZ6u?Ndw+{Dx$ z>Q4hLi8b-76Q|StH@V15sX6A>uQyj4{A$0e-z^+7pL!YLzgph_hJq=kx?C)+00000 LNkvXXu0mjfvXau} diff --git a/resources/g2/track/intamin/large_half_loop_left_3_3.png b/resources/g2/track/intamin/large_half_loop_left_3_3.png index 6f03290cc2022ee8013973c01afc9f54adb978f4..077e982530d58d7e39a2b31d621102d4287eda19 100644 GIT binary patch delta 426 zcmV;b0agCb3ET;=Jp+G=NklVK%rKgkE_CPS@@*u=UdtSdW%xs6`(&msb7gp7|BZG{J8JL++RUm5kB#9lB zwK0pSFyX|jl~P48Nn|0l9n(UgD#=D4V;p1DJQ3>0fv?Bt-6nswT}YLM4YrVWWE(=w z5_X4iV$R_-B-fL#Ru=3};k1%#Qx)wgGqJ?AmC^(;cJG9_htmqC!S)aq1siwkw&ko1 zXJ!dP+R+I_c=1lw_8U$kAZTS-Jb`t)L#0;4s9mp8ucrtl4ULs0Or6Cw?eH>A?> zU%-=^96+0Tnmk3$Ft>)AWHx8c#5vJ?)E~4#=o@o7-x?x)WiF`)#GzXa5q14}0i6dR UlaJjrqyPW_07*qoM6N<$g7&S*b^rhX delta 413 zcmV;O0b>5#3C{_zJp+GzNklW@pVMCH>6D{C5HxCi5K^0?9N(C?pVex=hh!hVPh_O2vWif-6Y9pARE2QjMD^&K z7}J?>Gz{F4#8PHrop6hVNYs#sNZ+~K2sH-7bTEs=u^}Y7;B$9 zxD?NQ^qEBQS5~M1^kEH4a}nHE1@}ZpyX~o z_%1w;Spvw_KL~$m&MZd^^~s#@F1>EkQ0Zt$wEW)tM&TjU%|v;McU30kYnjFS_KrZ{ z>z?9`Us`fVT|~j4F5>c^`6w~D*i=6CLP%g{UM8OljG-6fQ=@aV2-(x2%*h@qlsTd5 z5VUOFA!p-_6p!~-WnetUz=4Q;k*1XHk-E^?wB|Ev);Y;}7YV9(2 zyjFJpX5z%PZd{p-ZiU>=%|wkvv}7LQg;|BY)SkKft-!*GQ#^mKMMY_hQc@7DTNQ{P zx_S%%kt!2zch0c#9)UMQ;E^WDqMZxmSz&5zMte84#}H>t&4h=E^rx^!1J7hsp|W1D z=|^&AR^x=Z%E3L352xF~CRWs9f;4fBBm(LXRFDt8q5&8^D}c25Z5U7X$speDn0nOG zw*$Nu;TavINZWsf{ZwxFL(0)TtT(dQvHnb)QG&UOQE9)twND3XJhM>4vWqqzq6|k_ z2vsU}Ztz`l6xUiv8b8-vNEyrMKIgPe$RPUttQ{LO((^cu+WEN<7LG zti=$b%v)zwFOLm>XQZ{n(KUtEpJqc&**NsHlh>wIyyZVCGRWw+ieu#>hO13}2*{Ig502EX`ch zJ>+NA<$=?~X5!7)f-|$zacJY6ZGM)kp5^8Q?#h4I!mV1iAcAW>#dP{J z2sjdG)shWc_<{v4N$3TcWXi*UDC|1N`6Lt%lz}qVZ$TG#8HUDiE$w{^J#3aD5*>Iv zjMgwuH2=v_qw~c6{&0`(s)d7kJI2q(VrDvIQF^!u3Y`K6Ge01>FpQNYIqL{{O`F1J zNzMc@%=P(TbB})%&Kye7e$PFI18c8FdJXma=1$f_D?+-JUS`4oh63kvAys=}ju@Hl zg;2y_Cosl+j{+~xf{rasSwrbJY{rzPLS}^iMm@bRgd&N5Ux@Of65SU#!p21EFxoj% zz$~6Th<1*#hBy67_?rd7UPMpcV(gyyns@u9SE23eACVJ|R$=3ipK<^I002ovPDHLk FV1gE8!>#}T diff --git a/resources/g2/track/intamin/large_half_loop_left_3_5.png b/resources/g2/track/intamin/large_half_loop_left_3_5.png index c185eb0f353c5a8cef176686dda2ab57a4a27345..f0c0aba7ca8967d2b153a2368e74846df19a9c68 100644 GIT binary patch delta 688 zcmV;h0#E(Q3*ZZ|Jp+G^NklHV_?(5Ftt7q*s<0vmm2h5V|uf%!_R@4@37y|<>(+M@J z$Q#kqqoF3yty!R*I2y-I@X6RZ1cKLVGuzZazj_%hFEN2`x%D2bbi7#DwJ;fQq)R4q z)N3z1@1-o(#~y$D6jAdOUG}Z}2%?!LV=lLLoU9+o3j9o$O?c3>TKhaM6PgKC*t#Z! z2aC0VrvkD@g`rult8f|ZRrfIfAsIy31xG1xUluia7X851vA&<8ABbl3iUqoAv2{N& ztEMgdQ&$~$dF{UATss{$bu}vS*GuAZDN&V~&B?J|(2RdRGfU^$fs#FDp;`9V(aP7f zDB6{4$1Bg)%!U-$BRv-3Tt}mq`G{1R4Tn{}MJcgS4!f03+7s`8=)fP04T!d_DeE%V z99czX1S35d3*+e4xJ$aw_$;yEYJey*>xL*oSMs7RGyx+auE$D@fniV#nr(Ff_ajBi z!&{d9^do<-#Z}{uF`HAxRvir^E`+8k8%8Z=2m68(ZCB;Of_pC(WT|joiWwVPNBeP= zm1nz*zEpEBd}`(;$Uf@5aZ6-B z@pGoaN~)Gasm>gy2b$v?)X^f49m2TYSq;KSEej|_Wu~9G^GUCkz{lJBe>m<~YkvWC WBFf3rHRtI70000FNl;?(`I;`= zK4*yF#yXIF&Y58yMWSkF%W`)gJmT-V2e-2lpw2h`3~py9l$L)8--7X`T~xZ8-{jT~ zv3Q`rw&lhfxw?8c_fnJKrmbLRcH46!*dgdt7V*9B)*7_-0lmz&+@N1dI42f$&l)qT zKgXEorcy$ZJa?lSE`V7y9hwkrfH%3tAP9Uy89pr{xm&3<304C%L-jPbYWNe9)--qM z^%|xfrT5?pwQPS$`rLzSQ=%mqb6R?wZ^`npTA=08WUSh#2ZxJt+%Ex-@FaI_)?t#N zI&MlI7c;mgQ&*e^%68OO%1WE}b@9Yg9BRcggtpQ+17}5PJeriQPuT2Q7cCqqWRH&0)xy78DD4cIMW{~TvSTH{uo+Pj3>$wcU#yasR{dF4J;mY!vW+=L ziqV!S9wg5?J23V#Qrh@AV*iJcc3kmTsLcy+rKvU8WG)*goe?@ax=(0+gYoI;I=r_O zW5358@Nsh>wyeq5che8w_c^d7G zC5!X&L{oo^s&)ttvt$&8pN-~R_?$wO3*wKY`elLq!iw!Qy_?^r3{(2^3%vRDrmpa1{>07*qoM6N<$f;N{- AegFUf diff --git a/resources/g2/track/intamin/large_half_loop_left_3_6.png b/resources/g2/track/intamin/large_half_loop_left_3_6.png index 1b0319c9ef824e84a768507dd7a80c792f8b7f10..0e701fff59215d159a6ee47c52881333079f04da 100644 GIT binary patch delta 438 zcmV;n0ZIPp3Fry1Jp+H1NkluVV7Cu){p@ps(><1R>kHJGB73hv^KpYR zqYimE?UK^j`j}z`k3|@@l?&jo`iR}(D9P}fvjMAtYj#c-mvVoMl{v2qAAIM0MOdwa znLD#`Pe)LL%aL7vwFXh58jyyXcz;<|xJRtO)$&j46O!s`kKsHWnfo<(OTlB07=F(r z!y5wc5ruO(&TMz%`iL;d5mC2$$3+cxtaQSL8-KTtnE%n}NbkY=Q(+M&c`y%{ON?Qz zx;Wdr9$haCB8h*Yh*++wpc&UlY@w@j>PO3G3vT0DxQSoFTsLxskHqgu#8|1m)p+wybjr3ZY|UCh1?<& geZ_q#w^q#k0)8R<+u8#=8UO$Q07*qoM6N<$f)(c5HUIzs delta 439 zcmV;o0Z9Jn3F!&2Jp+H2Nklrjq+^r*T&bqzD^V7E z`voZ_UG2`l{fFJ~8+OlWKVXejZGOSp-NtPGMEpgLUo>5fVy)S5 ztcUDX?Rx~UNE~3K`jqkb&qi_3&g&hCeiFTga z64#L9dht^@vJ7*%TI-XjSMK17;3Fh9ZO+*eEI73w%v2bBSB8OqA51aA6>|)y?IDju zvfy?SB+-cI?8$!>LA)5tJYmROokNMq^!iR2Cs&{+x-RQJ$yHK$t_jL9^iFug-knHY zU7$z9Hg`w@8(q#lM+XiV_NzqU>@0`chm>s$CpqvDVcBQV9ECGjsMCoGo#0aSUwH?Bww`*$oP hOZ|!aQEsoC`vWu}`0*-=mO}sl002ovPDHLkV1h}Y*7pDa diff --git a/resources/g2/track/intamin/large_half_loop_left_3_7.png b/resources/g2/track/intamin/large_half_loop_left_3_7.png index 0435e64b89e658c65935903ea3194719d9ea6e1c..7ae88b8ea9cd433912c587a121fa110d601f02f3 100644 GIT binary patch delta 510 zcmVWJp+H#UluqH?Z?bxd7vW&D$dE8h5?}(;M!-gKknEG zlH(N#1rlIJ=_%F)8&NIC;Bv{>f$Fmjn+TjMxj?8LYkjg2Eh2vbz~cQzow(iiLp*f! zQHet#=diYOsCadaW;tlr7(HYpanvoUxtmJ>reE&k;}D5zYheAbUjWfJ_R_b)SjT8o zu+4sdr2tG#P3s`6X-OY_%KqOEF(oL#O*Tiv$^0=`(*O7C+ENO-0dB;u)W(X08N^jc zF-4yNm|H;>>>_`b^re7WNKr2pJc}-@5J{IifvK=*sQ!!RiVI@1yi#y)6||Os9~_WQoliHhAOHXW07*qoM6N<$f@Ki& A+5i9m delta 499 zcmVzomEfE7eVl*k6R(+Y%L#ytwo=DOFbSekM7tN3{$3UU ziFDhdpiDdR53_TB>l5dkQmUIQq&r#vZp4}1$Cjg2i<=k~6c3-6^7%3{XHKK3%f%`- zYFrwigv_yFw!42PQ&j3`R|eDJBO{2m0m^&Sy>X}Kgrd1?Kq4fDpWpX!Y2ZMzZc+Lm z^AU?(8caYzRKgt8i7+Q~8mJ*js@>2g-QB|{b8+DAP-4_h7=%?UUc3iH(lSR}M0!t` zB}||JAU)OyUB#}P>ko(CvB=*9_Tm;On{O(P?FYDe)O>4jaoZM0CUFli9*bDiu-sB7 zz;{5bI0hi*bGQQ#9PQ)T6v3U=2LKurm!n4oCj{Wh%ir5PPTKS#K;-A(@fh&b6qP@z p;dcb|?Zv+r%|^d+An)@7(SJ`DLWBJ2dA9%n002ovPDHLkV1lJY@KXQ) diff --git a/resources/g2/track/intamin/large_half_loop_left_4_1.png b/resources/g2/track/intamin/large_half_loop_left_4_1.png index b498018238348953b82ef0654ae9b56439659544..71c6f0ce5918dfcd180eb8c320eac475e505f29d 100644 GIT binary patch delta 443 zcmV;s0Yv`h3GE56Jp+H6NklZ58q&+j-17Ea{`;ny1+qerNZu_`b lj{80iNG;l*f9C&t{03R<7C4xs=0N}e002ovPDHLkV1i5{)p`H` delta 436 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 KPDBK*LSTX(x`BBB diff --git a/resources/g2/track/intamin/large_half_loop_left_4_5.png b/resources/g2/track/intamin/large_half_loop_left_4_5.png index d4e0dc2f3ab51fb9cc01ede33aca2c95ba07dfb5..3aec63e23e9da0b0b1a13152e6bc0e6e50e6e823 100644 GIT binary patch delta 535 zcmV+y0_gqE3djnuJp+ICNkl$0RE421LkuQqbgR~ZROz^d(l&T-tWJwN&E zbUFbkETSPKDykZnm?DlqTNP`1AzmgT^=E;dGe}(yiE)lXDvnT z0%>ivysO0tu#kVmJC@pB11td9m)dAq2H-QQoq&tqrASld0m_cPmCdiJlM~!-b_c)S z2~x<}%#J>SVVa6Ihz8A6U_2!Aa<4mAw5lI$D6nS$+F7T-Yi6=~3g*14JFuL9;fk#q z7rI>2$`F(~YgpaY8rgBVM)Ymek9K#(R)z1N8=a;gcr<_L%jE;`csHEiLZ6zr=CYH0 z0G`*n{o002ovPDHLkV1nJF`al2x delta 542 zcmV+(0^$A03eO6#Jp+IJNklM@tz8VETPZ)bAv0GdY18E8;#o*)#_%0Aec|uaOR*Hui}M&>^kc;cUK$0fKCt z^1xX}bihq;|5ATZ(FhB02OugQHJo5Y#iF!80LU1yUdo~HAibH^s)NqGD=Mws9v&c> zp;U?VUE|SOI~3?F0h?@+%El#g7_6wlK*Z5|4*A#QUvahB+8vV{7 zN&5vczO?+#AX+ZJGi_bx2UM8oU2$JbX9YJ&x&z$!27D$zLAnEuksgvKSdafcLr=*Q g$P+YrlD`(gf4@t!dt{N5i~s-t07*qoM6N<$f(XU+`~Uy| diff --git a/resources/g2/track/intamin/large_half_loop_left_4_6.png b/resources/g2/track/intamin/large_half_loop_left_4_6.png index f5520753ec18dc75becf03530be297a04361021c..33a1dee65f464d45878399ac7e4453184050d0fc 100644 GIT binary patch delta 585 zcmV-P0=E733i=ALJp+FzNklX z0FQd$jE=GBX!l*_Pw?C1=(mK zd97h+{Jqw~^T{v&It6A(Wca=Rp7WPVqUUkwK$m?I*>(SDyA;6KwMd#o&9`fH8K@p) zriRFNM+(%$OyILV(YKpS$t*Q^*&iakN0qYc;GEq^zuBEKn;_ZM9f4kV70Q4&1Rb-G zS(H>ZHK1L0BA$P*D5?Ij>P$}ukwAuD7d8EG?nuaNjEv2eAYU)(cd5*(X%jN@wRH-ZpcCaQ(P)YUOoGah!&06v@2c`T(ikh90`Ht#`WRC72q7a=hOt0dSpHxb3py&RQYSB~ z(G3<;_JAoT$aeT9tlHvk`vldOXT@-9+z#a!o)R;Bbbd|H_jFMUQ-`ni^{@rgU8nK! z@d?&wgziB{ymd~H=?TZ|DderUVPlRkWZvg}-skV<`+vy1vhXi4FBEJ4h^a3y<<9&B Xhf?M;qZ0a?00000NkvXXu0mjfaSJDi delta 581 zcmV-L0=oVB3ib-HJp+FvNkl$Pq(aex?YvtM2`tRR~(djt?q7%ter1zEFo-o_mX}GgU^E(7imgYwj3AY<7M7=dX zRal~N?N;_(G?~^SRIdyWb>@eKuv^&97f*x4)QlsUUBX1R?WcbVsk(UE%`^Fiv##q8 zBpEYrCLHp<~KuwaW+>;pl96|zoyO3hx#@Z2tWEWb|(vlW3)0gim{HqAdT%7 zF=r~WToD3;&eU@;Sb4d~Ov54iwHPcrU2mdg(abZ`h+OQZ3>!b#L=#bqtIF4$kbENI zUTrFVn^Q=HfC_*0g2`fjCjwH+u$UWU2$wRIGK6jMefou`N@gOv<2}{YHke+uU2!XXBp9P#OHt z$}t!yjC2#H%ZYke8pg16qw_xR^FDt+zy3q!l?VS4^TK883(WXOOusUp(!l6G TCT##{00000NkvXXu0mjf*+?eb diff --git a/resources/g2/track/intamin/large_half_loop_left_4_7.png b/resources/g2/track/intamin/large_half_loop_left_4_7.png index 06467a4df9510a3aa819afda9f6bbe30b94217c5..95cae67d1a53757f0cb445aca4190190caa04774 100644 GIT binary patch delta 383 zcmV-_0f7Fo39<>WJp+GWNklFrK=}V+?satXp zgzaNb3c529{)t>k)j97X5Imjuxw!KZHh}Q?O2P`dPjav2i(r4HB(ltH!Ps0(;BU4j zin--dql@uDchEU_ae%p!Ofy|+nyRHKt@hSW_9lt!g;@h$>a;2@tL1-a5HlZ1xyco$)y*wL zc@?ozvy0P%$F~H6uQXE8iVBi$v|-k6{b*ZJF&7|c6<<$s(@2O3!Suw*`k-) zRy*>hj9S?#PIz{PcsL%_HdB$ty65{t*dUl4QDzGf;Zo|*ZO3C9p!<$tITgPv$AFR1 zvXq5ih7Xmy(li}N=I&em4M=LI_nMZu`x#ylUa(26{ej;sZ5p-@(B6@T{;B30L;XKK cGd*8^0b$$!q~d(LUH||907*qoM6N<$g4chyS^xk5 diff --git a/resources/g2/track/intamin/large_half_loop_right_1_1.png b/resources/g2/track/intamin/large_half_loop_right_1_1.png index 6b6dd69527a1f819826324035179da3000ace856..cc84fc166a9b1056b103699896b1cb4366948ff6 100644 GIT binary patch delta 458 zcmV;*0X6=G3WW-=MgxCAZp1JMMScIXO&oA~lz@%B>BpI>)2et<7EvNS5qJit^ghZB z=7lc*;mc91|0g#|y~#7^J&82Cm-+yml31#@XwLHuyuPOkZP#nJ&TssH?g&G)W_)}s zdC=DF)FyJe&X2Ok^-LuYIC>w$>7%F!hpCT3>6D5eh%so+r_z5O(!4>nG_5uWG?_6` zOy}e$BRwgabQ*ZrqzlBsqw=X_Z${4(_=6tMeEDn5l@M_Wy5u>5CL-0nfo3KAE~c{! zOsUPUgH=NMYSJfg0C$?QXjut#Ay#YeQ%Plxb$`ti1kNV+iYEV7a;<{L7-rq+th{J) zm_7Z~nY&6zd)a?(yUn$sONp)M4FWyJr9`#yLdl*m+=uN zw$${&>jMTSc&U)$XMkS?0k2Db4rM#oqP%0$U4v6!X`q0q&JgCVQsf)=k<|QOSCw@ zLrt)hYbCGgaRt6r@*Vpw?N-@WJos+ePySBsPg3PJx<{NXy#N3J07*qoM6N<$f&sbZ ACIA2c delta 458 zcmV;*0X6=G3WW-=MgxCKa>GCfM7jUjENMPDieMOKlV&6*Sp-RDp(>Z#n0_=Oy07v; z^G97i(U)4(KIxtI_E4YEd()k@KWkmfs)P1U?U6dK)Xz3<{x)wuq zl&a?Xb;;8Kj=t|K!v5*2Y+ERvNVwS`a*D2&JxBc~5@G-xu!?`*!ZUM8S8AeNTQhTY zYAL5+m;<1f1BA(%@XTTF2@o|VK$zrQ&IbReU3K!)iG+K}F%pPX8}BrcWD&hI34o|! zG?B<963plcw9Z-_$;xttWHARK4$zVG9s{gEA|7o#nj=ZD93aU6h(2ayqnkOBwWo+S zY>ocL*8mWqN%?=ur2Av`yGavCDp%@dCeUY}DG`~&g=%5}KvUn11JoRN_ za3a|_MsgZ#Gl6}c0_X=Oe@d+Bk&?}F3da6Zc$bKqga<;qS7Sd$uaec5bFZHJc`Y06 z{nF%biLpFaBVM@8J0!ogt^5GVPrbsu2l^-KZ|od6=?#epVE_OC07*qoM6N<$f+;%K Am;e9( diff --git a/resources/g2/track/intamin/large_half_loop_right_1_2.png b/resources/g2/track/intamin/large_half_loop_right_1_2.png index 9a68aa6a20fabe68e3da954684b27f56416e4c35..4608a6564dc477276f438f102eb39d05e2ec8087 100644 GIT binary patch delta 491 zcmVXA-DX5HM-c(@vyGYEo!zQn!dFsx z5NsQhlrBUmSEx_E-pc@=Z}LyQ*HBJkH~Z=122Uvs8^i2MU*G|%NM~lMm-wNa606^A zD|NA6Vj25PD799KGk~Cf?luw|>eo!ZpolMzp(rKW7RY?mMKe|32@)+lUtI zeBVGZY&U|o3~#nHwx?fLnH`B81lHE&+Geu91q!2H?QBRp7SVQpYLnz ztIGq^)l>a{V1g~#7xwTSX8+9%bzxnBa*mrl^Ys;+%Cj|J6g8|yWJdo#A zGdB(8$$|tNa4__gU+H`vQ6BQhe#q%=z~N};@*tr=PVr;Y`7Niwb)G4Lbk;002ovPDHLkV1lIK`V9a8 delta 478 zcmV<40U`dK3Xlr0Jp+HfNkl@v7RJh%h5v;zwf|%C#cdZk+N8RdmE=Fh>{06dy{J$Qf4Lj-_~a)rkUK;r=P z67QgPKZ0frV@o}5yy;(=Sz@;!%L!k&kJYL-JJ7PAt;A6j{hI!(2LxZT23$e=;wE;; z>U>WfyYT?Es{}6@Z{^eeYgezQq&&Htuca=(^F66Qcs1)YSNFfw!<_SFYFh@Ef0DGJf0`C@s>hCFx-P*2K=j@_cY(+lupO>z&@GZaw1muvkS!KbbCTs%xxm)7sy!c zv&)%}lRZLN!<~=Hi93Jfn7v)qM9!ZpXA-MZA8tEhmz84|0aXX3{PYcZ~j z=+{I-0#-^7PI&@9qs!mXJl9!7tThU>R2s4c>SQPB7?DKzJuL9OmS zQQ&|r*WF(}$V%I&(|li%y(IPb)pP?c*6fC^(6NTRhdK;S{T5x>(}8FS!v$;bPYOh{ zIXFh!&{24duIGQQv_mU!*)jwf^s(tU zI1+sy6t4%cP2yBvRCFcwbqGNCk`;D!09LLOjX9&@p?zfX8m_9L-QiOD)p=f>cUB3C zcZk*bhJ77*DA;tmW<5`LTyWkYbdMb> z`tTfA86x@+nG}U1(HZ@0Ptk(^AKJ>1^poOkU5X4n_(X;nmr2%m-XN~g0zO#blOhkV zYh!pwPNhHaG{bdTT(~SxwAKn&BDWlqYyi}oqVVts5v#EeVirUecQ2*%vh}YgL-Y*4 zR#*R^@uniivf60}v3? U4r%O?L;wH)07*qoM6N<$f>jq8ng9R* delta 576 zcmV-G0>AzD3h@fCJp+FqNklxA}4rF%P|Tid2lTKd?Bp}OwVyDFa2`}CQ6`@uYL z@0)bTX;rr12C(G(p0_Huagw5|yD?6yk^0z}G{Ti$pnQlM^s9fUbJCV{2+_MqyAT)j z6kX7JqXS;kFMt{iXuDZLM2H$qaXv=7YY8`iE?0_G!~(1dm;c_cZzuj=B*0L zU(iv_i9ogaK{|C@rs_x?^AzeR3;64g=|^jZ4ow_q3}nNNFIw^c+5Vm?r`@do_vHt_S6LXuUyZ>=b8Xc@I#ku=mxIB`N3!28EeCZQj zzd_|%Xa6{xd+8sXaF8t+>xMU!-FHNV&Bw)m=WSv1kAod{@IvV}y!!;o1jZ!Z?q_TO O0000Jp+G-NklFq>*e-Dgr5+XfZYQ z=z-<~%Wpzho_OryTS5H)g0+XZ6&y$12y)s8iflZ@WeLQOWd@2dTx$zEOmQthg)PTW zS6xsnrQ~IXlF}jrDMu+wk0IB#7KGqupnssSj6VW#yBHO!4@!R%NR{fEq*yCB`Wr_v zr@EkkIaHBc#go87DH`=Q3WI22o#4m_Vp^^sTm_13aaLHcFr~=epgLfumxW?CWC)BK~o3Ds=cc?Al_32wJpyo zLeQ40sPVrkA_2OSC(iQ&r!4?cyY*N8qoJ<=>!Lu>nmuQxq(j2B$kv$f+0pMjaP}eg zT@7x6zKOj6&zB1G`#k3!pA)=`7^2kzK9YQa;g!WHK)Pq4Z{le(hzb#ls1AyC<@Elc zU|cBkCI){Vd!i6e&c@aJeuM%i8wtYq&e6DaGxsA3@jT6|d+cG3NMPKW>JALA3*DY= zg51w|wQ2$5Qq@(?BKB}y+dCRbc&t>J({36?_dpA#9fCt zi9E*d*(BJ;RZy3L4FU)_FXQ1X_IHFI51Ry`tp6d!&`IwEo4E5$>gW6hfR0C;-$e%= P00000NkvXXu0mjfz1cV? delta 678 zcmV;X0$Kgp3)Ty;Jp+G)NklZyX@tMtv(lxb5Px91KFZ_ch{gaTRHDc56@rV%mQQfVowF;!>=I*>6G& zfRVZn+{5BtHFClEBO%L<^1`Ac+q;RR M07*qoM6N<$f|egDcmMzZ diff --git a/resources/g2/track/intamin/large_half_loop_right_1_5.png b/resources/g2/track/intamin/large_half_loop_right_1_5.png index 429d50f57c2a23ac83c9e695f121ab2293c84101..53a3f63e90353b8363726e3190221698a9dc02bc 100644 GIT binary patch delta 518 zcmV+h0{Q*B3b+ceJp+H{Nkl@7{PtH3Klo;t`Y=ixee_pxMmhpCnGbrf z=avr;UeWWD4+X{wfu2VsrhH3BJp#mLZ?!{E0u?sG;G(7V-U+4xu71~|yc^TQxPf~3 zgu?tdV1I(*833{e;Ggwn9&PCu1XVZRTRs1pNGtL&U+3<5cK`E@z za`x<_f_GX@W5&(Sp}1XW@y!=+5i?&GFkF1|rNZo5A?~QS2t>@jSxk`QdTs#e3OF?K zt-^Z94cuE$p?8q&b_UP~cvQ%<;xEuA@W)x=30i)Dr{MqKAJ3PUiG_j43cCuhJp+H~Nkli9N6HC0l(A)(1N640M%kB=fLkS4$q|1Z9W8ye%JK~u<0Xx) zwPN(UMUJ%Y^EmjJqTSM1f*2aotXbsw0o`GA?bcmceUa%Lfx#%N{sA-r$PL^(n2yBM zeI^K-*vwp38wu8Rolc971YtCWQ`|OQ0moY$ASR$}QaIlWO@PEqGaosD^_r*TBP1|G zWB?g)f{w(j3jlv7!10#Ogpp{9<^y1_ixigxs8)O$K$Kx{8Wll+!vTkx&j8bShJ|-F z#}XTwBdnkK2M3jN2SQM z6z`6PVi$-p5tk;xx!!z_KNQuQ#5hd#T6%(8hvx*}CR)=+1Ff$KB21Xv>Xhh@rI6^a ziEw%X*C+VwPf)hI?F7#T!hfPCDDkYR=o`ojylZ+(kiWsZ{y+E!on?;fjbb<{9 diff --git a/resources/g2/track/intamin/large_half_loop_right_1_6.png b/resources/g2/track/intamin/large_half_loop_right_1_6.png index 339a47bc3f4d1b2d162805ba42502f28d7e70092..7c4b24db72c3edd95959f97e53b4be56a52762fa 100644 GIT binary patch delta 596 zcmV-a0;~P{3WW=>Jp+F;Nkl<=Xd8sa8_iYVV(b8b*tT zEFg8OG3aD{p2>{YG?)Gnv?rbh%}?S5#vH7B>^e?epgHA9DztxE-T#Cf$MHCh-L)iH zLyVtWZhwGkZ5`HObdo$1K@{xlFHAX?=CGaRN1Cu9@m4zHi+7^Eir938a0m!qn++QR4wM|@;>4e`kBq}vwUF{EXzjF&P1)y`3j3rZb z<(LRAK@v_vqcm1sa2f`ZL_Pj!nV-g@z0_To)-7BHMUxo@bhMl04$~5Gg>3cY;$=8L zr3oU$CRQU1h?2;4nv&TbFUy2+BIcz%!r(H@9Eh#yvKD`0U=fMnS&^ERP&AUjVdCeb zXtxeE1k1H}AaP`=xI<%3EF+^>G?vYCieMStx#)2q4+5Xq>Nl7xdt6`pihFip==xI; zY>a{EcZYC&%VA`Xx8DG0VqlDSJwjCwB54%FXO`+xed}JDjxZUlcU?A>IBh)dQ z0eV0td()_|P;L#>bt^W4o9=YJ8ksXQZhEO3L*SWLjj$4D8u4I*z+>Hrn#_5K01mfm zG^b5SyNBtK7ma_gH;d4K+#l?=&_AY$^s$qfxJOww$|YgkREGmwT{A_6a=FaK!Z(db z7*M?g`z(D-1ZgO&q!QipYS@&fX-pgE&&y#nr76*Ae)GCl5T&lRIb=Fl%U=)CX9}qL*uZ$ zAS0c7T`mNZ@y?84$adc_gm>%1Yt>~w2BW?A5y;g2+6fy4^`+u*vSnm`DX07T8i@$` z(D8YOZkaM1(#hD;pvmCL2Vu3Ft}iwX;)b)<>UGBu5Of+#%eiBkz#yK&b|&I44TIni z;!!^^2*N>})(jD(|7CQ`5Fsq;3{xjA=sO4=52All=V zjOxhY%pd`vYmmkOQqxsZo6k_b)AU&=aFRQWG~d&@4YxLd73`;o<+<^$fJ^( z*eZEHa}L83XO@4UhZUNzrFD{q7TNY-a^gbCS$O`^c%pG^02GSZUn5;CWrZs#`x%`F z-B32@wPXh*&V`2tBzlV&z%!lBCE;@HyQF}|6`V6;H4|3rbF7GR49DqyW+CAN?LX6c zt2A-$*kJz(5l3C{_zJp+GzNkl)DXR_+n0JxUFaVaUj1I*cU)v|wUmA9R_eZ&Qfuq~cAW67*RpA8XE^2OcJpbNhhH36~Ai zNrt;i%0WIQ?eGznB1dFi+ScGg_$_h-Yx;VK2Ao57n58mhT(s(_rhHHiOIFJ!ace$< z1Fb$ZnPNUp$&7v+&}YRT6#!`Q3Hxcpz=sa zLmKopiBKW%sX2cHL%bLk`gA#Rs8ma{J>H4e7F0plRCCX86PwSpKv)th8Sj_{C5)?A zRLi@?}C%(g#^oU0^GWIB@MnE~vPk%Kk z3LJU7fPUo355x;Jp+F;NklG%(T;eK-Ap@ zFGNq&Qfu8_*y%UieFdtOL>=n7O$IYLjw9@HsS%;eQX-t0i${S&NsBrR?&RZk1EKkW z!8)`NeJPGXFNHINdE>S6gtL6oKjHb34TXC@(>Wgif%5_dVHHg+M*JA*BIh5; kXRPo0O9<01@CU~7KiGQ`IS`MH{r~^~07*qoM6N<$f^PnyJpcdz diff --git a/resources/g2/track/intamin/large_half_loop_right_2_2.png b/resources/g2/track/intamin/large_half_loop_right_2_2.png index 7cf49ac547d8159149e9e54abc9e2336341eb480..9055f35170e6dd835cb5aac4a070addabf65b459 100644 GIT binary patch delta 400 zcmV;B0dM}l3Bn1mJp+GmNklzPE41{(6s|DL|m(k9T*TN=SC3&c(Fw5t* z)Y1?=iM_W++zmgb_W^kG=fc~I@WV<%Eiwi@ASCi1Vbk9+~mh9ald} zw%{O?W+ahPdt6tcd7c@D>v5yoAht7{6|0{_>f*DZc}C2X$5h=U2u4Uk)x@xm?5Gd# zX2FG-Y(uhjGP;2z>Va`HRf?|iTDwTeV5BEzRa&Zt=u4=}&0=b{tu=H&A>v8O#)`Fg zRhDhM>moD=hp~UcSR8JtI6bk}E7&I&d&B5d6d>q=S0@rCLsHXyh_x>)Av>*PA-E0? z)*4WaD~0xfE@?FpjBsEVcz7pmI`oZ&_7Hq$ewAY$bZuQOeM5=3kAW#bj|FXMkkFS@$&5!+vX?|*WHDpZZv3E}_%000O{MNUMnLSTZqlfq#D delta 397 zcmV;80doGr3BL)jJp+GjNklK#-SK1zIM_DNwnU8#g zN>kI2Qtqs^)mz*J-=^12`0=!ioePAvBQ`9fzAYVHN*Lrg^baiL?6xRevE&0R&a38Fq!9jNWR{#jP% zN^+?p;6!vNsY(eqNS%90=XkXqq%t;LcaDaD6Ax&^#g@7*ORegKrvsR->{oL%*zk2m zEoXmV9zREsY`}lgm1S6nitzix?}7=b1?LzJ;d_`R(}(9s?MLp5 zpXF%n&EcT8w97bzVcSr2STx|A{O=QDSfNTjN*+V?-s#%f2Q;l4n}+qys}-8|SDznV rXI@?IU(C5ap$E-ddBeW_y?+5K?kRMTnd`U!00005s3C{_zJp+GzNklAsd?6 z39UP35L2b0A{~FFh=d`f6SAj@M?rK(`ZI$CBAB6fR>EbV$#3RT4#Xl6>9*^nf~$sD zFdt4StXFS~F<~_`IwJ`g@j{obC%2AA#3mz{#btp>|6sil@$ho#KXjuqgw!NH zea_|gfmya^1S>4G*oMD4hqM<27b%hL2_bqDIhj|49*GriCYv8qm0~J)00000NkvXX Hu0mjfV??}R delta 417 zcmV;S0bc&k3DXI%Jp+G%Nklw zkOU}^-RW)n_X|`1fgCYEGVXF)ueVms%*ox!3_Q=BjH-v5VA@+5L_mFpPMmL$J~e7d zYL2$EflL@Iim0m}t@Rz!*vs%!;Ho6z@PhG=H&) zi5ZP=GF;8c-J5L_Q}u`9X`NCky<3-N*n_Q@XejL5A}oT-I+#j(g9x$}QytphA>vsk zhK;_xl+Qy?3|QU$+Yr6GM}%Vw?h0K@#@fmqBJ!cmFY_4@kz3*iGLa;wJhUOS00000 LNkvXXu0mjf;ljvb diff --git a/resources/g2/track/intamin/large_half_loop_right_2_4.png b/resources/g2/track/intamin/large_half_loop_right_2_4.png index 1c7172ef2dfe5d9ffcc5be1a50b92818601c8f70..208f46fa30b899c6f4f8d63ed56e788e8412b447 100644 GIT binary patch delta 405 zcmV;G0c!rk3C9VrJp+GrNkli*fRpHftY7q?g#48BQr#C4?YE z?_&D1n0Y69{DYIbiQe!|6yatnFV2@=sEUkOaWGXz8|uu*g?BLV(MH&UvzU7jH^1>A zt@Y%w@-v1=z3GZ;CaDPqSanDvLpPV5`#$4Pezr}#b3ZPb17v^kY$ekt`J-~d1IvnA zL`~(-TReifBH-s1kBo5+R{Dz_BBVKnjtl>$k2JL}_+CSGwMt>O@3pF0%gw&lQbse$ z8Ek`X38!=R;<2!Mj;R z5M)Kg6=e{lR(Xh7SVZ;4f3n-_#eBzohITdWW7SD99iR%s%VK{wN2-YUBj}{6GyURzgFm* zTUI7r`%i?M%6xy%${M{PV_ePFkml76+|TfRI8}O`0p*_O_QBJv+Vr+TjTicu;y8Tu zJi$ecD`Bna>iMBTd%l{)lSD6?oQi?E$s}IGX`RoEaUs$doH8<23)4l-S=Kk)rIi)F vxi-Q1+-TmvcrkUAl!(`w-`fA3f8Ku_lsRO}*JX(S000R9NkvXXu0mjfYM{)2 diff --git a/resources/g2/track/intamin/large_half_loop_right_2_5.png b/resources/g2/track/intamin/large_half_loop_right_2_5.png index 870e831fd2f6f842aa2fb91169b728b85db27635..e143c882a498ac6580afcab8d6109207dc086511 100644 GIT binary patch delta 682 zcmV;b0#*Iy3)%~?Jp+G;NkluS{sq{8+HdWO~ zQ|y`X04e?V{7Zj4dHVy-Yoq-M7wP%?ak)qnzaxPzA7nthq zorkHZ&}})DT?A`YxHT$YH@uoUhS!y8zgEwsPHe(?yTVvr&$oYd&E>Y7O6|Sd#2eLn z^ZZDDn2d%Xn8z60)gN_Xn~I$iu-z0SsF z^5Vc5pSmz+f~kKVr7qkdy^BlNu=>X0w!%I-XY{N3CU6zhTZ3_Txa#?eM26hQnK;fA zz-Ge(m6kP!&5Lg)F{40Q&fAt4d4u`#XdLSp8a5|~t+Ndao7V(#l5kR3-270c95+8a z^-La}F4Ya59)XN)N80^u$r3g%*oxRKS#S_st50JPI7WY_UWW@8Zrda-t+kNbHf1p{ zOb@X7Zdz~#M$P4OgtZ7R=NXo{hum0?IGTmr$iwJyVa_c zI8EC^xVe8Ti58-e`X^2rE1SRUbAN=@Bcpd^6UL$5(!#+`0Zhl0xNEUJ+apF1+`&C0yNy zrkS>IqBIXD?t?$``329L9yf-K5dOI0)NU|v!0aOTSqRSun+Tsrcs?%d2Z_wCfl1ao Q3IG5A07*qoM6N<$f=8uOyVv`?jcNpROwNp;z5uSgy&p_MDA}B%inSHN~ zA&l^Pptm^tp^%1KM9yKP1~-0^BlHH?^S2Z!x9t;E%vEwgu9~CW%rt6!GfYgqvqsO> zscb-aannf9dam2GO#ydg?^8Grr@Zes8055%fx*(s0e7^{c){FKVRl!>U$B<*J^3Z< zf(+eWvb!O*;RS!%9^sz74_&5bN|3!G)_e*5GtiIha3o}fu7#d3RlT;U#M!}m?vVWn z=Zd379@@ipm z#vS1IfafjRp%GlRe(q2_;^wmX!qB7QS(SaY7j94m`PVg{ZQQvn4XU`M zW9t5Z;rxP(sLv<-*7Ql;I|C?uq!x^vPD3^KQ%t=eba6w(h7ndnXQlP9GaS-OxvPy^ za&q1}DdG!LYx$U;LnkFmxG1S8Y?HC)^EgS~-}w%hqv5 zrGJT^jZfI`b=I$jFhp}lkXR%eR2Bc!PqzhdKC#B3Y&pX$>|bmNqo-fsReguee+J|w z`2?B6iK4UltB@p&CON&fqVLPM|G_u~a8p`2hIuZ^f^*yhcp)7aH7ekO3E;U}!x`dN ccrIuD7v%)2=A-D-_W%F@07*qoM6N<$f)i<9kpKVy diff --git a/resources/g2/track/intamin/large_half_loop_right_2_6.png b/resources/g2/track/intamin/large_half_loop_right_2_6.png index 678710c1885f8d444f15e56aef278ad0fe44fa8c..501fdd625b77529b4628f034abe686fd478ec6d5 100644 GIT binary patch delta 454 zcmV;%0XhEh3HS-HJp+HHNklCIG6qL`~tRajLp@@E!bP@m+_7TJT>Ylg&K3~T(b*m z(GddNaN)`|1g#c-q|jP_yc!ufiD09G zU!JV1qi`KHhGlVz-Hm6t4@DO^p6!Ju+-dnCy!&XOFy% zjG9Yjk``t?@-%;k8E_#ceF;!=lJvkb?G{=hL$5LXwzMfFq{sxn^PFv6@JN#~0_uW@ z+{?OJw-Iz>6c^~>jrM`?N0jmJL$K=Jpp*pn1{?N*XT$?LfZbxRe`Z6xC9qa{_r^TP z6QR+Ttv6!_gevyEVt+Zz15%Ub8GOR@3?X>$ila@*@P%Qqyc~ wzy-MtH3bRZ_r9m5;5TLpM)jZMQ}E;M1zHI9BpR*JZ2$lO07*qoM6N<$f>s0Cv;Y7A delta 447 zcmV;w0YLuv3GoTAJp+HANklDy_l6F<8X3G=wN} z13;jXyjs#)2G}4CLE)x&g2W(795cb= z(TrO{@WGVJ4Xt^anj^X`_)6Vse$O7KVdXegyGX zj484XG0c{h%AdK>?t0xrjM-i8w3XLAr06T>a&$W*VD^>Swx$40Kp1JJY~9|gaKQmz znFG7Fo2-g&0*-&>1kHWE2`*(bDq9qFQi>_lq_VSSoi&j)56Z+RQ=xLdrlOiA0pog^ zfIATad*eM2R6dT!adOq~jg?Y`PmcCR4@?7=k)EJQP5v{RY$^b6(q_#brKm3GeD5aB z9#i2{XV$CrHOmiNE?v=vS?HBXhFj+zoL;GulGz*V*WEV)dhy1XpImgQ5wKlWnICg0 pANPMj2K2Lf3%I#|lJ|gbU%#jB_Zs%Y?OFf;002ovPDHLkV1n;q*%kl* diff --git a/resources/g2/track/intamin/large_half_loop_right_2_7.png b/resources/g2/track/intamin/large_half_loop_right_2_7.png index 87eb0265b7d4a320b07f4ac603a8d31b03808353..a563fc76dec4e357acb6c59b75b2985611f656f8 100644 GIT binary patch delta 499 zcmVH%;X-qKfx>Z$K{f<@KZo?dYpq z5s?61vT-+9nTv#iyzqAxX=&;t9GD#y*$V4Eb%KuU5VC*EBGP~R&V+(4WS!n`+xxqAeqlr|HnUE%+{NGg9ad)#YBEd$kD#}H-a z7IxZ4DZ+%p##ktT+Azl3ve5fdAejX}B7i05rs1}%5Errvaykc(f$w)gS$8>p5J4>F ztzSMwmF_n}%z2O^N_f$UkqfoPCge`~GHYE&12FQ|sBENP&Z}i$By+45P|qc72}@F7 zk4b|6p`jC-^!I-q;Y@sWGSM!R?|o;uaYw8qFfBg6s|l= diff --git a/resources/g2/track/intamin/large_half_loop_right_3_1.png b/resources/g2/track/intamin/large_half_loop_right_3_1.png index 96830216143a2e2d776aa0702b7e5bb6f3ba9eb8..77e2a5056e4f15fe2c78c337577aab6294639fb2 100644 GIT binary patch delta 351 zcmV-l0igbh36cr0Jp+G0Nkl-5FyW zcuzKvuJ=?n>Hmyzt+kH&by6>R0U~-tIIbA=f;$W%eZ+VYJXDC`MrL%wG~k^#8b*kA z2!@E9zzw-;grj4`G=zJ{3*j+NfD>WmFTo^xq&Vmrw(P5FC zJ&A%9OlxrBjy}wXUV8(eQ_vykPe8((H~KOCDAvpmfC9sSJ^_yF14cF0?nj~KO{c(u z4=o;m%A+JG;$2syfa9)m-T3jz{1E5^Fc%I@;o8;U`Ki^kxCy#d*&7RU*_X4{q_&!xu^VB}BWS4qx4&)-b=9SU5W|C9g#002ovPDHLkV1m#JrV{`F delta 343 zcmV-d0jU0x35p4@Jp+F@Nklj#51==SQ`+10|ibV#dH) z`(ZDp?NaoAMJrjYJg22>@AYno+9E86*2<$sfWVQj7yD_*8Moe7`>p1c1cwp~sWoOk z4LfRL65O7xh5InU6)?AU8hYox?bn+7VJ-y(eEj9PFUuo~*Oh;JmAUNwcg?+2Q!yvf zd)DoSaallF2LmC#Ac-L|RkG&QO-Ka1eklacFdPZ8qr=mR~!=x zfFA#$R^(76N9IpOQ~;m}P#CbCA7^O>$4D-XQLMkpP$d`XemNRPZX>moNBATD!j*&n pKKMuS_Yr*_f&K$O8a_ad=WoN5AhWHg<1zpM002ovPDHLkV1nUmo8bTe diff --git a/resources/g2/track/intamin/large_half_loop_right_3_2.png b/resources/g2/track/intamin/large_half_loop_right_3_2.png index 89c1c6145f1dc3ba0b003752160197a9e3db203a..40a94becb5676100be7108c12e78b58f5a5a3554 100644 GIT binary patch delta 311 zcmV-70m%OH2u$p!3)x-Q-_>v#B3Pa4~;wXS;vzTY~DyX#R~Cmydc z?ge-)_u$;|v60FYoo@#?mId81k%|h8;A=hF2?zMvZDnZL%1VDCM2aEs?2p{FjVO?o zVj_Zdq7Ab3PDC+58r*gPf-XSrhTJ)^d#e>!tOlHDJx#G7^7Lr9YxzWosfP;VK|&)r zHo&FsCC6qaES601FjE~U(r`~>>~v)Nr+V%>ZN{?b&%U2ZOieu^TNtPr2ORxn(~mn^ zLT1Am0b>+1>(npx2R(`Pk*GW+oI3d*?@is+kbHI&X8%}7{{kLvoeW$};86eo002ov JPDHLkV1hrdlequ@ delta 319 zcmV-F0l@z12=WN9Jp+FrNklIYOq4*x z$M^w6Tb1tBsy}y7Yiret;eRrhSYK=5+rITp9qHuO9_}~ia#Ps8evv9i%7v?QuK=g% z#83-{iy0zD9}ZxfI+x99c&BX$%$U?w^N~+*03Q*k!t`<)g4ch@%s_V-p5-F9fCz+$ zNMiW3iFt&vP{*b06m{LFP|M{S2kQKd@g z==ycJ+0=F6gS()ygC}Uko-Q zZ`AwN+u%+>2eE-MQx@|Cy6DG1-T(&* zl*cl7+jKPgSebDv1B-hj7hnw^84}+Wj)Od6Z0NykoPr-Z0Am>R#6~(g96V96@+>C! zTt{p_1k(U(0T$(8=P>RG;w$yupzwrxf-{FgyTHaWbLio#vWJp+GWNkl`M}fDe}pTdHw)};hD=VaB2Pl&Y-C2IbGw-O>MxC#!H-bJ-pkHL|miMqP?C z313?3nYWbj*PN{p1%9mc=(-h7*%FrGq=Jdnh@;UW8N=i9-%t=1^cL}Iv4xG)JFIf}jUM+Ec3>u-O2_a^Y!Gjo>zUyp#u`JLXY;<` z)nZmQ?Q4#(dWh>;%EactBhv%TEiea7?MHSt0~e5UY!t`VHeo`#jJSsN)9HoZ&Jg|F d!vgtw{sKV1#H!QTwv_+?002ovPDHLkV1meryJr9Z diff --git a/resources/g2/track/intamin/large_half_loop_right_3_4.png b/resources/g2/track/intamin/large_half_loop_right_3_4.png index 730dde3718523e9d79ab977b6a8fcdc9e59ccecf..c642a40adcf27a9046a879b85d3b0d0b02cd9ee2 100644 GIT binary patch delta 690 zcmV;j0!{tn3*rl~Jp+G`NklN zV;7$REU*B*om=qx4^F=tCBtBeg2%UmISfYCNeigX9P`$V}0oPavKKJ=wU!K_NBVOC*1{g0x6(5+#b{{&kzS z6v!=h-*;r*a*>ggb#6(lDxAwIx8h@?b#6o}O<=Z_97(BQA2h8(LNFm9AFGgEEintV zm7ESOtlX~EbQFGM>f1$&kZQ~+lc_E`g!XK^py#p}xIl?xP5Zn<0?sG6U2;xCRuLa| zV)jN3#vzZ&F2}6nvq?zbD>1D1-tZTB95NpjO$T^* zlVlt+Bjf|BP$8Q564|QyHlz#_(WFHlQgDJ)8*$6C)mi#O*(Ea5(n~>!+JS9F%91a?vxA#SKd-Mzxh8vc7fCTt%P@@@nR`(mi z>5gd*%gnEhSmAgWldcI_F(7(D-;7i~0}{zmBPI!OC)i_1mJ_R{od~~UH`0joGAo1d z5piqJEQf!jZ_egj#|F>Hdh+9s_YObgj{#Y6{l(v1@rfS8mG_Vq4qMdzvI5Zz`%Rjld@$z@>dmC_XOm-XL)u18u6%!pI z^R=9U@7T!)#Bi_@% delta 691 zcmV;k0!;nl3*!s0Jp+G{NklCWlDl7cS)ZA;PPBqG7X+t@c41CrNOM4mQ~ZTMb>PQwOwg27t*t8SmDq{ zPJg}M?^k!-b_cn|ym#M(G#6`?(DIF(01ud{x^c)Y^r$|@>yURuV|cl9=vIZ>O2RDl zxaZ_8SVZ+IB2<4@!m$L_p$IcX54@a`5TFi_Njn-p4~e}}N5EQ1P1`&qJi$zakT9vw zL$(OXLy;V0ixqFj1rQi|uFMOI+Ifi%?%}0HSZZL5?Sbb@i%?~M;k@J5y-r&mAzA(& zUg^1G-U>A9n73K-u&B7lj-y&yD2GLN4{oH!gECisqCbCzYg&zlN3$}aCj_C)@Q9yP z^7|^{iZNos$kpR}MnVq*#CYI>)A{ulFJgGZ_%lS!FX2!g^9DVb4NS+}O_a%Fj>Nu* zX(}jerx+rD%+Er4coc?XiQv7v)pH^}l6!yk_;r9GeL_Zq6pC0&i#eK+QRY>!w~(aK z_2}i4jF*48#BQMNEAoo$IFN*H(vn0t#%)-b;b)tY$7T9yJD2*aX(;+VF$wcw64ydO z14i~K2@uXh6YE2@PDW{vv6$fSAB<)HCpV10F(0t9=u7nLnQ((V0Vll~omv*`c;002ovPDHLkV1jWiRmuPW diff --git a/resources/g2/track/intamin/large_half_loop_right_3_5.png b/resources/g2/track/intamin/large_half_loop_right_3_5.png index 5d93012277a3ee20d046e3f8bfc4d2bbc99d7eca..7084bf978fe9027926f8f1fb5731fb017e84ba54 100644 GIT binary patch delta 940 zcmV;d15^CY4cZN`Jp+G;NkliyE04rOg7l6vQ~~{?k*;+4 zu$|)pQ_elF^tyNXZSWWPybb;Z@+ZFy(i_O@KF1f}hfDh8q%V)wpFoA59{uVMgH*Xa zLp;yOx%2Iils-|LK0IRWqIZuFx$E5{#-i;8C`DJ>&EvF8x6*$I@L#|`<>w(>`Bxqs z+WK`hm0t)V62R?|vsP#*b;tZD*IR*M(SoOkZh$* z#*DZnS60bPg|g)}kA_DgDwTw(E}$JP>AkgW;qe&BYHQnN%k%@})bnbZ6)DDya=WP^ zES-ffH=N=G6e@rBQNU$!`dH+G%&;uZ8X+6K_6u+&HX_p^XFkqCs9_6foSKljW05Lx z0w`_`sdQa{xs1F^jd|v(VHQFbXb4V7Med*=dGXuDju&OOL9`yoP(HxN2bk9)1B958 zz+9~40q^Y)Dg@;y`2x5Xcb=8m0Ni-$MiVxG^|*!${(^rGv*teJVbP&ui$bUd~$ zY;aP$TtRkWxtz5s2)7;MJOguYDBuE^a$KzwT$}+V@6L)Yqy<>4T+k&8NL$wi7(mlr z-Qg!7)Y5bz+iejdbg^vE;;cG*KXpK1L{IpeOFMkTebwkEz#$@n^wJFw#2&1MGgrrx;tQBe27z2bF zcOw({lrXjJy3iT}&W?g6pjM9wlFAXxss}3>j=}s`vkO7$I12Mt)h?RAX5XX}xdB2R zRXWQ1SZP8)exws6m;Tki!HA(u1E403minW zBrmP%N~l;?nN` O0000t=;%lTe)Qn*pcSoM=Htum~=}m ze*p{!?6h;wC%x7#zYX3Xf8GZF0{N5Q2I&pr+u#lA!zFz_l%58W;>#mEJ@R?>=N`oE z0pzu57Sh`qA-L$=!*h?%LiXWpLrW0MpjcitvQi+wC|B?>^nN^N?@{NLj*HPuUt zQpJeu%0voPskJYly`R1Jro1=7Yy2*O%p$A~_yMwk(KIoa7)J-pL`MwU1Zklss-yh? zVnCs({{g{kb@qS4fDeM#Usk_>%xEOjA}5tnD)gx#ja?IqIu;RL02#MFo;X1`%8;BW z-bbj(h>0czci;x;IxeH6DqDxTytr!YbMQYdH>4-jBMkX$Mz$Nhhdf<0U>1MS16eL@YA!;{qM6pv2b%u? zf#2brj1K9!7L9HVyctBfN8aN~zTifJ997aqBJM4kY4e zjPd~887SPwAq3EVHrPV=!+=i_FHaL*f**mhLr{MVr+)na$V|u!aqr@1M=@{}ohwx* zK<*ms=qoRPRCT6$xUtQckRfZGfU6!zm}CI#o7hxzylz8py*duIY}y6vN@fc?gV-LB zk(d_15g7qWaqGz2p&Iwpj#?R=7S+8?s?}DN=Y49ap}ZyIO5Q(| z*WQ14e;cfYxK2Ah7Z=F5I&sbJo81OOS-&@sOxEN2V3?2KaO?HGKrh%*y}p*F35(_S z^T9QB{1<)z5~!2venB!f(cd@PHpVXOZb3$i-OU7Nt=@q(@U|Yg)hh1cQ|~dRk34;H z?+;+9xTnwS-=J}z{$UdTHgRv0HwbUw-J2Nv1^xg=T_!8`xgRzF0000cYMN diff --git a/resources/g2/track/intamin/large_half_loop_right_3_6.png b/resources/g2/track/intamin/large_half_loop_right_3_6.png index b8d9ca932523d724323453d54287165b4a9341ce..704c93f20b74d0e07833b60be1babf9273317696 100644 GIT binary patch delta 483 zcmV<90UZ983Y7}5Jp+HkNkll0 z2$IaK4S>rEJIq&zx41y|J>VR;g}^%3azy++)5-yv%7o&*2g)N7;vUrl;5)MKtkr%{ z?Bg$#kdO^Rs^Gemjgrtot`)PkT~BcdiBL-}F5be664}8$rJR4Hs_i<8M{0k`K#l*k zyj`NNEaz^E7Yc_hGn7(l-CuxFg4&U-qQVwTN6~gL`DkOSPEz<8b-vN>|C-7;|p!qEr_onVFL}va)7GfaUkeNFwuVN;d z+dx&Bi$P{y7GNO;B5qMl;e`$4MK&L7VEcfq#MU;OUx=*(_=qe3SlavuSqAV4SpmNp Z`3HNq05`KZ#3ld$002ovPDHLkV1ksP=ZF9R delta 484 zcmV4E6r^Ho=fCB^dLn#?Yw(jHz_**YFXA zoScVk0GO6NL0{HA+y*&ML>+k85I0(ZSl42!A&pXNeb(pmxd5lj%pq_LVbzMc$O|WV z;7l_$oq&EI<;%B|IY zLKE_9XWT?#`{lX3l?RGt1nP2t?z97i&`2ds&WsfKskYyID^zx4`NUN|f@CnW3tl8; z)F!u3@bE-bYK+d__AOWx`|Fa_CC!vbefa+JaiOq(j~Ly3s>CrOv=fs{sRKpCtQ0BJ zthJ<(B2B{7zjA*s|E7R*5{P9giwl4p7}IjextJ;7DEG!laO0+%VCi}_hRrMn8KruP zwI;J%p43O|r8DU4giuMZmt(ze9Lu{IGX=~K$>6ylGU84$_V*2?oEl{n>sDE(yhz5W z*PZjBh{*uJ=R@;n>1cAAzkngB$=cGBNmG-Kq?~mz`OaKgGNJS{qxs9p(8`3?>V~Mv zLfmDh163QS1-D{xgX}WPI?S${yUd@E4>lhH{IiYpW{2!-_R$2{0I;?BFJv3w6S4#T aGV%@G-~c^=e;APf0000X3g8Ytaz4<`1Xy(x5_WM43s#FD0Y%(So0*zbf8{mx-*s{OW-10OdYpXGdud2NjAXN zj2j!Anhnf-sE<9%fi1e(%igOMdcmFNjS~iTx70#H>IhXC?H5=~p?Ip)05MZ;VTtM6 zp1R9r2IS)|v5R3Ikc`Obs%s1&d2yg%E>pzi_f8W6MySH%enhVdHX;d*!FtBA=xX32iR+ik2LdVEaq)X{+VWfgay^1AF&*YvfPss(Cui7s z{R|8H?q{71oMGq1iuQ30g#-^7^}WvK%u1{5_QE3Qu%<-?vxd}lyvOLZ5S5;n7|cZ; z%v}2b+~Xydn!ta%4S}gzw$;+ZOC2^;s`m72Z)Prt{z2nZZZI<^tVl&2zw5po=3-BqKVK-%UF0_>XEP zVjP1Ajv>Sg%(*S>!2x7ecU9_)y`Z-^RU8*om*$SJc33>)y1&J&8-*Dlyxw6yDD@k2 u|HM`2{tN8!6KtmYXl_P&WX{05KfeL&$o-5$eLhS80000|JE9ChHeEj7@m3!Y1OZo~e3A27<#X-5(Z0yH-fN0pjwQZJb{u1E;aI>GVUAA3lg$q!pld5`Gxbma zlA{|qbUwEqD52vMZ%u&Pe2An*YReg)(w})BqMq=ojSGafVjO?hhg}2Eq6RXp zNBc+uvj1ttAC{i1dK!L}z&?wmhk5YBKEiM7$)o)l{$}f;UHQc7v$(JDJd8+B82Z&` zUeHP54uEKY+-862fqvytyo?25r0v!tP3`x}!KfdI^n_|ZYxtWzysD?%;TJ=XBO2+f z(652B^|0T;bDa6ytl?E2yXQCj-qLgHyu`L^G+eDt`>`5& zLK-^z+~rOVD{buO@alTN<~Mg6(Ol)wFRg6mt{S_ojPPYw`(_MtcoBx$=PEzKBOl@n zjOaz7{XNm(W1OqJ)@SgqpQ*E~;d)%~M=DD=c*6X0TB|;9I&!%!;?RTAd6m|5ma^FT j&DS@$56Qp4|NqS&ObTd=0%S0d00000NkvXXu0mjfG871% delta 493 zcmVk-t#dXQTaZocCmlo96d2*-Tq*)&lQi> z9iB*eVS^gt?&yrk_+WG&RrLJa@hO+AJR%BCqSMinv+4wtetKKbSuXvu7r~#d9*jkK zW(wLfJ3Jn`{XSY{weQss^VF~HR|I6Qo?MM@>Qm$QbQaX(YW%3dxq6cEXg)bS(*0#r zJ*NMP|Cv3Va2bD@@jo}`xOf<^i&GP$UTuJ?hljNP9vzdblk|i#rnt&5Y3%5UsCss> zZ}GFQGtKd5@wbOpTP~@Xe(TfMnTzUa_OYt!_l^tGh}Q~w000000NkvXXu0mjf*ANOj diff --git a/resources/g2/track/intamin/large_half_loop_right_4_2.png b/resources/g2/track/intamin/large_half_loop_right_4_2.png index fd7896e9857687f24c07b6892617cfb13b9e0933..92feca1326b3a682ee95a31ef866c47d25450349 100644 GIT binary patch delta 557 zcmV+|0@D4)3f&5@JOh6M3rR#lR7i=9R$G#+APi;yTN`;OE~N<&!qnuTHTV8Zl#gz$ zKF0G%pq=}-^6B2Lu)oE2=i|%5^L=4q{n+C10^Da?Uq{Xl$n%g<-HF?>yXxJ-I6V@hLm%g?Nj=g(`FG!N_ZEw?M`%3-+6NS7Nc-%pj>4TRo#t-#ljPeJEUQn zM%{Lsve)>oM5r_|M>WK#lvz7S&0{h3`55C$fePm7%Zz^{V4!r1Tj_N~Vw&Og_g$|B zn%Uc6=!46;6X|WT%R(VQjx|G_x?j#toY!+!}y*uR%Q3m9@yx#=vL00000NkvXXu0mjfIT9Qh delta 534 zcmV+x0_pwT3dRbsJOh6L^hrcPR7i=9Ra&};h<^5n8`g4T)1-MDhrPO}MxIsQQGnK|7*KY86KSC^DT+^|U z7gSOdZaICZvnkJopo1F$N`q~AK7=dAtVrt8-1%7YdvZ4<8i2U z&Sv4$YGh}Wc@y8q&tY8(UUe6X1dX(f_VWm6wYbVqPd z^E#XQT*%8f_{^*>8(@##uSn1&fDIPeDfl8JLbw}D=aPTwi)*Z|(=x+lL=qL73qCNz z(&yC-rOdsHNYAO6`f`Cj9a-VW=r;JrIm$UV_LdoLMKYnvyQ&#~V$mYKbz+-|^hWM) z=xh-tS6Ejq-~y*bV~j0U^`&{Rx$Uv*TLhc;P?&*c>@NQwaPZoUS5Sb9e+h*d{~o^q Y*70zd%cTx^MgRZ+07*qoM6N<$f>^Z(RsaA1 diff --git a/resources/g2/track/intamin/large_half_loop_right_4_3.png b/resources/g2/track/intamin/large_half_loop_right_4_3.png index ade5e6ede86c074f4d874a9a02b98236bc42f4d5..69b42cac5be630d6a1cfb56913788cac73f09916 100644 GIT binary patch delta 600 zcmV-e0;m0o3yBM`Jp+F?Nklm7}GD*L5Iu zEbqM@x*i>*V^VTgg;lap9ruxhSx3cYoST&)Bw@k*tPGJ63(k;COQF7~Z|@^r5y(dK z<%yxDfUJ+d=iGld!|4zo@??E1N+-HCsESN{gQPR$o}$V~E3#u^$gE3t8Dc1YeJ~ze z_Oau$%lPY-1#rP-nZ*(**Rw1yAeY!FvCEK-#tP|`>rnbQ+`}_sy-D$ zGU=mb(WeoFw4$ThtPyH2R&<<8mIpvuDUB%);g0pyQ6_&1YJ&FiBR9e26=a{Y49H_8 z@lZ&b_0nJ?5qq~k9q@9#_9CcExiJVYOs2i2uOPMeKk zAmrz(v!2UbBvrXUG~G)h^v zN;sFD$g!d!2RY{6cLEG{y?M&8OpesnpHm+{j@4f8{*@QL5IKKf)Y`G3NoGBsJ9O91 zL%$F?#zBKuLZu{f5;R3PJotG4h9|hQpLx_=q(cN5#qc`L5K?q( zew`E?P4x^W$6|lb{Q&BPl(AJ{SGOJN;)!k&O4J5r3gS;08}AU}sK+{3!X=LP;LK9? zj-!kwZMwwKE1^V!P`Zndq~Ezy;DZQW89rG}r3+c-dpt$Cs4lwjI0PX4mR?d}8=mZtSt~{`*on4#soXSDa)<{W%L$;CG2Xw_J^qlJOS#*%#~l-RrYaBUj3m0bu8 zPdtfKY^@YxM&>?V8YLzl-GCYjA^B2_j&b4ws zH0;puC_LuuIyM&<;*!}|+Gj|VL3MBuReMaESmepCce#wVw}fne(KfB$VhwrcQ_5&sLi)~Q$fqIgu{UVFd9F`2EkPMGVs1^L_6F4kEjt9$ zS{5jsM9WrwXwD_Z?X_K^C)%mmxKgLU;R%pds8+v{zT4bw3 z;k%BGPj^~Ky=b*r_@tH-T0HwZm(vhIH8dGR!4j)639ZQ$i#(e~v50AiXX~M`EhyZF zw47T~g<+rcOs7t-I(Bg0LUSL7j=fv&GUPhhmck_sb)bK4uZ+|l@A7h&mKr_9gk2Hz zP#Bwd-H$O}x-dGvczL?@uot#C3n|XJj9FFTe4}t*#zg9COARr@^%&E1EoOc?HgXeP z+=7>wPe`9O?5PVD^^z&ICD)!B=DN5tLQl>tGR6B5Q>P}ZQ<7yVm96TDNLVBEjf+Wo zP7pJ85ff==aZkORnI?|$@7aq^Efx@CvOKHQ%bC2Mn@UYM0-p#hoKEfBCjuvvlGfT^ z5?o+|!>xWMfop3HKe09Pl{t>62$FI;Ve6tQtN#ox?kfiLzkh!KlQYy^hAhxO00000 LNkvXXu0mjfEzv7s delta 611 zcmV-p0-XJ#3zQ46Jp+G2NklG#WtP_WwD;P^9I~N-lA>0NrzZ`OD5WOOF%L^AQqo?zwC|L2 z9U)jsItZ82$IH?{Atui6Hr&e$96|-n?>ahuSXw}fgVZ@6P3eD(ft@JaP@iGK(YsVw zX-4u4Z5k|N&Th5Lbfg9(ZZ}dvt3w#~(vS10Z6V&z>S)iAJPT;k+csbEp>?4Wog&T2 z?4Ar|?C{7e9bVck0jK1$%%)ABhAw}5XMxj(R&83Qdza#ETM<-7b2ZmyDFr$^yzFz1 z?MUf_m!t6?)0TfP1r(8WYL{&*e!N7u_H8XFGi)fWXUIEpX`7Df7DKvoi?nH1Aa&L) z^o3_7x2Y4@7Z-JlHPTpd^VFU(BmBNx!28$5$bp%@p|8$mGvaX z^A3&7XeQ=LKeSJ8CI&rDS<>CaH5^y10;$7v=0u>aBddSY_|r`=)oM3J)nHzxG+vCe zf?)EC48_Oga=N5-673c-@vKdQS&h{&B%OT)6Em68I4{>7OzzLhy5mo)GATX88lPLj zYNqY_R;=vpQoR&BRx(ZL7*YB*b5pvm+zzELI}>ty@sesXts&Uck|KT2(mt$YDw>^b z=}fR|eKA`xfhmn6aoxehE=_5~`lA@#mL~d9wCRIca;12!;35X$`Ty2ytWU-#^{?Ap xny!oUeOAq-hFth6?wC?G7XI$~D+B%Y>mNQ}*+yPdVDtb0002ovPDHLkV1gC?GAIB5 diff --git a/resources/g2/track/intamin/large_half_loop_right_4_5.png b/resources/g2/track/intamin/large_half_loop_right_4_5.png index 5596e8037c5c30a5e3dc1549cce3ba70c3b38bd6..5ab153f20b573380b85644265a1067ef93026d68 100644 GIT binary patch delta 684 zcmV;d0#p6p3)~B^Jp+G=Nkl;ZRQSO+F*T}n7uB|H^q38CU~RTR0q>l4uK*l zuc9`m*LKO{$v9Q!G``BqQjAkwIvd?GTj3}lz2M;Ok{N=FLNt%rP0z2sr$jBYgOxXLk=&X9K#xRH*nu$ZXXYCm&< z^~Ac`Px4hflImiXrXm)26_1;x?h7)4In>mQ8J=G4tf+!>Kex;yD&R82ciQh`DP%0h z@{!uX&IFHP<0gM`ShSn;&fe~JunQ=sah~w`J~qYz=d&=z%I)v~FQ2jK=A)mBtCuZv z9>G<-JY2w3(T=!^K6orL+O$(_?l(v1joM*0-^ez#8DX^@3oE$EZrXAOzayShj}Rg6 zfgj_tqrPJ(jQdqzI(#lQbBZ=&Tz&GoIK&mZbKI$`pv`{>{T!L|hx-^^TH;lLqfG>9 znKup_!iBnB$D##n{(is(9;!EwXlchi&J#z z^32c0!{~pMI4>P@`0=P`EdQY{BfdT9T#-sh-RIjS*NcHWTtJZflea^qM7~)kzFS9h z6NBx^PlbPuh!vfbIjuBKR`=}>C)^E4WnODrTqomg-Cs8+=o~t&^pQEr=)juuVDz8r zL;r9Qf4?8OGx!U+yK;T(19XnCVc@mCbP7d3Q8tFn2j3ST9RvTV$2i=1`bIaeO=y3O zv)e406Akba1LM7>Bk>N7eehVya_itTfa9R@yecIACA63R#mk`7-pz@>Vfh8axw#AE S*iOIz0000`KoYl-~rBg;-y)!klp?sEeO%54T zi#@1aJc_2wzPp^|g{lP3rXE(*_>>_^j`C8_PrYPFlegiCFL{48^+w!^059_2ZrFg8 zE*bP^=%$JL97GFOYiY{o)VlJcd9xDxZl`=s@!(14SzZV{yNr+_w#pF9a+~9gh8A8A znfW!l$g51wGAyCiOMZ?q4vy7a-RBg>guEG6S(kRIVYJNVVnWoU&=}N#nM;?H}xRZ3nJeM__d}dUCfSL*rTBi_Evi zZyoF$>#8d!OtZhS#hYEmdQ%5>%WVvE{3O@FcBx%lP~U&LIXa?+vmoN&F{c>(o%O8A zA?~oY@O&gNhGPns-F$}7#kL>owTrVv1J9or^}^YZrDjKJ7ahcB10N2*v~t!Xdjo#! ztsZOXDQ>ZH%1q%lV(5+Mqx((6xN$jB5;Bozznx3GxyR=ddh4fAjsYQ`(pTP@H^UUB zgg<$~-Y0*I^>dzxB=ixIAKUrC+ot13_e}r7C+g*h!;|NhY%e#CJb-Ud$(#PVIAXOS z=AvqS;iQeXE%0Lge3rd4W6s;lF$M%^;ew}e+c1XQ!Nv2n0e<}Sy}d53$+H_6Ub!f8 zg6ZoXl^4#*v3K9gFOJ)ER(X4J9Xw3j{c5s0O|MgOl4=09{v VuL(IIpE?BC>86P?zCNFsbE_pTQptA6#a z>zrcDX$f+la z(s;=sW_sSy>IcbLj$hX4I%siycas3=oK-U=S&JE8Sef5QvhoNI#^LV)|C3bJ-g{h< zUl|q&za&)=VdKJT#+1}-5mFLNFT$H+N_$R8eyAqT9-vSJ35q0lH{fe zZ-VWEBm+ERI<;>6C`Zeebqx~x*~*a@9`g&5lFC*hZTgiW-m)PEnoG{(RIWX?LA@cb dKjg9G`2{?dRNJV{@v;B_002ovPDHLkV1nAN?p^=@ delta 482 zcmV<80UiFC3X}@4Jp+HjNkl-V5c zP;4+z2r6m<(z}1e?hH1aai2Q8)v)iKwNFJK2`H`ccG!x*pCIQ({=VHe9(PGUQbBTho2H$IWF*Hnz4h}b z$*8=bT2~YImP*Pz*w{ClIvh2ZjP?L}^Cn?=aFPmWrKEBQ%O&SCCHX?IzW=7kRLm=q Yf4;?0Jp+G>Nkl5Jl(ySHoM%QLtxoBk{*cX(<$mQPnuk zf3p)k+qPZq_T%eMHLQKJxcP%!>RM|lC7*_4sr6ug0k_aYoN|JRv*J=&)Jj@(eddAy zAa80m)QM~oJE;sn-sMV^N7gz3hpDKSmuLO5BIM_kuns8F- zHVwpJgKt)$Zm#Y|2pyjtq&hs}I?yQd#*pt_RjKyW+#`jk2$i^0gbOz!y<&i(wycBrgYDn4@mmiNkSCxr~ky;%nMHG!| z-q6tLn$2sMK8TOZf;+}C>Uxau delta 426 zcmV;b0agCp3ET;=Jp+G=Nkl3VLNe~bUU;9 zffd3BPe3Wp=X!lV&&$8B(LBqylb&DLEnGxut@Cksts*=719;8&EqJ<^n!_6CHq0_j zNy{^rM5ez0HcD|dAbQ6r{Akc)Q@wM4c4o;E)8$eMMvLLrEj)h^O~XfNyjpKeGtD)n z%1+HnMZp?aONVQ-tU=Q-($J&u;mzJD^zG2cG};XVx0J%M{Q9F(ExzMidEJvMn{tYl3QAMzo9xN2)1vG{7Nr|a#+5KMxb zo4S8sRN*6I2{L~S^%*hO7|oY!A7?S+v-kkls+Fpc(%3^M5>UzCSVK5#KH@>KvlPLx zM!t}r&2EhI%Kj3{LC+k;ataiR1CE8;*H9K9C2x(4zs#N4Re3bGdoQE#B(`i%UDK8m$ zzKCU6wN@65`uhuH^bbbIzF#x6bj+QO=M}V+=0052)_X?!*r%+eD$H-76htf@r;RFY zGzOZHH`XJLb5;z6Ao0~0iqN<)1EWDu6IV0wPJ7`ik%b^YjYWUdXQ3#Vn7(PKhW6qj zFf{hDzMu!~h3c;1kh!&-zt2K7ZQ)R7bJugSqS+WJx^Y5V*$fcwS8Hg7t@YBzbP*%z z!t60YAt;#qFSGLUQc&L0&jT}i(F{xsc09AN{5k(N>nj*HMbbRbs+q^|B8Lic_HnPK zKYL-P=I6N-l=pu`gc7RO0cK`8;G-N@Oe`KgsvXtJsOK`ybg-}&VWh6NF=C+^p?0rC zcZ|FtJ?1Awg^PWN;0Fe+gs95dZM%!b>+yt21{$Cif+V3b9$y8@(9p}g{=iI@ml66! s!Jz7qz0_8|=$CqY=klU%+dJkHv@*tnc^ft000000Nks-uM6N<$f=!3S#Q*>R delta 402 zcmV;D0d4-k3B(DoJp+GoNkl+0rWNQ7QEfRsR!qkRzkzL?000UA07*qoM6N<$f^-4Dr~m)} diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_2.png index 0d1b8c4d93a785f5b615af5b0f6239d4418e2115..fb5a407ec347e86d1e8393ca3dccd902a76766f1 100644 GIT binary patch delta 415 zcmV;Q0bu^p3DF6#Jp+G#NklbaKTA z0D&+8J|78q(X|0gMC*Nr0FML0E%2f}V(e{z_&C_OZS<`O2>V_H?mu`yjFSye-`^GB z`*2q{Mh<}232_vGLIis=#eSKEi^Nl;Q8zWp7Zx{55f@S@WB-34&{5t5G1PogOvHS{OPk{0&*f0|4xyo+oEt4zW;s|pIT-yCxRRT z^+-s0P9!o4fLDJ-L1^is1+aghAaC^3GfT+8ONy9br0Ig5oTx`obDBg2YpS4n}ZS<8i&6q&`;fZ3aR`AxvpL^CY^ zwA%Xo-_4rU8rz-1eCuXoyvKNts=xo8Y}Pofl=I%odleVI{Q_lK(+i+qADI9E002ov JPDHLkV1npW#Nq$| delta 416 zcmV;R0bl;n3DOC$Jp+G$NklL6-Nq#(`6k6zy%?yOO}B7WvvD{~ zWF`+}fX}toavwJhz$()3I|z<(+u`uS+3z|Gjy~@ifW6(D0O^AX2-&>}oPQo-06fKj z<0;1DtiLdUM-zB7fx-j_D&v?+EX+Q)4(!83`}G5zjJpYT6T*M-?kmf86GRuWkWkC2 zOk9=Qcwe9AYZNBR#C=Xy&2NPSGD)TY@|rky!nEmAK2dnk>>|#oerOBajWVi3cqE z^xP9g?1PoPlK5Y76+|RA{}@-yNP!d#rzA;z|j>>l4LIc0000< KMNUMnLSTZ*?!v_Y diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png index 6030d032de86fe5b3b0a376ca92ad6ca383a5cdb..59a042b1718d005e0056f43f6f8f4b93f576ab35 100644 GIT binary patch delta 167 zcmV;Y09gOp2ipg*Jp+GIlE9S-Z#sBl_aB+qZ9h44)U%LHdP+t=vA-WO$zncNX1irAl3yra Vr0yz_r;z{v002ovPDHLkV1i)9O>O`H delta 166 zcmV;X09pUr2iga)Jp+G;Nklx^035@vaS0DXF> UU-_-+?EnA(07*qoM6N<$g2WR}H2?qr diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png index 52875eff50f4a21a942c37060b90475c23d81ed2..f1e1b5503b878b0ec91285152304a8436f9e4af3 100644 GIT binary patch delta 359 zcmV-t0hs=q37QG8Jp+G8NklXA-I5V7HyIFgKelz%tt9@;)GM&N zk(Az!r0*I@2%hd2Q!35$l<8lf)`8m;a!UL=eiTo;b_bVF!P4w?zKX^ zHrjy(GldR*PV@$p;JSE?F1u3aTOgzY?m(Bt%%fUYCG>Lgna5GO#brG3ux@zfa^~)q z=5|ET8L`(Cu-;$B*)Wh2I{4~i=}=7T@`^Znm(i>?x-pcCj&-XRaGA6{sq6`xd*&Da z+;z=}NE)^ShP)?O-+8b_HpbT7Y*jL2mV|EW_XE2K_6yU7#V^pG7;OLm002ovPDHLk FV1oHXv$+5O delta 360 zcmV-u0hj)o37ZM9Jp+G9Nklt} zmQ(t3Bz>POUo@P)V5t6w;aZ)F#4qO7@By@q$h4ks7S?q&GgY13xb(3G07P-}EF}Q>h7{)BChWXnxN9?#;xT^~>~L?Vd;37vHr=6F zeaPzmz>_|WRQrOGtNC>AUj3@hBn0;~o2!Q0Q%XABrHs+XhDdWZFM+cl+{0|fVLx57hDAn1kUMg+$a;nGa8TK88kTcRu;XtMw{*pr>i^^f@>NC&d ziF}OZc2Y4li-8<^J}q0j{=)gv1Iswl%3)c{Mqe!D;ZYC)LyTE%1D=ycB7uqFX*-3^ z6eOq9h21Eej#+0Z5<$ekMxkIoB@GU7H`9%pDj)Xn*0x7iGmp%wcdKwXo+1W0vfKtm9QjcrFbqYNA)X@` zjn6X!L1VaquL?W{>xvN)Vzvfv!g^e;Bix3u|7z bbNlXpwc93(5Y&fe00000NkvXXu0mjf>U?e; diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png index c15008653d6811f7a4132f58379a5dfba3e942cb..737b4144d38f4e788dad8ddd2287992ccc4644c3 100644 GIT binary patch delta 372 zcmV-)0gL{x38x9LJp+GLNklC{=BNLa?m>WOu#D2apH9eJ3Vu~}zvNQm@P5?4@jf-t`X%IM|_@v(M*Ig5CJ zhK4{IsqcvpTGflpnFeQ@5TDVHok{TqDUdcQ!efZACFjTJbm=y1eXD>5 zi1V4GRHgJ%{d;=>dQ-Lb614BN{KcG5$@wp))?6z6f6QITERh}__8ocXh$%}5NSGqg zA6WZfmQL;+^EMcSHAXYW<$kJ^TnvmzsSnPSIDlS?2g$f|QmKDgK7$DNh;G%VE`wXn zoKC~ZS#bDtnA}7TyY<3Z3J`TuNKbxR_u)sn8PN@MhXi}sFt;py1z;R2NJ?Sd4|M`t zJ=7u+EYLSdN4@hnBaSg{Jk$(~+e(f_%IyFg%TwNZ#-7K(%o$LusYJjTKt3P9$`spN2?p?PI{}y3QnYMsr15gOnw?w=e%fGTk=kR5Hy~Q9@nl>nBt0 zt0P33lG0GuRC$@Lt+=3bII(;b2(7g*UaIeVHB)Pk$d}h|`}|4Vt)A|DeGpI9{i+{X ap42v92)hWdJp+H~NklgceNlMuqfL&kS))tBZ8BryTR%p%acs$%6d4FW$0t0H1*N@;&Cp-+SjD7APPe9=g< zwv}9vHQREVtmCI*v1xOeEWk2xw^(crfD5E?JxfDuhn*AW>$aG&F#Exo_GnhGE1aCo zJ0Y#K>tOrE<}5?_nXlJv&kJsT)IX^C^%vgG>tgT06Wk)ye{ky&QonAGF^;o4EZhJ9 N002ovPDHLkV1l;=e>(sG delta 262 zcmV+h0r~#B2)YQcJp+H}NklD8wWpPoJrvI!lgDk3_ak2Cx%^d`G1JLrB4m}~I%tgS{!88#M} z`3nKC9iBys&1KXb5A_fSTHYn5m}_S+S}7HqR~CxdkXK zyd3Mk-^&%e@~OP44NKf*eOoaTH%cO$kjxHTYcBF2A0eVQ!e-uxt*Tgw<5 z45H#{H=*qJ)Ed`PU}*@$t(0Jq;3njyOj`50Y1qyRkSfijh~g8mXKxWCCj|Z(L~QnV zcxp+khPd?F3@j;hO-Eh5d5DFKjlr|K8gPzB;Rx}?MTU3_@eE!mue~|_enhN^juP;LhSYabm-GvroxP;_>koD(UAvspE9#L`zJ?x8{|1bp Tqm*Wf00000NkvXXu0mjf>N=nu delta 333 zcmV-T0kZz|2!IK&Jp+F(Nkl`u3hA2OLp z`ur1-+j>0i)ki5eYAGe}+r1h;>aOOzrx>4#_ZDY#snTl$_D|pxyQ%eB73sIf72RSC zBAC5BYl4RH7Im=DXQOK95IcUODRm5Kwe5VzY$gEakW-AQi<*Cq*=tHM1f6ihm?9^* zDTLf^(?Z}7Vq*YCU1D;uFSKEXuH#r^VHz9QvNByeQVN(*5aJg0Sb#$7-r5rgfnN?a z>AD;QSmyk+rpN{=I*bV4TO9(;Ydh&9GYjuUvw2r(82Q>gO28pXfQ@r@K6B2m{~>D} zF06~~vtQBeQdvcvXr9E`1q@#&|5F&?fIMmWq{{ROR?@-mDvKwz3!MImUi;VR%dn!~ fR2KjAcail2m7AIK4P2c?00000NkvXXu0mjfwQ`)f diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_1.png index 9968bd3bfaac39b75edcdf5a7299010adfe9095b..2abb250ce0b53ecc679bc93c41c838178b8fa559 100644 GIT binary patch delta 187 zcmV;s07U=w2k!^4Jp+H8NklW6;HxsT96p3BsCo<6#L+4{MKxWWJc002ovPDHLkV1j&5SE~R3 delta 193 zcmV;y06zck2lWTAJp+HENkluHwVE|&a2JU&pQs~TY9Q${g2=@MGIQY~5$6YW6f!wCpoxzFMGv&Gh+EEC vY(|qvfQa2f5`GYwfE@_*bv?a#CbNJ00000NkvXXu0mjftL9Rv diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_2.png index d79657080793c8a77cb2c69ef4e7f8a30a4575bc..82edef20eedb76710e7eea15d8448c92af78c3fd 100644 GIT binary patch delta 191 zcmV;w06_ox2l@xFL<4_ikZleEF$hGt|Jm#Z>s5rdFq;U*Xmwwc{lN>%WQaEI8<+X< zg7XEN$tiR1y)n1i7^M`veW=b{t9!pqV99_%Wqp3_#o)4lslGt!ZV<)y_JAYRoKV<= zn2YV zv%h{M;!osCW>ZQjStO+_j7#LfofMIrU}aI#YNxS<@m-B*L>-PA2S){rq4T`m2~1?l zPVKDrQoEX?LFqp*i?M>&ao2$P1}A-9=-|)z^uTd&Ft`KWcwjeeq&jD4^@&{#P;EqW tjz3&xbbGMdAM8OL;hxdnlygq57~h0r)ys}lm7D+o002ovPDHLkV1ft$T%!O0 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_3.png index 35cc0ce434231254a8a70886d6fc54876754f6fb..d48f37bb7d379e3e0492364407c4b83882e69dfa 100644 GIT binary patch delta 133 zcmV;00DAws2f7EaJp+AcNkl3jFCqwBUm#)Dkd^A{~JaAG}NM=!J?u;rvb n^~20cGI!t1{A%3q?2Y6L)c1utw^C_XrZCNc(Q?m{3jI&vG-*59B)iu5(q`QE6Ov+v+s$u!?Ux0_=D%)R>A o^{IbmR*vS&Q|3?Bzq54bA737Crq$}!j{pDw07*qoM6N<$f;TZhLjV8( diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png index 58ed5d89ff7414cff530b718cc8e11a27128039c..3300e63ca83d143431df9b68ffb25ec550d1d306 100644 GIT binary patch delta 179 zcmV;k08Ibp2j>T{Jp+H0NklCyy12ujjZP8w{<{oGEJ{07jW&P>#{-I8h4nY zopa8@bugegPZ85jv5WLNl`2M9<{9 diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png index f1de89dc694a588d766488b89489b1e3ecbf7171..dd7de4b56cead2e5f744bb7663c08bfaf0fe9ab6 100644 GIT binary patch delta 480 zcmV<60U!Q}3X%%2Jp+HhNklY&_rR+kLA_sC*3rKM>T39 zA*oy<%$s|&fV+vdtrfXyDW&St%A8GzHW9tDU!)b{XE-XIe&m02%79yyWA3~U1vrD= zlNlG%zRi0Do`Hi73g0W}66U@7(V0P$Ni6KN&|*;WNN3h=3fV`-XI1Y(&2Xs6fQ6yU z{t$|bjD}`vvNCpCw69zmRINgJi@!g#o>EgOtcw@~7vDREt9!zb3ilX~d3D_E;=4tM ztMu`rX4Sn{;md#9t)Ffw-A>MM7q8vD(Rz$fF7UfoQ&B-G^{QA6!if;XofZJ zBnOcOx+w6R7C6Q#=GC<}GkD;N!qDZ}B^nt$dRORa3_N_e?AJq{q45|yq7kD<0d2R9t4}3WD0`|}>eg1|2*#89* WEI~&D5GL3F00009w5QMq^)iR*qcas78k435>nPdYa8-4V( zsje;z;j^xv@O-7S{9I3Az2lLemRD+|=^?IC1NC3=ks6iO0{6=CC|}Eqwi=wK5WlJs zWr?|P4^_e|<+8&KFu@R~8Q*TLEJY}US4`4NZ9$|#{0c{>(#f)bw+|{_1fk=D7Re00uu(C|ratX?fWP`_Z>`ZJ5E2UMow8N)Rwlj(3+Su-U z?c{L2fX4VKzFB{IXtKjcuN|<+ea=wEH9mTUlfs0US*W*$bmV0weNdThPbFf8;v&2A zmp(%gJBv$dX+2iQp{C=sS~{Q#YL0c{r!|UH8k|HZ$-*Wyew53_WcWhj`wegY&SKST zxq_iG;Vi-TxnbVmo=I^lr4!xw@x>K9any#DBuH>;Z39owkd3X8$)oJZKh^V$uo*V` zjvoVe16|iMd>A-P`i>X>KMp*nC%A_Ic-(sO51&JM0Q(FdVITaz```FZHlZW?%pm{( N002ovPDHLkV1h7A?IHjG diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png index 96d45f219855d42a87048981882999cc70ebf20b..65df1189b426ba4f6835702817f7b7a384adeb87 100644 GIT binary patch delta 440 zcmV;p0Z0Du3F-;3Jp+H3NklbWwkq zmnXO>CBt^YK=Dz$5{1NOntRjd^*CrF3^cNGWTQ44bVV0H_Bel15~&K0YAMEh@l;Ae z#u3bfCEjSJcsrZid_$l5Lb~@@|MLg&VaV4G!2Z^4K*2T^gwB|SL*EyfU)I!QM;9$+= zp8be-LDae=gK5ov#plN9Eu#9wex2*)g&GS!vhazei|{b;;Xn3cg_=(KKl`;Z&wUG5 i@w~}SdYe`H&;A#b!T>q_H|pmA0000?3)~W_JgTANanQq9#|;x#>Z6W9S9E_6a*i%rMACrApmXsv z#=y)M^O%t?BEn-asPQ32#>SPc$AXP=N{QI`SzU~V8$%T-2c|-`-;ofwg}7cvP2xbb zu3ma0l0m$kiw`dVh0w?qbUC^22^X>S7AcNwq@66Jx%7co zoT=rMQ{g%L5$_ou1Kr;CS8cD#yhR_TA=KgJLI$9WWlV*mgE07*qoM6N<$f;Vg2hX4Qo diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_3.png index b88c294759ad8940e8706a0bfab4ab9daeb198ee..afeadd2c6c164d412da97a48497e2060dfa145d1 100644 GIT binary patch delta 176 zcmV;h08jtp2jmB^Jp+G|Nkl2YRN)w>f6h1(HCJqEA zww2Efgku9W#xG!T6XYco=;9+iK!B#j`9yC;)e5-qf~I{O158`Q>=6Nw5!Nz#ux;re z>UuRZ$3-8~(eA52cosSz+8wTCf|$7}SLy3VnR;PmNmJT;4X7wIk0*+9escccGXevf ehL8KmRuFy^YlpWGQuEIM0000dA+QU>6=ku1zCXeyfC7n$gaFwrO5ZE{|HKH~EQCN?G? d_b>Bnc>squj4j`vQ@{WK002ovPDHLkV1nJ=OHBX( diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png index 39c696b568ade74115f0f46004ec8cd77664e83d..77bfd24e43ebe40f5e91d42dee8f6625f22c7875 100644 GIT binary patch delta 362 zcmV-w0hRui37rYBJp+GBNklgd1MV)B)5V%GfKb4v-qZmAXL{P`2oB z4%-eHNoAi1mRvTZ5!Y58Bx?ta2jab}*-)>wI}w}!yHT^#2qcilt@MuQob1s`!sSSL zpqXRFjjj!UxiZoUG8e7qVh$NjZ)v1BN8$E}D_En5jF&W}uslbEOdKnO@a*f5aXeG6 zjbi+X^;e8uN@rq(Q~NslMu`iTBZT^PaLZ|LDrK%u>OFdUM;wPqluhp3aQnC)S}uBTn2AW-ufP-GxaK=>A`R3Pa3a_HCvs2l(6@jff4mWoL&u0yivR!s07*qo IM6N<$g4zzL`Tzg` delta 355 zcmV-p0i6Dw36=@4Jp+G4Nkl4*IvOhos8Ga8%#^c}y`Oz@G8}aQ zqe5{FLoBKffyO>K;-b3pW{llqYIVL2%o+e?l)qtYF){|Pve(Ov!w97uW4zt^R}f}=Q|j7KAepu4jP&(p0#VKs1GN&7lItptV;Xa>NZxEGSSy7QM8&vF zlV-r6ekp#sK0+_x|GfP)fnuM{iK3`i5@?U^n{^Z9vG%BOgA0Mq*2^Rr-tqemy_}DY zXwS$`@8@{N(uzfmV*b{D-VlbdlrQ}vp7-JhXl?ah?Bh!bhW1SCqeqrJX*j_|+X_CX fquCYpxu!&4kQ0qgG32=?00000NkvXXu0mjffFh;F delta 326 zcmV-M0lEHw3Hb=HJp+FyNkl-qeGpXC;plD987);pXs*7Pab)hMbL5sOCJP#fu|=th*gNNZ=BQ|h%P+7wWs z{-skKgldhQNuZ1VvreIxOj<)g76G?-7uRl0UC9tTYi_Y>}m2+(Sxlu)VBzE5Ku3B?Lb_^QZ(g%s;F=|VK9 zEycR~E7$-sqG6hlQl66oM3dUg>}zq`<|Y%zF~-BXfyPnRWfHr2ipLJknRu}78Mz$Z zzhxOq%j(vC>$g4|($SFfNj&$WbXcFnR`yd&+oWf)mF$J{q~QVsY%BPhj>+z*)jb9H Y0gBg+OCS9*H~;_u07*qoM6N<$f)8_^?*IS* diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png index 44fb3650f03499064a59d25f4c0e62ab62cfdb50..11cfa92a3d9eb1a317353d8693e2b55d9ef2dc0f 100644 GIT binary patch delta 414 zcmV;P0b%~m3D60!Jp+G!NklQ9jTFu z9`^W?7;~v`jr=Lb_zfGqyT=A$1JJtOgoC%tg|G1$IAJ41yu&)8jMTE|436Cd6lRmL zod+JBNX{b5KP+dqV>hv6YfY(ofW1n8IHqBOtH6`)UP6d_yt97*(=2g6%%ypO;fQq( z+>(2Cs^c8Io*%_s0Gu7!3wPQF5$xFj_Qwg^v#&xw;Z5Md>P|ds$#vBRYFrNotV3*> z+WHuWxE6-JiRq!R%e7*b_CEB2T;!dJ$tEDF30sk!kkwEgd26Dx-lpsv)n-QHa!!(< zsfkT>S{tWiWhZ}hAg>jIeJ7-3upsH}BJFD3?E0Z=DvKU0DK}`7+hn(MRu!4t($mwR zjqb$G@RSn|LbmbyXn1PrPYq75o%sAom~$(wFddHhO*H0=Ro=kCo_%X%Zk;ccFIiE_ zGCx_)s;oU{=LL>8;!gQH9{#~z_u-wsSKIXA?z6IkU$7SD7s3zMUVEJ~!T*`x)ovKA;f$+ncqCZns&`!N~G zXMOFfI`^pfjQlC3w9H0<1FW+V>v1f?F?i<8&v>%Jd+sIYyuw0d%C+xAw|E*RurRxv z`*Yy{JNV3UMdi-6nb-)tD@_lGwR*UW$xLwbn|sshCB$^b2aA75X14M;q|&3nc*Oz+ z@Kn`oZFY_^#?MHt?uIBPMsXd`)?SJe!yv3Iny4NtWoPH&E?-GBMd5tHyj3B3%vTbNe(g*x-o(YU>i44o+|2 zqpOLJ?zA`F$;*FEv|-l$KVl~yP}DcxoHJTHH41AH!4gwJ4HXy)ishE$7@CPxkIxBe@N}G=5~=$c^P= zR7cAGo*mkW(?Z>;5WZkn{7%I$Sf$r`n?7Kjl^y(ob-xs{W7k@1%4|Xa0000yGOn41{_AcT2dWj}jXjva20K+Lexu3iQV! zRc)$#o$=UCom)ETSiAp)J>ohQKgAwL_ze47wGS{P@&Oj(@ksHyt}nb6FsP*`qiniJ0pY)=I;>=p6}5nwac{8IX&<^oLmY*fJEvf)mi~ zDJ-x!2ACUX*l@DVqu+>yQ5qW;?qWw+^qaFJ;FQsZ87$g8d;iQiS8y}4)jdA1h_q-K z2N_dJG1!*9z^Z>^tTjy))~fC2H@16+$x&&2`l;HAX27Nk2Lr5m+>2##Qr}XNI1CaL z#B#ypm*>;RM(cf$P0Vi@%_8A@NAcw#ktUWm48OBolk3Lbd+e3%yA8ixGr_5ez4zF} zG+47chb6_1;-|)9)N10JbNkR^6Z1RU;{%a&Zd_W6(eG><(yy+~{+;7nk7mHi9@i2VRLzeJMsTVXx`00009DL delta 490 zcmVu$p!4260BcMBJ%k5X(5=``DavZPMaU2U6>^tPfeGEZ$J#J&z zxnV^@SyXnohZTC#sP!qY5RzcY#Xzvk94eokWw?n!#!iiKT$q0^Qd>)%dcekXtYBqp zqxBHPl0NQX=12^Un@X&R;}&ME$!F_4TSJ1~pCiMDas8_AVpC%^4vmvz^D#R$Y=HzM zQZ5VTCR;V8tztuI&A1Hruo5@9z$Qwo978@ma$18N=QR=yZ2eBQrpEVOtvtBGh>WyyOhu8~4PLh9mS zAJmNsfSYwsDAFC9m;Sf&_=<))I&XmMMcooPfYi)#L%8F4gPF}A~=oDAtu zjnOYwHTsgPbJn7((Tb%FQ6F@g;rCuHR&t74B{dP-oHb%kqi&sIiq?{tXk7LqVy(oP zel-!07*qoM6N<$f(udWwEzGB diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png index 2f7ba6d373ffcf233b8d5c9336d2b40ae0a7a19d..b89328f7af996936d5c3ca22f96309f049d4f209 100644 GIT binary patch delta 125 zcmeBS?`K!+4DfU3<&xrJU|`_&^l%9R(i}j{#lZ|D_es9rv{6xpImp)2#W93qrs-*K zJ_bV$rhs?#=Ewct2btXU*`m2xoQc6kOzqnOIq@X9gTe~DWM4f1*a$& diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png index c679ff724ba115f83ddeb12474a0bce83d7ee88f..6eb7caf56f91e7e4a87afe429570d993be2bb385 100644 GIT binary patch delta 248 zcmVN%aeRl^WFJZYV+)6h$X@s@4n??|K{k<|IC&;u6L+|pyH-|u=LbXzQzFbn zZmNchFi$aqCSueBK1srE=GOM%HVw4kBP9m>NW#K19lXB|}@> zH;vvFt5A5#fc>~-A#RdQS4t<}8hx^1LGCz!+Awk=eHLm`NzSAZMROeVyw!Q2v4e;W yZT?+YiWWYorEh3a=_el_|Lu9*b>1(PygdNb{6!xYI$fmz0000IUXu&QmPq-IQ$z9TuIw0uzG zyjd~Lo@ywBCBx-JOhO2{I?ZseWK-DN?8K+jrPWC9caB%&vOR*6qHM}6n@Z%Sd8Q_7Rs#==yS+& z9TRj0O)Zg&$xccntZGL}`##VJZU#mr@vezax(WLs8{agh&c=VHxrlEh#Jf1DLnWL1 zb%~6`%AVEc47Z69jeTOZoVRU1OP$w5iUV+ria1J8(B~OzM(Ak<>Ixdn#1(RhM3j=5 zC$w1f!*C1fH=100000 LNkvXXu0mjff?bec delta 323 zcmV-J0lfa~2=)lDJp+FvNklb49oxj+5s)S`;$SOgg(r4>s?Qqrdd_h zf=yxvky@+#1M5Vc*ywT{q1sk$nitDO$?5UudR4baiyVa;+(q zl%_22*AAi^MuVuCxnt~NAw70M_bW|1MsHA%71DgSA<_`4AGm+eyd!c~EfyNSF5QOF z2jI;PE9esM4Cm(1>?q-=GNMDwQTnXErjt=y(Jr=?gpw7RI~fEVzxdGT3EQM z7>iNi5yJ#3u^V?O)7hJ{s`JwaY2aVb0#h2}AnDTro9jol(Zvxn5a^gk+so>@@T{h6 z21B^%0WO4-q?bF~UZZ3Tb*W5`h5+;*lRszwl6>ERcjk%m#4-E(^@_;v5@K7=!9L425<7tHma4J&8eVQl=8PowP~JjQ_yr z_nsDr5w1^+UonOYz*!ffo=*VZw%u6&85#hXx909{K`%gM%m)%6ZART*5+OCn$dE-! z+(bxqo|x1aQ(;Jz74O4X`_~M)2&7W-O|RQB`_++G1yX-ZFX(@Aw{6xeGjMv@6)57R zK9vh5BvWQ(;3{?+4*~KR)2mWBlq^F-gKq_yymvEZr;6&88qH8}lUYPR9@aT`WC9U6 zpm0w843lBi6kMwn8*!VhsYvpB(b_;JvAP_5LuQfkuF-1B1ZGY9{S>0s1VNsFc;x!i zE*+^m%?yqqv9(N|)SjlY%}IpGFllV$)c?(PKh1)_@79*l>2*PV_D4dOLi}!rR%O$R m-Y7hW4wvh^m@fVAbSptr;tEovkTIG{VRoWD=`6-qlQOtk5dWrp&@&*0kLZBdSGc zxCFvT<=L(=QhQOrH1;mBg+Z~tO+`H?AsQwzvYBK1n(cPLyt{A4l-}s?f;{(Ugf7Hq rJG3gBEIM&`5A844d1)>LBeT}OCh&u_qpF(l00000NkvXXu0mjf#1)%F diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png index 887eba0c3ff9c07dd4799121ccd77c79e78ea3ad..2a9679a138ed9c53398bcf3856b0c946ccff28f7 100644 GIT binary patch delta 441 zcmV;q0Y?7q3F`^4Jp+H4NklM`nlcyr!A&Uy!)rLJ~!r}&r#|Ksz{>ZJXdeRGWmnl1Kfw$E0eF!GvHioHm4n~aL5YFX3 z<;#4YT%}T_J8*wU1#bhMlo~QH)tQK_(lwW{8svqxxO1w4K}Sp@n6VJb@=Ko2-SAXP zO28a!NLBA6aFGzlCcf0?ZYb+S2=k_NU|8E^(7<)Jv#?j|ll4ToY-8LVx^AkZ_&qkz z5%uv?KvG@E*?q@lHmuPvb*%HzF;Pj;7LnheFYU8qsu?le65S&eeFo(pwYZzu*|A#R j{iphD7}7VfL%P_%wS3fF|Ox&2ez%wZt>wpziKYsm=9~GwkZ6%n1nN!`$lZ-VP4nI z=WOc+L8QptWVAES;amI%#|_3=ODBY_^mOq)()OYl8| za!c|8Nb1f&43+IPOP3y;mIIWX zk>`1!7qIDjwJOCFNs1AQAFy>0|Az+U!zGvCQ(i>V4I~574K)Gnm<*eg&-U7KsV@d! zJyq`BY)Mif>L7nRxuzmm5}ncZUa|2##1PppuwkxDyFS&OLL@v>!XJ5_vk_ycRC2Go z7aO#GU{WrON&K;<$=&BF2JS)Xm3jsSxo0Cu({G>*$D|F`;TUY8Mam6QoajvDoPNg! zDzo91<0F)$ItTAIsg7FvgSuX-){wsT+C=Dz26Mi`aQ$ lwZ8kOx*u4iZ(@gZa$hm69l$K(?_B@@002ovPDHLkV1maE)^`8^ diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png index 6babccfd338ecaa2a1e0006ae73851fa5607ba75..43c790d3aadde5867ffc09004e007503452b8830 100644 GIT binary patch delta 391 zcmV;20eJqr3AzceJp+GeNklq2R0min&)}R^}?S{ zuPC-eX2J+GK*qHabekr}*IkHGYG-kbFtI7=*eVULG*qI}&M1HUY|^3ZnBO&L{V8~V zHL6QkoCQ>I!R#`FgJeWH+xoO_TRQBy-&s>0u%LuGGk2 z#sI+l`@1dk;%l@lzK*5*?BelSkyDAbNl)tZF<&<3 zYDORfET!^t7yMPy>jGZyinm`1a396;@u5;{{aWIg6^W4>`|-@+qOOB<1`-v^sBfVA+RaxT$Lu!G!<-K^CW*C0jL`V=Df51h9JII zrjk>$eYc9O{uv@<@Cewa01Q*sDTp#7&NoPv`wUaZWHtgCS6?+E>T{*`wa2bhDDrq$ zj`ao#j79BYrqP&*8AG6y94Oh%FxcI6&f1yjS;L6)!G^x+(!wY!kfWKx}(wHjrCLo z1=JZ~2PvYXP#(?P}vF=iU$Q;w`zP4 zwlAyKyn1!caNQ#xBd2K?KwBmA3f6&A<*12}JB4|*kBYdy!Kzn3!CPyKKd7SbMPIh$ zQMsbNigls$7V5>+*PYdMD=a{EFF8gea=|P#&JZ=|P<7wg+|G+pqpMWS#uWNnmq|gB9Z`#^+WDqP2$lBD&xvKMp*I zJ5iO!yp1UG1wvNcyFMl9>nMK5_k$&>uHyN;v$*Iqegtua?;n#U_ZTnwRQWq}H2KHm Y4eurLdEDHx;s5{u07*qoM6N<$f*9Lqm;e9( diff --git a/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png index 222331d91c78a2a55e218f070d750072cb0ec64b..2a879d54f3069d5c379ff1b52b3f9c0474e8283c 100644 GIT binary patch delta 390 zcmV;10eSwv3AqWdJp+GdNkle_CNBQ!p)qZ{h%{KZvYIe1UQFHg(U4JSa3rdIZ7;ILyeI2dTX-=22)x9sOjk-G& z!?3JrAk^3#pvjfewBEsLrhL`9rh#g4H5pn|S4;5d7#kNHYo&jMw-O15A9dN*sI_&n zP&E}vTWU02Xk^{#OqO~q!k(heG!rw+yft_sIkP5Sj0PqH#F>{mFa~C64`FGJ#e&lw zFsh83N7$Cyf>9aFkY#@2rBBq7TNr+CIK~gTN;SHKK{N0^h|(vj<%-VJAgb6y^(*;| zI@D5Gf|nV**inAIO!x&QbZ3)#0!utLxuT&92&KQPX3-LTm>6>gXS;Fm!MN#}{l*sf zy@qsgik`&5vm>B<$!u8^DTfh7yVVWOljtFl6fYe+N}@+YQ6yTH>>_Cs+#5@R-B)h@ kyV;TDegJVdo+rKgFC3cev`PF76aWAK07*qoM6N<$f+n)LEC2ui delta 397 zcmV;80doGi3BL)jJp+GjNklPwq7PR|Y8rFY+@zm%RZ|H?bM2UFE2XpX2v|(EN=tv=N~E*oLyuKzZA=aq z2CAuVX_$&*(0ZV6qQvjiT8<<&)aVG4ifif%c@f$qo%;d`G9RreRZyB1Dc(1IdBPsu z_yDNuN2(`(18Q9aW2Nu<&dfc&r&WsJB5%;ms}xe_KA1={Df&hYoIS5-MB^?G@Ofw@ zxc7ec6`7ymk)RmilzU1$cyk84E`w{&MBon;*Bokn3^JtCHX|6EDSsx!v>a=yT#Ha2j*Ydp@H({SviuspEef`L_^v91-*||I=uDgO zV*SE1y29yAgYhhcj4D3O4$r+wq?jg!p3!J}5onhF#F8Ddfn&4(7!9&Pq6~s|H9=~5b zyIZDxl0uccN&s}rVn7Y&m~Pa6!nGtO8Q$i+hTm=%gi*+o^Wq^r6d`Z)U&971ww6ox z7j3nL04I6IT;Yy${mzP+Y0FBC={kCn?)P0(q{HX9o?!o4)=+&>t^kHYdE}$4o3lWzT$Tt_cZ&Sd@#qXTg7;NmLdo&8^nt%rz~|d9LMF z`*#$fh34?0X72pK1xwI3^BxuRKER^lnR!pT*$FzUH(00Ib309JS~r<^EZ82j$qLC^ z`gTgi`Z(EVozcI(U~TSu4pZ^3N40qNqgyJmxN~@~@euAwA^#1-266ARs8DTv)2qow z<9!E9&{sa+8lEOtRWvVlU>xfeI?Icb51(Gy%Cs!MI;Czz_$7SQztH^S`k!BZ1Nmmx U$!E5A4gdfE07*qoM6N<$g275GN&o-= diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_1.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_1.png index 4a40ca93b383a8276813864445cfda787b0c60f9..67af6249520c9778d1fca84e47281d8762dc2290 100644 GIT binary patch delta 403 zcmV;E0c`%j3B?JpJp+GpNkl zYC~9_MC<3ThssAN<-CV(w+Ll3(<*W^$&uPr?~q)pTJLJAsjMfJbVwCorZF$oQzi}E zLSSH2a$HW@;K(7|SxQ+CNYk-{JRqG>}1wtc>5lsb> zbrSsD86+pi;o;Ru%s|??Bo|-eQm-^r2H}`nN_Cp#mJVsKtX#?UPS*g5Juqqm$}P1e zQoS=+0Xt%oZAX8C_=xulI1mui`Q5g?rpO9zFXhR!X#;#+VcktL) z^sLN4jzv3zZyEWa;T|t7dgX^<9BmjIn8f@-YGLzVjb0)nJ${rZi{`yT!cUp=eb=q9 x_u;(;)>ktwp>1F(N&X zGb4t`EFbOj-xXr`5AiXc)W;(d;uxdXQl2IO$+LReETrhnNhdzsi5n&*ZzAhd1o@bZNw6)*g!NY4-J~$|o|%72xS2FZFSV|oDTTdF z2(h;@Cq^wXJAz~abCdi!ix}IJgXuw%pNQERNoHs=L{-F?h%0(Ori$6437U+Eg>@it z7wp3drWNKaddD_N*QzmGY0s3LDW)J9QbA&=Zj;0kc1DtsAIb00XfVWs7?fJtJS{{a zDuVP|M0ZA9*Uf)6f^jRDzJhVv8vv2ZS_@~AV9tI;4i}qr=qn|3;XRqxn~Ur&)<%(R zY$poApjUH}-7xk_JvXdO^MdqE%nyXUdLv%fjh*>G5QcYrKp+Y4a2T(2fw&l(_jele s{z{j6yXtM%pL(6vU;9$Wad-0#z=pG&LIE8z00000Nks-uM6N<$g8zBBJpcdz diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_2.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_1_2.png index 33922dcce9b11ac1863297edb5c8ac6bdcc26a48..2cba3a74a32fb79e3cd3f92b2753afbc2de4f3e3 100644 GIT binary patch delta 329 zcmV-P0k;132>b}JJp+F#Nkl%9fPhj@2&i8`@C?ak$PoeM4Ee9`Di=3%s&*m4x^XsR&8j+>T5G91HcK`V z9U}gF-Fcf7tkz@d9HVnYQZHfY!Wd<#hukXgc=d8;Jjy1Itp zkunC`x&2Evltv_exoyqiiqXRMJg3%iOX5lD!mCw4QawiMX&NI6!9~&?um=A7=J>#5 z;}Xlz{lKO*uarBOkRSw5Q}-m~*Xf;mtNVJ9} zGYmx6<>f<_CDyp%&sqb_+#}QLX2NRYRE!m$DC>fE;nH?gf>eFnGOBDVBS~$#jh`K@ zaLVwGx3p(lDJD_8sIs!$CioOLKYR+O$3%7LwpG#1$0CfSopLZE2m^ZA(I#c|AoyMS mG05DgV}$+xY<+r?{uzGFF~J(=w=y6A0000$rbt>(fBpmG_Z_alBO- zJ8-6vC)=i#B?)tnArJ|;WMT3e!pyK;!s-N`+cdr;#I^8bEvPf)hL3|~Dw=<7VsPlS zDXG~qKk~wxlA2Mh)`a&R(!6c4aI)02p5AOJRThPtxglU(n9;MP8I}khe4Ak`T#z(x zJuKJg8rpK%_&X}bYlcEkI?IZKzdXO0pdPYDd><4307uP-COu{;Q2+n{07*qoM6N<$ Ef-qE*i~s-t delta 305 zcmV-10nYyA2;>N`Jp+FdNkl{{Cfb=L zLRB)w%}1%c@#q)rvmv8azoD&P&HC({$f=%I#)sBOZ(?V%>rH=u2NoYL6)mjw~0}8mwLffR)?#_qNc_NGe ze^u+ts90k`tT_3I#jR3MO3pcn%|)iVr&P>Lwms{Z(HN#_(=o()_tS(vL&X&QhNwl? zdxnQFbg_b$%B39RT+nw9`B2FH?nuXhxG{?=G=nyc>YgvG)Feu<0>MJPjJexc4GZ;W zDJV4VFG@`Q8aMTxynMOW?HXA)ml*x0|?k;v7an$cPH`3%gB(@ zU$yosv^v+WP(KQ_R4D+E#iGenbI!%g`m%tHh=!TwMaK|Re+6dS5HXgqSyJ<+SC;lr z%u?!=_QXUX+ACiHx5Bh}Xz{mdl_ebpmk1pzn%>Ym100000 LNkvXXu0mjfa2#YK diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_2.png index 6b313323bc374d8883ae8adbe1724535b8694597..367075792f48b26b9145e23130442f4df824129f 100644 GIT binary patch delta 344 zcmV-e0jK_n35yA^Jp+F^NklRDWtpsip!CM1#fr z`1P1Tsubi&#cY^+O!qo3;GY~e8Ne`joMSyj>owaJoDOev=rDgFHCxDH($>z|s3Ni* zD!RWj3CxpulCVtTLY#q!1$qE&k_!NFB8j*+VjiP)F|a{8a1n(F8Y~TW#F!$Bv(lN; ztkwicy@QkB8ppOD_;k@kBSH|GK;W-JG(q3^xj2fBi8J|~x8V*^*GMEIKoC6g%0)du zcOuaUEf#LM%9jUWK&zYd8?YdK#dIH!#Z<|lU55x1n}xtOS-y*HkX_|&{H qQJFjQYV->9p;nUbX+GCIG3yJgv*;ZNgnIY@0000L6)#6{~F2)9WF@>?xibhd}l>;wT zWn`j%)Ooh{&H$=K?&`!wY9nVlPbU}Xqyw9P3{xKfusA10sl(di zF)g5Ep0s8#6LG|X1c*NNL%s<(^${ZY--X5;stWPmOIe=e%U{2bmEDb?iA8zFiSM0@ zh7md%BrhZCBI{0WytAj(^f`?1K*sPyL0tFC*HZxL>=5;(MWE36GErcBiZqdIju9=?$9pHUgnPW0iQ!(SkY#?V zjLsO1cfFE`g8~c8>KD#Zc&vgyDCtZcO<{h)vP%unXf!t45Y2O39nG~Fc4v|ZXXkSG zC_tFBsd5y>a#J2qfpxw^d!Q??Jh)q}NruHV=y>Nnlv`M&l1R7!%L!zD&}83(%a%b$ z^0jXLb8QV+gY_RynQFe0H#$!+_yecX6P$X4)CUSrI%*HI8+QNz002ovPDHLkV1hg) Bb0Yu% delta 255 zcmV_7WBag@?!{*xF@HgC`(CyUGXVH}p0HI0c;tLc_r}aa zH0O)X0S^&>u1;DdHcDog`|*MdEfVy}oNvf^^<2zF3$}!NvF>-1T8);I5S>QhC%$B5 z?nMwJXGCW@Bq3~&hFM?X{8Pze13SsM4h*iUl6%Cu4e!V#GN9HfX9>D6xnDUPaC~A9+EbkBZBB$vK?kKh{fFp`S2y3sbj{`UW9vGf{SFP|g4V002ovPDHLk FV1lgQciI2| diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_2_4.png index b2277d22400d2e039d55555702682d9bef6d85f6..d025bcb5dabf39c1ae1151e92692a492a1213235 100644 GIT binary patch delta 316 zcmV-C0mJ@;3GWE7Jp+FoNklUi+44@r8S+GSomPbsk)k*Sd>4T2j&O%{r)`3`4nTj}LgLnz!G8%umiBIEHG>apGvZ+Vj z5!c&c9NG-xUx$U=I4e!#0V$Mm5)bJB>dIEzAuYf}>D}`NMBtxvP|;Wz)wnBGtZ+!T zRk8so9}C#?Dt#k^uRT7L1)rVvjCUL$3m& z`|0;+Z|xqfC4Yol1)74qMIo)T#SloxJJg+R%w_bSaL^R9O%ZVB`s-X0oC7VJIGC-! z*6bUFq6Yt6Cgy9j`a(;|ahT|irqz!k$Dh~`WUcWfGJES+T4H~uW1L|uYD-q_PemaS zCdz4=jI)wmQlL>~9zqDVhJw=CB~4Klv5v`(W3aMq-^-YYhclE}YW2dG)Qx4CJszkt zz+x_?(o>ou6U*Q!x*qoMo8*jhI?_Vyc}QOSqtlAGrEih2fI&?=9amg1I8Jd_L>Ts& zd=WG@oic^RmF1WA4Em~yqOrIAi|z=#Jq+H0J}?#i jh;D+T=>v+n(eC*M-s7VBj8#H_00000NkvXXu0mjf?cJtH diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_1.png index dd60072a472ca32e559c4a92a4a32c72bc523a23..2c496564068810b16daefd01245637860875c05d 100644 GIT binary patch delta 185 zcmV;q07n1t2ki&2Jp+H6NklI7Zw0jVIW=|P`c6$VsRd`-kd~IM#irH#APvJG!b7#q`Y>gJ$_{G ndBMV)gPN2v*WEn^M>1<~Dfs8Qa>7bF00000NkvXXu0mjfKHX6I delta 188 zcmV;t07L)n2k-~5Jp+H9Nkln5SyGKNZemPjfz0wsb`pw0G+qWRYddl&KqvMT9zGs%4t+jH(%x0!c z62P1p6aE|>1;k90$h?%A%Jo)r%cJQ^W!dc;;L0pUd3ToSkE%3|lvh@PDNJyA5_uYc q-my1Q_4?vdCT(B)>|Q%dappD~@9cf6)z;3r1;9;}iS*5ZgyFTVLr92!9Ap}LZR@0b02~92nwdIe QB>(^b07*qoM6N<$f;G`fivR!s delta 159 zcmV;Q0AT;t2h#_zJp+G%Nkl@R?8`Pf7thB@7K1) zWtHP#T47Ov3p2~jk->y&m3yowtsC_xN0r0aqaspQeQeoDss0yJU7pDXj%L4nRCWLW N002ovPDHLkV1m!4Mp6I( diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_3.png index 42810ddc66ec08350c39857a43c9ec6ce7e34b99..8c09cd3f5c5297cd669511aa7a8767b344ed7227 100644 GIT binary patch delta 192 zcmV;x06+ip2lNN9Jp+HDNklDfxQ{Epc6*Xn)x2laDkt(F- z)6{f$*A3wT;MUBh57V|WQK7-?mYQn+|342r01B^Ha+zo)Wi@b>5HpQ@K uoq{QN-^&=YL=_>TOc}X;UxanOUfVBir^Ig$r!M9I0000Qo(?Wev(bo#95#Z2Jl%* z(xj|uk}&zwkPr!vh&fkET+BJ6EtHwXkOpM&p6t#lGf}PYi=?4k_g#y->6^lhs~_D) zxOIDV>X?2B3d7@gD(L8Q3-&p|8K&p4O| ta|S}ZD})r`PfjY>!FE?NyCMCX`~nSP#Ba?fn+5;?002ovPDHLkV1geUSw;W= diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_4.png index 6db012b424be78366dfebb7ff1c48a775985dbd6..13a427e5704bfaa49bb8a2189dc60c06de5bad67 100644 GIT binary patch delta 189 zcmV;u07C!z2l@xFMgxCY62l-2L%ILinqcTzu)L6&Iw^Fa)gRBo(m16{_gd4cTC4kt z0~T}l1r{^&ejH!WFZJHv?ozJr;XHb$Ni(_mOJ&dv!U!=p7SVlRRx?B#i!oH&#HOYp zM$iTuSllEgu|b(#FwLf-0tlKA%7}y;PAC~#3K7k~*b1Q_Iqx-jpFLtD0?lGi8l_qC rddrBGp97~&^~ZU3{$ovvZlA9Q#csu<^qJwB00000NkvXXu0mjfmJL_8 delta 189 zcmV;u07C!z2l@xFMgxCq4#OY}gSr3R3Jtr;$it!1!bH11=3nT;v7@B))vMNYSFP2Z zp0L8*Z;%Y|-ungmQ153>oDi)wz-B>D%Ye6fB241>lLa6AH}00000NkvXXu0mjft502Y diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_1.png index 498e389b6b61aa4482c4d70dbeee3d1232bb0ba9..280ce72f02f160e7b8dfca694cd30561bcdf00f6 100644 GIT binary patch delta 467 zcmV;^0WAKD3WW-=Jp+HUNklkp{TyW22Rw_SeA|-u?0M z*PVR0w`g*|nT(nr$i#D#Xb}qY+Y`1pT$NI|pTiqI5oONVQP_WvqsqI;*?1f2W7yt< z5Sd9uNEfLY_FBebnNnLNKwd~qjT$iavuaN~4@4aMg%`J3#$rT@(4qu);Xw!%A*AH^ zF;?-2PYe-0#FXMuvIBO~==On+7e;{IBtS%)gkw}S zs)_dRb79q|T9AMBQ&{LQ3kyQzs#)(3-fh905Gt3)*NJ!3ty`ykdf&eGF$;S}o4{`r z78Ba&xt(WcKTLw>SZABiSH!@2h3pBXz$O@T;zt0dx{&$j@I+m~pI delta 473 zcmV;~0Ve*13X2M`Jp+HaNkl6VQhCClW1tkF&Bq6X{3=cGW4S*N zzxo94E*S6J#$PrA;esfhpQcYK)g3%{QCwfDg&^JcYm zQ(1GZ&dSL$mYYf0Rq!lgks3v8?7eF6A*Io}_JoRGZewF_Cm|(jbK-q=C!Pu6UNwm9 z{xMeY4(BpNKtQbZ8XZw@eI3&qaROiYaA)N;Xzue^tqwBc1b`tnl+k74pJU|#T06la zTJK$FOF%Ou;L#&hk}#N}LhasS6=KG2JAj)Ze};-uY>59ak9p$5$tT zJ)%Vb-*!aJ591j<5y&I}#-zRy`^sZLULm^zix5IN)mm+ zUz1slx3AVlC?T8#`Ov&_g#-q{OJ2|6F7~ze1_t~JtP)Yi8XOb37Ri{O9#AUY8V`-PhAw P00000NkvXXu0mjfZ(QE` diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_2.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_4_2.png index 2a60c810c099db50abf5e9c971853d76d6a5ac6d..699def7017dd9e3ebf9c8ae535fdb0e6e0b34f53 100644 GIT binary patch delta 433 zcmV;i0Z#tl3F8T{Jp+G{NkltL{FeMe9Y~w)+JyCMUJQI@N!@^!JxK!49+j z=mlO+j97DN*LG=m6eshVsybEYSi|w;MLZqAU#bGQ>PCO&!pwhf@jbU{k5_xhMG7vF z?gesL;Kl8Jnv0im6{s_HFMusXr_E3L0w%<0-_JC>lxA!}E;HPRm?CF(+{G=Hb|Lv@ zgMN$q5IE!R7S~qU8sPV1GAO*{(7lwABD?O}^>%&DY2&4c@yyj7#Hhgl}hy#BYmOGXcrm?d%q8cX$O8y9$ZPYG)=>=BMu{bRkdCJI8$|siA>r!dj zTq2TS$3MhXkjuMTEYr4-_bjk(ZAoWxqg!sL@XZd~+Z(3P<+2sPZBurHj=mt4(X9^u zy)4DZZ|-v@)<@XH55zLMg;btti1UHEuwVI`^dm|!%a|#40Y_c9tf04e;6>Ob00000NkvXXu0mjf7_{7; delta 430 zcmV;f0a5d^roV8x4y6ce zY7_Nm7rkD^L)g-Dd7`blCh=gofjIal7qHd~epDt^;oUyPh-80VchNT@f1gWA29a=+(V+cH8dtz^7m$8c%O z8_y8Ayzkjj0MKbV{NVb;b{u`6Om^kpY zyvy?+oko^&V{GR9-9Bau3B#(Qq&&&Ocdnfofh#rztfd{ U*~_6iSO5S307*qoM6N<$f+{RcQvd(} delta 160 zcmV;R0AK&w2h<0!Jp+G&NklI0nftyTPEVvl4j%7n$J|O@i zuqs$|0iEB}w-K~xL1l5o_9<0VX9SRB&^v;|#z`P5(A}-al@qJ_5nn$CKq<+9)35p7 zFgHoutL!Ma*LhPn>m70D1i>?#y>d;=TMAXS_5iU^YxV!p#r+sXa`qp%(RzzXLVTV8 O0000icL5n<~${AUzo?z+$YLo7O{rSjHGP7e$H+$;c?n|L5C!BVzm_y~?xw(wRP3+wW?<(+)SSt35Ov>$^exMKn zOG>bp7vc%nb7zm_Zs-CykSz3bx%xy1&jzjreM9buiQEE?`~qYrqfY%-18M*O002ov JPDHLkV1lh8uXz9f delta 375 zcmV--0f_#d391ROJp+GONkll)HV>I0 ze32yq75eANCFe^(gXVn2=ug*>pmPe`+YqMAcWUeYvA5Hlo*+U^(ib5l9}BhLRhg? znPG^Z%|Jr**{5$YF-8lGL3K+#?f!LcNQ&M7c=Q|cc5W6k!p&CRj?gE95LQiXxB~XW z;R4yDloHjBXw~@xuun>jXL;YB%?$G$#hoK7?4r9fk%xX%Cp diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png index 8ae294a3dc9ab66be9a850359caf55292d5bebbd..28c1e42232701363aebbb74042b461c9a7c32340 100644 GIT binary patch delta 353 zcmV-n0iOPu36u%2Jp+G2NklTDUUR;In_GAHOSl$y7SRisvL+iWy`MyDExauy=-c0#nC?Bs z1cdJE`bEHFquN~*=|Ec6uY1_6Ykt`1iCJPAQ4d0(RPqBqhfjaCXrgiqH-9H~UnZOr z+o4^Go8V^BZcVjtN{p=Y;UVh%DY{!zQRWzi1f(0BE%~tLu3e0k!<~?!4wM=o^l@lQ zXMq5<)+j=&nD=$pu04c>WrO2$kB?yBKQ-=AxbAQeViwLds}CI1Wfj`tG;>ju79hCh zF}x}ryEM@ftyoz-l2tXR9iITysv=u!F`~`-a}zUO+nb=&=>MLwcAl+CPhfM@K3bn_ zaW}xT_4$&cdWFF0@OG-|4LWOH|9|4#qba=rv-hZZMB}wX00000NkvXXu0mjf*@dgq delta 358 zcmV-s0h#`k37HA7Jp+G7Nkl-KEqY%ycA6 zmg5rL*Y*Wp*Dvt8+^GXD=?-4=Jl}P@Rd@dg=j6VN>Lt7Y7P7`t?PBtPCjtU}`x_H* zMG*-I)wk`9aOBF>#mpU~b$i=Ghv&&!C1#0kj9Ol;OPVJ-tU-V8NmS0I6c1}U2y2ID zVmq}{auaNZhBeI4jGT1*NRue`qWEr|FT&9biN)&zXC-g85A9^E9PUMga?|P!d#P<` zCkS&0EGVRCu3}!dp`B_73rh(&ryx8B1Ao`pqi`8;5TX~(nA=b%7 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png index 46211fab16b0dc38aa07b5b1a12b76d5dbb8ae1d..e6b51779de4378dcae245c7299dfaac8443934ba 100644 GIT binary patch delta 437 zcmV;m0ZRVx3GfN9MgxCYlEW|vM7jUfCPK(p8KVXNOoK98?AWF%RarWZrolw#Rmz3n zue8WLxB)Mrnb=vG0C!=Iu-t)K8UngS(f){ zlxI}kKL85pIJQwDsXn46G$9OrGt=1AYh8;&GeQ%Q-3CMYsJ4IMeH{+XNh_oXa6eN{ zE_1O%g)1R6!S_38C}Vnx_O%k_wUx}T&?4X2w3vyjy43@vSda0|VtUL}wYpRJCoR!_ z*xE)@9TTd(YTh~Z=80qZxReM#YXz2N4@FLjh4wjppgz~`4*o%7_vt~dt;517+zbL( z@(WbVr?J@hgwB5rbIY%p=4L~|!0&UU_$TTGisDDOMEsMP5I!YlmV;v zGcIKZeHOq|38q$89z$mq5r!`m;{F!eXH3G4RK0!c@7m92TR3ZnR8EZ2_sOowbx6yrV+h$m3(w6z8eN@G6%{DDLHTqi_8@;EDoNg)Ua`?a4 f>yduyzLLHG^OhRqBA)99eUz7&6kh_tyfh(d}0Pdo)Y zn0qp4Vx?7T!uta>27j_h9jc1{Ye|v!%ADTW6!*j;2qNX9GWA-`fA8)do>UadU4LJG zXkALJBJK%LXkjYF1C*mJf7RAEr517NKj_@3G%RYmchtI8o8UzGBCVF_@If(6BY=1I z&63;kjZbKU#om8nJ!G1+qnW}~n>pEsR{Kne?DU4mKbZmHQwYp^=$5`hr{F2B^P_8T*@R294E%R%XVvTIS5;-1di zPi$iLDQ)?8P!tELxCGqP;h+yS#=wdj4lrK0|0}iKk8v%T)2<>j-&y)l#(VRh(r@Pf fVV@0Z^;}86{|g%9!(auW00000NkvXXu0mjfOUl|G diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png index d6c320755e3d5040cb23cd8442749eb3fc5d0428..9a763329a1510ac5e25090181916e86ce6e46046 100644 GIT binary patch delta 548 zcmV+<0^9w^3e*a)JOh6M0!c(cR7i=Pl|gpHFbG6-|GUK!C`U0!!d-O0ZeO~Q?6OK; z`~wUFPU&v&?I%B>TK@rYrPou40B!$)o-$G1_3<#`_Y>$av(W+F%FE0)9B3+1ZbHNy zfbQ|-UCX^p!-kk0Uth-qs7N#GyNFT+WVVJXmn71=9scFb#m0ZJZizGgTE@^}$i#UV zFG_T1Q!hv?wSWq*Aa=+B#5kfnx&yiOFe%Jx!1C1Bneeyag=@BewBN`?*2SZTd27*~ zZa}BnNr(HemhH9E916wL-W=0GwQ_FDod`4)47XY6pvz3|yz4@U zxenBzA>{>hKHz_2a)^scUqA%GeW=4%3iAQfM0vi4zP6^=z$Ph9AZ^lw=8y{ob7N9= z9MMwR_tvL6xOVxqE9Azr(b5>3wkgEuY3ng2i@U@HIR{U5K%%nANIoW?X{8LN&0WNV z>fCe)b#s*7dZwx3D2_&K((jZ~Dut%EortVOXqX2Lwp@Sai{Xj-h((XJaQQ`%Xa=#j zlyscS<`}rBpc5}etiC4NOJ|S;qN7mbklIstzCag($0O6d&9Y*DLbyxUJ mFL&Oae`6dg&#JrPL3Q6CGovJ=A}D|W0000~%kVCaCWa3a;q{YVXBnK~) zcd4Cf_d)NpZ3mB`5HDf4r&GM|B`fh9avh|$b|yulvMJAcx*?xZR|_2~dGbk1bemne z>%a;Pc?Mkv+=GAS*9BE+ck%%fQ;IpYfV9>!_F+I34pi|sRF_3%E*@dI8~k)yv;>!E z8$zyKejF7BI*uCE^|neF=^qx{m@ZfMvD9$vZ#`55_W*QsAwQD_$9=3mQ`K8jNI`+M*abZb!C~Jc9 zLx=%AQi?I9tGb$Umhrmcn?L>(EX7?NbYPnN;~w`Do9*&r!>6|Oc$5}0J((mR|%E3kzwCvptcS%OXI0|?hSw!?^)tGmOm^v@DSZ2Sd;by~0P Z7ZD?)8{rRFC4&F}002ovPDHLkV1nz>17iRH diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png index c2d2a11cc8d907e5b6cccf953184a4c94b042859..e220d20571d016a92a33b64889840b068f847b03 100644 GIT binary patch delta 35 pcmaFQ_MUA+2($F;hc-RjN(_(Kc=qHe3Q98ofv2mV%Q~loCIHw|3flkx delta 35 pcmaFQ_MUA+2(z@bi{lOjCWc2sJbOPpIbX*B1fH&bF6*2UngHUC3|9aE diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png index ae87046f35573c66c30618109200b19f60a995d4..c845ea9d49b590575e5903c47863776fc77f9d90 100644 GIT binary patch delta 224 zcmV<603ZLA2$Tr0Jp+HjNkl{GcoYn0Qrrxe?rGe|#@{2bRIbhu?K5>}6_p70d}?Ow7=slE z6YBi7^WX(EbzAOAH+fT3s_7`1oC;7-PPc5%+CUEL+T|q@IyqRDP#XE=Y-mL1C(b(?&JS; a{Ja5A;~cXJd)HzB00003S{f)S#{AkdI>IN}if=w2iw5AcuY_SjcJ4ef`kW$JZ@3Cj}?5epc zI@rW$8IEg~JBEaKx87&Y6hOm(c~1r4LdBacbqk1#RAPzV51v^$F_DN6b5+(thj(9K z;Q^Hu%awaH0FX;nQIeepYXIQ1B2xE$ci;wWNTmSidQ}?(b495IefRgC6Go2VnJ>D= b|22F*yzU$1wVy{f00000NkvXXu0mjfR^@6L diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png index 61f0461bdad94444f2952e030f97f72a292affaa..e6a86a34ec97e6849352665dba2dc3de3ca67e3b 100644 GIT binary patch delta 326 zcmV-M0lEJ62>A%GJp+FyNklo#6EL-@^ z>}pX6A=DcFshmqG6`ISRq?%hwMJ?yk^g;E}Ch6|x1Iu1)t}(-^G0wNA7*k4kE^-Wj z*UPw!13TWbAH!U?ZQu9p>Z+U#*4kP*c~^C{aU4eGB1@kstqp(HMeWOZCF8AhDc_p5 z=7H@^igTw;ynR3abIWs=va71S<$1r&wcr3$=uVJ3HbE+iy+PBBg*}s*pdvW_)`+N(3`x-9D YH^sBoI)fovYXATM07*qoM6N<$g2t+xpa1{> delta 323 zcmV-J0lfbC2=)lDJp+FvNklH|YiXe*L zw;e-DDfOQIsajiW{jNVrHTP1QTB)`6_D+4DDcsHcz`8ZZddt<^B$QjvH@f_!A31kpVSDz*NtIvOy7VStn!8@7nDwpa* zaDCVcCK59mB9d=8o|pFXjQ9gg#H>o}#shX%69ml!g@>(RG7^LtkwHYFQ9^-QqM-o! zNy;D-0c!Xv1VDrGAcdBcaDA~eo2a7vAWzXkqUfGiFpZo^fGYC^n#NHpB1d3MevX%gW zzl>)L)l%qV1Dn*Y0sR zz5(f7MOvFoT1=f9>I3&}=Sr4hAu3xeZmL$75i`>O+}Cw~Hw*E=Dvcp}&CE zr2~bbgDFmm9Z_M?v;b`|)4L$q5v&%BqMakmW-x+Mm1Vnyc{7_GQ9q`Ln!Co^l(jQz*h!B%ma?5>n?x$ xr_kkE4y_wzt}xyJr=g8mZUGch#{Cnpm>++ttKK^IZvg-R002ovPDHLkV1n;ap;Z6? delta 353 zcmV-n0iOPn36u%2Jp+G2Nkl3ukskn0eLUPY9?lC1fg*I3v?Ui(^bv4e0V^wOuzPC z-7U$)Yc##Qno;bpz1@O<9Z%m+w+FL9n6QTs%%%r-+0@BVZ83jCbKV!zZk|B+7{0?R zbkZ0q%nasOGwVU9Pk7T;Ns3Z@rxn?o#JE)y0i5>Apt^OI@L7*9$wl>vt} zu~SNNFwqpfY|d0kv@8G*BN3WC7+9r)_S$L%BUq}uVsHEMYB7iS2ExcYbSN^R77or{ zYgq85qD*lJi!)gj>x}t4CVmRhn59xWYXigG$oBi*mQbyOWu*qde=a|Shz1fxYW;V9 z7kZ`^9`A@dQ*eIBd*B`@6MY7-&~iV%0VneVhJ>r&QjGOL00000NkvXXu0mjf{_&!8 diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png index 8b1d70fdea52829df5ca4f7c039091d0ed9ed72b..9a02070f04d958ce2fb514c61e46cf5ee50247e0 100644 GIT binary patch delta 410 zcmV;L0cHNt3CszwJp+GwNkl$YS!By>yIouBy`RL~*hJm-QXR+{%-l?d`o6Ih^F!?|f`yv? zGIYdMy=jbypWQ+y01)*LM^$Of%THCSr30!*jcRZvB4+vgEu4*82q;#W0D) z_hnc`k*~CLQtJ)71m;sr#Zk)L!UM!AGL|K;Ut$$inA#BE@(S+3o~rO5BBcRp`_^&` zF?dw-|22lB0fcEVJm#GD{m|-(6uleiV;1ZuxF2j_hf?%$I1DKydyG$GJ|Gqp<3%{? zD9C-8%|A_<97%sD@OQKvZA__Wq_tXB8Z^*btaBP+lu}-BVD-fXC>29PL>PZhECGPv zs09^16M3HfT9vev68Y1e2&eK)#Ka-avu{m^k4gfNAAma*Vnti6&_aKM-U0`9T+dc_ zl)(}1SLS9BT1;hDadKv`Dm!XCi=5Jj{9tw{`dxRidR+mE>kI#q%*VpsVg zmBYDxfl$NO(^|!Rg_KgCa~4TaZ1sC>b^6XAZfe@y)|`ECCopp}mF_vgW?mp`A1E9s zfxwu$4l)=2kg?6F#ob)REM0*9FIzJz+pv2ewV@L8^tk+vT4H}p18ePu0~s;{>G{G| z>|WowdI&MbD=^%3P}Q-Tc~@ui>8b}8cU4}Nc%8Bvu!1VA8>^?~ib`sGwR9CGqD}-V z{ZdE>8Ghco?;IKiA;i+>X6yQ(8vNrt_5ChF6p)_912Y@VKDIjQXg<(>{Q(4G$OHi6 zkIJay*~a}?a^8P9g`o@1KURyQjj1{!wU&G(CIIueU^Q&WAucoE8wtLbg4I<8cMqaG zgJQQH7!@9gWj@4II$16mH>WM9$VjSsBqlYn@o^R<*(zZfz`ooaHD0vb5fU!+$Ml!s zCF1sa){+1qlgdYCiwKuco>iQjxmeb9nr; z{At(P3}vaj-Bo#6t9f)36H|2V@A4+<5#D=L(FpXQT0OX*`5CQNT7sIY;b9it$C3@m zJDs=F11zvK@gUw90$>w@?zo8Iw(}h(eO}CI+fI9>Gv)#dyMcdrs8;Y!D-K0OoSJ_P zIQ5&}ayurih?e8BEXO0(b*z*16P#P%d8&=cz?e}uk>5|!)`!;Y421CWjpKzBN z_&N^Z91^%9t=HUylfFo^XEYxa==@x$@*Dpe50uyXF*X+2AI1APw`(QL-T(jq07*qo IM6N<$f`YTk3jhEB delta 413 zcmV;O0b>5p3C{_zJp+GzNkl_l@TG*xS5 z&Zd5G-l4D7?y)upqYy01x~|KDb=xQtT=CkUU`Z7VgsBt}!`^A~l=MJvxg3eI!CN`+tbrWntd);oUG_?V>q+o^vQ*=5YRTXU_S=8w- zmggig{}d?SBKUtaP_&y3RdE~k&i6-=u*?W!=PF~Zi-1ZYq@1bLq$L$sY+Hw2by}9L zv1@g6JkwEti1;m4rc=v|bZjG{!?m3xbJa5I_8idtdAY{v;u#%h2K8ewU@-C*+%G@y zl&;R94ULpM8E?f9pVCkcwE0O4$BCHujem_N${T%*P4*QB0JAvCgEye$00000NkvXX Hu0mjf+d{+@ diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png index 68473993dfbaef308472ad7354d17061cfd93b5f..54b400a52da67c83370672308a89f7af7c3de49c 100644 GIT binary patch delta 226 zcmV<803H9H2%ZSAMFW4&*^$H`3wIm>&|v=L2BhVzNi# c+rPE?2gH>L=^|NRTmS$707*qoM6N<$f^m^(Qvd(} delta 226 zcmV<803H9H2%ZSAMFW4(VXlNA36aSEB603!)>>6j zx-K9wiyRT2Hi+3Jb30?oz`T1}5;I$M8FMyCeC?esmF8^M0>$a7lu-5Dn^3`ce^-bK%p_!1ZGsnw+ZOgUL ziS`oWczL@qm6}Lj2Gn3I+`TaO3qms;Fud@(;EEIcW8wX|5#fLLP`EpClW6(yPZ$O0 zmUQ7JF@pEl-GcSx}nF=*DMkBJLIN z)T!yQWzTVmpKDIVCAKbO{N9xFEj9EDN2lDHFNRMXhMjVJC6}V@3crOEd88S?U-?Pc z#-^p3ldCjhOpAY}X$Ne8I<1YTpNhK-#F>I5Gr1#KPzX0qvBN6Fe3Cu^FS0;;q*(qp zF?P7C1>b`3_$6#i!-dH&B--Nv~wnxHFs3T#mw5JRbNzG;&?K!+6rRgtKyvO1} oEzCGOK?J;58vhUNK0fXr5-fLCI>00000NkvXXu0jG}f)6Ravj6}9 delta 398 zcmV;90dfAk3BU=kJp+GkNkl-8K>FO)8+EJ4LshcGWuh5%U7_ z@i2tn1s~y`)ifd=l_LD9$3XTcYd-~2ajA5>(-MdnNtmSd@QC;(`oA?(W|!vXuXX_@ z%4ARV%>zE(PK*ho*wcQpyd?#M+O3GN*^1$TtyQ(wn(0~%;QW7FnQ7&}9l4a*g2}&N zAi%d&<5o>_jY+%GwO3PsJgSjgd(z6;K?0WpV&WkU?b>?-Q>xYs4u})pw5-(tqE`1_ zf|nGxq!m(-39{Hf8xHO(VNR+c#!Cx=t{mO|W#Xnd>mUKIZ%-3%f)RneB5kE z-tucPaS(P*gYQ2=M|8%8Fgjr=F}T58*NZV)>JF3mvARwaB9{nMhf{koBISj#d6+O{ sZ%ch`)?$*kh3DolG=2|lE-&T_x|9fKFm;DT00000Nks-uM6N<$f*wx0$^ZZW diff --git a/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png index b77b3651bd17497cefbfbca7bedf289245b62273..89233ab5a70df4b8f745421b05de303fd79ef969 100644 GIT binary patch delta 555 zcmV+`0@VH43fu~?Jp+FVNklMK6*^Bqn@K7II!lMCnjaZ_0iy5OZ07vg`bz7Gu!VqwX6x{UbB zJ722u%uk&I!{OijIG^G8x)=lNB_+bR-u1mZ&imqqpb`#oyvON$2+M(%p${t_7mmp* zO)L%Z7<@pSQLEEOZ)6-7eAakK@k-jI_cl29aloVKyVV~5X^*g~)4}i4#dy_08?~;T zG3(tuhCXz-34;8Y#0;P8ZaEgPHtbxZOx!#|t|Z+FAQ=-X*SpKQnqp zA~VfboV@OCO@F&+*nyulT$cG}UOm&kHfOyVWq>^9gT2BgR;;3xCV8z3s?f(;Ma#}y zMNGCM(Wi$J40uhY`@oAQ4%KcyjFHo{jsr#4~aqFu1$ z-P|lRA=jNQtX)OT6c@2SLzpcOy_j_Zd-4;lB|XjlD&nFCT4;_oZiR`D1?bGfY$oK- zJEns88Ev-1RK=8@L_>BK1@cz|E%PI{Ctrzw=3?#1pA9=wYiXSgc*&zS4YLvxp7OWg t;l2aw`EVl%ma+${e7xf}tnUAR`vp=zi%0FN#o({(GY!~5i) zczS$LzUyonbCAzxoo`>*Wf1)wr!zjA9-S_oHuzjW1!DqN{#t+X@kj@FHk_wi*UJ8I zq^kVI+%1C|(wdJcV*XHg)SStQE5swD^SPl$6X=rGc80?gsF6r_NQmdMJ>e*3C(_lg z)%T@*)stao#_%~U>op$=>>+5uyVtf*!j~=^PF{P0$scWUYqizH>vSnrDCp92?pQEK zKAHSmknQZ{ZC-zwBlxLorSj@_t=(5UAsgrlmM@@5v-onYpp33&(y_t3)cR*@Fke|TSO%LIRV;Bfk13ppp6@NJ?y{@cWF zZ*ezWIck2@n&~sf^#A5?r=+xDyS4YVVqum1cK2V14%`LJ%A#Fg@xSBA=)&S>g?KJ3 zVn&;NGi^M=5-uCf)bV$Jvu0JxZWTK5?_SzY708aVOaeZJ1ApUD8@>6{g>C$!`#Ra5 q{Ea{L2;v|^Hy`aHZ^Kak|JxrcB80PFP(iK$000061ZaAGdh_3l58))yX zS_yAaTaMmR(B9SRyb?*ItZ3wyZ4iZbvEo-^yxN!3FE?2B$dP~F)kN9Voy*=5Pixug z&KO^(mv~K+OkA}=PpKT|b}vjasqdZNV%m4AkbN$M;Bosp;Qe6-W-19f!Ik4TZl1)f`YH;fBZ>f#)mNQQi%2i4ITo96jT;>c694Hz3idJWHh!{Eri-Fup0)70PiCp4n;ew#Mm*DX!tpBu=J&*-0rY=8NS c!@lmB|42DXyx~50nE(I)07*qoM6N<$f;~+FRR910 delta 482 zcmV<80UiFB3X}@4Jp+HjNklmX5w6-6P9_fx-ES`wyKocb*PeKZaW&Xa~X|;uXaQ=#?`!x_SS!3JsXr@D>6-8$Ud$I zncGRB)FK6RT+v@;GIJlooI_k?!J4Gnu^f38(eXLmpJg9Moc8rzYG5v~XHQFqe+~W( zH9e4RHmzuvO#t~SwW*FCSEY?6!9dDTic~Ncq3_23x8xv1gtIRr1#kGCMsL_a|DVgWo>P0rf(3%$}$5%|8RuSfEiEwFPoD@$f=%U^@n zun+Zj^as7tnDz~ghzkO~p}_}%02FT5nT>&Sp<*`!@giCgGw`)C@DtCj=t(nx=<5q3C{_zJp+GzNklhuNg+N)gzd(c5tz`!XnHNz`t?Ns*1*p1SrOljEG%J6v)DG-qi;6PajG-6I zelZ?H+=Ee|K(J$TY~El!F?<)6=KT1zA@ipsmkFygwcn}`3~@Y_P3TL)vf0!+vB{on2K#X`|pS0iE$8*r3FHR<3!s*gXfh%`7%Ud8sy5?*VIbe2*-n zIK$4|gwoVDR}X(=;hpyBk`$K^tAo)RLJVrkRDSRK*Ra*FPzA20*lekNf_`80d&3m6 zDKy*DI-1NC;sgPR7)4l-ZJ-z#wo*lHa)M)S!bZYl5LT78EEu5uaQ)jvX^5i0p$Bx({9@B5 z<2Z&87G~d9s1w~YEwh=@-zu8ZRtm47w1rU0q65K)<0ov3r8b&&tqUl{z`d6$z4!1X z5SNA9PzM~d$zP%QA!}3QRt`#)<$^ZZxSbE&m1Bx=o2KV(2|j;MxQ$vXbDf#?ygFEg zPfRS@3!LPf=Zh75wPhf!w8Ypk0L^LUmOTR)FkWRVZO_kzUqjgJT8Drpirm2G3Hp#d zd%%4VrPwr7V^jP@y)+)tQHK#CQ(3p5*vW+{78zS`^kXs8rKnm(tp*ro9qrOB0`neJ z^q?#DtUa5;EL?wkdEi*y1LtRpncJPb2}jYviA=4K$)3`Rs+M9uAV`SPE_3TszIZH(5D_nC!ryfw`u7@^TV$@bs08}5)&ZOHhm ztdDwY@GHyHJG@OFF`!|;Wqn|~(IN|4+``9=0n@cn5oBbhqt$0>Y?4k_m=(uhJMmdYujDa}6axWS@E7RFd3s{n4MOYvA9V_}_)&YQb2)>}V Vi*_;#=UM;&002ovPDHLkV1hcOO=|!E delta 165 zcmV;W09yas2iXU(Jp+G-Nkl z`JnIzoIgm{3&ONfUW|zH2_o~wC=yq5_t;^)s(BT26H$O0KzbZ4F50i4S{S72>d-nw zzno?YxAshkDl4KJp+F$NklL6)oLN+tJD~Ql$ov+C(|^s%b)cY zcELnfwXW+mEg~1V6yfxBK{GF(@uYG_kI~uv9AmV*w`l#db6PgCzSjtQ)f}-G-IS~a z0h`wLikF2*6`$UX)LWzdi6!R<==W_1Dg-o!$ggBDMvrde2_An{BqPZa<2Cw@p8I~@ zjG3zot@C8_vGz(@;e$KX?#y0Fp|RHy)DUXh3_il}D5ElsXpeQh>o?~NN#sFib2x?` zBI~A{Y~Q8K-!W%fCuD7oe8JIGwaTOUUU8!-2{j)vC+3u%C$1wvwjpty$$($}QFOsg z*x)g9|G^k>%b7yi?#=JG2(FiwdV=Ae87Ypf-zcg{+T$D}!4d5QLvW3W=HBOcZ1Exa c@A?PR58COCsf})EjQ{`u07*qoM6N<$f^f#CGynhq delta 332 zcmV-S0ki)72>%GMJp+F&NklSAxz;JL_d%%eI9TV+yKVw|D e#&TUhF#Q2W3XneJ*)DMa0000S2{+T6bE9Dja9xm<98BbCQ^#Ll???=uA-Jk#f002ovPDHLkV1l9vTfP7Q delta 194 zcmV;z06qWr2lfZBJp+HFNklCzBr4XrPs0!x3_U@2XaBIt-gJeAblYg*SEJcV&DMt`a&MQF#AI*JP-x6fYkP wZTlzY*ImmwOpRz=&KU1QOLK6=iM3`5!f)|8i986BGTX9D;hy&pYD(pKVJ zC+F(g18qsvxZ|07d;kCd07*qoM6N<$fXA-2}W#8`I#7A7?5EgIdh-tAf2`nnQOi7tk4EK8fjee;0FEa73MCpl77I8MoD_ZDTtOifl0+Tf|a4FY({*Ec+>IS?b%g6SIiA1zo>m fPo`G>;?c?*NiC+hX8}5{00000NkvXXu0mjf*^W{} delta 175 zcmV;g08szs2jd5@Jp+G{Nkl4ouaTg?0CNrp)DFt{Pbv}WARVZMkR<_f(D?U}1E|H#mf)WTQHbO;x&gNV>X zd#ViTQ$t08){D)~u`@w{9*t!-OHgh1UP%T;m4@ERP@S$hnCmB*tXS8<-2c!!Hn|Gr d|4nW=d;z_Cr)p7;R{8({002ovPDHLkV1gWoRE_`u diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_1.png index 758d5af9d1651a304c07987e0e21a6303b969f73..0892140addd511e8373a3efa1bfac5690253b52f 100644 GIT binary patch delta 255 zcmV*i`NooNklT{?cm^C8<3d@)s0U)PXn!50SX*qc z6oZ<}2c&JcvHrEb=|y9&xoq05uwUXM;kKV(NzWtv0f@I9glC64iU0rr07*qoM6N<$ Ef@A}EhX4Qo diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_2.png index 85db7c28410cdc2c2578281dc398920b22970cb8..9939a8b078ff6a7c3e8bc05d3a3066e5c92a2a74 100644 GIT binary patch delta 400 zcmV;B0dM}w3CanuMFW45S#IPo3`BMRtF>%vaZWN4SAR@Vy&%b;GZ74!u%C*>C7nI} z?wlVV=da*WTVL?`ACUHKKLS1j{z00I=D6kUC?(+cv{)h!Oq~r8|=)yKhMNL&G zr1w&u^cV4itT3_i7=!0fH_ZpMqsYZS!5eAG8(V9YX_~7l;R%0j_^!ZT)v)C(27iO> z60(UmY!5b-eS?=5=_#q+SjAj6fp&mmVn{LI=31C0(!_>9+*x+DQl}^pDLyiRivXcA zJ3v);+)&#yAm6H5Efj8$X)IDEvINH*+PDs*duH2&4!!J9XTnmPz2Ya@66)wb5;2P- z614ZSU93!y_gR1R?opPAI)yIbsx3~8JhRReqj>bT_bRq*>$Dh^UM`bk$SkXJ^tP0z zbZ<~*c!iz^AaF+V8YSSh6Kia}6*Ink*;Yjg{<qxZ%eU-G zk!mIqy!Z1Cg44o^d{mHo7HGo);-$OKCEv;b&9OQ*6i+NVd9@I3q|Hdpb?Ye8j!udb z$RdI&KFy?^i)u?GCr!d{6iHo5CWog6Y<_D8Y6u9(`P*nf`000O{MNUMnLSTZ(jJ^^8 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png index 3a23df19f271413a93c6d2c4b5c9af42a5c4e48f..125311cfa43cfabf232f974a23a09370c5ece7c2 100644 GIT binary patch delta 280 zcmV+z0q6eC2+IhtJp+IFNklSx?8Pj-!=7}-#fxoazctJ70dwE8|g{%-@Uvy0cG>gJ3FpN3F$w0l>PZf eIPeJ^_ySpzJmCl3QgGOvw^g#8T|B781P-0s9*=omUw^_UW7;_Ft$!q`om znebAnx?NC^fo*t%0d6sF*ab38)fql`s3VR;HB|{Hhwx#J);WJok1xk{fBJ$NysnGI z!39OrRzL>C!l$W>b2ha=WH_=K26(VutfhLiP3Yz>2QiY^nVV82Yu&gv9wr&5%Zf7rq+~%C>pcl;^t}1J)_^A92X21gTQK8Ij{agG20002ovPDHLkV1gj+hHwA? diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png index 0f545fc09cc8d1ed56e9a0bd281fef30cac15149..7ca5edd06c7bd0b92475df2d996d7d40079b8aa8 100644 GIT binary patch delta 337 zcmV-X0j~ar34{r-Jp+F-Nkl75JcJk)*Og{*@?^pf6@b{?yV$B`JkNR zbkh*F8tzBkwtFV!?96rvaExiaW7N=vZWt40Ttw+HnNLGT#A@A?Q%otB?X!_CL~+dp zh$_YS$mLsXp=2hwjXM)emrt?YO`=$9t;^o_x1r~oLAhB{g9(2Q(&=h;R&2Efm zfQd+atco(!(9>6s988B<1R@q%UxktwH-_N85dP!2TmbA)S0Ps`wG_dJiuX(uk)j13 zYGTRPk`3ws8T;^Ba6<6W=gUIcyKtC$g+2oaqH?&MX&!svGdh_HttPH9$}po%&ZNLR zO08S1#x6YSE~`m@X+mp6QxR(zP+*(R{xLH?^wGEFuk(S3$6nQXruSnwGY(J9zk$>A j6uSVN8DixcI2*kHUL=&2dK!A300000NkvXXu0mjfqtBny delta 339 zcmV-Z0j&On35E%;o!vdH>dfm(yz+K+wz7@C8Sg$92}VzJ&*Yh@9pDc1YX zB!m?N#4OnStRf_g#GX(&MR=IJziy;D)qMHm*aB1^LHGxVdN3>@lh#VOL$d-zJ77Dv zb|5tqAx0XudIrnb>P0H6-33ijw#_v%fv@e%Fqd-(%rwk4n%Ri{<<01_>~8E7$eQR3 z%h#)|^;X@o%-u^ZV2kh*xoth~p;eKU4v9|oo9V4hDH<1GiRE=yO)V?_22N()RaN~L lI89GO4?lcZV)wu~=of3ao)3)L6m+uCdw^RQvhLPo+vb&RUOqN>zkQAEVw1&N+#h34+VwQmwb^a%^S@svfc7 z{aR>JY2%!scNlhxXA-Wkr7NOpJNjnCsdKG6K_T)EliON1f(?HRB~gDKXB<{-t+;nU z;9+!%b`Yuv- zMonCOjM#i#3g1c{Q6a^i~i5-xK!-{ l@?TN)2?AB=5z6JOsUKUVxFVv#fw%ww002ovPDHLkV1kdrx26C9 delta 381 zcmV-@0fPRz39t#UJp+GUNkl75*EP}#9hO?N zU#PmQFj8n2+!w)E2Gv7{Xf*~|37f3Ba#+*jF$Ry3Ez@wIMT)XW*{B)i09p38#l?Qq ztAWiK7)WL@7T>xMs}N4xsYMPjN4{K;)s7X_Ts-z>B8U*Of$f6k^tfX2P9gadWAlQ# zasZ@6$*Jdx0)usxP}Mcnn_!ibPQH5W0adUNf(;aUJ#$1J3px$ucjv7Jy>h8)F9kH= zfOw-EZ8H|aZ?kQewa!<@UlwK1Ah<-$soVAqz0b!Adq@%ErtUseKU3vb>i+wQP|H2E bRPpyN8A#riDKarM#Y48{=gEe5h{^iMh7km&{-xt{p)TLXUt9W{B?%5jbKrSlCz zTb)Clq;-l(yspB~YTA0FwUQZ%0+LHuLaivHpeG<{{0&GlH3wLmcKQfNfM7A5O48^- zYT4`RZFG{6OK7-R!*eCWae-ld-c%B$hBD@xSw!dl!qjHfZsm;MhpA;>PC~AN6?c}u zNbnyvU@!UnL1KT*SYd%!i&86{v^tm~-?R1^X0MV)IO_`DODttZ&CqGV3_OSC7huOw>@6);!rZUI38bHnOJ{ ycH|N3v8}FSrdl?)u@JhrynRrz;Yj7zrym)!#uAuN(bNn80000L6*))OZO-2GqHVx_C%#$|F&SzP` zPZ>brS}QzMCc3Vb;_0<3un@?j1c`*7O^E73fy&Qa!1rA!*4t27DSY2mo2AJwZ59e^ zvr=SSD`rR-u$+A~Jc2fuFF%`1=jeMbcS)u;E7M^wcM24!byj~a=YTCAkqP}VS50Qp zI))~bd}W(erS)i5KVZw6n^cx?)&gq#ikURt$6b+dhEc^$ppC!;EzcsVGO6`o*5q7S zbWSo-wD3%cDmeP#x^Px7513$gyqhE}Wh&+*F*RRUZD;>Jq-G{$3ftL^7-|hoNW}kP z)1Gw;O-PgtoBDsS7*WgFLLh2jCbk@%u&41Iw&Un2L{Fb)%spbKiq5oo?fO7z-E>y@YnzV000O{MNUMnLSTZHLb?wC diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_3.png index 0f0efde80567890ea6a7c060c60f767e5fc9879f..3a07b4bd29fa0907ab36b62269b62544c6cc5330 100644 GIT binary patch delta 172 zcmV;d08{_l2jB;=Jp+G^Nkl~yz3ipV#O#&3t==vWE8etEeth^;S=>@84 VpUsv@y2Ahf002ovPDHLkV1m2(M@awx diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png index 30bbb56685ce0f4950bd5afd804d4583f9b026da..582ed0cdb60f84e0e6815b2b01d85c24d170d827 100644 GIT binary patch delta 323 zcmV-J0lfZz34jT(M+1M7!ypU=x&Pf_5cnw853v{tgOkc^rfR%PmnHRkPD=5#^!q98 z{41>gf_X!$-*4I&R@)~uv#xw>sLVcIS>~P_mcn?zS;yz{Qs7`{jm+`!hKd1E#@H}J zC5oJg*vEE*f^<6(60GZmFwS>j!m?pThj7Bh-Cf%rXK~nEU%7v@C0aqmfB3w-zTi2! z`mP6diSrWn&zrzPah`NM;WO||@A}m34Lu^vIpQUnGb2eX6`xq5CDTQbNv8gNDHrn4 zzBD<~r)CxQV6Bq64Kv?|W_&GkE9u-_z1-hQiivFqQL1j)6cHuqocW$^eC@w;_e`q|4*tTC?|`adQs VpBII9j(z|D002ovPDHLkV1jOnsdNAU delta 323 zcmV-J0lfZz34jT(M+1Ly#2^qux&Ph9(8fn`|A0jV7{*n}E-YU`ODz#XKRNt9l&{|~ z{Rz+iK#L33b3>gsYisq)@0+#O;(9Dd*>LkTRhRg{L}Zb!vsKq{Y*<`+FZwe*jRJ Vp_F_^Gg|-v002ovPDHLkV1imIn-Bm1 diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png index 7be3deb2c981f133fe254b4b3b2f866d12da6891..f06d541d9143476ce5804a8cfd53142e0e7b2db3 100644 GIT binary patch delta 320 zcmV-G0l)t52=fTAJp+FsNkl15?)LNEt3R{ms$<9dBydV%81!7jRPbBQ>6hayIAW_;1>KR4_9 zz7_Y)j^E7T=@K~P+C@s$>HNF(EM#(xcl0t>*(M#iHo~J-0D%RyhQQFy!i2{%M=de@M ziuzZoF4zr zY$KRa^OP(D#^KvWg`;T`3l*{-sz}LEEJ=Yt&3g`tLh)D>zG-1i*{2dP3{`JQ26ZTM z;t{!VUMCtoyMO)6J&NwrE%HAOX+e5T;YelJig zvak97C7?c9YrQnDxgLAke-{%@8=WsMkjdWj6dGBrm&f0aoOfX=bU!_dEMu-AStW@cu1_Qpj#p_2Rv{PidVu@uzp*m!!S31@k zDw4eTMUuya1}aH(S~mwaU%ptR&W&THmYIne2M$$5MBF;si&lS>i;21^#6&9njr$nJ zM8y&?d|()gkrNrCTcFpi&`iH9;s}HUU1KCqOp2vCK5fcdTL8_$TZ^|(26Qpn#Q2p0 z-ePf<3ed#9qk2oV^QufFm?X%wpI-DVp<|Y7&xW62Je_H58ICcc}ra?-~ zHsTTH;s0gi5E*;nOmW1H5~MaD=+w(hI=hofwGpFnHknry_Y%>IvWK*TnZCFm%y~4& z8jtWC{9{5)@F1Dgt`CKY(UOc3K$96=}I`SI&~cViN~YQyDLPT`>+-* z`WPUJF`Nfz0KxltK1~4dA1Kn7GP$jkv}s+Dj2W;O>MVKzN0jY6Rfh|UhYM?RP@tk$kmR?6>vd>toEnHeJvOk9I5{_vei^V z=7nsBDgI?z!>4;OUSt}v^@Is(Ot-BMekYXyw81Gx6iT>?Y!_t@*#rwBeJK}f59l6< z68<%zCY>&+#Dp2b*K!l_hqsX%5mqU1q&xEd{$lo#+huJ2TajCZI`W@Xxz^a@j}R?m h&iolY*MG-yT)#?(0CCxT$MygK002ovPDHLkV1iDoxEBBb diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png index 6150e8b1d2aec3b590b07ea9dd07667fb827228c..fdc48c6ecdfe3f06ab0a1094e21cd3ad8b509f11 100644 GIT binary patch delta 319 zcmV-F0l@zI2>S@IMgxCYZo@DPM0Nk81+pZ&N2wMrF3_Rm*fC-U?R*4;^@dAG=WaEh zmC}+vqG?k!g-z3RW7)`#n7k*BzU%S0whR;iGY9*StB_EW`x%(YQ;$G)u8<MZbxDjqNU%WaTI3J-s3iTkelW0CgB-bSt+B9-o0w-t20Z8-k1E()v7|TxaIXhsT4o|@wbqjSbNtE^%Ya`_ zE$pWjy*q0S#3(nvv*Eb5{(G^OE%$Mm{`P`*%b=&bloxvT@i)2)jr@b|`URg{oT@ox RoS*;z002ovPDHLkV1l09og4rF delta 319 zcmV-F0l@zI2>S@IMgxBdZp0uAMY;dcIuk-hy-5LYsnly*V><_goD|bErg9u+ZZYmmFWn)q5 zYA2SaG-8S+**vl)HmgmJO_dDcdt(^ZM3JZ}JZhF29h%?)Y50GGz=K?ht9|+neCr3P zYGsfN5=E}VPI&U0<6giwk4H}tO^wv;+f$@;({n38!h<@z`jl*~4gJy&UFW$JR*k{s zMz{NvkRH8>pa8_mJarPZWZMZ{SP%kdneSO*a%*e>xW@%@-3l`i^-h=F)0BXvhfs3p=#e@i#hzLjFOAz5oL?oZ^*5 REsy{J002ovPDHLkV1m1!m5KlW diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png index 0dda4d74534f460f186f9d1ebe8117bce64f4d04..177fd9315f448d637321a6c4e2c82c504de47464 100644 GIT binary patch delta 122 zcmeBT?_pQ$4DfU3<&xrJU|`_&^l%9R(i}j{#lZ|D_es9rv{6xp+26|3#W93qrf&C1 zUIqi6LpSPou`D|oxYGR;`)MYI0xtb44qi3B7mr_l)!=b@-!a=&pZi`poVCBkz95-- Y`D}H0UY9r1fW|R+y85}Sb4q9e07&>K?f?J) delta 120 zcmeBS?_yW%4DfU3<&xrJU|`_&^l%9R((FLY#lZ|D{e`yJZ&Z|F_O1O>duER3|A!=6$1@p@O1TaS?83{1OWG^BUbm=W#S6`Kgzczi$ZZWY`Vwiq)y7(Ns|J4BFs117f=EJVwt?^l z`j8cM^h4$r0!9z3@QGR@&qWgCMxKe*^_7*E%_*}`ha*B2DvM}-uJPB%vroWWKDCH4 z!75SAKEsl+%>1>mpWXHf#;wkk3Az6O@(M$(`xbs@7aZ8 zj^pEu^LRezd5&jH(Ob1IdJgi|1n&5#9-X|{grpmC%S~(fQPxjbVkuj)mR^brR0#~8 zkjT81WlD%*F6a>#n-k$2)h<%1RXaICdKds7<6!VqQz+j}sSJ6-N1Edb7~4`Z;FC)6 zGMY}sn}|8=;)e*66SdnM3~&=iTuc*5b`6?J6&lV&Dz~(kFEQGEsc5syg2onPd|00000NkvXX Hu0mjf!IODL diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png index 72419f5ddc033068b822c9f172048b3f18cf9cdb..1c81060ca40ed5301bc37df3ced7f40452631dcc 100644 GIT binary patch delta 328 zcmV-O0k{5v3Hu1JJp+F!Nkl+SB!`h2dvwmgHRBN@AvX*Z4d{H8fU|R1*>beVs@h%ZA zena$BcNHe`87j7`OOTjP3qCPZhR=vH@ewC;#6px~XzU88Dx-f&2vG(;hQ!X|0!*7u zMHMHt6S&rqCE}P3%?g)d# z&2+(ZIDw(*a$w;6!eUBp$Z88GHnMb_*Cc0&nSYrr*u_ni&BEZ5qWAS~ESk5?kp&uT z?#vz|eT#N$N`gR_iY_aW delta 334 zcmV-U0kQu32!RQ(Jp+F)Nkl%r4W%gs&AH+oR zQz_+N+qUfw=w|B;nd`d!vX!>b>X!w?@8=5L_&ESna#r+()C4hRYc3CfWj?}UUbGO-7#;OsWKaIQx8SS}IN&sB3>V0a!>YrR?d^5UcX`W61t_rr56Z{S2u>8Y(uBKH?2 gaw$KJaIK*0tu_EP6!2)r|_X}QN-kXWs+!ejuFgeju=P&%qve+_>K$oyq!-1M}UjWha- z&!OFc$yR_yvw|$tB0LtM0roXTZAQa+@ETMaymIO;U=(`mkjl+ zj&UbC0h^+mTv$OjIJVRH3YRfQHHgx$z!0t@cd%S*p800000NkvXXu0mjfitv^1 delta 339 zcmV-Z0j&P~2!;u;Jp+FV>OEx4|7A*mr_SSyoL zbDkSfUbX5FJEB1`#y2y=vb8y`++V|Xm7-TR&gQ#nELW2k{(UiRhlu+4(Tr5QLm_224w(Z=#~Z1KVxa_21|+rMuPOwaEuC4AaPM5BRBYmLU?Y=H`CL4CdnT ldsRMGJuo>x0eXCxe*h5Vmag%*enJ2M002ovPDHLkV1ms%of`lE diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png index e6c809936e6fc3b37facb6211c9398e39da9a819..c1ffccb61152ffd24ec74b3289c4dfb44d94ce38 100644 GIT binary patch delta 407 zcmV;I0cifp3CRhtJp+GtNklswA+urNkzF6^muERbY>AA`~@BO|mA4FE=YbnCS>;vTQc%T^{FcF!ZkLdtXY2oVl z)=ti(7vUlsmz+P^NwHl)W1AALbcXy9Q);lNDXGr+5MXDRrr&?@A_3;MLq+zEX=dMt zJ*Ft!{lLz~!gD(+UypXr)m*X5G~-R)+;0S0MAT0Hag+3IEaf$rK7&r{ZQOxAoqW{gF~C}cpNpH(g)TmWDz>%d`i+_)QqTB6w@)cIRE*FomdJ`l|{=C<%3%rM!cqT zR-sJ2JD8iQ-}irFeg4``5 zm1d8U#Ljnfk36RT*k^7u{LJWHWlI6wG5F*1*SOG@iRA&0AJ(Kxx#O+N7EUP(8?;|5 zT5ssyj>VZ?Wd(ifpY3>;`JU%Gzf4=6U(n!x0ZKdH0uc|G8w~&e002ovPDHLkV1j+b}$ih@D zJ=)2+$OAB&QcM15Cq;dN#xd0&=?wWbrlc^7DQ=5(-owr?O&5RgLjp{CLPPeJ>CV3M z0rE`dqzy6oTRWoDR{c(`yDAo8-tZ#7Z70o)5$uw)y-B~1CDTeU`wU>c>*Ege;eLyV zupI*%&sE1A@OT|1oVpK;Dxf-Cg2r?4Bd-%HjMgA~oa4?ouY8EH)Fp>_X*G-2ncPN%6k#IuT@3%#e44rvW_L6=u{16sQv@hDyR-FG^5 zH{vDDJxbz!zqs9>F}>SQO7}L%PJ2h6RTe8vq#u^+<8DgR6MgUrf7mXKdz;|34Yf`j z(BqUoaJftH%D?Lj`p0WNll=N65B+Jn=ko;({uepO-uVz2Z9!K60000(joO3X=NkXel9YH+&)((LH3HgVt^=u=F4&(yWs%vW}(;DiPx&xdOwu+#nSg+Iu z2|+QE+WtvFU44I$7@$}kewQ0fj^&B^C^&tFw)@ik>(Ml8-V_GGAXPWrRzr6pF}0*CC)SlNimTPvnktDUR%2 z_DtH65>doGZr6NGQr!osPvo{Fbk$*i#-VzOn1Ec@+&O7$7<3K!4&c$l?DZ5?Qz`Vk z!@91=;8grGnI7dH8`0W*5D1ChzyDbh#{g`qI)!z4vVU^su%(Yu95b6N>AfOaa{uZd n&`aukr{3$f-@o;5$=~%49}`LY4e(Dj00000NkvXXu0mjfq`vT7 delta 489 zcmV&q41{z4t8LRZg`*JvgqIyVDP8SL9U>tD z;$xig#7(KMwY}Gz=Qxk=SilNp*RZ);kC_!kkdwaD|4Wbyc;AZLBrH{b0D*c zeZZ)#Qt8j9wFLVC8;hPxgx5W$n76&*=U7Cw;w_p0fJI-gN(_Hog~$>RNo%%J#~!Mc z-JJl4RF|Xgket?Jjf2P0F=8VNXK>1inVyaZt#x1b5ykdPtnH5qkt6+R_ZT z@4jQzcXBXv$P8EA9hPPs+YpH49QF@ejYCUhi`9C9f;!=?-Q_h@t3~JN9FyAhT4D{! z9vv8imNfrn3HpC(AQ}j7#up3zE9ed|lJj#9Pe2l2A$Fu+WujQEdCUMqDvK&}4%y>Z znJO8D2_VE8yp-n7KKAAj;8;iUnH>ub#w$0jp#d@?Ft9`_Kj;W*y(29GkHf08mLLk~ zWQOD|=y5GFI_WuB$Vbnur1{F};!yMwIi?IxA_lTB);&K6xbMP9O9wqScQmJ4km8v0961^bv z2@z3@rDX`wC2Q7dLU1BjvE=5IB-S?OoXe^-Z%UeKo1=GC;3hWe>+SFHrep*jZt0w! zyAgx2)|bSHE@mDpZ%R>e-6sfR9D;S#aq5nxNV%+s_Q0$mgt1p_3;f-bz=2rTguG6y z+=cC-GT-zNoV3FlpB2Fb)tzFLoiqyDzJ7sUsW>T%{V5Skf7$4rA%ia;;1%}meEF$= Z@&QAN=0cc!-q-*D002ovPDHLkV1m?@YlZ*- delta 221 zcmV<303!dB2$2Y|Jp+HgNklmD(UBxa{pi;cWZg<~qclPTVd!q`YsuL9z8 zR-d)Vp#Az1ocuIT>|qj{gfn3*iq=KQo?chnZ7GM?Z(7ymIF41?$NaeokSB?GWAxgc z1_;y)?Yb#Ak+{No+hj5Z$^z85I~`Q~)`}O$`C5YU2NB7B^sF8sdF>@S=I1e2e&SC) X7_a4X6LvI<00000NkvXXu0mjfYF1^! diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png index c919b974b088634e45f51c6551be69520dfdbb0c..a054ea482b70a49a58ade400200c2f03cff35cd0 100644 GIT binary patch delta 401 zcmV;C0dD@m3Bw7nJp+GnNkl?m(cRGSDm7D|7>VkOm1$8<25s|4eE zTz4@1z3=;8I|k1=C5L<`pD1M@N@fZVX8@Ed?PrQ7eBp=N&{nu4y?x z9AFnJdNm41`A*61tPkva8F$=Sf7~N!ukCYZS4zn2A9II4PAyDp@9@W|%tH+@-`p;C vO$^Ply{s#&>BFdJ{&0@uvo-{%bN&b5yYQ}&s7Yn|<7s#5qRqt(8)3 z*m^L~xYs7t8!B? zd>(L}8VdKcIsR7Alz}@umqJ+^fH@IpFpad55S<8Yl(hj-=}e`@W8M4Pf^lC77@BPF zls3~c-dMrVqfce4-jl@B`dGSaoCb8=KE%MO33`08+x2rm{)pw+#xS|uH#Gftdotc tc+5+WYtqXr*;{s1{!{p80IHn-0IzxP-8rh`?*IS*07(Z$PDHLkV1m;Y$k6}* diff --git a/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png index d26ebbf32284f3491b0d961fc9c9f9e6c3b3e173..be5f86a317102e5a74195d7a7f13d64edff3d944 100644 GIT binary patch delta 539 zcmV+$0_6SP3d;(xJOh6L`AI}UR7i=nR@;s$F%0Yff80z{X8)v3dPVCLb`LKnfrpKR z1j5QVcHB+~UZtB0c?DnTZ7_WT{=3eUJ_Fy5Prxzs-s_uS8l!9ZXn^~ibN!ZOlhRmS zYHRqgh*e)j_oZN9b2Re+(t^p_8p52NJZ$lDK3UetAw)~)$2I_s?rLIy9RJmB^9WHg3)jG7 znG@=oVn1Wdg;9THxTJf>4(X59qMi7siT9_CH)}#2Y0TQIRICyf#U!nI6ijw-)nxfR zI7)+V(mkd3ejqGT*W&h=*lC>;J;KuL_1LbJ+%zJv#pjVuI^YVsTLdrv< zB_0nrv9>YyJIry8ZFRAs;ES-fw!o?$e9^C9?fA0QE8Bk;!Qn@y9@_dWbl}WGwme_7 zbuI@MY24lY*sV2NIVc;lM?~v%a)B*aRGEHjYLRzzOCj4uN?+-D7r~h6jEL4_?2E1; zHI91wqFa$4H>jO1)a{FqfGI7wfq689Bok{AT=jmc^wq=p_A5hy@6PVM77p!C-bUVL d{ZpB^JOh6M3`s;mR7i=nRZEuJFbvcE59dg-dy)}9`pqjSx1DT;@+`_M zVka;}5(FK>F7mmByo0a&7@U3rHfH%RU`s>zDL7x}@e}Zi7~c=UskPSo`2Y@Z8y53V zcrpPTMDR^m!lURTx5xkOsZr-q%r1g|$^x@Dt*&W_lI=Q)JFD@?}STTj4d@ zTjbLLBahfWQ%Z-luOghJnc9SeQgI)>-dU%aqSP4z*By9`N5OE&oT3JH25(IR(8v@b zYE4TfCl85QShar!?!&FnninOdXqvE4cXx?VX-s+X)#_Im{)+gC590JH4C%W1&{l1d zV3z16y>#g_+q7X)_jxc8WKna=;dXkJSV|O~9nSK{shxSM*WKUu$@=8x)}9smp-?1x~NMuM`21@@>>mRm=+sPRk4Bh)G;Nd6}&4E zWcS*GEOTs11oh~>FKt9O)aykz7oQnsLmkdvFTA@(fa0_<%nHgcI6!G-wF4utX>3it wHr;zW0Ba_4GkfoWx6xy2i)UGX#kL{80SouQNgeFu_W%F@07*qoM6N<$g0US6mjD0& diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_1.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_1.png index 1849424e799d1a051f443e8ac82303b38818ffd1..f716ae2f947befee402a6ce312f8ef93d0b220e4 100644 GIT binary patch delta 479 zcmV<50U-X23Xux1Jp+HgNklbYUj$SwyORbM_x`3L9uxdan1+KbKO03%_UozmLfikv@ii%?QbzXura!f zF()`C-HT#Ju}Phjy^XclqzDUsp)ui*#Q8QDltvqlG-~n0OQrNd5aNFv75PfZm+V6v zXd!;)@$iv&8#aGudV8%EVchd>lOmRJgcE=(|8azmC68=0d_(^9jdSlI5zl21uM_XE zr6TbXiFYPohF8Y1cId2 delta 474 zcmV<00VV#C3XBS{Jp+HbNklChKaifyL74Wb6Gs+P)GGgN3KiXRSxjP zw5xT4mjfr=m6ux3TX$P<1?5swFpG^BllAJGIIpJc_z;%fyFPb)E~0f9Q@B;Ll@`al zz4%y|B3xe-AKQOhtNREi$4oVHUf~YFl|Em`^bvcuuyNpF*J=;vQ}ODed8K7s@3yoC z`H-GN#D1ON{2%rgRy{8<#`d|3~0@X8WJGg-@z`!ghuF0t@9q8t>j) QXaE2J07*qoM6N<$g7F3FQ~&?~ diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_2.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_2.png index 1585f3139b18bd86a9a70ad2720267a2b8e6b1e1..f707dc22ca12f49c6c4b26067f6eb13c76604eb9 100644 GIT binary patch delta 402 zcmV;D0d4-p3B(DoJp+GoNklv&)HfA)r`9gmMMmPW zrM1^~QnjP`k#wXaW({b`<1|4Ecr8FHEvtNE?Nx%ACm^y7I<|jRGj@qMT1Zhx?|W%r((^jw-2VrLk7#2qlk(Nc7o&7+gc*SUkt?Sd)uf@7c z@Lrn4g0%_T5hs7%C8#m_SZiy^D`^%aHGUJ;0TKd}wX4da>i9Cf;2 wYqZp}w7-%l3)pMh5Qcltc6#5n4PCN7qYU|Q7fYAQ000UA07*qoM6N<$f(Kp8yZ`_I delta 403 zcmV;E0c`%n3B?JpJp+GpNkl^}}w3Y?>?hhHQ zJ+Rh6vB7|c)3rUcS3h;JYHQ7&^b-XjbhIpV-=48Hezah!VJm-pYn&Y@k+;Bs7GNPp zyk!?~x?8uN))ELaA)e_LeGS+|VN2T;?8USqmi5fKt*w@<->|i~k~ZNs5i0n0lrz-l_7SpsVwLfZNkyn+iF4SfzFY>9fodSxv_ z;ZK**=K|;*dZX+i>*nu%b~RGOk(WCHZ*qO zK60{V3y7n+4E9!6@w3SY8wq{0J!q@cBNXdkWAWeb5{(FU@S}8junooEEHB~NHfiME xdnx6YZ6*PT?M|Q&=u-(N*~(^7_x=U^0WI(NFu+POwg3wN002ovPDHLkV1jbo!IuC4 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_1_3.png index c166ce85d46d673740fa7d3557edec1abb1f1b7f..a42bd5998257f26c37a29e8aed7e036c3a0ccd7b 100644 GIT binary patch delta 157 zcmV;O0Al~l2hj(xJp+G#NklL6*(}sO%ff*E6w%$381o=714RG$ z^cVK~g>n`4!sZA0YGkn*Vt8Z`k#!#qcti}kx#dr!Uz9XPsT`k}DW1cX*jOmMEte<5 z4yTbpYc%Zvvr4jA75RQkD@^y+9?ohayFRC|@IHaeCtLb#10#Qg$9xG9}c^#CEZb1M)ZH7z~>0000Us355x;Jp+F;Nkljqn4Q|N7ba;&{!}XFQ?K{Fa1bBmesdx=(+Y2ptUqcvJp+F>Nkl-wbYIs&&S9iokM#7e-&;b zOQJ;2vp>_lwP#vOzQvPnN$zN?pg$yfjmt0_1HXH}x?FM^gQerlJoUXfq}82>x$Wl^ zuw9SMMCN1V_|P6$y&ip^IB#cdb?J)5{w`rl%;(kQ`eJ1n>vDe*;S)w=cz*SEJZ}gn zA<)8E80!Y_4sNE!ldV5|A;%og4dfyG#)RLZlH@HYN^zXZ#;GnZN^sfQ6hcIVC9 z{nyPbi}W(TX2ha(n+->!WcMN&L1?zNaGIO(1{Y(}D#?~O$G2ytiYe=IELh_GC`Cjk z{``PBlk^Y(>!3|1j2@61y2w1W>lcQh9M+UM*Dvigs3=-sxyCr4CuW&Ug00000NkvXXu0mjfWtOL2 diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_1.png index 0f66778357710e8fd34454ab55a3bd33156df335..18bb675ebb6d06066215c6c42bd3e4d2a39fcf72 100644 GIT binary patch delta 205 zcmV;;05bpk2Z0E%Jp+HQNkl($_+- zBD-!cEgVlBND7!|)uq6wOSX29wJNWg>sooyszU5!BSO};al*T4LnporfId7Kb$%H!RY7B*M`@8KFg31dB%p947JwEzDR@ zf;GB)LpEd#MD!C9H5;xxT2ntUT2g-U_-B=~9*(DJdi%ZuU|{r5RnK8`00000NkvXX Hu0mjfiyT|? delta 199 zcmV;&0671F2>S=HJp+HKNklhBKi5C-0 zO1oZD^;M@1l-w+5qUuJWs-+yHch?8$R?OYoK^Ak9(Gd2&^w>Sl>mLOwCFYkK1tZG0 zn$wuYqQFvX42XhZ`y+v70bn{9!~|zHh={4dgd0YurV9+4#>lLYAFGZnpdQ};L>e{JJTNqHpYH7VXC2ViQi z2$2Sg5so-F&Z0_ULM-b{?3!^gdQB@X71uV4U?$eGTagRDx78lyM?0%dN*_Y_18pIU U{2%Y%!TPx# delta 167 zcmV;Y09gOp2ipg*Jp+Gnu`lYvhkgRU zn-ahoA}W-FSySqdxw5-U%H0f+%BuOOG2AR{oP8FNeIKn)UbV*USbIy#D=9yd(gb4# zL|c2Rt+8ste5Ji{acInHzy=Rky@^csq?>4G;KLw7sI=3F#8@BtNko#+Spec60XJq- ViwC<2u^j*a002ovPDHLkV1m57N>l&< diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_3.png index 3741d645b4e072d1e5d429bb80d64321714b4562..43bea947afc161e4114450e133a2a8bbddb493ec 100644 GIT binary patch delta 179 zcmV;k08Ibp2j>T{Jp+H0Nkl@I2nD_W*@mFrg~x9*Fq<)I-XfKvy9i|4 zmN||!>qIc``*EHNo|)m9K6roSXa4iXyLokA3e*|D5ncsXO~LpOaVrn5uuuy@iA2wB z-2kYY3$(9%;}%dcs5%s_$jlMeMTl4_QVQn%nBhYe@~Kg*dSELOXjJ+Dfq8(-ygos< hv_5xu{8r~$`~n2z#4M*H&nW-^002ovPDHLkV1hkdQM~{F delta 178 zcmV;j08Rhr2j&N`Jp+G~NklYsLU7wX9g?=k6CrE<|@++krmK!In0jg9W zrF&XZB^Z=GN-(D&;GAs4d4VJMPQ(hzs3`sz^O0zt06hx4>6R)h-(6?I>}U7+nId!k gLEbR!uy9{Lzx^Y`0716H82|tP07*qoM6N<$g4obe!vFvP diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_4.png index 1d99066b1694007d596d727fefd7669248288f34..633ef975e20514ec91d2e65d2137ac3bd9d22e64 100644 GIT binary patch delta 192 zcmV;x06+ir2lNN9Jp+HDNkli)wdU6e^MD_omePq+GaK$1a#}E|LMVViHBMN7 zYCwTiW~vhk-!Lr@6R609Af1H0h1Y~3VwtN7i>u#zA3`7n}ed6EYJ0000?fwaT*@Td3 z`cW>g=^;<+lLwX8e8tgP=jDQ<5w~!&@;+gqt+fyBIiI+M_wsOO%w@nN27w4rMby#; zc{3LaMi-cF5ReKtaXOXW0qelZg96y#ijLVsE1P0im#!`2ECD%2{W6qLjd-{2>Ip=D v?Y5j5YNB__VI1<@?|l5~sz3F8^uziEQT)Y1rTGev00000NkvXXu0mjfgNR;J diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_1.png index a8f0de86e403ea76ce348af673cf07f7c4efabc7..9daf0077d5de80033a664d25234e2b37e5438fd8 100644 GIT binary patch delta 197 zcmV;$06PEs2l)rEJp+HINklL6*-|6gqf`i(kFF+7)0pYbsH1N| zfO4ik%4ZF9w(4t2Ibn?s_iA3L zFzfgTP17{biPEYKs>&eht-&v0&hpx8svsb;x?=!JJ~SkvC15|W4mIpB@&NQ`O;#y) zh?z-LGIHwI*B}!J);^$vF`*9_qHF3`qc3BBd;mT*-XC9)7^wgN002ovPDHLkV1f$} BT*v?b diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_2.png index e6396382f2b7b860221ffabd0a898e06efd7d555..fd7cef2b45e3b81f5c5469f7843a76c942abc6c7 100644 GIT binary patch delta 373 zcmV-*0gC>o38)FMJp+GMNkl#gyw{Q%M}vo#Ztj2Aa*$o|Sk^TMy$`w+ zcee%%%IKj9T1wn(z~^mhkE&#*VFnEWih|P)T19vPeosdNZX8qP;8dkEx2Cuc@!{nt zj0Puzl31fDe8lp!-gpdvp2SRs2YiGBX*#$tlhD5m{Vi=otVEQ$#7CslWO8XLwA5OU z9JdinEt&hs0k3VDd!ME;kadE{Wtq81;Dy%4j098|$#v){1MEL1Ibxa8Ai6*jXVHfl zi5U++$SoGLg37~b`f82mDm~NdpvyEvVFnv~T{DyL5+zLUz+XHv%;@+Nyl?mhc{u&v Tt%?g*00000NkvXXu0mjfo#(Mh delta 372 zcmV-)0gL{q38x9LJp+GLNkl^|D4fInEb(Y@a(%ntAoJ-K>qIrzb z#W0~kGH8LOBBD)l&ik>vXH{egZ-*d2^`w%d!C(c+k93@1bZg-lToMx~lBtGtTjn#% zPXP=LB&LHi1KpaV8^Lcp2EdPKfvy@efWcU$PbNiALo_DFN;L-Y$$m)SD z!M(PJHJJ%FLu$}&CeOc9TxHTsPNsO4Ltk)rdXFq~Q5NQRG4o?Gh!nj((ymIu6W;g1xu0^{_ne^11+|w#F~uf;r%JzJSY^k;;AEJod4jcmKzR Z-y6a@%?ijY(Etko002ovPDHLkV1gH0iOm22 delta 259 zcmV+e0sQ{P2)78ZJp+H`Nkl2awG!l4$sv(|V&d}{_I zYq2h|-UnPcmw=Ce;F3CAtAZ*(%Gd78VMntSDrgiEVTZN$w+VafK^2)yOvL$X4%k5f zW&%g>fgqlVCE@|5e=?<l002ov JPDHLkV1m*Kc%=XU diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_3_4.png index c13788156603bcaab1a8f63e15142cad739cae8b..6a1413be6d8ce0529257fca9ae7e42d370f8d722 100644 GIT binary patch delta 346 zcmV-g0j2(y35^M`Jp+F`NklUYB!NYfab=&PPlVaL4Ig@{fo2iULhOIH^T{y(; zWNL-1YJrD$huPG7?;N+7=7rT_hH5a|W4G+02sdVK0nAKzYoG;bS!Yrr9J>V;J?V={?p5F>&+~U^ sW-bTIYyD)UYMI*ZPg|NB3N7YaaokZgCsTy^IHuZrc)J)#{Co2Qum&9_ovM`Qz1E z0n@#UuiQNqFmGOYeAG-GDuKH#E11{paZR}ZsZV&>VoPE^ zr6)ry>0(;#YT8}c9NEhei?jz`Av6xaxI61GL$Z8GSilJlvzY?PY?_JnP{5F=psuQu z8SXpgA%<|FU@2pfsz6R9E^#Xm+Q*1IjFg#(hstL6+1A8~dz6i_0apudyOmm!QSyJX-BChO`{cmX@`s z7@(bgtE{1;l((V=K;3s92eX-)Up53p?8cE=0jj%=*8t-H(C>fRE0$6NSi%63L8W<0 z-Ohu!)5DUCY7Foi27qp<4<-g3qlcEzE!jdmrnV;zQ*x--6HH_&X}mb}nTf#XV~u?$ zGD{oH2vi}C5+~$H_o869UG%#Q&%V7j^r2Rt0xEV;4l97WSAcD4L~LaWhr>A>D|y{$ zZyfrrp10lygSUS`qXg1~Zr#gNkIIymxjCrzOjn*A{Z?BrTTF(SRG-xfpzO8W;K|tU z6$9TXKiVWR<Qq1a!_=nHpCS}9JekIbE z@yy^j_dexxUk-(%+!M36pO|ljhE(T#DmO|zn=&pO8=e@m#Ed`x+j@brkx;&dLElVoF$j4&)R;2>pT9ae3eftoX zZ$+F8XIB{(1cYZtXI41)F02nM*ppWsAJcvZ2!l!H3WN(QprdMY8gWD`T!;v#qqL?` zug=+0YU=w$O|O3ntOk4}KpKmPuuK*d!n!$CA=ky(H3jlXAyrumw-(t7x0F!RdQV3% z8+dJ#GObnbKeKsyU;wtMk}d&#A_y08D_L-NyA!AaI`#yhP<`^|kUvmNvECyqasI~O pxBLp>AGkLSCrhPR*u=9!#<`z1F8N zXoMtd0y}1Snhzj}9wGZPWJ`|__yDp$L;mMavr|?~eCn&Q>~usB%v8&%qjQA~bJU?k zN3Csia0skv&<21s0F9fND0fG6^U<`TnYUf5l(S(3nKZR>so;Nzv4?`)H=(QLB4%4i zvpG!?=EAP&E9He6JWDydTZc6bpB|t2;fAKd3H_<8Er;Tsn;Y1%-XjL-l8002ovPDHLkV1h)wq*DL@ delta 334 zcmV-U0kQsu34sZ)Jp+F)NklQo|JzoYn`3k4NM>BQ6{f@Mq*YBme79>k4^()mkP`H8yXN6tM`gp};2!ItA0?G3=&Z)Gq;pAQ;%T%RPfa%(zq$X-X{nnKx3<9jVo|RJrUAT4VYTmH grQRsKO8q)~12o5C9{;bfwg3PC07*qoM6N<$f}NV0@c;k- diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_3.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_4_3.png index 66d05fa875f2c957bc3e82ea00daf323c8aab42b..057eeba94c27f7009c0c6c9ede863a15e7c1f870 100644 GIT binary patch delta 192 zcmV;x06+ir2lNN9Jp+HDNklL6-MWf+lvNNUDOR^FKRPcAgF?C0 zCqNfSSYa2bTO2Hqk!Z8(6KzJB<%f}(=@9PyPUV=XNXpO#G@XyRR2e87)HR<*tT?c7 zpb6JuF_^hEb_cjJePAxc{pRUgd{{!lCL6(pUvr)=y)!GG6=OIn^D%TSZa*_EsnOb= uH?I_tb!$8ybEM?5k^iS)d{;N`uMlrllD}O4+A+oe0000L6-6jFeQ6jB^RYTNS_<~pTLUOm^ z^vo$2tx16ZD2yfN#q#jp&E3uT%gn5|3e}s_7UzV6pQUu?YdxlXuso=Z&S^2p!Xl(? zSotJJ7=#OkYnbE-!x$*=K?>R_XNa{1BCT|6akS!z5JtP=nJzgSOg?-6#Q8aURsAMM vE7VprI>OH_o)yEc!2BJp+FYNklZte9%T(>W;Cr;OA>DP%dR3(}D6K?2muz2z8yZWdrf403<{+}U#HVsi=$bHwo_F4$sx_~E2xVpEZ@^5X-xit*OjU&N6{ yoRZy3B1R5096Kbv6>}9`A#M4`luif8i|-!ssLjNnyjlnK!Pl?o zcdnVvkTH zNndG6#}NAXU(#$iQxq{Pn>4UH!pD+Upb_;>9TAULS_4YC)EJNW-i}kQL3P+Z387ru zgx{0Ez&14XV`~SDJbiRJ>ONw=M&Eh&e1^H%j`V#Wxq`czUq;GaIBYR>`sZWrw^RBh z|0*1tL<%LIx56rwr1UPakDtA8B;thW*tbM@W!`V>4^m!L6(b^h)mM~`#ke%m#-HBQ1L#YZ0 z;I8JJw{(o&zK@RH&D!<_#%L|3VxQ@#wQL)^65D^;R82#f)LHa0IrqFagg4V*(O`QH z9CY7f)U<>!fUBbTqP?{@?KOloo6XthLBmQp)0U0Q!cs`5@{xa{kh{akus^_TCJ&kO zqCim!)n!>Cw~KZ_gbc!(o>H2}=_+Og6_BCD*?>>l7j ziY%Nr#C62*rUjAM{pm!4g4DBGs~NM`QZe;7?L6HYQZ&RGat}e9(lU+f@tAb9dMqic z0I@C}vE&d=SguAl#IvD~Q}{OokjNaN+UW6x>R%eAB1G8w@iremn7N1PwZRWGsxjZt gw027~<}C$y0a4YZXMzKXbN~PV07*qoM6N<$f;rfw@c;k- delta 331 zcmV-R0kr;s3H}JMJp+F%NklW+Z^S z>Al~gt=00s)KRmtU4Z+N=42{%Ep0icZR4TD_7^RtrVjwp!K$Al_izs5&6L!IWP1p{ z)|w_a1{kU+E}9It-?Ey6y4*-W0&`-u_| zGb!XD>N;0jk7YH`3P`?~ErEslt^Zoz;002ovPDHLkV1ftIoumK& diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png index 88a023d6eaaaa91308d770c09479075cdf099d82..1aac8c0b3fbd1c05c41df2bd5da56f2c0ea50d6b 100644 GIT binary patch delta 385 zcmV-{0e=3t3A72YJp+GYNkl}^w;$HVio6zkN~?z0S)E$wkc>)n5qAsy;ExlfbQtM3jP z(rUup9t#+7j?WqSl*O9mO9;(6YyB@BiDAy3I&iwEQu9;&S+yPJM$9Z-`1y`yfoo;$ z|L7PQ(}Wco&^Y|Wtv9I*hS{K z>bTbt2yaMuWKs+B`Yz%=9ehqtlPHz(uYIJ4CvHg8bIJFIk>11iDj9>O^iBG~uTBop fUgv19b2RD?@cj5t7L-DN00000NkvXXu0mjfz*fJz delta 389 zcmV;00eb$l3AhQcJp+GcNklwI$ z8jVZ{AJ**?_I9haUSJOYyuf7#D zq^Ieh0}ME)eMWuD;%a#b0UMIlUvx~wP2G1L5MRt5t*>eK%?PBUC^56B@P5Vu?JlkN zO&f4zWY0z{fyCZ3otbPjQY1!Dfdw=0L0<4J!EuGiK1@H*qC~`}M;kPLXA!a9^dM?& zjCg;obsBHpO$UAW=O#$U8o?AE?fZ-rGmv#nY@h;L{VJI#=hsuuVr?)j(==N8-=Sol zr;bM*ffS~Bbkxe+k2el-OydPT5g;{qD5b0qBc9RIMngErg*G~!!)ui+((pI_!^oa5 j*R{6^SGBkLj7EI}{Hyp_z92rN!3E*-8O}{Lw**ecIS*8h$M6 z%!L6I!n>#=N-cZTrT#7Ms*Fe}m1Y+4O%W+B0na$J(IB4YdCqM!Ytw}Dl$SH*$&;Gd zJaw^J!)@C(4c6q9xfqe!HdU8Eyaolf+?P_T8QV40Zqo#{1u=iCXnpUmPa+puFFAHc z?T31Fn8qaTHC&e~JMfUlBZ>y}7HDnf86NtFR{fR;E|?V~1;YAF?Z6yY4Gam14UAb# zM4MNVCz~B$Xh?X)0-SJ5M5yIz7CqaXeJ3Qqgk91t`Q(U+du36t__PG}UnX)5j->3S zzya$mN<&)!O-_EC`{BL_x8fyNVM^IY#o~`MGS_l!8Hv9JM~?;OTylbxIi+KFePs8z z7gFz5nOEYN`w}=kEv`?j$8sA~ck6S?=pMQAFZtE87|mKQ5IOxw{7St?ar?*9c&{IE kJf{BwBR(ev_A%k{4M5HkQyk45$N&HU07*qoM6N<$g540eD*ylh delta 394 zcmV;50d@Yl3A_ogJp+GgNkloj<8q*o8`+1>4Qxw8=!4 zBWvCs1IGNPxNAPNT>mzAQ-Hkpa}{xTJLj$^*ye^6W+yOP$k!%P?S!A5)@MrnUSya< zYeg!)*7nUtYI!xBb8t&zu362E4Fg-&CB)c-_?)WKG{Ma#i#&fO5x+_*^^77Bpv$j& zi$mq?dO@`_Y>r1D-R%wqjE5~#dFJBb-@JX3l<*L-h;I43-40k+*bpqKj|7Z}BxmlK zK8~q?C3sRHq}~Y~DWMgqJ7umF?e0>sStH4#H2#RzRxVMZ-Z?WmR-wCgYDOoN)<8{S z(xKo6)>q7ewG@B6Z>QWCNI5+qZJ9GAkDTT}xt|8*b=eWY(3+OnN`vc}5(OgM-~H?m znRn6cjf%#^nK+RPqv+$oX<*|WFIz7Sl|TmU=6mfM_t~}BmhBxJ!MzdorF$2aB_G1u o{-NVCy$cMDWj`UhJ||Q^G;$J^x3I8B00000NkvXXu0jG}f|y;uaR2}S diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_1.png index a27e81b06f16bc23365073a1a95effa14adc725b..11e587cfa0967d9ec4619d298028c723bfc0e526 100644 GIT binary patch delta 42 xcmeyx_KR&p1hZ27biH^c@0eXYsSGoD7?#cz-1%!mY5)Tec)I$ztaD0e0suu(4u=2$ delta 42 xcmeyx_KR&p1hdlo>3Z=@-Z8s)QW<9QFf45s+|lviX(Iy=c)I$ztaD0e0sv7<4<7&k diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png index 3168792a0cded9ac8584ed0f2dded721e71c8d08..337ef6d4c0fffc27084ee96ba1f24e5688cf9967 100644 GIT binary patch delta 224 zcmV<603ZL32$Tr0Jp+HjNkl3HXrtY7UN-bkBeXLrmCzpM=)LJA5UjNduv`7kp;JW+$m6c>H zzIa~7XikQ+liP?91LnD+_CPTpXA>~v>s9hTJO<^bkcSB#zJtBAiVf}FkG-;Y{3j`06g a@xk6M_Zq>zhscBg0000FTmS$7 diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png index 26032eac27abe386f88a08453d6fae170f4be48b..5253a4f02c65a5af961df624e9ee3640338ffd0f 100644 GIT binary patch delta 330 zcmV-Q0k!^x3H=DLJp+F$Nkl5aa)U8w~bWhF*P$1SFnAsuG!E=~geu zl=2T;*B|cdJTZt)!*QH2;k&l=1HDJyd1mBfx<>*qd(z%;zVGZ2JQDYP&nl|w8DM2_ zW|oLW$OWv6>1C*gi!x`VyG>%o$(9xtGcXPD=#S$AtKY?(snvhX`;YgUZlJYx97nBB z&JtnTI?Z&{`g(B`GnJu5AEt+*0XFR_HegecVTi|qJAdB@OcjJUZlj_Biije7hJk78 zXJCO}%H+X?EHg735=Skyr4p|+iO9f>8p>`WfL1JhF@>ebQ)k3m#}J5SB)+*1Z@W6e zP!7$Su%Y^%#NI;0pcD337S+_cwW+YJhau3GVs1sJsFbwoG%a6yu%&%%-T9h$s9SDM cz%TFh3!bp@?eamHqW}N^07*qoM6N<$f}=X282|tP delta 338 zcmV-Y0j>W12!#o-Jp+F;Nkl=&653k9w7i7-RI_kG@t1 zIq^~%lxYZv?{7R`jg?t7>>*K+nP0Q1PBg$Qu=8$mZfRx0rEHo?HFSTTPhviaca?XPaWmVP?wNe`5*1h`#jt)w_L^u zX#@R-cxaZX23}_R0ANj?JDmVqHOm<=m~S4dw5uzd@x}lE002ov JPDHLkV1jWgsWbop delta 363 zcmV-x0hIox38o3KMFW46Tatn>5Jh|cThoMuWGSYfeoS{jXLJx#1y#UF-vrG7!Zm3Im>F>x= zTkobYm<=vd=ygm=69Hh-JFqQm^#x(t5sf@zfLh}Ei44TCBddRe8Rxv1i1c8ba3R0d zdo!E4y%;S!Qo*15pqwH?m~jz7)1f5{L*)%1Bu7H2d2eVo$UJt1Ojy_0Mhy5s)TM6B zdbvo%^iivipxsP}yZVsfW@Kx^k%B}cQje5prWT1s9%Yp}2gE@%GevHH3BP?VV=P2W zE;Ys+vq}9{o^xYCoRQ`^P3G?h;CE8>1$#5h;rQjv&P{c122niw_5Je*zcgYDAj_us z56MwX^=A0!`BQ1FVVMqzeT?VL`~mQFP5ws}{0wZ>EN8%EegOWrw4MYmw)Ox3002ov JPDHLkV1lkMt8)MV diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png index 1cd23a288537844361e5a8b22b8efac8ce336e0f..e36c7620fd471ce23d7756071719bf7e68560dc9 100644 GIT binary patch delta 463 zcmV;=0Wkjm34sc*Jp+HQNkl?@qPZi*#;#lPII^$$^o^Qw+Saj)oRL#nm(L0Te1-gk zI-L^Pq;*f;AwScReX+4(bo%Oet8`vRyohy=wJ!J^jtT%#w zW|*E|Sf`P)eHiLj)<;v-vsZYB4)eos3!X>pAM{<;=pSnA5ITR>lH33Q002ovPDHLk FV1fu4-^Ks{ delta 461 zcmV;;0W$u93jYbPJp+HONkloaYI~sA>>Xz{y?WI64$%+0)^jQTPHB? ztychK?_OLJSq+tXLx9})uwT(cRA}@iSis6~oL|t!)`}U8^GSbUxo9D0<+vE5u|9

~tP(F$>|UFcES2qK9+M%y-HmB~TO!f^JPrODno{a8#3OteJzaV>rtj$XeI~uXMo)if z0AS;TWQ^RUOMV~>$fd=~c58ArGkh7dxPB&Bx$fw~)LIjd2|0D)@hjlOgmDcnJtd0_ zVa&fv_@YK#g_Q2M;DVJ`01qJ70_s;P8ZiA2;0fj$&iPLw$lJL{z?w_|0000hCuI delta 524 zcmV+n0`vX03cU)jJp+I1Nkl)8DR;)F5Dq@98zB3K5K$2YByK6~pGeVCs2wN|$R|>i z0@Z{d4iUG-;m0WZ{vJk17H%PiBEn2W#{wyFP)7YgC@j?6Lacv$6pA<%5kV;3P`W7p z;1C*4$B1(2IjE2_OQqsxE>QCX`buJ@(+R6RFN{-REeAE;w!E>d9Rtn)y`b(iOg~9F zK((JMk(Y*^18+T;qr~XVS6n;ls$qh;aR;bE4jv2gY{7dZdmKcu2ZLWNM_G`vH(9-0 zHW5TkbA{(>|Zw0HBr6`DkQO)mVs6 zc!*S2CZ7%Z9{+X*Y4SAk7#i}%>R`PWYzQ1 zb=EICbx}HIvuM>I4`WOdAm8;5NMD!x-sQTbX8>HB1`w_Keg7ywv|N~+wB|{uXq9o| zKNT=BzHmB9)ixl#0eGkh12k{JgO=Z>43O^u*^RP0W%WOR7ufwm{RM}c-fOve<7of@ O002ovPDBK*LSTabNAX<% diff --git a/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png index 6029445014cc319149d48e23bbb0058d1d10b067..b9f41824586f275ba0bae233213ee0889772619d 100644 GIT binary patch delta 411 zcmV;M0c8Hn3C#(xJp+GxNklk|3~U^%v{#jFGh_U6P0%op#egE;e8KM8&mWdc0HuFAS@(a>Z;Ko zV=&Y7MF^dHDd!;4wQEQ}dTLv$S4rZcvDU5%(n5*pRyRD4p_hN@xV0omVfG(&25Dj; zo}zn=-59ErA)Z7B$eiwOnl+Vz;7c)%9XSu7pU(M(ZS^5>^ofDCG_&&hgMrF>k=qO* z_PIJ&PBSRnm|<$wAnW8%4?=0Yljt&|G?FlW`dMhpn%4L>US)-oHba5bR}|<>u&}5N zsIMC4wAoO$2(*8~W>b4&-;;MHj)}bXp2qXGHFQ-> z)YsAZwQ*`$>uEgmK%71Y&YFbbi!khRrYBOO^NfL=pGYZgrx@AQZuKDW58itkueh{o z5i%}IYY|QY5p;jOwk_jgf!r9FApow%PVw=(w&Z`3Z#okpKXvFJ&x!y5002ovPDHLk FV1k4|$VvbJ delta 410 zcmV;L0cHNp3CszwJp+GwNklPTQG&)xVq| z$N_*n9ey0_KhZxC`Aur?E6;5GGsY${(<=!gJ0ZJ7=m=7A27xhc!cCZ*h_Ki~Sm6v^wL+Npbg35Hg!2#SrLRqD zv<{+!ZSBlDLdN8@5mGA$iPkNu2MImhj77H$*a~Uc2~aWyGbY3XyuNO=FnWsztRazkejzKpRpel;>C0fzQv1#Fi(A)==@B8Z1vD>wR%`_Hz0`G!Cs*M! z_GAZQ=7}q+!u0l5N{W~G@+h}jLZNR$e0-gf{7>=$1f&u~+&8D#XaE2J07*qoM6N<$ Ef(Hh`c>n+a diff --git a/resources/g2/track/intamin/right_vertical_loop_1_1.png b/resources/g2/track/intamin/right_vertical_loop_1_1.png index 6a24268923d77e288268e7d44392c7e6a00974be..b1985d0579a9249c52b88cd9ae1ff3961b9c996f 100644 GIT binary patch delta 427 zcmV;c0aX6&3Ec^>Jp+G>NklFwFPX;ECv0{q>^ZQ(o-9l)FVi4 zY`rT%Qo3IC=KBw_!gI2&&qx6H2lDypHK*=N^^P<|gozOO%2|+ISoJu1s;ym+4HlH% z8CkoLbyfpFvpRPY=|@UI_C6&S+Xgj}oO?NxFk}`jb0{ftq@MhHKCdJW(Jvy4oN$1F-N2n;+?dK zok{WwYg1w)Av26l_vy@WbsXxFHdtvww*DiD#Yx5?2|@DCi1E8^tAsis>uUWr`^Q@n z$#+42$%O2Z*vo%xWkD=svXC08_?D!l4kXo>57JXo1j?#9A?+kk|6-Bk*?%L%no;f#kM)|oK!)rs`2`3U V8Bv9eSm`a zR1-E9yAw+zOP-Jb7>ZcLymF8-xeM=Jw$z%lT9CECu&me2TYG;;*1PkR{QUklKY$3V z6A~NJjS|4KR34HsrdcJXtAD~mJe2Qax=CtY*k1)s%tSIHk3{0IQiUM*tkasBE;g>} zf}Auhqf7O{@)n`H)KV>YLRJ~obO|9;EZw(;Nhch~(9g)nw@Dl(LC!EDp^^0>uI+#4 z8CNtR%V(0bk(hs(!QB{=o+NSIp7J(A3h)ZBJp+FpNklXA-O_@6l&GMyNtNA`pTB7wH(~K0 zB_;Hv6rCIr|Km9yAM&5pPdZ{R3; zjMQ;oJ9c=<`D@}YGP39x8+>&pB!ha7amlI8OW2Ma;Hlb7!y$iXL%s0nxO?9$f1on# zGK3rDB@=F`vN^H2Xox$5YT)DMh;)as2)|H%Lk9g@8LCF_USzm`-|-Hv2ipF|Lu=P% z+seq~BE70)06 z*BMpUqutgLAAy>(j9S*>t|h{?9Gocl|6xw_Bc(W^S6lvP8yjR>Yr{M* zF}3L2sB6X80#`%MY~O`SfluKEhEpAP1b8(iz)wCI2BsXiY6N!f-DYuC)i}&v>gx`0 zEl=~Q#mLTZ^L$v3K0xw$8^cYLZURO6%jr3vE^$_>@=kvMZvN5DQn|^zo>-`kv*sc2oTKMar!n#45N>{P1a#uo75@JBHShxy`{ag|2e}rLZ~5}x zo^ij+#3vi@+@3E4borXCb-sc)@Tn%&nfFmj!QFRdThFQF;(+jt$gj)fgNLi)I))qK zT0H_*>M%NQq76Q4@~m!Iob|&8{@e!t)^&OF{KcEEx3X*gHz0q7W5#x%A7Es~2|yxg Q;s5{u07*qoM6N<$g0Ching9R* diff --git a/resources/g2/track/intamin/right_vertical_loop_1_3.png b/resources/g2/track/intamin/right_vertical_loop_1_3.png index fbe180289de92033e02cc15263d20ab4bedef910..58d2a7738c9b14b208c95b02bfecbb3365ece044 100644 GIT binary patch delta 832 zcmV-G1Hb(94DSrEJp+FoNklZrSI zL%-m3M`O3L=TwGLDAma4e zw)Bohy;7{LXOaU?PSOz!UwHU8M4el0p?2lY7Z=2GMcd_s9`BSkJSvqC1NB{0NI|oe zQJLQ(OWVty1IQ$%H3^5wd>GQw9SA2`-}V zG#|0xZNiW=@<}Hx7}VXySx6EW3|=l~A($-lvVu*FQ8C2a=Q3D!#2yS$mW&5r%Vh1yA%X=Y1|i;2b+IV8fS^;gAqLt{5Xk%iEACqPC3g> zIx)Jjkzr+?HxvvBHX!p&Iw71*%w^;<-^P#$Za@x8wK80T!XEdF9cV zVRF3-Wk7MKzX??_$CfcdwN)r$fq^2BDRY^p$4qC9DbYNgXt%8skeN3kJ{hCHv}q_8 z-|9GoP>V5rEi*ao^LN~f!2dTei=T=2vgz9Aqw~GeU8KL%-_t)uH5y5^0k2m80000< KMNUMnLSTZy2Z`qZ delta 836 zcmV-K1H1h14D$@IJp+FsNklX_DG75QTOBtD((iZW2qq$*H_H5GGX;lm3IM z{L#znCqoGT#@!=)j&0lb{Rb$;TJrXpYTd#u6=eHFSqQgVuHT_82=&&-;FFQV85K%W zw>LB#Iphp9dgBq;lv`8NyuBHwPC+AjqLAlN*BbCQoF3h-qeXEGg*Q(G9%(EjR z8v7TBtp?vhOwoTAF+BenW4)HxNca0*%X5U7db)Pn&BiUhM(ee{_ZM65J*K*`q03u( zZ{!;jduM@-b{(oY)(I10$`AsXc0I_n%o3qzOw!SbVEbBUiBfb`kf?01iA@<4OCm%m zRd~h5lu78i_lCYI`Wa=#kbkBMb6K7-DAtL^88y+oC{}+$C*hR$pmoJu(|gz5-MC_K zSx~IVh;yZ(5H)m^Q>pO&iorH8KBhO5r9iEU4iR{MYQmLZS&?6$2LxQq*CA9Js!OE&I)@$204R~`%&0&0yqWil8no)~5=HeY-8 zv5<$@y|H3oF}%k`Adi+6!}8GZ1C!bBAWnF9%*V<(iMr4(&)hv3aj-%|Y;-B)lp@W15lEBB z|86{Ws8i=F2NVvm>r@x*T+yCWmHFh4fZ55J4~VCNfIl&a|3I92AO8S?J{k?Q2eKLf O0000L6)z-gFud;xFRO;X~XpDlZ~+MLk21owz=`aP~=bbk)hsH3R$uO>kv5F0vk7U6Uf&7PQ)$ gO}qVb^?x1M7dO!2=k@`S@Bjb+07*qoM6N<$f`^`-O#lD@ delta 338 zcmV-Y0j>Ul355x;Jp+F;Nkl~Zd`T2=b60Z@ z@jPcojM*TNT-J3_O%%n@SilA*dY}#~mw+k8Gz%Dq!Jj1#7@0pw)=+hychEm(*P_A7 zs68bbqWwZyz8Olh8X`ENpukgWudkn7q<2+ep6e1vVX&vUGMRgQleAWdv$WJp+H03E>krxa(`-THpcVWb%RdPak+0$Jw+@o+Zfg}M!>Ge2DJdcb?j8`5mK;I z8JInMry^0}ol4}{fny(@DfGFLR58BU20a+iOqYa2Y_6goON@V38_-3{u~UIXjkc;@ z6+`p573pwR#j;nwiXqN`chqXlriUGR?;(*7SElG2!@=Kd)Wwhi)2P}dH$*?MC@I}8 ztOzg`#ebBHG#|x)=qy?7HG{XPREY@XC=EBn=)+1WrX4>+{qM(ZdE~~MwHc+KS&oYX zL!DC)^={Tn4}^crN2RE1jK@I`=M5<jVJjCryJTErQPsSz;LeKKMC|;Y%W=(U1<~H zZD7WQ5$Gg(^$zSeANL$o`G+d!!+1df4OORj1-W#*Vz_pe{)gawoAf7G4L?_IV0+t% zjNBrA^%Q=HBrebGXIGJ9pD!m~NTJHsnS5%JXj8lnQc zLE>?u>#Yp7Z&H1-NWo^kAw(vhevwV6}4K?6kdPPYm-pS-CKFsn;oMk zGut5=Co?~W(h@<0@VO2J2y+bAW2{D{K(qxjbVW6_Yq~quT0oG15%a3B)iM~9DhCIz zs2a067Ap9b^j6AI2ZjXw@8gxPa!Mb@Y743s4F3)o#Td_9KJ+9}idxheAz$O1M_|rg zXB9vm@pTMjRi1xKffU9%eI4vH>VjacW>@Sy=gUeEKH3m4U4p^|7Ky>#IjEyurQSO- zlE{QQf>=a+$Oyj9SRUHHL{`a(U4Sb?~3;>n3DBr*&if=C2}m-ZqC zXJ7(`D>;rjN$|+6G|pNG`bGFFP+)kFvrQVPjN>4dxRiHwa7y|!0*!z$8@_MmDIE~5 z0yWA3aym5K7#IN@!a7jK%!F7k=li?Sg-}WeTxW3?dLsls{epGvK@`PUqdf@;_6J!v z1f@>yyBMOu^#;!i3*EGb=$}(Rf!p~#fb*XK{R5dLk>0#6OA`P9002ovPDHLkV1feB B=63)9 diff --git a/resources/g2/track/intamin/right_vertical_loop_2_3.png b/resources/g2/track/intamin/right_vertical_loop_2_3.png index e39078ac2dbfb51a6225d256b7fe31f3f9b9e5b0..055a04c6fc6ae8d809c78c0a18d3627a2435740b 100644 GIT binary patch delta 227 zcmV<9038372$u-3Jp+HmNkliOz^_r?%4~NDR5^YDCbCh$OwQqO6J!&IlS$p!_UkaIKmH|(q0s4>4=usYV d30ri+RQt*bYFe!?W_ zo&5ZC->z4vgwD9cD-^My#|$Opod({?r^leNbt&U(ky?ez#1)E3D%#+nN@#J;wBwY; zp3~<+ytJVw2IoGPX%0?F=Yv28rOvsf=jn~JipK*juL|`~pt^XRhg@FFYT*=4M b2(6{Q1El@IZH7zC00000NkvXXu0mjfNqcd7 diff --git a/resources/g2/track/intamin/right_vertical_loop_2_4.png b/resources/g2/track/intamin/right_vertical_loop_2_4.png index 0ca2bb341042d3b9078298fe266a4e77baae6ebb..1c1a50d630c8b40bc69ae26447dcfdfcaf0df85b 100644 GIT binary patch delta 701 zcmV;u0z&=c3+)TAJp+H6NklNtWXv5Jb8E)r#45lNLEZEh-Y(y($4LZ27(K zP~<2%hf`{Oxx#t*2#}nZZU48 zZ+4Vin0v@&0Z$9P_W{2wNZ$g6Y#*I;_z;sYFJKWFoo8^)ix7Wb27mv_mQrQ@=f^%c zT>q>tf5TSYqBuhp_fTn9Ne^&9QcKN^`+$QcT>~O~Qntn^1%`#ScX8ggMvtDO8Bv9_ z5`KCgg;V+d8#W`giy$9e=Mj!i@JHI>V`}hLq9KE82qYG70aDyO6l1J>Vozl;%Nl^8S=A>3FrG# z#7BzHiJS1NjESoAp{*=C8@WElnDgSVut?ku^F<;UEF}#0!ZKhRB9W^#Rzb@xSZ9{! z%&L`oRX&RkE5(+P(B-_9Zy^lJm=Yrq-m))l7`K1lh1P$c%bHC!y)SLwFIjW(t{(PQ+_33Yy6r41d>_^<99M^N zQds!%J2rpU+X05@+OXCYw%)APJN6c4LQC-1mQ6JS9hkmN9tq>HWmJ)7;Zht1vE zmJPA+p89X1?C<_zlg`qe94uM93XGH3<|D_k-jCE17WL@k%!GZ3oUq6QUWf)Cux0|I zd_vCWy4pCOu-NQm=a9{(r3)b^KC8uiBXZYuNs_EE3`BkZtF`Cqn|v(Eq8FVqRe#kUydWUr zk)$&rxv9f4qZvR4_?C%2)zru+0 zSDafm)8$pciYb3LPrPtpaJAwPwTO5MY3^dcLd4_22a0*_!YZ=n&x66`dtUlhzI}ua zdrXm5mPa(084Wd7Tm;VGTFL5;%{ebE1AhAALYblukn1_?EX?D^nlP+gpb~~~w=VP? zm%_sZK7ZMZvZ{**{xmFldo2vh^?hf(y-GE{jKJM**86{rFkF=T{!xrD@BKy?vA7x| zYU;i&BxEP-9CC-Ur?xB$Y|nx$R-Pm+oAGY^Pbl3R~F*y#z!pr11~+AsPnYJ)31Ej4UT??c^?j)R8HVYVL9Ax0b% ZegSE_8=^<{`waj9002ovPDHLkV1maIRMY?f diff --git a/resources/g2/track/intamin/right_vertical_loop_3_1.png b/resources/g2/track/intamin/right_vertical_loop_3_1.png index fb9f7e819d0abcfa7db9e9a0d62c98f3a40f4bf9..cade790acdfadee8fd2a47f2e28bcbc71889d8d0 100644 GIT binary patch delta 354 zcmV-o0iFJ$36%-3Jp+G3Nkl(JxYuX%woPF)l{QtQZ=he zb)%Fl-t#x$lKa%B-mBjG&gPT+$?0=CCjfuSkb8$9hd2agXn2~vNh>s+=wO~=f+fz_=xHgMOphYTAzgo)p9!G2=1pViVW{xz z&;nSBS^^)INOOwoeeKK-T8abhvE)h!VyN zwq=PA=9V#eRV>6AjVxT6n>yzGT`Pla&N?>+jfIm6xIo8cpVnH@vl_#S-nOvD$inrA zCe=tz)CO>?vcX!4&I3?@u|Ud2JFM)3?HP8x=N}6+KP=r@JkG0OJ$F@_YFG&;S4c07*qoM6N<$g1d^Z AV>>428M>)fxsIa+I-+VHSOcR&AxGiJH|& z^A-dlzYqVAu!fgjdM-Wpn=Kdp7ppJpH30mV2&MNGj8gsufv@zHnkP|y>V!Lyn;yM2 zBte9=1GDz>ID=T?Ee`-n0HL{hBgN7?(NR63OH6rYy%Mg5uQq>2jn9Ew&1#$(0I_Wo zOzy7MC5|kwbs~poU-T=v&pl@^7_A*zgL0DlHQ3KDE znNdtiF@gnJN_p4J(~Sax7`lLscrFd!;3-wzZ5jf^gu@7}W{O>Pw^QK7$*ws#ozXQ9 z^+@M&^*(%m4`yy<#I7u8i9qx1aP-9-U3Xh&1xf;qcBpa0lKHysa2B zCS>D@aK%D&SJtZe@TEd;izB{Ic_pJpXaBS*K!(PMbDp%*?%!~q+jqG5$|nl^F&h8? N002ovPDHLkV1mC%tl0nn diff --git a/resources/g2/track/intamin/right_vertical_loop_3_2.png b/resources/g2/track/intamin/right_vertical_loop_3_2.png index 45761aeaf18af959474ed1700e53766bd76623db..702de75d6672ed886ac9e210836ac15e8b5c5324 100644 GIT binary patch delta 403 zcmV;E0c`%s3B?JpJp+GpNkl@x`2HsYG{nW&6uuTjR**vztFT!Kdy#^R*K;hQGVF6D2Ap)t( z@21$s3Y_-1!*PKx>>p?XQVDxSqbMr$L=$j|B7PIX{a__d!Q21nagSnK58#bDwu;)v xGWBn?_2a+{Ey$aT!=}cFUhfZTtC3y(* zq1CPhM1QM&T)8Xfy_&F4F;n)G>uW`p8XPbY>zc|_OBPdA>7qx<`;tUU707$;o%>oG zElo{H2g`vk#8+gg<2=8w&v_0@PvRvvoBn?9kE(cMvd_=&NIjv8e=wAWxhD= zN94I81)N|%SaJ48!WqrTSey$KCL=aV9G1T3J+W#cNR)hx;kuB2@8*c|NFPz9y-u2< zL9<{?pbc_#j){Lh(GsH=t|WLx6CRA z#gj>qD8T!c1-UnzCv{_tC^70Bq!jY4b-lS*=mmLuYI|oyN$$P`-zYFOcb%L0jatRt zW1SwsxBu3#(ee)o6t-Tk#{YqlKU6++Ae87@gep z{g789sYxE@=lNj-bk>?+=3_mny;`fu08Gker14(g4>NK%;Us^SYMcF?suFk5Usr$Q zc7->R&0iz&`yQ64K+)u{;*d98jN0kJ;E(NG_34P*;wtTv#8KV+F@y9^geNZagU$s} z%`(K{udXVtg4DWwJL*q?I#*v%jer?9Jaktf)Je6A*HuNcRSxYxR(Q3|3;YB;KWA_y!MQJHC(1p;Xxkd!x+a{)lX zzFDbBv~F3#0)mM|H*H8&kwaFZIjjOC@0nv-BW^JS?`uOu#G=e$)nsa%ENy>5rI{Xdkq%j{3bGONc(LzR zqSBw?vJIh%9+&BU7G5I5l=_Si3+sV&u#3zM03;5Sx&W00sU3$Tkd*U;a@1c)1-~P= z3Dwh#L{PGxCltM>hWDux9h*c68`O(wlgPpcBRaE9qF}brzK_INN0Z1#)G}=nB^|%= z(*tu^fEs^RD^SeXqN6s)jC1Tz-*j}=0jf`Avkpu#vw_O79fo{p$M6l`4pU`CJ4Qa% z!wg@VED<)XhbcBg#EqGqJU)><|G(IH@mL!K9!JG8U(1Px(~+4F0-cLTAXn=s8|@y^ zAjSxe`x14D!oZ!3)cfjDgB)noq$RH&g^^r|{W4&iMHk?6h;JW?eUv%sXhdZ~Y|ETI zeT77E?0a3z;1NE#V=QL!X$C5GPAOnB{aV1uN+J6 asQ&EF}(Nf)m>C6ZM8uk$}i{p?n*A@}dZ+RiTmQJb35HSAsx^$pQ9|8|khC@L~P zFB!o%B=xV%U(z?~T+>HZ+a_vfEj4{)HHc2C_x0gV9_+V)!?FupqEIPO5KlYZLM|V&vZwq zbUjFj;eA;P$Z~(?PnpUKtuoZhRDz4z$6RjwLG2s0HVDiwCGQ3u9bhgiFLdRCJ_mcD zN&~k)r=*xxYdQvt>t0AXW2|VH?P-LxF!vv7|;4^n@fH4Xlh;@lw@I*^!`BlHH)w4Yp(vs?nwwdQ9|a^6sG5Ud*;Xy}pK zhH%YFJnyArM>rbgU_!ChsxONscAZse(fdDCIw znW7O-?f79}Id)m&g#BxSach{I^E+Zof?myxwRG*LAvN@YftaWLWzvnH{@xx#7ac(+ gF3LX{$#JfK04G*F?p3*Mp#T5?07*qoM6N<$f;SClZ2$lO diff --git a/resources/g2/track/intamin/right_vertical_loop_3_4.png b/resources/g2/track/intamin/right_vertical_loop_3_4.png index da1df7d5e00569cc0e9da2db1076c9c3c4a2a2e1..d74c44edb8fb288fc72fd9db95bc2fa8436d7af1 100644 GIT binary patch delta 343 zcmV-d0jU0j35p4@Jp+F@Nklf{I=wqiOly3*$Cwh3kAX|U=0FYME!!-R5$Erl} zM1{e|WdpMhDO{^WCWf4erBrPu8T|!_vDz8WnF^^npt}|keee6e_pZIlf>(z_A}CuC zQk(YP;{$*+=1ekPKR1Ozh&vGewsi-B7RZLMoPEQMD9Xi}?IPgu39zi%mJ4&Q2Hdth zAo|P}#Flf>5HC-I`bs!Y}JP^M=GP@CVL6V{2DOM7RI|002ovPDHLkV1kjtn(F`n delta 337 zcmV-X0j~av34{r-Jp+F-Nklnfzcx3qGkUlxwNBH320HM`e3v8wJZWjPhCRS6a7Ytyg z2HHTBi}n7-Bj;oU(z%4Nb6Xe>k;GuziB%FY};s)a4Gr=F34a zl1qt~3^tR8UdVrK=$zGhhc9r?ZkL4xZo-FDaV^w~0rXh{j(=RPVXY01OppR(vdPPo zp}*QI&q!`-@9;IY@TK!GBeBbM9cJ=S4CPw*{K$Qo(`*UGOW8v@9J31o7|BTMt_}A^ zU~${2464f(>nZCuo>BIHU3blTj#d7ga=qQRt9?Yo3(G;~M9EDqF_(b}ZL8Oqhcp2+ zy}>-B0{xEiJ2}R+f;T5O3fAK(_yV&x+UM&ZryK1WR96|i00000NkvXXu0mjfOt^>a>HK9lb7%;Aw#bS^}1X{1}o9EnANOK+XRrcg!O+6vLrk56f=2q4EZOW z;wVmAXrLvuQYXYA$&r^JsyuBh34JMUWgAG|P zowCyw@!;mPpLu%nzP9ovooQ(LoNdIU(^DIQT_MKqWH}KVH`f|Xz0B#^B~s;|!Fznt zlf&uOY#Zm0n{R&?lG!D)x%BXYYc4`IyFFO=h9ABNcr0`r;hWXr_$&Q{Z!KxAU9g3I zhmX9mB;YfAjR?EIbqdlB-@B?0wz+s?iJ;*tZ~YL^4&TeQOJ<`RW~uVR9QD;b#<#<# zTq&0}2#Nkli2+Le*LJ3Y0jZ+rLzvWWr zlq^!05VGSu+p2#Jlq|8X=>B7+RPu#O2w7CaOIs{tI3_41Vd8+JloFpcCNSl~CFj+p zmhffF$dvUW*(r~01#Y=}cUHSZm3>DG(sD7p59(mkme9@IbC?#u(PW@;7*-d&G>>q6 zhv6!dVNGjdI!lI%VWhkU>IM=sE#?8x{DrzSW||DRG%J79?UA@?tqdFG{DB^m8<6~; zO;j`K?~4bApqlA0dFWRL=*1XcDBcr!NgP|LW7NuTGYJsdR8~!RGxeRRA(}-cLWYs>*L{mIki z3iA8+&FoK!w~6rRRcpV4q)xgtE-HffH~(zm=E@#QL4bB@7VATM&k&{{Vf8`41A6k)-ocWQYI&002ovPDHLkV1fl{AVUBE delta 611 zcmV-p0-XJb3zQ46Jp+G2NklBxgjZTH9Q-Frbb& zM(uNr!ciHm&A!&KCRxfNKE~Dc+y^f#`!m?F&VF1ZrBr#9)7O7a8FPy24W~JG&PDM) zhSIt+>&`bRL%dTNV0NcmND(c%E)eS^l3-3mdFm^roM}oY#fMl`@2$;13-fYbeQiw@ z@HD0O$90XdQ~}R|p)f=+4EU$?L(B7Oc5F*%Fh$v^jP<5V|0)`t?*1ao%JBrt=yc;L zwaciro8dTR%0Pd9tVAh$Qs!X-@cKPwJ`@A>#Z`hWFHHyq1|1B^7@svJ6eydgDPa;= zX|{xyF{$K9RZQG;T0(vM83Z<}ZjIV-os>dA&!rP%>Jtv2pw~VQNI2erkkd$e xwjO^(hdX`%J;VL+=Lo37e*`J)7ohKC{sScenMN9{ZxjFk002ovPDHLkV1k3kCIkQg diff --git a/resources/g2/track/intamin/right_vertical_loop_4_3.png b/resources/g2/track/intamin/right_vertical_loop_4_3.png index ea9e082473ce391059d95ec7e173fb69d393d158..19aaf01acfd77fd6f46bffc32eeea57c34c5242a 100644 GIT binary patch delta 686 zcmV;f0#W_q3*HN`Jp+G?Nkl;cnz0421puueR7E+ec{vwqd0kbFF&PRc86O z+Aovw*g%Mq#hm^7v&y5q2U5Aqf2jQa?pFRsf1W9&53*sQ*=*JXe9Ci1skHK!d!ZwNvA)-tUBJ4M8K<(`dkfRL#(`np!Y-m=^S*=N7<@)n1K0Ovx++8|@Xd`5Ha702VXGTzw8SI=2hO zA;Hob%S;xSych zIQck_;fw8`I8bR58Q2z`Ae>Trw%v;bx@UW^sssDJ@|l0Lm>jS}yU%%USPs^G;Cy0v zL-&Lx{MxZ&J=nN_a0zT#kuy+4v8%0{)H61PP2RDn4X?hs4=5K<=0XGmQ zg)Ei&v0)oRvq`w%Y!}3RgB_!3borSIb5jH{7m1y*XFt|F;L_axi;cMr7;xmHgOhsvJPdPuXTWuysE)%jT{~s1Xyou80TKisq05F+E Uw$L8v^#A|>07*qoM6N<$f)6`ZL;wH) delta 690 zcmV;j0!{ti3*rl~Jp+G`NklYi{E(41{(6t5u|I=P0$rhZJCkX|cs(3o7}M z2l9m;&QNqpNghPmw?B{iQQreg?e#yDf4}yq|D!*@sULVYx2QRMwFD))#~7-uP^D>< zXeCjzaZ6*W?5ddp(jIi6RZKo!nOYHTW(r`F&f>?b>{^zU{bCI$&t;kp3Sx%d zj+4A&MJ6^%HrTUSd7iYnMmbAgQMW2Z}5O=wu;KIooTFK=Xc82Bi9>YEDe%q!{X1@ajlpKtkolB3pZ|$8S^mg z*>aXz`)XfgId56M0`5qeH-b4P7z$*qwCIaH`Ftv1Mc9rE827bD8E=pwcym+vN5os$ YAI@t;IRtq{6#xJL07*qoM6N<$g316&X#fBK diff --git a/resources/g2/track/intamin/right_vertical_loop_4_4.png b/resources/g2/track/intamin/right_vertical_loop_4_4.png index e4d29b9325d4fbb85f283c7e60f4206c6526d252..d7e8e8a7d0f773cd6df197aeaaa88ee528fc6c83 100644 GIT binary patch delta 379 zcmV->0fhdw39bpSJp+GSNkl&@A#6HZYLTdB8 z{g~*zj?jnWtJ+z0skOgCS}joCRS@zaqSl-lPbwv)#EO^q5rCPcsQDZg_~0~@FA?Px zoDM4DYGHkPxKkI$QO<4;bOD?Wq%xg=Z#1T&LdT!!)F&D(JE?z82@-eRh|E2x8|eN> zbCRw5ri#=XX$W|WKHN;k6P?jDGKr$cKo1^W-Mlc$jXvrV4U9=MZf_(||k7Vh)~d^>Ue2aGb` ZK)=r#%C!)Jk&XZW002ovPDHLkV1nM5wx<99 delta 386 zcmV-|0e$|i3AG8ZJp+GZNklIdNA zTS;Dt==byxCliYT|J?X9A4ccs~@+K}mxZ9e_WqG1&z$Ly0fmfzYouISs^VEL`Zl}gw%mXJ8gT_gR z8+Cc+Yfd2Cw$3_$C|-e!&+fGGn5WzWJTl90QBh_#uf?V?yy^aZq!TMTRd)ymT0s$3 zuNB@*hd1@m5a>mXKnCx~&LuGPq%c)u4mowNcTX0&;^0|a8ErYriH)H#1H~*Xl{*bw z$%YZ(x>oDHFSdHd0cG$|VNRF8OIATHgU7N@>l#P;jy)ReZ7i^dK z(L=OixTEQSZw;O0lyARsSkl%~9+EE__}1GFKaLNIblewg3Xz8~^$edPHWs*JB%k5q gjmtk^l=%zv16c^u7u>u^3IG5A07*qoM6N<$g6k}~H2?qr diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_1.png b/resources/g2/track/intamin/small_flat_to_steep_up_1.png index d17e1dec86c8968f00722c883a05717825393395..45a82d2dd11d18e266b0fed07b29a52804bcaca8 100644 GIT binary patch delta 574 zcmV-E0>S;^3hxTAJp+FoNklJV^<^PWlZDG$Z=- zrCjJ|hcH`-Xv)0fDaGqEzO>KeMb{624?&zay7oOS$cJz?Gu?6Vw7^5zw8*)Lt2%5U zuJLAa2EPGtoADk?Ykt{N!N<8g1*!c+q8z94kaRCNVc3^hT_k_{CnyE-sjkVt_8LcU zM_z*F@;Z^HTi%c@rA%?+zT<#vkqUWgQ+Wv2Qp9Rp#YK8@Dd#qcJyBMKz3<)49H(%K z+MQXl*=4iG=9GeGz|C*s9`PL2un|L@F-<0fD~8(5i_PUhKo3KqwFaCg1BkkLpq?t= zBr`XyXX+H+b54KbHt}4Vx^slm@v)nnc`w?oAUH!jGw*_E51fFhj^~jZsQcfTXE;H8 zkdATY`)?nBl#g8V$jvW~F1dhnZDSm2&69+1I-bfXv6)-L@beZq&%_5u8B{U6u+JI0 zyl%+xb5O;Zj~q`gUtf-=_>8+atO`c4KcnOAIZ=+Mt=)e$P_*NwPq@<_7`y~qyIRW! zykkN=;M>NRhp;cikq_L226@_IMYU*A|3UnXB0$GH;$izL>LxQt>ttFSg|6et^eiQQX&FMQQQ^d|O-O>9@px{Pux(Kd=h^09w$RWWiF=4FCWD M07*qoM6N<$g4A&$*8l(j delta 560 zcmV-00?+;L3gHT{Jp+FaNklB_2-&nnX=lSRdPVjxW_22j;8qRP9zT=KySOSmA?{S3A-tb~K zoHFn-iH7sZ5$!v!p*N0c{}usn>2%{fpZ6?n*wB6YCCl@X(6>st`^6O~!`_nafuGJL_iY#{uYt9sP00000 LNkvXXu0mjfU$RJy delta 159 zcmV;Q0AT;o2h#_zJp+G%NklH+X+$9B%sZ=19x(Kb?BhEmzwtOS(pbmgqGtXz_X)4+rU^&DCrkhU002ov JPDHLkV1oaIs}%qM delta 356 zcmV-q0h|7w36}}5Jp+G5NklrQsoR^&hnTuAQW&m9H z84V;7+#3M0wP}+dFmqxXxJN$l_KXBi{@nVE-Os4%Lf;-pc{=DfQyyI3A<1$o`pT zG96(He|szuU;j0qfkK|0CD^=H3`2AOyAcwZ-h?KOyumJXN``7D|MZ;F zEQqB45|M2a+(v;U5co<6rA&uHQ8x^d!{%$Gnbp#iqjgn=r{Np!X3%_%Np*iWtsegR zv4Eq;fL&Y;c1u5jqI`DpjbTDagoM<2 zs?^dVBCX5WXT&&*M%Y<6LU9iEX}-Y_^9&l74dF5TO~4o!%VkA`zw08XDi;s8b#2#U zG=FSCf#sNWMyDi&fo&;A>=?t{Y=}WOT}pq=k~9ly17dc>wibU?*wnC`!5zuIfLm#u z=tQ>VFkjZ%ueUvP}O&N+hdfT<9#>sm^EV!2XvavXvVvI_-o5tEA3mwKo_u$`GWM3RiCoEk()LS>`B z2VGk0o|}mVRGn#>#Q8@rqWUYF4b|S8~;^E!eHJ`rA{or@LwaTZI@)G=B<^RzK=Fhm)Eyx^7 P00000NkvXXu0mjfM&dCOPifa&KYf!wD*2jUtWK~HF z>55?+3OOvT)YkeR7F!w+3``_bKzHoVL^dY8aoTud=Oi{}1xXqK z>2qCY6P;N=JHE!>93F5V$aA&zQRA5V#lLw}@4dD57W~=D|EDkB;H^}D5kOi10000< KMNUMnLSTZCG^;uQ diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_4.png b/resources/g2/track/intamin/small_flat_to_steep_up_4.png index d20b667cde85f3e877dbf7e229e7ce52b7073768..36f88599e5f5aa77846b05388b2bed884f6db75f 100644 GIT binary patch delta 601 zcmV-f0;c`<3W^J`Jp+F@NklJV9B-5S)HqKL!j!}igtODEg-p+tKQ7%Z2|8& zK2QCY`#kuv2%ea4UkdCbTYv%u1xW+mhb;kZGY^f6>)9R>+hfpl2t*N3<Z77p$Qu>OPf%?>Y)`%TKa+qI zyge1f5V%%3N;g~fxnPQFDGPtFT~Q`@no=J*m#qF8c%NCT813~+SRlJ1qHsQSD6pG7 z*%hH>7(Wy(FV}yfMerPOD9|~*AkxfD@XWwu(U|KXidN4QSUqwJ?+$Y}JqzEdxi(e` zmO%1vUwT)5FbG)X5R_0y)4$n@4euh28F+nzjoB>%1k{%{%G%ANM581Mn2YP|9j|LR z+nUh>T0qa&KtUQrZ)6fgeQAJ;#_+HSNg-N|;%x$DSp{nL#43H7#6eqm&snq3ql?@b`jBi+bDc;BSIrrElSH1_-iM&zq3TC_4tdA0h!^uYp^_ nOX+1FzkVfsn}vT6-lO&#;5UuL7|Z2|8o zp3hVJ+~}|fJ_y>Z>v-qF4S@nsE44P@w|JTY93b$>G6qzFZRvj!&~k*OZ0}~SItbdP zmh&im*aCr6U=DR?lxSuE0f6R0-wJsN44^YY9?8ytAaE*Lhr-(}2mTvWo15)vVE>+k zG2M-+2oVBWg${+Y$IcTymu2BMdvQXHQLE@fe{E(6K19+ghT{92H!AXRKXoX8?tG&n zqGIHG&FLn=d7!&aJ6+achfV|Gd0(SI{pg0_umat>YaKVoFy8 z+#`BqW?6U`i)p+d5D2JxXZ1<{!tc*5=st5+iQQF&i=eQp2Za2R=pySaaQ!R-qfPW; zqZc6y>3lxO;|6*WNU&+)9{OFiGK7-c+yFmdD;9V zGvNs7ULg{~xmC~MrKEFwPU}g2ITOInUrwHXj>igN9K>r8#_HvujYwaGF72R=)yh}x z{h*CFc3oJt9OH5Px?`2c)C0ef zK=tgqN-!C%eCQzZY6QoZ79>XmuOg9w4Rm zlm?!(Gt@`AbvK{L)z5I^5xrF}cll7c5VcSx6+l4k-MsVa-BjpLEWg} z5x#BPEIdbRx*mU2be@icsYz#Q=^pPe_GTVlcL-><9bX{2n0e4J{flpNS=tsl#y)yz z&0RY* zrwk2yIT)VErD0)+^)4yh4$~D4trFvh7ptG1He%?Ma*ls)6z@Ho_oKd5uXIO4|v_{`^;~=z z{o?a&0Z>LQCL~(`zfLc|{RIIi7w}~o@lx71D<|gUExvp44s2^)!{h&~`~m0NJa%mI RI+p+d002ovPDHLkV1is$G$#N6 delta 620 zcmV-y0+aoy3!MwFJp+GBNklC4mV$?o%&&jpMT~myT;0bkiC;KC zi<)KAy^tlr2h(R220l$@ytS+ST~W;oIG%Kqc%~lzAl7GS%&pcb{xH{Cmc9#=+@GLp zHetAru|MB#oxCw`(=r;%?mJrQ+jk$#5tA>jD(c$5b1#)+8fi387bSJaIPaG4+C z>l(CbnNT@Pg1~>sjssIyfd%;yzr&@-7Ii~_-MTnDv6wfHA#jhc5zfY{nM_3j$Y z@$vqNItu7Q`F4+XFzhaHTBj*Grd!NN4N>5>A!+6I>cJTtzW3OqA<4zJCpO z84d2_)ske!Cvar5OicMV+Fxf_bv1iz*}@oEu)ouh&lm0B(_XXRrsapa?*u$jZPnL) zFEy%uCiRHwtpe39c0YCOPf-eUj@yK^U|;^xF?x9X$I5>XdOUuuacaB(0000=xN%XRk)s9DMk?Slqz zf*1w-hnhOG0Z9bjsa175SP>EGZJ|~;zlHh1u#yf@@Z*TFX{}vTJwy$ndWbu?M;lgw ztt&^0o%NViVQDb^EzBaibU2K@z-2W z*)k$c9$7_R?Ix(}dIO9>&?bP$81DhyE`z-{oRZac7-RHvDr!57=tls&I6}*V!LhVd zsU1FvGqirB1l%}86b=+wviI23=L*9z0SmTOH|>!Lk~&Y?nSfcQA~~BzciVSEOoR8S z!DH7BI}cRl7TbJSgj~dW7`k2cR5*{1a4I7{!UQQT$!{RKq*NX?LC(KVAQQ+}z#qsz bkgmrc>MiyS;y#Z600000NkvXXu0mjf3HM;P diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_diag_3.png b/resources/g2/track/intamin/small_flat_to_steep_up_diag_3.png index e8e0bbf3ddab36cc96e937e67fd39c10c77f4d3d..01033fb14736c8b26c5e4d0f9646eabb4d6ba03b 100644 GIT binary patch delta 681 zcmV;a0#^OS3)u^>Jp+G-Nkluw_<4260BM{9-w1AUW%4epOU_9QE9FPlt) zR5gv{Z_dR`1BDll)>i>kUqh(qYXlvuyhP9-pZOKS3VmrR?P)-&fi>-=Ju4#D7N%~I zo+U&O)>^#QlOkqJwN>Rc<+DDMMDNi8&^5=R(w+)4?$nwtX3c+8Py3iSd(5q^VPWoc z*2fskJS@rr6MEUw`Nafa#8lo}7z>7!$~hw}AaoC+PQ_Yf))Re zWr!wwS=?jbv9*7a6)GqsMsfr$2cmf6m21 zJ9lgZ{@fh_1_}{Kxm>ngiCoEV82BiCcp)O#%!nS%NtcN@;7>F5H2CufwkY`uSspyBNjMK@VFft2&V|JX2r z5a0u50^}f1q+yI|>t!)R3$hI#j732-m-*F)1zsF`1k#VMEDv`r-fs99EROsFII}(?)OMeg_;fQ0g%cCo=sz*LDMjvKu3hsaC{{4PDIlN0l4!1ZiarFHoS-R4MRXkIIT6CJ}&Wm&6d0H&jAF6Zj-As>g0)-C1zX&-+BEBJIADhxB^XGOHu zq&G%cMjLk7;`4(kfcRM64krpjhA5t5bSP+uGVgEuFpO0aE01TfXMqAdY!GoA#k#pV zG(H?>&eAF$Ac9F8W_TWoI3IK3L%rT=waYA&n?Sg1KG}YsfuAjVnG)K-U-W@Jq9!OM z^0K(c@D!T~=uUsc`wRpN(TY|@Q@YE*&t{6K1h9`p70T05t7yar`3{6WN~+RUAqxS9 zF&Nd$Web{fnUr5J^ieTTD5Q5xCPguf+Hum^izVD#>5KA{gDs(Af0tEj;ABBYRtAdk zTIKo>Q?~MVeM1Dvqpv0405KUwhY{d#ULEXo+q$M06V`wCe{9&nbI~fyIKKISG|1RF zUW{2e`R3kdGJuU+A0fi!#L5f=<2gG3W4dO$9QNABMBV_dola}*I^n&giQNe)S%(6E zOTQIm?5Q_mz64GOgVm4kUx9m`qsit7#QI) z`tioIU zFJLi3!f4EUYkm9ktq)AsT>u#~)7GZ*l-xXTjv}<{BLJ?Aj%f$03SZs4fySeNtCC5P v#i1Nr08aqEFk!}zm7>Vgfa^k&tII#{1xRe{rcDjm00000NkvXXu0mjfpPe~2 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_diag_4.png b/resources/g2/track/intamin/small_flat_to_steep_up_diag_4.png index 646570130553eee880b4fc767c6d11c1d6dd673d..255e855653e3f05ec806b7d06be1222b39dc6936 100644 GIT binary patch delta 494 zcmV(vDMD9_fXp6!qN$5<@tV^QwPnM8{#S#H(URbZ;cG z0INYmB3Z(6Mfn(e19uGoEbI8$$MM~;@lu-KO%)$Ro6<8wY6#e|q-T~U70Rn`=>>Ta zn6R4SEEwtC=mvz7_1pCUyhHjIz_NS+!!nvyognA#s%IR^7O*>}^jsODv@w?@9sRD0 zYRlv-!}JucggI)P?%=*Wq;K^SgQU7@5LL21XZP>Ly#90s* z(zOM*2)7u|ZVMy&7mff2Rz*{Ko!)O9$wX}oD$AhcBW-3c=6a9y`Lt)#n4XIoHiZzR zDGrRwz{3gyXmeN?t6qR`2WkVLPUcTsp#1#GK}I`tx&IXeZXWe1KpQ-U?|iiR%`xc@ kc)ecd4+vAz4_ROS1Fe}a@P6WxH~;_u07*qoM6N<$g6C%HRsaA1 delta 501 zcmVO5QC|;~Nwb_&IZ< z6@l~;a%#MRJ8Q`H4f<`DFnr~)T}8BVtNi6*`U>i2ki3RWw8l zNFJqa&I8i=s^aKQ)Q7hR5IP%18;DaMXoYzJo{w`TmIZ8di7zMx;VI>0M(GCr*iy>S zA*ReN-B*bbTgZQy{T7D58Up*+fSQO(AHD}fAU=lD3#gyo=mi~*V|>9lU6pl%Qu;Pu zO8HrbbRU^(8B)47`JRW;oGB{r_Qe4D*?Ar5O=3TXwhf$ooW_;b2(v*5_L^8%#29Xl zdHJOyA?agxM8;wIl-hm-O!yAFLmtm<7D8s_+m!2=B^7!c6VzM`29*XJP rpG1CqRQe5|<2d3E_}r3y$olgi-HR%CV{;*P00000NkvXXu0mjfHqY+7 diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_1.png b/resources/g2/track/intamin/small_steep_to_flat_up_1.png index 63682161e2cb6cb4d54d7987c7ce2071f19835a8..539039c91d6abc8d0b87ec3bd7b7e8888ae96025 100644 GIT binary patch delta 486 zcmVZlGmTo%9)AUk&y55dctWTJQS+*_;kRS}^-TOSw%UP#doeDPApqJPnI1ZxQPv7A+B+WPGMn3d z{TEBE8FB>+vqXQsKrt{!6NBLx30|mv_8KaSL9?mXU_X0@6Hr;8#J@of2ifM=0?=q= zWGj#*;rYD)2QjkJY!oRvM;kfO14$Yq#X% z&>Wt=xeeCFbtSO-O_n0peua>ivgm3Obhw`(t1H>h3Yw{8d-RFI7-HC-ea)gJ^h`Fz cyr(t#1KO%Ag)c`I$^ZZW07*qoM6N<$f`9GgIRF3v delta 480 zcmV<60U!RD3X%%2Jp+HhNklb;eMw@9s$ z_UptR4>YBCmE%9aFY-Lg*XWVICT05)J&OFk4bd@L$C_{Dd`0MP{p$B!KF-%6&!hm& zYR&t&_`~ycmVJ$GBWbS+S}3}*18CW7q=Z*hp~nl+iSB8mhvpa{*G`X}MsQAUie|qGY9m>fK#)L0f$l0-ytwsm^OUP}XR1s*ZtpF=tg)C|E`d zpc;$Kxvys{basEz^h3so(9BV4b7y*5UKRjWm_b^bf#zjfQ+7kRaWy(8BI{!z%k-RC zG|1+*h|9YIa!zmIovkgPY&Wf`wmTDRW68FA$3hT;j#1fl?r&|Vph<9u-OnUV*&H~V z@Z}vm^~_KNX!;SVlxu7KJp+HNNklrzr>?30gk3=5;Wt~EF@s=XO)XyJ7)^B2W z3*#Jp+HaNklL6)vBQBSwsQTDaJ`VZIg6=oN=Ga z3c$Bg&UyK{eYq}DCGyj`U(jug+RZ`;agZr5_YXkTs`S-N8j$))aX{~=@md`av#PeP zD#kHH#6%PDhNI<}znD6}#ZfoHZ6oq1Ikng10w%TZ9f%My?m|zbjWTQ14nD0?Yl#k} z%uTAE?51#GkHRX4DO0VmW@-xO2mrHh2QCp$QupN&8M}n`_`^V#>q(pD?w@qF$Gehi R!Y%*+002ovPDHLkV1g_gXUhNp diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_2_2.png b/resources/g2/track/intamin/small_steep_to_flat_up_2_2.png index 8d9f88de24701e0b5ab18e1843617f387db52dfd..788f50160e8f06511d9b18889901a540d6db34cd 100644 GIT binary patch delta 236 zcmV*r2n1m6f3+B#%P{#0rn)~U-vd{VtDti*8#9l=Vt8EpU7agZ^Tb`uegB&s zP>n?dCD@Nj(y4a#$t`(KtQwsomvyU+c6nj%^E?BWt3IKHuIdu?b&w@LSG|MrT^0OE e(Qj%$`a^C9*aS(^n5+{30000f)x?l{Dka zg`<>*_@%NhbZ2HtCZcF4Un$~wW@?jXc;ceu7xv`LXtyS6o^BpF4%jW}5#2g!=73!B zxZ=C!22|~Ve~YME55lxhZDNU+6*XU{9eo;VjXrlEAQqs}=F3?Hsm@ca(^OB-q%Tq( zbT>ERcCM;Lcb2$<8tS$7E_>9FA&ZFUVs?bVGRCN4%K^4-RpRb===QLL-){_{$v;@x b-N(Cbu_WFSrzEh^00000NkvXXu0mjf;RJA5 delta 222 zcmV<403rXC2$Be}Jp+HhNkld*N|_L zY(lt69|~g~fHV~m=l;y9uDVK!=2UYtZ;kL7i>AtON}dZ*?naP$BN?fvmC0I%418R; zF6{&Y)%j-`g}AVhyH2)Xp`(p=(j(3eC8Z> zgJ@c2AY(AZ?7JoS6ida3>gu%}fYOFYL6YfDF5i~0sg^U Y0SMmUFU4<`%>V!Z07*qoM6N<$f-?qc@c;k- diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_3_2.png b/resources/g2/track/intamin/small_steep_to_flat_up_3_2.png index 24269da7396a0d09be8670e7099aa260b64b809c..49e994ec0a62f7e398428ea6a31c9a30ddd80a67 100644 GIT binary patch delta 262 zcmV+h0r~#92)YQcJp+H}Nklu$p!3v$MYepggv`Hf6bYN>E| zs5pwnD)?MUHGtgIx|+LBAAQUbx%{|R@7Og8m;@r979A-?lUhzjRm55?^ge`?zfwM{rR2tsv0nnh{s>l-8j6S{m1 z7{4M#EQA-xR1zC>4Yy=wds3~7S}rFCsQ9{e6F8h_%y~z5#O!_i&GE+fl@z(CX5mb6 z0?H9jp9tUG+ft8W2ptW^SR8g(9=Y-zDxJt{{Ef*5sbZmeMoEs5zvU8fkqgzfZ~MLt z3c_XC%+z`jH;cAWLq;g^$uaxf!B9>?b%TuK1ubdjGOsa~;C^mB?^oV_sc@-IAix zxv&{?cFl+N;YhLcQFuy?nsTNkJ)p@IUPkj84C$EC=;9l$UweNz6Oj`iLrUx{w&J;i z3l-#%5{U({qP&5#3#B946bYRfcv1)NVCOxNz-d`%d~pps*gBWzeDA|pJ_3}_1L%t56?T>d_Rik*_u1q@ zI5qg~mRO&1=ed8kjHGjMsLu>okVF*A(v}L#aW)|lN8Gyr9At7Z%8lOG1VeLSU6J}a zWuR?(zt2M849n>)-%+B~gpDoae*m85%W35qo9*3&CdnaWZE2u`$fC7AOQ~6zi{+vq zi%L9l&W%|s&$!~y-em!EUyg6pL_v9D3R#V9s<8Dk7xQphyRNBYA-zUPNk~J?Uh6bm z&~L};WvrU9v2S<3aD?W)K4pB50+oq1pf?ZwT1}vKt&7esVZx?0>V{j#NvCU__dhjK ugfT+te)B#aM-XOy#Qx3ZBN$ozzx@N1953oy^bC{$0000FjYPE-*owy# z4iW(GxQP_m89Y%=EGZz`Jqntsc1d-n%z@Wz@D2-TroH>M&fvfcrvbw*$dVA1ZKXVsJy+40;3V7_2Eb{Z*DiH8GYH88)Ca$47(3k(=w z8GW2K;^Jg6o)gTspZ2+S3Z5`vS-yeR>BaL#Y`zpmaCBM9FDK;N^H`iZ8gcewxL9l# zq>Xn*Yuxyu@7M2A@iWl967q4klEkBK6 zKmCj;oc#U3A-TtlGjb~hvPkYp_=0eitGsaoo)DL19*(t1zSvzi{BO2)M?x`|U4s?<*cBv?a>`0000SzUCLlvl6jaTIh1J&g#VCN^+^irS~LSjU6LVGkwS%#K=GOMv_5}U!ADLiYyf!z^*3F= z#6uj7qqOQ7!+NVSuFNK2vB(eU6qe92GoKr`4cgJdkp16c5AWkgoODYt?Yawh8{uMX0^ivI+lv#WRB?4GuBv#Tyd{u%H*q`0 z-19#6RL-{NtC k-{Y~su6dVB4b4P00000NkvXXu0jG}f|Z6n5C8xG delta 645 zcmV;00($+r3$_ceJp+GaNkl)l^3`F(+pElU;CBG8OlAMRBvLR=ZA%Sl6 z&@6|mrAjs;Cu3*4?QiG6efx}KaKZ#CvT%TJ?Tot_H4*zo+ZWVfa-#%fmAY4=j zFSU(F#K(8MqzixKGJIHX@UpVy;GS|&#)$}r=`Lpn2eYB%YewAMN3=oz|}*2?rSF}_R> z?IJ3rn}eqU7po4vY+0A-{xI?00jBmDJEOXCJ`^`)x{-gn=&}qW?xM3im^T}?fstu^!Qk#VV`WbM9F7FN`EZ^~iItCIIIpPD{ybke zZBEyo$GLs@Q~a3#Zx8Y^)YljZ=As|M#~R_Xz~(B|D@SpWQlMOSoP&I#JQMi5n@rE~ zye4sSRIQ!k5tV1p^I2SY1lR8c9>@8m`q02%ntI#Wjhff zO=+S`iEdCUYNZbt-G>WR3IU}i=76=6XRvvCQX z^S~Wg@^l2w^K{S~7A(P^!&l2tT|#e37G|opgxV6E>*OGjvg28U+=~<+7Q>l1uTeN( zV*pzVXmTK`((8E@qC~Kp1k{x!m)U>ZqIRM_>r{=Az2I-+~xR-&~6M&p$!F bzwXB`Z}cCRG{Foa00000NkvXXu0mjfmr!S) delta 222 zcmV<403rXC2$Be}Jp+HhNklL|Qu=J*sIR4jKsUk$pH&8Dhq7hdB$pqLf+6 zJ>wY|yF1kQsP&F(whF+K_E_mH)i8z56h)?xva9N63gGy2hU|bG`0-FA#uOg{L-EDgt1>5UrM?UytibjX!m`Yd YFG)xrGBWN9P5=M^07*qoM6N<$g1D(;n*aa+ diff --git a/resources/g2/track/intamin/small_steep_to_flat_up_diag_3.png b/resources/g2/track/intamin/small_steep_to_flat_up_diag_3.png index ab1ce72b25c922f154c9538e6a92193313971b85..ddb39a1ea1efbf19ad46283fc2f85febcf3830dc 100644 GIT binary patch delta 697 zcmV;q0!IDk3+W56Jp+H2Nkl^)xjh+0I z2-3m;kB7sNLS>mnuU5{Z39JcSpkv(ygpg9os7Zq4C5sjrff_7!qb$3K>YNMCd2BL-m~4@F;ksx8n)}w} z$|L1HJ1W8diWhC$Mu1r&@?DI8z+JZ5B!*NTPSWtH4gG`@$_R+_ zQ63nIms>k}>s)^a!$&+&Em>zrPaUMY@iOucM8g0LE>hc+0!$y;Ps~k?!8pc%6;x$Z zDc|Nu+@fuPH~WKuSQV);U{n*LIz|^=E@t_^LbR&|tV$Bj0` z>*pM>-`fVT$dq*^G*|V+>`}&)akFr^Sa#E?iNFRT!@z%%%}q6?^-mcZa|&)O``Nrx zl7_0*c6Sym$SCW_+F7{C*cUO&t9z+8xT4E#q>kVbR1~$d_uJEhY7k9j$s2sJ-3G5q z5FFi#)Bf8SpVO#)rNpXkF!oA5^lc3MbA$kdkDMFd z3kgjSflPn7P!0i%5xEb>BvliFIo7q~!U;zKhR8^UZUc5;tYyV*(T@X2n@UM~bC9M2 z7A|rMpeH={nN6G$^>P`f0COXjELGvdvotdP8JX8L#KHrcHO!e#Oj zRWcB&eB9lVO(<`(=xC+bbIPcrAYHku^8wX0eStm!5LHoHmc@0zG{%_nCt?7g3K7&A z9%t@-T_H%*yHa#KAwtdo6gCVkPNkZoZQu77fIN4Bh;B<;Z(@Hhssw@yuNi;ipVd29 zIsiskmeq?sWq2PD8|vDCecO_1HvpNK26t;W9p3=z>Q;~3ob$#?hQWq-T%#$X=cX}z zC!^tq8#XHELhI;2n2iKQL157WSHZ>n5McmREmR8rEL_E{CI@@krWtlh6AZ}Wfk8%^Z#p3)>r*DQMFO(Bhzi@w)e6 z@sAGJP{dYi#Nv@jH8)_mDdRH6YYn$P{?)Yufe~O%b3K0uO)QSt$EJ|ow`cQhbA|MP zK)}~z$>PAyryVWDk?Z-+#+?-Sk%sGPG}qcy@DWsGOqYsWULSUY*l_1mEEBk4?;^55 znrLWxYU7Im-7)7_Z9Su}ISj8bgi+x)0KZFS5Y~ahVA0>E>(nYu)*5HL%{f6W!b8y z!{c`W0f_sqa|^LJl$gJHpj%PT>$h$x<&{T}oB0Blt(DIUXIyB9Z!Kj6bg|LC=S&{y zQK?el^oZL=hqG1~i#h_jj1U-%(Fo|mt?tl5tj`%&d%UNeWCA>HDx&>jF!oODYM=+k zPh#CED~ueXZ0UdMXB2^tU9>sv9aP{9R-#To$lU|?Uw}0F1T6sJnqL48AX^vksPf6$ zv>s#O-i8dhrav+*LfeMhmNEe*V?QdqEZHKJi~0oCh*&refT8^C9+<@exKcumA(%kX zZilpxpF=Gy9a&^q_p1A0tP5Zk@?l0a{sv#G?H`%8+_^4v@RN}#BIm-i{aoV}{kNsh g`-P_MlhX6+Klt<3E>bttjQ{`u07*qoM6N<$f;kA;;s5{u delta 435 zcmV;k0Zjhr3FQf}Jp+G}Nkl!0Ql>t&}ZsrKH4)AGNF9VPx%rZV`V*&5}ieELUHk(C@Y% z))p`+NAT84et=s0m`ooj75H++&blg4-EGL6$JLz7s*z0}SA8O;tG5X2euN!+gmJh_ zR4v4!<`ZNoHAMAh6Hq7cS?<#UV4PUS@mB@Gw`O{Qx4MV$0(4h}sN5i3-xKS`t}(DV zv8%VR(s9H{T*H42gfXBqmhN-_%dD{Ot`k&Z#zBno1Zt%2z%l_>2-irmS{UW~dCCK@ zydMdG7BGZks<-T)nPLx-y#3R(}EgW3F!Ug5xk)r5DtZzW^>u zf6fbZ>oI_=d05$x^Tcylpi+zgRG*3!y?8(aM&;B7O$@K)Wem|N{* z!O0_VL4|kn@@U~;R?>b=FZHJsv2f}mR!*&Dc?bY|+wk5BhZ}!GUN;=&qc^J2`jFK> z+vlz&i)*Lv!aF{S=p%I1Q+t)Jh)(8f{m7o(FE&ZWRiq5AyhS;v0 zT0c-6^=H?~))(H%E!A)j@I{`JtBKj>sS6L}oVcPvv6Kfn%gek-@u=7EXnpo&V1Gp& zxn7fNnE5l+&c1&vKUx!QJX6ie7W8S4;P8H8dZO*|a7k9T#yk-XMeXYy3S$EC6N8*5%b0HjxTj~*91 zA64X#Mz2>6F`A+=6Sv2TaluSt(iqFi|6IUG=GOZsi7%nwb=<#%eqT5?hkpSkW;CA@ SxoScH0000TFJIk{BVQ+vvRQtK5Sct&a-0sVmQitd5C%ONu^wWNlC-%XC0Uj`oG8pxmU2ulvn z^_XDdLThl-wxXw9I*7rC{A`c@mFki2^GuM66O@Iw2?#7OmLIBmBNrGGEn7e9Uh XQISKBa%vYs00000NkvXXu0mjfI4ba| diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_2.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_1_2.png index b47676d9920eb8967c1de93bdd18296259803813..c51bbc3a24ca783bec11c93fffdb4e435cb023db 100644 GIT binary patch delta 444 zcmV;t0Ym=x3GNB7Jp+H7Nklz9K$-Y+sP5b5nmpP#5Ax>Lo|cODO2ZAPj*qnwRK9N?Ada0|}bmf<5{UpjB&E0>e#n5cFe_APp1JMzB zO=mARE2WhE?G~}PF(p>EZ7D~O*_rz(Ip~yXyKoE+8Xfkc>ZUlwM(YX8bRl&qP zQv1J4MS9l-m}-9}60yk?QBxT$33iE?MH$yp=KX(GX zW$ZxW43m5E_S)sB<~SXGYNI^NVYSKAG`RKN@k|AYWJc9VHk8_RNZOXFpofe01s} z3rUa?{XNG?U!S@5uaLRsC|@9`YiFHLkho8s$>z2n{}aG*8U=u+(U!5?-Fxq#kl#}V z0f5})KAj(sUfOwtoH6ieGl6goh)ovqwHz1TA=d^7begYea;bl{cf?jh%ACs;p2WSr ztKCX14W0!$m~FxHd!MZo^f`F|Ky$*-r<79mc8YXnUpW4&A5uUQseoenOWJ2};ip}6 zQy@G`vW=0LEfsZl?Ma_V|CnyLFT~xGXbIO)9vBgIpCub|pd4$UIxR~r zNV@Hf7~xXQULW*U)xF+^l0CWG>@uwSjP#${Fpn329^BwZpMuvk63K)h5}%{pmbXj@ zHAI54^y?x^5fCzjdE3$K2@zWotL@IIneaOd`{c$sB7{9iS92>D=YL8el@u=o9H+Uz vM&rt3C}x)Mudkc;qH4qu;hWM!L00000NkvXXu0mjfQ(n`e diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_1.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_1.png index e929130246aa3731217253a67a9055a755f6ab0a..f7c15310ca21c3f607faeb61ec22f1dfbe95d35c 100644 GIT binary patch delta 67 zcmeyy_JeJMEwimdKI;Vst01EdP9smFU diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_2.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_2.png index 2b1df11451885a1e0c947dda039c490fd9b3862f..92fad078671262bdde921ebff62a94a647bf7f5d 100644 GIT binary patch delta 404 zcmV;F0c-x!3C0PqJp+GqNklU2?-941~G=)y$uB7F!bFhwciTw9{#45+0lh z(x;Wgh7k70BYbd5sryH0%B5D2Z=;%@=v%C{a73VF-+;~d6-g;&>H>E9AAaAToXN4N z)aWp2=YJjEmy$EbYmS+1s=dp3#0Z)^DzL~p{GSqnF`Poqh>?G`rbE+tZc#18<2WPI zJoC;s?Ic8JpQa}LZC)QL^zYpUUFil@w?gf~r*FdZ{8#?uXDX^ejyR^%}$x+SsT5KwJ z8zD3b8kNMKNSc3jY-Duy-f-(&x}VxR9zGYo){Js<8O@hC1|~II(}BD#R@D=bfo2f5 zwM3&5>s^>1FGigwnqM9%HXtSEUD$U&hpPy9-ph0J2W{ck75lxNhBoS6>9D+91{eJF y>$2DMRb8jd)lH-26w_aBPv6coB~SdJ@&&MOE#r_L5+V!$0000%^P@ delta 416 zcmV;R0bl;c3DOC$Jp+G$NklYmVd~41|6Es|^G)X9<2l|JW+iote>USL(5p zC=h>?ZAwJW&rkV9wARmGq4j9JgM1sccB5~x?(-@@$-V)*+gx&uQtLroz)AmyKhNaE zmlVB<`LSWr$^RAHZ|ykPo(lvcth(1a#;6rEd7QvQp20PKm0EwEV+m+JCUEzHZPiiC zW{m49TpxItUaP6jY0S_5$e}|IeugSkKf;HFut1i>+ft&Xlm?$^buB$k{w5&h?d?qa0ieL?mp5 zQ)wm_p0k)NVLpFk&zn2Q3L|DI0t6r%3y|2Bte+et<#p8^fODHtvXdP!PJLPCtK|B^TgM6Q&V3o}fCvBO_WCWhDH#~$hsqz+sdy7M<;!0axTV|p ziKuMlS^yB5pE>1XcNFsL8f62@<`mMnp(>Qn5z?AoP!nMIxY-vV%IhNCdi5%Rl#RLE zP`;Adgh*W?4LN{h<2G!3{Tq-+42&$ux8bYieo&*;{O9=NNL>r)v`;2`xrnd%Z zxU(Z&=JMKD5uf@iP|90_!E9?TLk0}u=B6>|&%hgsyveWK3}!?3if_n=ORV|7R4G>g z7%tno;AY_}M}R)~9vUs{1YEAk6}StJ{LH03#6F1SikE*a;dH|u*6@>mPo-^H7VDxm zrYbVv@Q(G$-SdrWWanWz6g;}v6Wv0N;XSkSG>Z?k-+&(e6fFz}7}rvZAHzN4CF2ES zI}Q>N&*&M7_@Xwp9=Xmyz8~}GqNX8tsU=Q4uhWdrmvVKiX`GP^^4ak=a>U+ZL ZFK*bDf`AXms)_&r002ovPDHLkV1k8F2g?8e delta 538 zcmV+#0_FY43d;(xJp+IFNkl{JM%I@{V<*QCbj)l6&{l!fWJR2u(avTT1_$s(V(rEoWo-E#!A zaju{~B;vXECL*=I*`-JnPVXsX!6Xe@e!`HFs`7yX#HrQ6VMzdmH!!}Xz;J%G9SO?x z2Tho@+x-AVk%If1Q0{&2M7I?3>ur<`h?6M(oAC|h{;(0gf)mPh>_sHH?h6d%_|iTX z1j80J2_aLt&hUSLLQr2t3?PXFq#lT&dJT2+j`ktMIr|D@AKfmeOQG)HVV^>r5|$QX z9(+4DSf)Gcc9_c%gVruCMx0L#0->Cu(Ububhchwpu1?$Xe(dOGGV`5^B#tcTM2qMM zz%^5hwp$w?Vg;qdr_h)VA1))ZMs)kWcYtrm(FFvPlX!n=^Y;CV$8|Hn+8QjMQz5;g z-(#VTtjC>(AMHENqw`tK^1CcxVDtUiaL#rQ0c(zl9%pz;Bc6K-#(W#(_W|Dcx~D&d zb(ceoR7XaiA$K{&=ywteOm|~ru(S?^u>V767%UwVUo6a)G(Tfdl%~$>0fWj3$U_G8 cobdV&o$(T!-}}n2!vFvP07*qoM6N<$f}$x0oB#j- diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_1.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_1.png index 7e81949a483324eab209f0095a3015b40d7c1d39..55434a30ec49a7b93a2243c0ba50314815f8c7c4 100644 GIT binary patch delta 290 zcmV+-0p0%E2-OI%Jp+FONkldOB$PYOUrYKbIK> zAi8~}Ecf7tF3&t^;pvG&D)S>POA&cJP)X`FKA*%z<_|ONW88_0@T6;vP8$CT5{I>o zs7IsiY5~j+nGvZw<$o^7&T6hTjccHa*7j>5iAgOs?GfA#P^Evov3sLd;mpkiY(e*A<$+wHWTb_A^a6nk%4ig-P(f z$MKkxz|jM5OXf-d|ejdhN%%gOAv@y21_~ zrOaSM*Lugzr!Om0EZrIBg6zzSkhxAdy5Fb!ubOr#Y(CPM=8u0=sJ}2U%bnwAQFpki zwP(tK$*`7Y!LB;YSBoqnj2gJbUYuLUbm=gK>ygys2GpBK^ez$;0m^#N`nXWYVP+wx zI-<hK%oV*7+)BdyP<4Wc!25 tPCaCvnP4`e_I4k)+Nc>|8eh1-<8LkTRET&{Ix_$O002ovPDHLkV1j_Nm)HOR diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_2.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_3_2.png index de7058d370ab3013e3816ab05550b98b23424a01..229491214fe2a23eb08c0690a8d96e7189278414 100644 GIT binary patch delta 335 zcmV-V0kHo52!aW)Jp+F*Nkl>uwu)A@1iwDd zj18srE@C;u2lq$0sH63qb4Jc=*909MNM=L;z9NL-W1gU*{e$GL;Nt=ztql3ODz??T z&>=zuq=#>r%G}y<0Ni))g+)}h%(9wakV>o6B8aHA2Q5N|RN{Z#Fg-Fn0A}27_xp`u zqY6UoAV84r4MKoY&Lr;Tq?>GR9DMm#`hF zBH%-!*o&wP7YTKgTQ!3=9P<8v%|$VHy>o(vHl2`gbt1rra?^2RJ^?L&;$Ef=4m?xJT^ hy814EL2T}$ly5xIsW3_CBkBME002ovPDHLkV1nEQm?HoH delta 331 zcmV-R0kr;t3H}JMJp+F%Nkl2mO&d=&wtqMr zT^Y)l^Mh?2Vch4foKzoktz!jVz-L73b7FNx1mH752wTefnY?Y?9thN!+TB|7}VR3(GsBg$)h5K&@gFz`RWz z2)n2UWB6LHBQ(BxY>9Ri^N?Fjdv^1$8=PX-XMhEO;_)XAl*kHVR4xQ{c_ d3y7mF5`)`421puuNLqD`zFDM4yv{-PcoA%nUK{l zQ_h!esReGeavxWUX<7aQ)(goTVoJ+rthy@ha+zlDyYy*xcN?jlyau1bSr$xT18H}a z8Ny+-{1)Asah>kc6HK2&vk9uW-YcpU;W>o(7A;~nhiEMu?G=BPhvVPS45w^d)0VGJ zG&_tG37!%>uX zlp_h`uDMSrZAsmCZbRbIAdrZd>6F9|7C%Alt zeTkx%h2~mGBjilaW%&hq5RDDvVH~%<{;ud-@J1%?83bg!UfBIiCqUR8WMiV{Mbjy# zgY^AthxDddw14@|IJFvXMM%^`Kew}>GqD`}G$9b5^VUz1lAT0000)htk2Zz2Tp)0s`6uIsM4Ei*dc z@bO;qqFb-4E_ZsRIW5b&o`&Uu?Bkr$a*h>O*WAzqF?-XXRC?eFs`!9V1j_WRQru4|sT{#fC$ Z{Q^lTOmg!BCzb#J002ovPDHLkV1nQ+?e+iw diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_2.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_4_2.png index e998b7f6fa38bffc46c19f996f213993f13074e6..4b21ac3c7e9dcefba4f8c514edb526c9567115cc 100644 GIT binary patch delta 457 zcmV;)0XF{l3Hu4KJp+HKNklN(y{IO{ zKk%(q!jytI{*L$Ye&_Xm)<^k{&HMd)kK@X*NAFkvqw@qM9;^ikhCN^}sK;iXzEoI8xk3hBpBpiF3 zOf`=a9BpY#%*d~G1LoW_pU}CG0wT%hXcnf*Rnd9ng_+FEh8X7B?#g>Z;uwQw%e>A( zP7_gD*Ym*~y5si!^sV=TQfG*IF;t$JI60MG5_6SNV0*0>^0l2ew9JH&dL02Ozk#oQtbJO1OFo@XRBM234lgXJk0)hNQ`Y%`Ymw(i77o>Gbq+nWg_d*4qr z?s)4a0~@XFLL;hm0gHBjFdbv^_TDqB?p7OPAN)@aj8Q?2o{^S^S#VbO4N)tP@5*XE zlY3k%f65u2RI$oWr!N2apuS_tNY(mZz_-G0k(HhKQ$^#v00000NkvXXu0mjfiCgLl delta 454 zcmV;%0XhEr3HS-HJp+HHNkl3`E)g)?&=VJv*@;Ab(61PSVpS{V{TK zz&5v35;!Hq@gu&DuRC71NBWF1`q9_>9>;Zb-bL?M|CV{j@vX3rF(abwyN>BI%C6zi#no~+FI-V>Eu|nsf`J8I7at~=@3wl3!*xwKw*14whVtfYQ1@2QwTEY^hk<~ zZWHVbNRCJ{E{bbF;Ub^+0>Ob70uVZ}ayfZC#b_3ZlVPH9ojR{o*`$vo=AgAb3-1jy zxWt592%(`wPCi)(OhRuYGk^O2r)?;e>kOPP42g-wjUpG!3v9zT$_7pH&!W>XiqAp6 z<}CEOvn5ep$yI;Pq?#9AUi31~W^>^{gWi~l6GKMK-BjdEvaxB*eH&lfbz+->SaO;d zT|YrN5Wt8PLgP>PmHB8q6T}R4VbQYbZX&uU79tdIreC|o#P2f(O>3>%g1q-C))@`F z5rK?@FQsl^TU)0Deektx)K=GIZygtu+#5jLLc-cDbvHhnhgmD4l)aXnJHq)$07*qoM6N<$f82|tP diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_1.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_1.png index 09b38d263662b59d1ff8ea70fc7716a79284ec76..52106c09133b3e836558b9d537d2d3791900c49a 100644 GIT binary patch delta 502 zcmV>`4YmAaK=6vS*V?WivLv z0>$T+T1~~dtEe%G7bF(sa>zsU8u!N_Y>O~O%JQMp}1B@BkyB* zrc|n=V3$xjIf|>ecT?$LbS^JcIX(m`2w-FdGw?CX5SHbMx|hgf%!5N7Iwoza?$sR- z_z=8*^i^W0G+Te)$%=bdt`R?_#s~l6Mhd7EO#zgw06ddC08!Ea#1LNJKvrteQB@G1 zzl`kli)Qb+=q!Ku@V!D<*SU3_R0Y>I(-M*?TLRKMXb0QY=QKAY30qE{8a9PiN$7h> zZ&w+X_`YcrGR>U36lh^v{!iH}B#o<(LwxA7rD6&A1Q~8eC~XNrW1AhvDavMyjW?N5 z(sN8a8^ sOs1|^K~jFYv7gJQYkw9Gh($ delta 498 zcmVNv0+qT(yYxF+;Hbn}kA zo+jt)DseDkNGri#DV_96CmhtwWUa6*@XA4bZtcL~-|AU_)wcUZ1@Kb?uy$ oP$-){T-eJ2{@lmn2Rsw}536xg^*hyZr~m)}07*qoM6N<$f+`2{u>b%7 diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_2.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_1_2.png index 5f6c98fcd9fc3c07b62faa080e88b2001a5eca83..bda63214ed4f842aca5038f19b536f924bac6dd7 100644 GIT binary patch delta 421 zcmV;W0b2gs3D*g*Jp+G*Nkl3P4D~Oj$0~K796f@%!ZZt`)oilg zL4*yR`rzypI>Bm0@PvYknKynb%1S4A7K6rWi0A~r_l#~HcTZF*O4XD3 z%&Y4mF8`nr>SuWovGh zUN|MAe;%~-4eGK@S1a4LA-nnMS;llzKjY-(Zg_6x*@<>_t6P6)na#zPnB0~t{-V>T zlE0ihgTevhw`{!yHWz0vV)b+ksH*ufx`j|gLUFoeJuIk!u@_ne+B^Cv}7 z`H4JCiNObla&&x|D+XF)CPB>`Bjk_|3-=5R{_LVu7w1F-D*6~eF_Ha7RhRhCV937Sedz^iQHu%STv4MN~C6M zB307OxBSM*9@~8cSJj~9y-tV@r{k?7USXGhzQobSo_kOW`41E8e_NV;?ytrX+ TC;w7_00000NkvXXu0mjf6!gvQ diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_1.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_2_1.png index 369bd4e8451b709c175d0c51f21be4832b6bad38..10104eaeb528a1d9e37218a525a93d759af29507 100644 GIT binary patch delta 288 zcmV+*0pI@D2-66#Jp+FMNkl6fo>fzM0=0j(<_Hbc2OCLE<4N$J%VoO zwWlDuDp!ew7*h{5#pkrOLm delta 292 zcmV+<0o(r52-gU(Jp+FQNklNCG0000L6-Nq8~9L47AMH-w`k{Yv6mDP_1 zfr&nY7sr*6*A;W$AAlxW*Rl5XM6AW7N9NjhegrbBMgz;AfE5>HH+}+2hI_{jVEUvj z$_pKJlyY^Ey5(WPr0#XSvQx{xKifbc;w>r`@ogPpW@TCi>|%d65v1y&NQf@p`Wz8@ zx>u(lh(tUXx$k$Uk4-#PPvaVg78b77uVbELbNF3mhxkpv!;(aGZre6QP7$>XZK6h? zN#r2TvU3FiIug`yo<#^es!_*j=;u7qc!I_P@1;N@0Ax`HX6R4TP?K+mLK3OsZWs*^ zv=IRnE&uF7LuyWVc#|p}a)>4h%=x=5GXQ1;Cq_)KW6+;4HCM*kFyd9}9RGBpA(K0~ oN)OEBxKI|AO1M{0;?9l7^?stC;$Ke07*qoM6N<$g8fXH7XSbN delta 337 zcmV-X0j~au34{r-Jp+F-Nkl; zqqWcA!RubJ?mK8)4?q%;x~q+AJP`u~@?))WUHk~72#*AYKLG;{Yq>E1dy>;&?Gl5O zS`VOzQ33O{BXwq1Zt7kiR;B&`BXh`?8D`OG5uW40JJc*jdGdd$HE(McQ_MrBI&7{T z(BXcYPawdLL)Jmt|+GEfDKHI;0>VVBGC3kc?c*dm<#}YZ`u}8ry9Nja1(7r z^Pl`8#Oi8{&6Y~%KfSds#9Kk?*?a%^ jWzO?Buq$lqQ$u_KXYIi9ea1)*00000NkvXXu0mjfEqawc diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_1.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_1.png index 905a6afa4e04ab3129812f5ac285e2d5fa700bb2..179a87774793b310f9a1107b2ef7c9564de1259c 100644 GIT binary patch delta 77 zcmZoEak7F*P|sK`=(m`R`KiB~t%?Uw?nPCD$pe=;^7crxP3wr1%s( h`kq9*+P3 delta 76 zcmZo-Z)D$K%j}}>>Eak7F*P|sK`=(m`R`NjB~t%?Uw`l2lDn&C$rCPt7&b;Gwd5x4 gg0%_9MCWiZ#`h|$JR_>JnE?nqUHx3vIVCg!07l~*%>V!Z diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_2.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_2.png index 5c0f5b0eaaf25c2bc2f02675297e9c57202f4cb4..93897b133a4aef72bc18ca8bfb428348f18693ae 100644 GIT binary patch delta 423 zcmV;Y0a*Um3E2s-Jp+G-NklLW%~S(&k{K_?y^t-b zA63vL=iaT>``e7`{j<0FKGSQCZz25?Lgl}i){HQ3Ij8$!DYdm%+q8#$105v zw?4#}QU+a5S|Fm=Qx4pi5Ve{rA|$pDsrL>qMWLlc^EYR5Xj+&~ zP>y86&jjpvZp>O(=LLbokvW{E;Pe8eju|3$2n)mST=H&^s606=Ok!#f5D@q~U}3pJ zpW4RkcJ&g|)oy>AY+DmmA>1rsQjEzw05XgFNF3&b$+&t>1q!eS>c+4^){6xm*HJLA zvKY+XXbhA#whvQSws&k=m7!)TrCggymM{baL8vgFh4Y!n#@u7@)TCNYep)T*L^&WH z@vxRo%M)8p*A1*3pdyv=ulW1LrWL9u-F6}u5MucE)A%2O`xV1g;jR~re*k!+7zHlA RkYE4+002ovPDHLkV1jOi$rk_s delta 421 zcmV;W0b2gq3D*g*Jp+G*Nkl=66vH$sr&xdYkIORpg|?4 zpvCiJVp|9?r3|`Wg;%v-(XdvCgmAnITORb?VvfL5PKZ3Clnj4M5y@ygn2#8F*m#Jo z7(+x@v}?E>eCwUJZ3}X2Vq&q&h=FKgPhvWTin54`3}Qot((O%6@e?e&Lgpu?3JOL9 z)!n>{W3V8g*fHvE%`yF=(2xSIb+})r%+$5D z3(U#sn4azydrp5YMUKhr!i-|?UK%{NJmDSS5z!+&;*Y`)9)K7^cFafZ P00000NkvXXu0mjfZuQH! diff --git a/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_3.png b/resources/g2/track/intamin/small_turn_right_bank_to_gentle_up_3_3.png index d439c5192cf691fc1c8b2395a0e78c9da1c895ce..b0cef627db1c1d5556b0800b0862adbf282754fd 100644 GIT binary patch delta 551 zcmV+?0@(fC3fKy;Jp+FRNkl&f99(JE-W$K9-#d(p6^tc%G(#$Ss>{8@$ef64BUid9nMv>HH3)sk1?8;1MBHY) ziT9#6N-dYfczS;&>=QTbRC~Vz?Q*TaY7P4~tZ;&C@+FA7D+{pWhl5m#^mMsJEC5Yo z!iad+4b%uaNxr+g_R>_=gM8#-j{ zW9ju)Fr|$)aK8IGR6D&y?Lm8-6$f(LjK@Ec-jZTD u$^+0hjhZA&S*Kn85e0eClGC#+Dg6Vs8rvonOk|%OpMJgGDekUy4EQr+U zN^&EJsHwj3i%>p#tk_2(neYIIescMZuankbuGW^-C86;ZzM80R-|^+~8EfP5fBhF>fe(r(2Gptm0000z`?#*zztkUNUZV?9-r=~MLr#C)*5k5IsDH%~K%^nS zwbge6798z!i$kECd@?g;vB9O>Wo?YH!-KeOAEP(f1qcFzqc?vgm0bft%tvsMHHsU9 zs4bRS+nAHW22aV{p_({lHAvYcz@Zbd6IWbW;+iVO%P1QP_4{< z@dwlN$Y`Sfi^-?eEPmo3fP!Uf5V=F>1NOE|@S)WItxPZL@xF_0fJd99)49ow2+zKi8Crtu`N$2$Ta2h%7kXDgm z*|D2JlrBE=_rDRJAVAdP6M{c;{1f35i(87A_Zr>Q_-vczjWAV_3spVaripiKWBPP| zRU3jE>(#YG$Q_719&Tr$%ZLIr?rLx37({{}iE(RX)D2N|#xZ{$Ga9LHA>Zu-;*LZ{ zAov}@?dK4Ah@vf!?5)n()$T%TYxNxg;^Q{^s=j!4(^!l&aw96?W(y5&NIHpXA2Vb& z1V_}O12lA%G}fOX$=5!0Fzjo&kB%|WKS*$_itQy*k`V|JL;{IU zM*+#+E9_K-9iV@F%xuy^#}EnKsF{&OutTB|D#c1l!mUg}B*=ZOnvo!Ta~g9!;k$5R zCv^Pze6DGBJ5ETrEgUNn5z)VN;C8K2^`S?q1Bj^E@a4l&oq)sy9Nj>c>QKcWP)DhF z$|KDUhAKv>u)?-ycSVdTOB} zUTN2Yl){US`1x<*9Ri|`H$0VyM>R-i!O%oGv9RZI73Ue;l9tFKdB6BUQcF~(qPzEA4F+%vuEF~C$ zZ5W?+;&09xiV%M~akrqVi(Cw&&Y>*QH)WBC*MVJRn+kI*vJoH0Vsq6yUS?75!!<=~bfe5vAV)@R@_w=d`+^$uM=9I%aK=8f}P_Pu$aYXQQ!?r+jQ5_(J zc`c=4q&~vjV5qXBf?>ueL}vxo4j^U1_nIX<<0>6C5z9dI-BUvZFRpXoK;fhscZz)0v5O6cB9Sk5;1@8gpKXHx0000%CK3hN56Jp+FkNklvufyXxXZ%)G?e7Rb z7M`RZQgWD&GwrP&ne~BRdac-Smk94jUK>6mytO*8Bom*_$!CA*3i?`sj}hRxiw@fn zPm1uARz#)}=C6{v*!^=p;YqOJ%fUCUz?rWH`5=(ta|Sp;KCA}(^6nwjZ)mmlt{ma= zkvD9gGSHWJApL;8c=fUB-X?Ho0cvcyXCIpK_NMRmZn8 z(OiHp?J<6dt7mhj+Plgjy>*Yz{?rG0+Qv+#y$1ARwlf^`-kG3>G7xvshxpdc@b0X| zyE}{E=vm-zK}P?WzVQ)M|2a{?==__!(;;ok(P(XS+m~j%C|y6kOtCZI+xCep-nhJt zId-}q4URHR7+AN2qua|OOdS7Rd?R{T-S3K>@!u*X`M)dw00l(rPFGw-n*aa+07*qo IM6N<$f)ZgYUH||9 delta 583 zcmV-N0=WI_3it}JJp+FxNkl!63zj1rDJ2H`T#`KMDtX5_l+9qnn#Kk^bw z#z7VB6(a6Y9;!plpud9en%2jL@^>R{QGHZJ`z|lir^WQeeTPps=7V2>c>eLo4ehlv zy5r)es>B@4zm9)5;DPr4KbVIIwD%P~aM5WVF-Pp`LtDr{!IR;jy&>4(!{w|! zMs44L+vnf*@(C)#`W z1ID#<^xpk4p1Sr)cg)>x<0aa=9ZLW3w7eHL=mTvt?blx#^r?Qith?n)^~-0MyL~B! z@=+XUt1Ca)Iq&W=riU$gc35^{CWemgB;o$~4sglx?;V2j$xrV0qjYpXzSc^_{{XQ1 V`ru3eUMv6r002ovPDHLkV1g#-I8*=t diff --git a/resources/g2/track/intamin/steep_to_vertical_up_2.png b/resources/g2/track/intamin/steep_to_vertical_up_2.png index d2167ad014b4236c01540edb6fb551a99cb3e982..ee00f829ae97d345e3fda7620a94e053707cc8f9 100644 GIT binary patch delta 532 zcmV+v0_*+F3dIVrJp+I9NklXA)k?HxVvkaSKuyFZ_U?YPRIeW$ z75zvg5iR9ueLa%3==*a(o&Fzwf98^MBC!|el=rXmUIDe*lm1oJsx9zC|PC)TL zx!$-0tfVuyPdr8phw1~5-UPR-{m~wjjt1*bVn5{fkXK0G_25Nau5l1cOUuXbg?p2G zx3}E8`dQh+ev*G47^BmNabgcVW{03vZaZJ;*Uh#S)a(814K?5b+w|86# zXFG9pb8Vl<&3zsh50-TMxDyo{6xlh_ca1gY8m&Ej#ndtLP$byosCU3ttH-OiNqXgQ z-(~fdHjE2rf(ZALR;QROK2V(5mcCOxJ@OvnoKz3F@H&4u_M|%C=B3p!{ZI9~cXd19 zttg*~oGuZK*|EXz@(vycGsJwxtF_DHMZ=2@Dsz*^SV??|UxWEg9@$0zt<5{|fC?+_ zRp2*sR0~R9pXNJWizNoTL~H7H>s}Gl?}8UUmH&-^_xgk*qJ5B;*9H23;{tAf{RZ$f W+htV^4e|^C000092twmT)w$c{g^f_HPuO}AH;AxOS zE>$2vZtdX~zJTim6&=QRh~!9x5P3hJKb!-#+hBw{Dot8@Gx4grbL;3gU}6}i|&Fu_FgQ` z-MZ?tIh>c{Y#^PjxHiW$w8LGB?tn+AMP`py*!La9vyWz6+gpBKpp|J=b*vEsdmTKt z%ARN5e#iSd7JFdAzc2l0Tz>-8@R?*J~F$ZctoIiqmX+*+07)k^D578ir`Vh8bw~^=`Jk?*Cbu8 z@=T7j8GyC4ZMhtEAOz%BO`hxE^Dqi)e7?!Pyt+>W2A4}+%6}sA&GtK-5#QwP^8&u$ ee1OYe{{R#-B-eIT(n@;(0000fB zwzdca4h7XAFqfReIqN|rl5NvL5m2X|-gu-FG@`l!n68mYKaHaB72@2ovH+)y4 zU1nMU1pXW@=0jg;0gc5Em>6?b0CGli!emO)0pw(^wzI;dr3r$289GIHO(2?LY8!5m zX~Mq=#Edde$rFDxD2T`d6PP9_V&?z|MkGt1D}v*OMS@9yh6-JPhwPaG7!mh^AjjB~ z7K8$*O_=QyI3!vOFaszLP-TqF zL7zt)EDIfFaj?Mw;$zK(k(V{YvxlOkAWW3_zB<4VO!0qG<1&^+BV1#W7!lky&K=Mx z@_^2gW)MrnH}DZ9EDk!v#hl`8+gA;uNrE{iMuhVwt_~1kN^B8~S|Z}N%ThGfZOa|- z*+;@QN>Z#nuyQ=0hHH&~+x+{OJ5YQP(527kSO+C){B}7$3a+JHOTe delta 562 zcmV-20?qx^3gZf}Jp+FcNkl$E_#A}B6-3s3sf{I^^TXWY7kkOVgbQVSzJJl1r+$N9{vGu z)^fEZ94FYibt6_G>2U%R0T|{?Q35WI7GWYDA%Skzgn6Myg9>>9=&v#aV-hIn2{0l< zB~T0r0tbpJqlJG$f&$OEr=cq((3u(5YNs9{fj*V>ghoU;2mpNTy_YeaQGlxjS?5}N zwJ1POASf9Mirxb_0n8>4&m)o;B}jrQKp+hy@*YA2Wi}`o2S5n~dk8#n`*xvrf`1z* zGKv^DK!#?VnXt_A%|W?pU`si!e4 z2M&7k9_MkAoE$M|R}XlCG(ra$LiC^tbi8Ze4A=4sZ~V?0Ilu_12SK-SAR(T9!}Z@P~qCV z_?T2@lfXs08=s=)Ahk#r2R~wpbaH)5>n{Jo>l>s8A7|h%I%t1i@EWab?Z$QP0@Y%; z^!5cWe}JoYOduWSwc)G;yvxgdb|*ecqBHl<=g^qE0Rg|-oG3tPpD?N6!-k}tHvSMr zk$*X;x9H$3z}d2o7+nWZ%5QD0V*q(?aN!}qUU+c?zyQ)^*|o`f`hNqh_%=e}!^0C% z&N37ZOJ0M-z_ou@hDh0IK*R+47(C|NYv8>4FoC&y4J1k*fomISi${Tf+p02>+rUW| zK67c~pldIH5YCBPxPjU8IFeD4WTO83=|p^!sdH|0)pqGVHgfUWe_YBlT4n*^e?IpkHF61 zijwI{fUEX;1pnK%Z0h)&&PS`r7+*AALxhI-+qgsIRpGK}^?iOmx0uAC#4X(Z_K;wW s$Y0APR^69{yDshC`JEvAzJPuJb0j62Q5a7D000UA07*qoM6N<$f;PQ99{>OV delta 647 zcmV;20(kwx3%CogJp+GcNklD)em@7sYsrt%SY9N!mJ zLvhrpkKCIW8iJ@--!yaK5dtea_|bYyXKfm~y8Kaqhe}<8kF$T_;V)dYNs6aqP&S;k zhc|k7$|;>9%9z7(UVDGtaFyEnRPXx?yeRx160VoyA>*8oHI`E!eo zbh!kjyiJyazCie1-@Y7n1fYT29K;qlJb@{hERr^p^FNYvy6M!d@={bOmuBt{lJO_V}(e?J_8C(bQs=^f*;YeQu z+|A1U5u}E`-d7EG2?zpM0ApPihX5hJVPRw3Wbtryc}@q|V|Z&8 zS1R8KFrk0O@WBf~20@?AJd9okM)3T2*v76fHX~RLLuK|nP9Iswkw=g-2n>eG=vaW5 zt}5y)raJ**44m5d;&IMaMY3Y*5#XXeOe>}#dpSo{St-YltsFR^O6HFIKY(5PjPV_} hobS4R9SFY{&_6MZB^QD5H{k#P002ovPDHLkV1iDwEz!l0g>3AP7Xc|J7QJ=~*HOy6AwmNwcYoyzqr# zM2RjdmA&A5g6CEWrPtoS0EAN7q>ojy0974hX5iTna|_L9C1 z=drgPWo4joWQ=89+_`rd^KjU$V&=f2EmsEfl0HSbHKMEaJiU8Hnn2YN0-d7yfTXyO z%aB{w6J(!py#bhajmK@sq5&{6u3`O8zW( kJ};IVh>|~m;s_S>28gko?07B)Q2+n{07*qoM6N<$f|k{Yi~s-t delta 296 zcmV+@0oVS}2-*m+JOh6L2uVaiR49>!l3Q}aFbGB2|JEAGa=Mj>m(-a8!m_77^;b9% z=x}X-$D>C*0ls(5q|)I1KC>3Wc{V8Jxa!XHxPjFmKXn7fZbR=AgmfNt=yigasgyR4 z0M$$ErMCG>U=5-UIA++tEW!rHkN`$L00E+fSQG+i4z=@!9OQq{E`wPN)CBNB9X|B+ z+UlLg4eAQRTfX)QQ#BxYiD(?cR#)#7rr5h}=gaYkU62{lRL@*rHFwb+khrPN zwlgL7;Q0*MJ#IkgK-VqRMJ;5Du%)S`yh1Kl>eNF$Q#W;#xOOfNM3aw}v4)yest^BR uGyF9zu)iHcKI0(yc_IA)(ee*~mHsc;D4uy=MCz6R0000frs8vwT-K>Y{c1ThzxAnN$$Qo8yPK;AlhJb@8K z21*+QYK@8G1cw1Jf*LP{`hV@0B5Pw4p|q=q>bMs97$6Z5ix+?41lg@4A}tUzvJC5a z-*P&F$PZ(Nh<6X4(Ey%sE0_^aiCe)`PpEP%g{$2dt??7q8M36ysfd}+++p<~bII;L zFQ6lKsJN_q65`geT(dZlzemU@-6D8~T#Zyn@iEI-#GSe};iiv}mBwl|nCnMfArF)0 qoiXjEBVxS zRJd|pAk^hp^>21;C@pA$INJtr?IWnxTu)JDeRG8KAP{ofR60e|3Tu%ld(T-aHBrpL&pa;8jtBNr-d=xorkuw zt&m#AI>O4s_Hq{;OWMovjG32c^_UsW?$RI*ar&bDTMZc+DV@|cW;1H%HFB{7CO#o2 z8?iKKTd(h>K<6%P-7m%80iI0lQoPy$xSq}e=L}%UIru)nKPoV@1AZVJSO5S307*qo IM6N<$f--rMGynhq delta 308 zcmV-40n7gB29}3Cz1+ft+a6EQXrcB zOM-~;N&m?ySESRWkEWRkk`Uzq%%Sv!LaVXid6y`XVVRM zNBx2CA2Y(d_AxA)O{e(};C^U%02FEP3joO1JL diff --git a/resources/g2/track/intamin/vertical_4.png b/resources/g2/track/intamin/vertical_4.png index 81094e51e3cc15a49c07100c580e167e9735cee7..162068491235c8ad111fd41127df9dcb0dfa7624 100644 GIT binary patch delta 311 zcmV-70m%OC28XN|CrlU9wQZiA$<1pP{HtL&6Rwrkdp~-6dr*oTbyI;Z**tH%aS8`EeXh z1>w(GA0KQ=L`UA@9Ue5iWgZSp5xQO>2iT`FScgPruoMgQofYAB29wCni zH34Pnc!kf9;}tIg#6JSyukZ;Fj&C0D@lPfAs-xpSDBr6;+g}VGx^EmYr_ulb002ov JPDHLkV1oFph$H|2 delta 314 zcmV-A0mc662<-^4Jp+FmNkl9gz5X)nn1_7Qi1QOvOX3jY(|GCsA*drX0Xx%Th~b3)39`EV0NyZ}X`4Tr!eu z^$j52euLV&D&;b}_=#zA6l?_`mn=}jZ6NP|s=!yA8UF!%pZ@;*1sj#UB{tbyh5!Hn M07*qoM6N<$f+uO66#xJL diff --git a/resources/g2/track/intamin/vertical_to_steep_up_1.png b/resources/g2/track/intamin/vertical_to_steep_up_1.png index 768041a2562d2f79b9a649c30d5b6553daaa5fbf..e7d145347df3b256273e7206200ea03d197dc4a9 100644 GIT binary patch delta 569 zcmV-90>=I03hD~5Jp+FjNklYmH%=#4K|KD?UKyWM>l4jZD~Xx#){M~0We z6-c#D16b0&Y@gYJ{&-AZp0c^R<3x1qVbB34*|&NB0WcLukc>gic|E!}r}=aIqO zJ1C&F%=@KyA(@cZT)xo026@SFp||ZarXZu+j;8#8o8i#nRHL>f$>X7S_|Nu+y}~Tt zdFa>Xq~;2y$BN4Kf0&LdP<|%Sk|&ugACvi)Z^nc16>opvg#$HA|9J--@>15N3H&R% zBZBBG`_SGU+Xswn8t*)}&YyEIb}PIdCm>{0^yp zr+i;04>&O+`1%}&^yRMrkMMpFPX8ay6%uFrUg(#2k?hYuB23vhb?F=P00000NkvXX Hu0mjfd5A7F delta 562 zcmV-20?qyE3gZf}Jp+FcNklNfto27 z$C9OX8%p_onT1C`vFUox`+KfsyxyiSr(@(t5jzr&|FL|k9Y?5jhZpzJPjJil^x50F z3c@wC3Ow40LAN~IeeUi~@R@|`@b$vY^dqkhGuA?N65{U#hdY15JxPB*f-;tc>;ECb z1Hb$AiS%Dt^@KhLs{2?;xRCb7^sg*@LcPY}afEQhkKXR;;?^m4WZ$E{J*J}KQg z(0sCWs$MvQ&WO#cT4ip`*y6-+E0=LKO|SIjSQpnUJ;XaF^g()w;Yw}kJ;~E6w4Jc6 zKct7Yux&YeE)IXR9g`!W3le@ww~aRgM|y!UJ{q^aC*k|lA%~^nUEOg8wa=EnjS2n= zhgxsGPjxirH-@&Vi7_uu-!_J4%U7p-d-*h+%3pn^;v#s<2cC9^Bkc_vfbwE`<{x7_ z8ylN0k2h+^40~8!JDu4FO_p#$_uIPk_>=f;6^Lu1zwv*z9LcK`qY07*qoM6N<$g53BX AH~;_u diff --git a/resources/g2/track/intamin/vertical_to_steep_up_2.png b/resources/g2/track/intamin/vertical_to_steep_up_2.png index 848b416c74966d50af5720dc368e5e961948b5c3..14455f4a7f3da207244f765b5bae2613cb83880c 100644 GIT binary patch delta 511 zcmVUyEpxo-EgA+HoGgajM7po4nSVlk=ba0e^j+W{_``;(ok#7Lg};qgu@5&H99! zyVk+!h7RspfT!}bOg=^TuBKL4))1X4YMZfC@#D`HNA!qXD=UBNWI8`P2rN3pT-k~` zQ9D*StIgQqMRp=ue>Pv4_^;y&=;(4KI`vTtwtWyKa@L>I?-<@FPBfnx#jWiwCsxyC z)gnF>2YIB0Ig8fc@hMj`M282OvIBP)L?4DMn#ilWlDA>13_KNAv5uHp6>L`~R|g;J zBq(n3R>PY&3{HP}>fBj8o$fcxeaasCQg$>Q4md3yznG1WL1*+tj=s^dGtG1RGLMZA z#fLLF2f)-wb2$y+g0)rb$6fyI-ufbkU^0EejJXjSYX{|Wcq4{=m6T)MjrJ-u_oiG0 z3G8F^M=I~JGQJIEo~i?HYPhuQ8%s;M#6MLfPkI*|w+V38wiQ=?mPdJUA<#OB(Pn&r z7Bm2}ZAtoGK6XS{TGG6W<6wDMlJM=4oRgj63cCuhJp+H~NkljmvXTU znyB%S*EC>4pK1WZ6BbH+C2oM9zgLY9aQ}#{aQ*qOzr)}B|2_Wz&ql>+bEFn}00000 MNkvXXu0jG}f`pF delta 521 zcmV+k0`~p83c3ogJp+H}NklMH49oxj+FDxnEi|w8q&cuj8_f>gNeG9; zj!lV(&Xc}g?)DWo6Z0>)>fkRG>S9BU^*%KA~%gFXddZ z6q8HXeC-UPf%<=KqtUq12AJTW&+{=QXTY_g4AatmWk$#781#GfRAo8-W-A`c~SV#dH9o zj4h&wcuV^40azkkf)64cpjOL4giY)lxJ^P#umJ3#?;d|q;ATbi?!TV~AmHJ#Tw{!k zU?{}fh`@aqBn09hVvTP_Q@kOh0H3HN1R_4ba3q%$@3C1dAX1p((*-zAQ_2L^?l2d3 zn2_QP$oec4>}Sz~+{+kTKZ5}P0000< LMNUMnLSO-cTVV81 diff --git a/resources/g2/track/intamin/vertical_to_steep_up_4.png b/resources/g2/track/intamin/vertical_to_steep_up_4.png index cb4d49a0ba31d8b61dc93b5910ade59c30f9732f..99e0f269da538cd40a2118b082b7dd8dbd315612 100644 GIT binary patch delta 632 zcmV-;0*C#y3#kjRJp+GNNklEhCsZZY=$IFr*6F*U=$S53iW)+p|}^Ew$B z1XaAnxayGliZOqWH-i;pBq16G9Dc#|VeNomkk>JoCL%1zXXS=+&GBxaIdykcMmD0b zhNwYea|U%)ja~|w1{yP`3@b^pV(8-_ZU51~$@m@pef0G=-6wa;)k3S*`v3)_c4yTX_#qpG&4ws==a1X;B(%ENy_*WQ3AKMZwivD1Je z6ha+b)Oqa+si11i#`;TJbQ+YH??*s;2*a_cwsbwyXka}Z3o07O`s5kUowxMIIMu_k zAa-oPY~{WMZCPM9jX#_QM0QDUpM%4Z_Y_fE#*O)w7Qc85g^DYB8+#34!OgR`jNJQI4OWaR&*V1v7}u((e}a$4DF0&7s;ZXL!)ZVn7KB>b z{1(HQ?z6lWbH71FRaqXo4UiHv;K}x$PdA2WAX3dlEZFPKBDGmC{06w>TaAVw`~II3 z=$ZvQvv)^$>gW0#>YlLU1l?k)z5wH`bRKFJdIHmRAz^F%H!ekkDXYP}Cyg3QPnC zLVdfE=g{J{ia=LPtfsjTzci!>PGfOEL z1mbWwnBjYH5X{S%w*|2yBbSI-*t)~pfItOB42HvrA&V`Ft&xQ3TAKI=NWIP!aN0`cNl)mE zV_*LQ5gqi`^U=dp%zU9$wfDg+YIdAAl;2ie{klH4rTKJwUYE5S!k-=F*Xbnnv2??^ z(}>jf8_J=4DO}*!$5MQU0h_y*8&b0x{z0kK{SgX?V2&g8bqasT>MEnYkO9SQ@Q@7m zk3o^2*Q=>ch=g3~oe~8+FQ^?N8M={xS%%Qgqob-NL+L*WQfY-^YD)Cx3E1H;R3(Tk z$&6WTfgENex@U-{`Ej17FAxN+rc$y`6Gr#cvL%W;>`;>oON-K*F3}+#qVx})9aE#j zlcfD44dPWfHEDnU)JVMZC<*SW(Ob0shEaG7NIb3yB1;v4s+!NE8b4ag2h8Po)f_LCVhW@rKexEl`m)x^jOhJ8@5zf(p0DdbRZLW7%@V zgSj6|AXIIG)0`11FFLl6@LJ-3?=c}+d<;UA)K`dpjBQwkVa2F4=PIF@80{`T62u0D zayxQHj7Ly_rO2@tnC(q$jUJ1+EweNYVZPLJ8Umppd1!%TbYAKyfv9B5CNko!lze`W@GbJ>(c*?nnqm`d59p8jxtsAd^y3jK^V<>M8@H#*Xh@_Kkn#hZx{>fd;5$J7 cht%f(U+F`uszA>@Z2$lO07*qoM6N<$g7Fb}b^rhX delta 750 zcmV3`Dj6tu#xj79om{E<%I z2vjNw5+dsK>)EZTnYFgiY*uS!5z*Gq8_Fl>(00CGABfQLroT@s`whhgdK*iguvmZp zJ&mij?S`pv1>!@R&B&DV{;CI2Yw3oRIhXwpku^$r`#`RMC;)%TQkt6zAd;xHk{5_1 zC`)7HwtE36s7>`{!1H}JU-QZ2@O*bAQi-q`!&bEj{hf4emL|+s9gs?)q>Ma}sqOy! zg0&(}xh;_!8GI5BubA;19Xc-ulEz~;_5qm z4)9e{hV@?20~^|GWU3S(x*_V$M~FcZ6)}!`VxbD*h}0OV%7wh9du|+x&u90F9w^oz zAG>mZO!Sjrnn+x(mVOGeYFzG#4?(&B@rwC?DtaLPdLDna0Lw-V*6}Fwfv(1CCzb$l z1DI{N9e5Fs`@$a!kvLY0I|Ez9MCu0<7e^FNKC>x7X)Lq(Btq#5FQxU%5S5zT`5?)o zkck%vULo22Z~Uyz6T93f^)eVijK zunp76;Zn|ExIyLwejvmU{et6kv=!nU%J?AOilcZRasP6d5YDrc&-z(Lihd) z!eOx`($%xu54hbBRvsU9Pj+#QzO65xE<>V!rOIXk$LYLAzAO-mFg33ntS2Ab6&73y z?Cse0JT*b68;!o3~w;{6Iqu#&Ht6zJ4jsv1T-DoylMnmlC#`=o@ICNt^xT=1` g=dSrbq%vOr0Y`G3YN05D2LJ#707*qoM6N<$g4~O4<^TWy diff --git a/resources/g2/track/intamin/vertical_twist_left_up_2_1.png b/resources/g2/track/intamin/vertical_twist_left_up_2_1.png index a7af3b54cbc03d673b8dc2a21d7d40649900152e..1d327d997b5aca546a41124fc42e9f80e6d272dd 100644 GIT binary patch delta 420 zcmV;V0bBmc3Dya)Jp+G)NklpAou~ zHiT{Id7ks(^CBV9!yncwM>K4*l*&R)M*d+!HRzQdmVI|7TzlV`FpGUYqr}BBV^KQK z5o5Vo%EHt_%E!nz3yFzHguqPud4EjIwf^%u9J0ianBU8Za~FTh@MOtZh_9GRtOYED zxEX1br=PeRc|86waVZw!GLqnpQaZ#eFC#G4ybf2BhqYFTCaX=#{5Y~g^Hi(D%Cn(E zXEyBbHNxuqjUoJYKL_SiKAoEFordJ2RvBqyuvUB^n-R`w9{ZY$JZ%K-_A;W@+?w`p z6NssTarcpaHM@UgL)p0Q!~m*-_0X@uPgGDi+jk8Oe`(caZ_BXR=v9|6$-}}A%dl3+ z`o)g6vwmI1i?Q1n@G)n) zMCao|TZmK_gHp5sPh&C~wjBb`f7P~&#hWA_CzgY-!9%uN8lK~dtR1Vdc z2BQrmHyv-Wv5AD4r3hGN9ioXv^83~Gx=n#nnrceB`>dmliyD7)9xhcM(SbFAiPlvh zZCx8=2sP(OuCJ$DyvSmwYGrd;w4Sil0?hI?&)X@HWG42q?1L!gmrQF zNK?R3LlrrtQ+aV$J6LOzk9`B z!v}+nQu}(TI|9sp)gA7*IG?QG)*0K%cI4D4*e`&_Cy)>kiWb=b0000M{R diff --git a/resources/g2/track/intamin/vertical_twist_left_up_2_2.png b/resources/g2/track/intamin/vertical_twist_left_up_2_2.png index 454ec0431dee959270bd1b3f34afa90986e4b780..36a8efaacdcacd4e9054219eccd2ddf4c49701ad 100644 GIT binary patch delta 442 zcmV;r0Y(1p3G4~5Jp+H5Nkl;StfX;r76-`Xe&z46R}-o zAVM(nPUfcOTIx<`aNW(F= z!c=^G6tFyO*P~0Iu)h2DTB#qP@$9QR*SP?#3qv!BaD7=0fG~fR(r(t=rVJ5%SgQs3 zRK$(H4DB^$k*;p^GL_>vCMv(ofmVh*@I4j=_t;FkxR=@J<-Ear>Rsx}nnwm6ep-b72i`ZZObKD=&sE18d2Zk@`sLnwRyHg|p@-dfaRt0xpcn zWq(-12&X8Ce3^fTn@5D|!p?wbdl}x_Hs5kv)f!AWh2YJV)6951J07*qoM6N<$g2%?z>;M1& delta 443 zcmV;s0Yv`n3GE56Jp+H6NklggAU{jQ4*)T=y@gKGDQZX)|FN6Qhj0STjvs=dVb6SZRj)#5SXEjhtfL*~ey7TJzx! zPajr2%3|=mWC(MPCFgv97SARKAr_N|)v9u2hF`M!DmF$Wq(U!-Wbqs?>w~%BIq}Uf z3J`k-+zd^L2XuevW+J9`js5DgD8#w?D#oSbxbk?cs%=OJkwLem;ry7!slfWp5ZQEA zlE>1|AL3B&p0+d$!9M+Mfe-9YWHkE2urY+JmQgDF z4A$O#uwLXWk>oAoy7hyA_}nsrfpq;!$Uu&+zL|i;vfDFe9}+KENfsQRONqZn!O7(i lvJP*dRsA^}ufivS{Q)dagu8RRunPbH002ovPDHLkV1j!B-F*N6 diff --git a/resources/g2/track/intamin/vertical_twist_left_up_3.png b/resources/g2/track/intamin/vertical_twist_left_up_3.png index 34d0779de2b8c0684b30bd86116fe88d5d599061..7e42f5dc9579ad0876376de1b761473456c0ab75 100644 GIT binary patch delta 775 zcmV+i1Ni*A47UuhJp+H`Nkl=^KE@gzg>~n4fTZl8`FZ=62 zg`|inJ)S-Ne%Af#H(ZwW519XgA#(pB{RP*3Wz`=rW2;J{>Gi^&UsndXc)-yZ&-FfF zO3dxZd5e&#(LoOgRBKu!m+hld2*_V6Js|hj)&gwABB}!QbwGa=L?K+(2$lOmTfR%; zd#YBPD2**0CNlf3A`~E&kfropf560Ms&V<+(>W#8Til^i^H_f!kfckqjdHlUG;kpf zuoM)Wanvd9FxB3q7GO`Q;~06Jm$(3KbGbK&s%Jb>%Ipndfwjnazb!yf_Ka2=&CKj&R~NU?b}{%%p`#P_W+cz(E|bF~=Ow;O z$Y{HDBgpUqNvmvb1pGB1?9s$~p+U&)MJ{eZs1n@Xdl7{CCFs3aLY{s%iuXK54i`Ql z`@K+pAyK(wqKxN7U_^&64i4A+0rb1ZM>=X4zt8I2RIz2_$^ zdMCfYtsl3W4t1|P%DyKF1<9y8bapWbXTRLeXx|b}WUj-=VnmX_9^PJSb?(WaUUnio z%WNE@le^mcq-mROBQTwnU*Hh8k-H>9x2vQG^9A)8nXmKU2qBWZY4EKCp;~>y;cnv6 zhZDItE)9RiC6DFunQ*x9dJh5esfl-epPDDcd3Kyp6O{qY?+V6Bf}UF~Y@lgMsj1SLR{2c>h*7yV6_ZDID z?HJnzxOs}?2AB|8V7uPI@Oj;sQ&{yW$Ib9#mLvUm{sTqDY7~u%i4Xt)002ovPDHLk FV1kU6$i2420SL)*2f-vlWB>$T?FYG04;R;rhw_ zMNop0Ku4cjj*veY zrKvNPH^PbZ0dYbdeCqgeWl}$BggaZRjsx6xScHS~0T|pMHD8U4qD5q;0&$twSwxtP zDppHygHnSSU~qqfahabqmv0Pv5DhQNf~n#}FzpH9hAQB(ML00X&l4sX1f4BFCS0_q zIc?vZut0pT^o6gEL+?z4Vt>jAys&Ij}n1)cM;92ZLChAlvt;a!DN)@fX$I&}Ou+1DkHlV2B# zc^(tXyj+v^PIn|3OTi&~*R^~{%|WLlBPiW_$|zUy$ubKp^XL^ZHpxrfFSA^XMw$?# zboV(RCMkbJj$UDJ&k1S3rh-CS%f%<$=#Or9b7uCFYqIxS!({Nw)OUw?en1%MizduI zw@B;*(>F5v;i}UGv+Ed2X1OtXe=nE<(lqBAdZS{5IsTcEyHBGFT|=`u5P6R%k{0&# zGE#eY<0tGG{m)rfUgkC@kqA+C_-KiQ$Z=iOn=XGxC}ZtoRPKlOreM0{FaS$#7-3vn zUURw>7H$<5h2dRByQ608Snyz0&tBK~9TkJ`7P|)l5{BaVZZ0!1qQ+DmaC&)qX+GTW z&L+sfxt<>%9)vj!aJ)2pOKHJ7izdDNg8n`H4>`p=^-s)!jWmHWKd7#pT{#?;2=gLxG& z=O?2eV$uV*bS!qwd%+dP+@W# z-?d!KA)KV@^1jn#IkN$rSaQ*$%-b?}c=2zQ2V*e}$x_M^s~6B!kKVq5iMxnmLfq3`7ZZt;)gH`)4%W+N9v6kYe%#DS)J5wt4SUQDqpmZ_ z#SSETy(0O}X8C_kRY%HZHlIgg#c9pRW(Z`^IBY1$-RqgQ@zA{NKF?w+pYRkY7PgCT z57C49X?inqF+MdmX&-3^tzp+1sxEW>p2Mzc?_Ab1XCBG_7^TI^NZz_Mv9c!;3}3uO z=Mlkqg6c8Zk$^@ZA$lPx# delta 442 zcmV;r0Y(1g3G4~5Jp+H5NklxN~t1zomakZ#w_%=-k6&E8*6T+z^0`wChm%DEahfZoKCTzCnE`> z^V0TYq=3Yw9LF(h5SfO%f%&oSLrDuc(TXi*hJ)6#y;zK~(ZqiotRK4ul&DClpZmU+ zPZ&|!_o`cKBEHbU*Q@P)@QdbPJUCqr zuXA7aJee&aF6lCjv#UY%Gj)JzFRO+JU7Rj^ELPLfGg)t&5yGHsxqp-;j?@S9Xj?GS z^_0=k)nt;6S~`C!5v%D8Bwdb(vRFfVI+#Y=Y4WhZkyO1Cp=2bzJ(zM1hV|Fov`PiT z+}tc3#jVJFF=iNzeHLyXYac70DK{?6=Vq32FZ1!jwG0RPRPwhl1}d{ klcfL5{;^%|vFiQ$3uP!~43idbtsoc(@!Yy zV2EyO^v~SH|Fg>WP0f=~WwkfcB)Ad2^Iq5dgJW3t&p_H+bDZ5xr407F#cvUg+w!*4 zcom|QOMSCkT9;gi+l%e&XEUnWDVIBTCy{nGs=iNF%%ocH#$|soS5sA7fK+tH;+&8{ z+9yA0i(h8SlOb*t%~B^Lvz#)5HBAQPz&24`t%aI7BYv^njY0;N_VTkxS)FD1p+)qCL(<)W z=sumkj(3eOW-RteBbpMZy_tugBa8QiJhq7FF-H8H$a?fV5pE(UI~u-KRh&pmJ(87H zBlgnR$*kV2v>-52T%C30=w!vr&2i~s^}tLN8GBpIJ&Cz|FoSO zj=465^2@H0J4=k)8l*JCKFmVRABKDPk<0Gs+8v@Xc-bWjqkR+ivKY!xr>2V`axBzT zVoAo6K&FhGUkrb@gf>xqGhs9|L_e8{WC4y2bkmlp#9;kluI8N^DcEtd|5E&u=k07*qoM6N<$f;St< ASpWb4 diff --git a/resources/g2/track/intamin/vertical_twist_right_up_1_1.png b/resources/g2/track/intamin/vertical_twist_right_up_1_1.png index 83f9e8d35bbd6ae0cc3ba65f019c28e2a1f56f4c..2d72d6e5e182e141ab7e57b63b48c97e00b4523b 100644 GIT binary patch delta 441 zcmV;q0Y?7z3F`^4Jp+H4Nkl@6p@W#$0Lp%;75py#Y0S4*8jyaP8PN|``}Z>UM!m# zB9(UD7W2`Xm`UfwqO($K?P|JNT$hy6m=_C+p~S(jIQ#vqxA1?6v)_>3s>l@wA>3O1 ziXz>`xRpYz9B!7=mw+^E*4lYOAmhbgvLZvs=TT-PhFGqw$6`_3RaKN|X|oO{swgqU z&D=E|14b|FCyNJ;(#^tTz1xGuL@DKuc$O=!H+LUNR5pY7)BTRBZ&tx-Ew%M+6}o*o zZR3n{m)V67D&&9DQlLaUi`L2`?^4LeZb<2-H=CmcQ%AU2PxEfH{F2c*Iz!kc13gSA z5Cij&QK2qp9%8#2%>Ky-#?7{jhM{*h%;Gf#9pZgFEQPd&G?mt-5brK+X;kVw^EKZ>7QbL8K{2oSUAnL6Jg^ zY^bswBCK4FLalXi7wqX~``!Am;~(a88owC6r>k(vH_L~)2{E%s#N{ePgL_xaA6A)r zBQZ)JR$3!c*TF!oi3Uqx$c4sp>MMUv)XvkNJ2q4Jdig|d zK6Hq$kMv@w$^cBMMsBWu+y~o-F+?A%=Bo7<8-s_MrFx~xs>V;l;xTTPqe6CixmYS! zXZ)PP^^Pk`=^~v?j~6rLM(XLq@*(Yq#7hpzRLVZb{BB!LW55XZ>J$v^S)x_lMld+& z%bYo$D4*!M7`1=$sXGqW@;2u-r(ES*Qu;FDbC)XQ5pU7-u#~ShtaiNP2>Q*OzS3hu z#_E!p1xpNlWsMfxhi8o;#Vl_lq%-7| zXLj6zt+=tra+Z&cu|*^G=>`Mw>XKW2q+n8{!rXki3mZHg4S~SvF?{3lk?Xhb>D_x? uGY=!*H@X(wNxt≪ekdum5FKV)GYIQ)p%fc}qV$P4vJlb(FqO*#a3735_GBZ^q zFN?Wptxj9M7(1>3Ni3!ysB2B%4DnJe!cY|f7gI$Aa~$5v&*gv2Mla3cauv?r!swA$ zViwLUt(zt$jTy%z)|)uhSaE1Wqoc0g7^Ea^-F1m}pp@0SzXc9vLkf`uFBU(?RVI_F zBKYB4Vz@Y^2dd-4WQ?GPAlh_^K2NDK_#{#?O=zYW7vt!r|o!zg%f%hVxR#$NhuRV$1>36CP>CHkpk lG9-fd&=u+djr{4mPw$O|*p;QW8XimD;pU2{G@#f4Ey zuT*MXjSGu880OU3q%d7o^;OlLyz!`4H5J+WHM1D= z@x53|i7|&@W@EZw%EveWEB6QF@fo1fJ$yIrV}KTaGuKLe^jd#X`O=gQu^i8)LpLl4 zY34$bH$0#c(ivUz9Vp-gOo39~p76e!8cYtFmQ}k*`UOK1*~wd=I*TGM&s3lp5bQ1p z_a&TQMAgFsJ{UQ1*$_ryPy6T7Jrp+L9L<=S$iFFKhMHQ6tE9gUAb#Do%;yfSBasnc|w>nc1Dy2v?k5L zbouk;Hd_R91J zn)+)eU(gEjfZ0&3H9Vl9U_q0m_TZ+qwPV37*yl^u z4LUXJ-87{qXwH5?WeVX)E0YjaweNaD)E=P8duQ)X^}Q2$y6+9^N--03hj=6tdiqdM zyPC!gp2LTN%PyEs_Xx#y-C>b_U0p)lp#~H1Z_(0uK_-7jUo)GQ^gz6H!VAjSs9m0& zjg^L^VDort%z$0@m?>1Z*}Hj%p$?sYpm*6{m`0}XZ!4auxy`Dx&WH&zG7&1~X`DZ6 z@BC6_7EjFgq)}TjaZE>-LcD2*HunkX@$TkvmD)U$azB^yhUeyza!*^GHZloc%Z@;3 zM8H$~1_OUO4w-VF?Hv=N<4lI6I;AVZ-sNpI+lM+8Yf z$AT~kxm?oYew!EqzQWT+&>x6e0po%m$Q{Add;S(~lgOv_0Q4 WlB5uSvOc~50000+~jb|Li(h&>xrF7E@76NuNg(Z+4-Hp$5fbn`Jg0 zPn5Ds*^IQ-*2R+Aby$&%pEs$MtG0=9;b3X8)uJ-z+#trrVI+StN^TsTxYgZ4q~zMr z*qu)cp3Kzoyu%W4t{-z9s$Z5yFuuvl%Mym^ko=VfMsq;+@-kjbeMt)$Gn;;w(`j|C{41LiMdWmWtYm%5n<4Gx9@>)NUj8$>dhY&OLyg*f%LSiu=F z!%c-*yT$yTLilMv3`XZ#_g%1vgF4NG-#U1}1C71CiDU7n`>$M(j_nO5dpv~J@ww;S z!$@ci3L%>nG|-*WVekaIC`hE)=iC)om1ZJ;hZRyq-v}o4W!QJUyYdeUTk!0=L)@I@ YA8*WI7_IBYVE_OC07*qoM6N<$g1*hti2wiq delta 432 zcmV;h0Z;zm3E~N`Jp+G`NklA<)wUF>J<1jmCsbPVQ)b?)G*b1A z5w??t5JH3rV21E{BFSA!6%jRmCOg#Tzqk0)uEAo&JV%0dmdEXEWjHz^;Umb z3R)jX`6rHZ>(X_VJ5YXXrg6N&&m-kwB}$#l{W#K;)ly>2033gR7Nh^0Ow}RClO4>) zyR&)lhRG@vnar)V^T>-qG^Wd%2iUTrc2_b-P=D78QL3Hy_k(4`bOjG+AWr1O6IRUR_~!tE;rkZBMhONY5A*`4mx(Fna+>My52iKzW+MFkWJGgH a!^?lyUQ+jKG;W*#0000G@F>~x*OrgWvt4x0(xKBby2&|jIme{p6 zg+yKN3i??W;=aP(1vZ1tx>AX4NRuL~F&MFq&Z;lwF5R1LcDXx~;L@Wm0#R$$r_;II zDiEj2dUS#9p(EVMPwICMGD|7(H6IuZI#Q}42Qzd@InFM@I7!ihm*7%y(vT+iZ9-Ks zq?TCiV3E;BdXs<65E7+N>(qYk-(iN3SYQr zQZqlqH5=U`f|m*6-^2aK1Wq!Bx6NR(iK`9Y45m1=A*cQ5DFaiI4-=pPzqh5uF2q;} zI^yp?$<-@{EuOdLA?o}Y6HDvSms=_^OlAlB%@-eOV)QQUp5mR{6*}&Ihd4AOnqP0F gNpqDs4ob)R2b{c;?F%?nxc~qF07*qoM6N<$g6fpc!T0s! zDCa^VD$JhCanM{~lc>9Z(PG^2U>l4@?(NRh%zbX7R+TSagK2leDdwDOeAgYPh*Gdh zfTx(g7)kGcr|^s6WH)V3Ge73)QIxsGa^%J zO9*}eb;?M5zwlyau&XGqbNEkz;7&ACsw#*ywO}w1iJYJIVl$4^OoCkj;j^gCi^(?KAi zRNmKd!<-q1o2GoMJc*eI9B`c`YK_LHqt8gBQ2oLgnMJ_6L0Nyv8H8C&D#wZpwdolM zkH73IsJ4#tdBNX)(5PvPH0{kF&jURovqiOrOb!y&YF{88nxY<*n}azA8cNl}k)4V8 z357$54=55smK|E0`H>uC0pcbe!XlvhT9FWBwxRkMH%R7?F$c*Mbt$DRSn_ZfPs-gp zz%smyjnjfTG-7`ZuUPP%Gtw*~Xt!zd5Dl?e+@UIx^&Mi0DWWn5F|du5PGSccGbd8D z`$Vj!2-lXqAq(8#>G5x(o??c8J-fzO%ykC zq58CTccy<~hf4CWVg;d6?2Gxnmux4&9M{999Y{wB=O_7JD zJDk^#-aWRhha}g}r76zF8@w(I1p2oY*sv45mp)G$AI&+SAYB~HrPvQb@2^`>w4bIj z*i@O)cYq+$xiMM~rvE_cJ-8l!{pjIwnIBI!BL4^fVQA@o`xj85c)ood6mI|k002ov JPDHLkV1m2*X666@ delta 742 zcmV43-SAJp+HlNklz)W+ED=07cCVCq(JbnGu6`13Z7%j6`(L`=2HEq|EsF z)0@ju#g74&iz#w?21^kjru^xqTOznHqs|hbTOs`|Lgv=4W(N4FD8d4F86`!yYwzA< zS>T(*{TFvs^lq#wU(me)^9o@{v_ePiF`*ZPikfRz0z}=Tp%N__6?L;+YnTrd&t4Kl z`t2PcqNDhYT#tVn;?oqPSr8~dFY+Pia7Z-a9{t>00|3P&75bG6WKrBSe?YFRa?4 zCNAuo@ye*C60Vl%DlvAK=l>1WFi&D}z)-kf_oiimf{lu&N7(Tl!DWk3I1$85ah6^_ zaC~4U=I(#qU;79H7U0u;(4-#j`(C{sT#&v6xHr5g6vWvEDfhwc&j8c1mJ{3rDz_d|P- zs1$c1T*Ymx!E$KSZ#8_+4rm=|-tD|b4Rt2^g5!T8d=*PV@&w!1o9zI~R?!5n z+UQe56s`K7vXm$d%MzDv^^8SY3rRrLm^5q1T)!0Us90Tx0+zht>oMuR&g{^wVM=FS zLG+`d0qJgh;Y1d)qEyY-vea7k#G<~CNW_GQE`2)kX<|OedtrY^StpTb2b)xt+%sho zS=GH=&u?TJPhPoS()_+(Ndws<^X9}2V|wK*lJr9)#$6sZjKpaWnct4g6Vktr3CDxW zcuU(O<$LofpS8K8acR#o>pq-PI(AmOiPXC+&4#p>D1x807v;g{e~Yb8sY|e_gmv29 zW#;)Y_a``|nngBqSxG!W)5f@yrR{5-KD1Cm;6sva>zQe9Xy1|$?|U!ySc1Q~tBy%>M0L$g)wNWzX8tV>Nz z>C|o-VP|0{XztFPE;qCoSK*tK7twrK*HYLJ(}(Ox?)Q^~+$29+%Frnzysqn4^H~(j z6S*3B)aU?No*gaqXqG8`z5}_*oA+hgSp5okPm0onf82-yg*Jp+FSNkl8kl8=}j+$P?ea) z3-v{bmet;E4SqDUKERvkp2c;0rS-cqkq-0k9^zI2MNdszjj)XUtGTvTR;huz-8#ff zU54zWGlj7=k!jGtb%lwqrHhSOk{DcV0bd1q47(I zb?ANZ3Oe%|<4`cUGf^}QzZiJ>K;s%VzBD3F&R_)bch@)tk%{mI~yoC3o` z5Z_+h7+6#&w>{hm>8h#37w&*O{zJhHfRzA;tK sTWZO%-8gS4Jz^fO^d!8VSlXW8e~G0MOVdv=p8x;=07*qoM6N<$g26G2L;wH) delta 293 zcmV+=0owlA2-pa)Jp+FRNklzXX&bnaQHJn=*Vfyz$r@()5D5g9kU_m}unQNu#}ny-g$*@Movg`XC1(gV&{)B-n39_XKTV3CZos&4&M0n7wc;#k rdjLOS39R_*{J)1K00000NkvXXu0mjf7~PD; diff --git a/resources/g2/track/intamin/zero_g_roll_left_1_3.png b/resources/g2/track/intamin/zero_g_roll_left_1_3.png index dca967be5016fa0af3a9b1beffbcafa9312e1924..fa029eafd33f47cc1bccdd7ef2ceda3250cebfd5 100644 GIT binary patch delta 418 zcmV;T0bTyl3DgO&Jp+G&NklC@SlE!9?MVJ2h zC4o6QuZ4Al26KNWgiaxnOP`$3w}D8OfmyWq>U8fFVCizWXs$$Z!^8<4#4JmFhc}q! zPK>ppueztFZ|6<2E`RRJMEwCqmWbcFbzRre-6_J0z53~wmwnA=ZSCv53(4%{5mOW= zFkUFi%x{`VCXslluY#4}?pCzkSDal#2g z6SzbvO{8bQ48wNBUb8kn6Ac>z-L^3uc%gBp;uu{Oy3SE9oWwOCs{2r%J9pxkhh$o} z3^<&~KZ$q~Kdr1y1RNS@B!hbjd{jKQs-O_jb|$qt`RZwu`I9)EN2yBENB1)jj2Kp! z+1M0I*@XGRX}5nyArfKY+zHuQi%vuh5~tv0P>gLb---*E4fd%Uy+mb&snu5x(bpj| z7R9)w|0PF}*cOX#M0*Y+hPcJHV}JB+&SU>B3ARQnZGgo2lij0Ps83M z?qx3VdeC`W#y2D*{gnsPt!qibdsor9dN==-)RTOdTBjF2>j#*e;<03yUe*8r002ov JPDHLkV1l8i!=V5G diff --git a/resources/g2/track/intamin/zero_g_roll_left_1_4.png b/resources/g2/track/intamin/zero_g_roll_left_1_4.png index f21fb268d2c56815222bf4d319b0b200c79f45d4..d30eb46960d0640f4ef7cbf9f8a68dc11e4d7c6a 100644 GIT binary patch delta 482 zcmV<80UiFF3X}@4Jp+HjNkl%`gNt){4#S$qf%-TNsPuDkTXoHOP88Rf@`CT(ildiQl?F^?Z6T0 zvr9`=+k#LBJ(?mVTVU#J%$w3G6?5<~|J38dqbg!>m{K1*kh`UMmM!&tf|r-A<994Y ztWpZd-P91Wkyw8Wfr$bi$6D}OO^0m*>+4Te_@b{t)HaVS_n@ekKwFT%Oa-}MHx3i! z4cN~n0z;J6&jZOfV`G}0^imLLkL$o1EG55u3~-PL57wivcQ}=tm`HW0pTIW;Ggg<# zyPl@JTQ@7`sgq%gHCRnzBT$m28xP412pf!-nR>BEi4t0yH@Kh2pedz!d152vL~-?T zudwq<+54wg9S@&qO4fDV=<^o|)V#F30Eq_Sxu}#^AkjB^sKGD6irr=SKXx8p#Kqs^ YFTrXqAB34t`~Uy|07*qoM6N<$g8y&lyZ`_I delta 490 zcmVGsu6V?-i+|j3%GPD3P;fDYlmlwnO>qVSf)*ISLS)RKu0QAQ*SW8CKwW zK~hAK`Y`-9_SK~^!gFbXxD0ZMcwew-} UAN2n@eP;jyPgg&ebxsLQ08pSA761SM delta 65 zcmeBV?_}Q)z-)OjZM)`oLDs;Fze7ZBD4mGk!Mbw>Wi~>m#F{{hU8Vnvz zz3-q8HZc<{-`FiC1-CSpAZFBx{E|8r7Ap9q$zeut^T2k-S>JoG)9q*vg7Wor6ju*Y zHxAqE6u1yzq$bdIsG)m{GhbFbSy+wH1qxz#LWpNJXmI7SuQ6c2zF_7nJmGnWq7Ea0 zKzn%uZMt}$=Zpze@T$y^%4hl+Q|37KK)>i)163t@d-I3r4PRweOC_B~N8~f&y`90ZeM`iN*4l3!tTnhrsAZDRxq~8w6rQST zo?kHX-Ve~HDl7zH38;IWsnv;N1;rsX%xnHMVmaiO_uvG)O9)JZRtnxdaIh zb$&Plz!*K#?ck>%)y)f1D6w&XUHw)x+Cz+UVQS*($uh2P7?^HqsJY~v=8JFsEe~Um z^Wl}Mcx|BF{Z~Z;bLtv_aqj1D`&H8z^El&~-Wsa*Mqh6J6y5L#A)HD|z^+{S00000 LNkvXXu0mjf8W?~F diff --git a/resources/g2/track/intamin/zero_g_roll_left_2_3.png b/resources/g2/track/intamin/zero_g_roll_left_2_3.png index f0af22274d5aae5a46a0b92eb8495f0f14726471..c5dd442cdc001afdeb8725f4338fc06df9026cf5 100644 GIT binary patch delta 314 zcmV-A0mc6H2<-^4Jp+FmNkl;Uc0V$ik5_d`JZA5GWX>x;o?J>E%)Ph9^J2~{d38L=9O>J((fp*$ zyNn(#y;iM7pfibJ|F9HMqk)x=joo7wl5^=u(}=_f2>Q23O}Bp{Fk$J9L-hwim`roc zOY&~eBs8KBCy+L0Om*{_0Rl;o6eC(lVg#-@7GR?I22g<% zVIopF@WO5E1(Yo6h_R@8;C-h&!&itF?lt^Gdm@AR5E&>8iUqX5Ke8~<{EXzV}sz___TO0dS74tmhmy@-sxBi#BkpBSs0@1jtBuwflvj6}9 M07*qoM6N<$g6L0{-~a#s delta 322 zcmV-I0loh12=xfCJp+FuNklX;9DfsW+ch^Qlr zzG(Dt*Q*QWQRNw4AMxlJ>|#ma*>5~D@# zkx0-c>oQ;oG4(1;Q6&lU%G@LK3c!OzK)D>yqc>n+a diff --git a/resources/g2/track/intamin/zero_g_roll_left_2_4.png b/resources/g2/track/intamin/zero_g_roll_left_2_4.png index aaa037718d10495dcdb2c0eb2057f49f2f803373..a17ee95a641522ca5bd895f04ce5add0ec6a440e 100644 GIT binary patch delta 341 zcmV-b0jmCo35W@>Jp+F>NklvkpPmPPyHx|-ed zvHvxfQr6#e;ObEl3d(z@(}@i{*dR)W#)7#5$vkclMZJ zDvg2^8?GrOHL-_eZL1<*b41|6EtCc!Q_bTx(RN65~t85>-^MDL| zHXa$;pvS3gyYA>iYhA8W%c+WADL)qy0Q3D&YYj_9%v>o~oF_nP+4LqV2vj`8^hlWa zQe;yl6_7EEJa2dBec#1Qw(y90gc}zLaFVXsEpgzX*3{+B?mmBH&p{JJu>wJw_3TBu ziMifdL)6p6$KfdGAT7v8R*HkJqsob~o7#B3NF!4X(iraQ@dm^F889Wi%Ayw9M+-q= z*%f`l4Jx2ZC-1#1NsLEXk?G0{>7C3?v0#HXGVn0`H(koS$h203gDgV`QJk{-(PA1? zsBlekwK>pOV_8fWuWQtW!`?H)6(pa-=Ihkw*g-}{jA`$j=3kv7pZJOnKL6BJN5aIn mjlYp^9@TmIpFHsPB7XrV48wp{W6($d0000hO+7s zldMObvZB59U7L228Ji4Im^o|M$83)K?uMFi=}KL5kfiesRycoP8aq%&ed&Rs0d-#KdRg;wOwJvu}l@}Z~=^XywDb>6=umex?I5Gb++vAq?BLJ z_y6Fk4s;12#28b`8Oy|;m5)kR2bwcCW+GSpZCS#yc~%T(7A2A=+JcbE^OvKt$4jcI5STy58gXbE-_xBZOu<0z5%cH;?&Zq6GQG7PYJG z9DRs`h8gaw%^&_pAL>g;=^mPVM1T2USzn@0N6)(-^2fdm7Cn-U00000NkvXXu0mjf DJ2S7@ delta 367 zcmV-#0g(Qf38D$GJp+GGNkl_O3y=?$xcbb+5j` zN^NfF&3u-HSy8afkprrsO2yLH>Tvh0+C)O&w!?uA!*Fd3O&lXof1<~%MwF!x3Zl}X z7y=qy%0g7i!}IYUT*VDdIp=Ab=9vf=R334>nMd5vnOQ_wRZ~ha#uRgkDP=sQuNYKh zyPHkSI^dC_%DiW(Fvd7;!OY~T2QlWX6HX>QzHiEC8+NtoGkDMm<0n!vBA`Q`Lp>`# z;wz%Q=~flNjF`PDo~)!i)Cq%98) N002ovPDHLkV1iCWvJC(L diff --git a/resources/g2/track/intamin/zero_g_roll_left_3_2.png b/resources/g2/track/intamin/zero_g_roll_left_3_2.png index 9d7f99a6e783627f02eaea7599e0cc7f66f7eb04..5098ad90e1f5e58c49ea5ac67a0bdea39d77f296 100644 GIT binary patch delta 371 zcmV-(0gV2w38o3KJp+GKNkl3(^} z&nvB0E@$^I_1@b4xK6zTMO$lmJ+-~2NhXwYP6+^#DX-hMJ+spz!4hLESiFxu#07Tt z2bW+kCsa0rL-HV-MuOKvx|Ll`TMv)Q({;5WTY@4vZ;B1Kp}a`q!E8+^ug^a~6)wJ9O~ RcqIS;002ovPDHLkV1g)Mv9JID delta 378 zcmV-=0fqji39SjRJp+GRNkl!>WX+ z9^$;c8FEKA`M=Vh9g z5O?+)3MvMXjn!D))Y;26fsbjIJ-HkgCKgqdqMMkDl}#Jh%QSz7A$x)IYCc1=$50VGeu} z6W+-y+IRAsOILb2gg-1C%^e_`SC=BKdKb1EpA+Y#mWBa#REPp!1^V4P{(a;>GRUKn znK8zJDQr`v+l_M2|90o*83~LC4me@c&6Er9P9o%AERLtq$PlulY<#Z$}7u!*{CSP9AfY3;uyj)v-F&y z5Q8EQlf%FNrtXt|hzZ}Gy*Xq_3O7T@o)q3?EYT|y!=^QKe26q$7x{huF~)1<9<%nb dntV`{Uo%my{fqb7A3!r1JYD@<);T3K0RU{(DHi|$ delta 121 zcmbQp-p#Jq8Q|y6%O%Cdz`(%k>ERLtq`85ZgM%4JN<90zYonqJv!A7>i(?4KOxM#J zMH>uwoE_ipm*S61nwD^Df zqDT>4)b?9ryZZYJjNW48Kz#z@e!F=@WM#e+kH=_>m79i#i@zdcdu%<+*)r5Z0X*f6 zXw!X8FeyP|k?(|L8OKaZ(iAB5BY`ni(XtYfoSE)nbTqybW-NcDQI@PV%VWUbiAWcw z2uWBKw%V1)i6EOI~QASfG$; zjnrq&{!YlV_kLRcHlo6@y^eud*+yR%!AhBV#h~XgkO-QzJ1$l@I#PZmprZ(6|5ngz zUVjWW=C-%F81&#t)j0cS;+taiSpNZjye*f{U-qG%2IZ7sh??nRRdgV# zXTE_3T4*1Q(6%QN0451Us0W1#*L9h+V`p?*6AX!7K@hQ5_@hLLATvjwk`2lIv4`j7 zAX|{V;zJcZx{$Kj1Oj<@EIzKBJ-fEKs?L00000NkvXXu0mjf D-8!Kk diff --git a/resources/g2/track/intamin/zero_g_roll_left_4_1.png b/resources/g2/track/intamin/zero_g_roll_left_4_1.png index 916978b9858c775dd8805f2ae2da0d5a06f63431..8b2cd5820fdc3291cc3dcdaf401d4ffd86b41510 100644 GIT binary patch delta 492 zcmVdMJ zK3uNC&;UQralret_pf)Tl==&dq_pD|V>$Qs_1v0>@b-DpM+ibW$yYvf}ho@_~-OkGEMgxrRY;V zk@29}L5$q&gj3qR&#Rbuw6npOCJ&k_gr&Aq)+o8Apc~m~nvQISqGR8sy?7}YoE@nU z88`{e0Qo6fj{|?b6re|!_zX;8H}yVhe{tY&vYgj<)$ zTE+u4(cB_jTT3V4$(H%NQX_wZK53fyyf8mYV+>iG`n+VY?xjGD;ge}zd*F~P;mEd? z6zd3P6tQjFJ#-m8WGN-T|BD&$3l#&=raV)ymAxRo)Pl{ACcM^iOj_J}FHc;2uTT{G i1?7JeS)Bh-f1z&;dM}BHu`0v>0000XI0=J;k`97Vg z6UBOCAiDtd#@V`_F-jHav;-u*%S@%Ri_as_w*~hxV!3sq1}98|VKc-m7?tI%ateA^ z3GSBstP=vRK1HNazuO!}yjACr-b15XmV41DRE0k%HMLWdlVRB|<;;~*Sf$oTOYKKX zCo)uJ0oiyMI=_E16z8}}=3pxv%IRc9#kjipC1>U(acP^#5wJU&|%=T<-!Gu06Jl!FaJshvmi z{u#7|Ub03*)~Fh#zF~{e+uQNz=E|>-4GYoJ85Ki6g4DEpX58P%-xT{LELnE`fBZi; Z{{ol$F@xxx?gsz>002ovPDHLkV1mAx=RyDg diff --git a/resources/g2/track/intamin/zero_g_roll_left_4_2.png b/resources/g2/track/intamin/zero_g_roll_left_4_2.png index 9c7b7e0c82f4db43c455e2b75389641e7181f0eb..0d9f30c3492c24ffbedcaf23fdbcec11926de629 100644 GIT binary patch delta 519 zcmV+i0{H#H3b_ifJp+H|NklQU(*y?@<>ge-B>W+q8|s7@YKaU3SYR#0O1oVkJjqS^0qDX+%0*rw5KPRi4~5 zLXTjnFb;?jTY7&dh$XnfXyaEwyhiWQc?}L5$^lc7IgzKE2W4}u3v-@z<%r6H1Ew<= zaFL5yR-txa0j6H$0_hdOOhsh*jpYiq52U*45vbuqkWGKWL6Pc7`XO~?u+Tx zT$MiD2+OuCYN{s3+=Bo^OO3={SQwUhONDZ^iLH=DzubR%kW&Svu7;SSvXC;?QX|OBra}M!002ov JPDHLkV1mAl0c`*P delta 529 zcmV+s0`C2}3c?DoJp+I6Nklp1H%%>8Csy5gf&*9cPa9@IsVX`q??P zP;XgRt$RBUt)xB5Z^|g`dYp}!$@(0`ttn-sUI-M_Xd2gVVoiT(#yfR4ojz&Uk14Ur zgdS`+M&E#gUPTX(A<028$GkHq7qsqwSPQs45x9BTR_{q~d04(_nhPskPP(a7w0Be$ zL^L*kESm{Oc3lW^>`u1kHiEDzs~A^u?mT_$hjP$iAcjS|^6SBsfiV%Osw}sUaW6cqU>UI$bk`+XNc0wzV=ZM2U?i89 z;tNjFpto$19C}{}ey#a<`alP6%K|lR$|Qc9g>q$4gIj-G7MkMQF<%&0YicNS6xKIG zg+ZxZHUhacn^a#Nv+I_RxIFt_koxv~U?bpA6rUl)^zU2(HFsgHc}!CNM${#@vsr`V z5W3|G`NaE}K67XUs#hN|ghh>o?2&T0CffQR)HNycnE!8f;|2Ur?ga(z-_IYsdRUX` T0CFY(000R9NkvXXu0mjfi5dFv diff --git a/resources/g2/track/intamin/zero_g_roll_left_4_3.png b/resources/g2/track/intamin/zero_g_roll_left_4_3.png index f2a88e85bc4733cc87294e255f7f6e259391f00d..857b1cd52411f775965bdcb09a56859a137ffb5f 100644 GIT binary patch delta 45 zcmZo?Z)4wJ%gksp*^XILeuvMWw%bN`{8AVge9Z(vI<~!c(*O|ZWZoh&^*Vo0ub5Rn|C(Bq^A3T5 znsxIvo3gZ1j_)ShTSQe&Bc~*mYei0`!s60oENLSDFakj0oIUD%$0t{cS%+I^G-z`GorZBSY+{G6@APMKC*v9O z!GJpR-45ga6)=5DK?indxpS@du=b7oWaf(RSd~fx@Bc6e1Tzs-aag;ekC^*9lp0?I i5P`^l=p**qHqT$}@(~A7D1p6akrX~&7z5MAdn!%9@x zmAGr~;><&90zZ%t=~eWjtHs5Ka9_p&D#ERhN@+5h(#(_pmT`Ya$iX!vRdQhZBMo;D z2nepPn5=5%%7ZHIP^-&KbAt#g`f*rT*ELqQy>t`vZzpoazzp|#po(MZx>IGfW7Hnz zT7`2?NknG}D$3YMj7mQp=yevx<9a2AfSX%*PuWxt0GH@k)^y=3#JLf8-<;=o`p9an zIe_*iyHv3?UnYME-_W+9SIkV}M}f`W3J^A!kyA&uj>Qnaj{Qu$;ErmnVvIkD#+E8V|t7p}WPu`j62a zjHTocC<7z2UEA9|VCtmgG7jj#)_-b!(0(xUjkgUz^ZPN|Gr*a-d^)`UslZti8A2}! joaM$0Px7AvGPm&y!*&aJ>D#9)00000NkvXXu0mjftk~E5 diff --git a/resources/g2/track/intamin/zero_g_roll_right_1_1.png b/resources/g2/track/intamin/zero_g_roll_right_1_1.png index 80e6fc986881521969c8a4ea68e68ddffb863155..2dfdfa55bcf52a60f1f981fbdc50dbf9950a856e 100644 GIT binary patch delta 489 zcmV# z2mk?;L*!06{O^9}DESYdTp~Y#QZ7kYA3)HPr1i;E37nqwj?Zgu^^S9jwm#;0qnAa- zMWf>D#VXuC4Z}6Mrl@ixJx{3=kK*VNP%0u5bZOgxg-)?n79oGA9!J?EVxbeoHv=Wg zZC@uoo#(`iHTcn1FaH2+CX(Ch>6{@*v$w&qUNSSca|Y@EO>U?nGre`3T|33>=`~`B zsX?|!_k5zn98)6cGZil?bB&PDAUk??>ON?8B!KbrTp{(|n>JSu99`%g4*K4VtsaYx ziB+*8^T+PiqMCn*n|SIV|j3ckKKMOUkkM5Lm7Q%lcYt4JCM{ln86b6h*) zH3L0--xRL6RyiC~Id_~5aS}EQ&UdCv52sT!gMCT+q!tw_#tA`)j`yZ=4nVEt6x^Az zyUZ(3+ZR02#&Dd23O4$Rpc#{6YTB+edv1u6IlWRg5;kE|>>UrVHzR^Mmcwl^*MMhb z1-ZO`R;>{bi6E$L2EVXL7bx7JSO?21$94y@8`#_HpWX@@tSc`51ITunAM|WuY|m8a f;7@;=uN$f_OMO0z>7WI#00000NkvXXu0mjf5RKv) delta 476 zcmV<20VDpK3XTe}Jp+HdNklFT7cVfWU&CC^jogd>IKGIC8 zA|Z=31h;bWzx%Cn)IWggk=hj~*CY4F7a;Iyl8a^lMY-r?eC2%Amaohy(sj(a<6{|T zVBPbj7Ddk>21~A}&{7HVcyxfu;qXalJ%_;K)R32FV0@e!N8Epto@Vb7l$q0=nT3V= z`Z)1)4j6!o6@Ih=)#C#Ic1$?8=94-5D_nAS`IuPe!xS^S(i62nJRU)qQg!(7wBhUC zagNdD!NH0h^fh=W_T>m+I$##Jx;-Jyk;Va)%d7{8K2Ry<7 z6E!Z5s9F`XsclST#{^iF2_c86*egf*D+;7YT}RM8QJBwCH83P&XO7h}fAT_L9K%tL zR*>-wgLdn*7G-grA{;T%-VtIPuf8fdBf4I8*HmSO3^ zw-_(a2vFXl$Y8fxF8+C_k8t}b+g1isCEiH?z=(FQ?RUi_SA3}3mGn1k)9OE16*w|P Sx}&`S0000JrAS*)lR4Cz%)_8wUex&I zaDe_0Jx6)@|Dj6#iYn<#O5YQ@)(ZxT7d-8FNodp8Bj&c$CbmCPnWQ`NfK7^|4G03e z=`okW{uJxotkk&0PW{ZcX85Spr2~rdMVY!(%_+bbp=PF|cb9+SlsPa5XpG)u+h|I) z#{7S5^u4_qy zDCJNK^F|s}2ucPezNYaH%XFFNhB-m2ED?nn+3W-S^_Ie&z_X1X3f!h~k&585*6Zgo zESxxZky)Z$5!-)f6z9~U=tRdt3m2o;j*P{ZHa;`Qiwt5;4aE%hyNQ(HagH zJ^5LT<{FcMnx82`&-Bf|hp)2ri#xXQ`ppeX@6N7xO8E8jwp9OE2|qei}}nep!W zljc~`Pt?n&joSjrMVF`yl(wE^pt8KWkhl4)E$M)3a+;L%r- zUj8-X^!gXcynGu1%f@+L*YZ2?D$3(Z+Ek7oT2%(2AMD^Meqw2H@n+x%v;C%NS!~7~ zqL{$tmOXySaD!C(mFr`&w{FM#@=PUo)*tJC2Ntq?Oy==TGQ?cDFXBn^AC3M@TIAkU R>Hq)$07(Z$PDHLkV1jQC38nx5 diff --git a/resources/g2/track/intamin/zero_g_roll_right_1_3.png b/resources/g2/track/intamin/zero_g_roll_right_1_3.png index a99d5c9677b12b3447122b6016419c47e922f0d3..abd7dd0e141eb628a5f78403f3d21b863a83a812 100644 GIT binary patch delta 86 zcmbQlK8byU3$tHxf&$+hV}tUGynVKwrkbn3H__b1||qbMaOO_8{XOTd5) z4A)C)ZRbu^&UxFmf3Tn1mf-{pi_MUt_w~K9nb;tO%Y~`vDL95pcTNahe`zC6!^wMx zsDlmH_R{pU;pYPq55rykdO_!u`c)5+TL<{d&ZHq#YORfh7eap-Q1yrhqchlqwMb{} zWAez-qa5%?=WNR}!>&;6c8y+&q+k>GCw|fXVv=G!vH^wLs1h6x8He=IJai8yp{L2aiSHv2Kc3wJ|ZD*z$Y2OpK{fI-HPSD08vu>R!>F_#3pcy8*Qgjnf z>ud^AZRF~Rg;RgDo$6ZII=#3b-!2|L_WQ!zs%t$3Vm22GHr)_zb0)}8Yi;eyqqJzc z0Xgol2|w(`OB2@Bf`qKCtEQEToNgxWwT5egLSj8Co-5n}7arj`z40^~RMpn44PeO2I}N*g@ZQxo XN6qi_>A~+d00000NkvXXu0mjfu0hrk delta 430 zcmV;f0a5E%Z% zsXXw30DKfFrQqB@RNwOY{Lp+^mgjjkMrhhURKI>`K}- z!dAF`6_%09`1y!QC#0!dN*kF=A5!dx1g8_ljl2IZ3}y_dBdUMAYl3bxKvn}OP+cEM zElTtEH%%tDp6|Id^YV3YMhu=-0c5=53ES->7cm8FBZ>wmb^hS~Lhrrxb8_Bg8yL-Y zE?TAcI&CRE#S?YQ+EsgBJd05sbxo;MJ8$H86!$K>&#qc#@iY7xowmsXE_7|ty*TdR zV`jJL+1!!K{&3|OSkX8oe9EsL{m2=_jb6191Z52OPZP{Sa) z=Xx3^FZ|~eY1i3d@f(^vREt`1ZAE%WJj2a-CM-U4@T^!s1=M5-p9l z@GV&9;GK{0+|Kxy#tRSH+#An*`$y$R0!ur$^OA+uTCFA(=XPGht9p@X@)>BGwK Y4FU`9Jb?&Sd;kCd07*qoM6N<$f}ji04*&oF diff --git a/resources/g2/track/intamin/zero_g_roll_right_2_1.png b/resources/g2/track/intamin/zero_g_roll_right_2_1.png index aa51443dd09fe83c569b1d2df2778186ae0fa2f2..43fc36667b04b0fd746ddac611b9e5fcd2e42de2 100644 GIT binary patch delta 326 zcmV-M0lEHx34sZ)MFW45X>!9b2!*--(Q0eUSqc)MAAQJ8CT^OA8C#b4cq}r}ht}GM zSS=-gfGsZd_i`0j+V`aIu#&pwZ6i{Dsg|L(nc6U*&((5K-5@u7SQjIE?4Xva3B@JX z<+Vv>->fIJ9yyD7{@TdrFt~?Liv0als+;Zmp50s(VorhT3}t^mmFm;OwGi#t9!H<8hpsnYU=MU9HwdmQw#(JMBu?Li1}&hutdW z_!m-I=aB?U#?|l4MABvGT~}f&Kv;V3YHq~vGczLMe(#4GEKng)ViAmg$Y4%K1t*j- z5QZp%G}4K5#Xdf;6SrhLM0kB^x%KnNEdrW3=92k0>%Z8VFUZ??o@2*+kCb;ad}?o* YALnAC0gmVpm;e9(07*qoM6N<$g0@wnQvd(} delta 326 zcmV-M0lEHx34sZ)MFW44>z0Ec41{_AS5rXxEF~ccd(KY4ZteEw{HPW`Cz&yXlPcvT zwrx3`zzVPw`IKFZ>l)=NmRRDlguwP0gWIB_e)7_E$Fj)ccGeVZ)#n6|jNMGslV}f) zULVkH&djR5oc5-Isn$cY|ErqnvMvc1bu)uo75#B%4ebbaQ=@;0z@c{}u|P1zjUH23 zSG>$lx(UXQq1t@}?=5(ka=C0}Ty4x#EBHT;$_P8ioVS0PJ=~R{fu_%jQ-7P*N=3!8mM_oegoEzME4CI(aO#? zLzTkyim*9Ve&#;r3W^@_tC$({&F+aCEP}y`IMx~LH8%RCl=EKB8@HSG2G>J}Z}pY= Y1(;T*-*gmu;Q#;t07*qoM6N<$f;n)cRR910 diff --git a/resources/g2/track/intamin/zero_g_roll_right_2_2.png b/resources/g2/track/intamin/zero_g_roll_right_2_2.png index f63c8d754ab48b655a175b6d6d463e5a209e2527..67ffe3f24591650189909f1e195662a9b09d6515 100644 GIT binary patch delta 347 zcmV-h0i^zr362S{Jp+F{NklNXMe+p5t3`%D3yIaI!#+wRRPkg#fF>HHf8a@N zrC--+xCk$cD?}oWeV`U`U-*9NK@^aC>vzbuG->a>zcQ$mlBbw+E@iNfuonmnGpCeA&1=Fx=d#TJ z3z|$yqOyAxbr;>mTzR-2*fyA)GJaJ7M3}ir71N*{rGpzrZ0>)!zPbff*O-p*ix4@m z@>TE!5RIe}@G6bPVHqYKdT?RtjmDt7p%E%2qpBXmTEal|G1Ir_ATNUg57W(hv*_i5FV8PiyY{=Fg(YEe;Em@W)eN^p nyi$3(xodaqC2jXfYyArt+~ifWwI5%oWdH(CS3j3^P6rJaj^X6F<$c8Lp){h|eoR>tt-3UQKxjt{XGcM-sXT ztFGhT>DRQ1nqy1iOSvD6Z$mab<{{$!h_y!s$$S>Zgl&IhUY$`Qf{vx$TkSf3{Rzil lPv4$`mACQ_Ld$wweE}*6kzdsc?VbPt002ovPDHLkV1hzwpAY~5 delta 346 zcmV-g0j2(i35^M`Jp+F`Nklm8X9A~D^R&GUkG!aUR?00_1{ zmv>T<*25G%SFC(6pSfZhkHy(&a`0Xvf#V(5vSa27xe>k;FwcMm@@{ z^(90L&{jJ<8$zr(y)(iJAypml)y3yFiK`f{2Rs*_)P;8>x_fJ^eAIss=)9hO0A2i;*}&|=D*ylh07*qoM6N<$f@HX)s{jB1 diff --git a/resources/g2/track/intamin/zero_g_roll_right_3_1.png b/resources/g2/track/intamin/zero_g_roll_right_3_1.png index 74418796007918e3049a87d9bcac1552ddebe409..7d7c8c8966206c81d19aaf862e1c646f96a9ced7 100644 GIT binary patch delta 74 zcmZo*|IfC;mf1GBHieY$*jV&%eLFU(YCkar*y1KYM-W eFkX#ODP*{~NNU#9_{bX!K;Y@>=d#Wzp$PyB#vE<{ delta 75 zcmey**1*2Omf2a))5S4_V`g#!LzDM(J!VE`nV6==Zk`hlF3rEczkVT?xX@ e=?Ip7Tc%C*jE3l;FZ_ zYJyL`N=eO9EJ7&6s4fZV+h2K#HGOfN#=7{z|Ls$*(4E+9lC1s` zIG*t2@pG+rjq>1(980tg{Cc6)qC;!aY77E}4)A`$yRl*+Xti9f{P@*~Qa_$KV$b=S a`~@v delta 286 zcmV+(0pb3~2+;_zJp+ILNklZI_INzb>HX`@bY3~yDEI%^kTFsq}SOjpDGjy1K-+zl% zoW;;s)h#X&$HZ?x%bKPI5MT8kCQ+7^dYjNbJIkV;HHraBEw>TIe6Ct+2&Lq_r&m+X k*Gl_8KLV}W_PiGP2@a7+Jp+F>Nkl%y|{Enj!jC`nFBHI_WeEBq_&e+P1`j~%A)l>|A$0wC>Ks=^u zAb>!S%1C#Wf^&cvX=CYKEQl(QNtQ0~(m^m!t4=oE@8scdm_!)_f^3kxm6|Q`2!U7V zMUD~?Z-G}K_>H%nxhR21gYb_Dc+(tPnf`6-s>#l+BsdHy`8Mq%!N$Mhb)YN>1 z&(SiAk00000NkvXXu0mjfp|Yu^ delta 337 zcmV-X0j~at34{r-Jp+F-NklL6)nx6Nn*;DqbO?j0fEv5&Qc+*#5h9bu7r;2-I#O-A8zVjPZv{PsFoKIsx#DiIuZ2Lm7#)}b zfFBbvkBJv_m;pV2$hsrCs?yPb26oQZpLlMpm}y2D;h}0%$H~+MPE^X? zO~Eo-MHT?4F@{MXI7SDrvw~eI<($g-$fxcccJ5{WwjSaI9_vVnx2bHm_VOO>v4cTx jZxGs3xUTdb*;M!hplh`+K?B8=00000NkvXXu0mjf&|068 diff --git a/resources/g2/track/intamin/zero_g_roll_right_3_4.png b/resources/g2/track/intamin/zero_g_roll_right_3_4.png index 6da100ea03f64281f0906e0fb46aab7ddd4c993a..44c65e086f60520020d34902388344382bcb5337 100644 GIT binary patch delta 374 zcmV-+0g3*w39t#UL<4_?lG$$UAPhzQ|DSel2t#_lq~HlEbvr~?>O)mOL^xjFc!21q zU11;F-uD;Y{qy=s-SLNj_hh}_@9_U)Tjjc1D<$XiOlMB8GnZ0pYuCs725SQbs^pZ5 zvW)&Y%qS|^9 z3U3l<->B1&jjEYOh3%4+4`KUyP@CvUZlPf;<{+bzo?AtONF4e_>|h)`DvkDssMy^n z6SJO)AQ(63LiKKHGkQV6(enU`5G%upK?DPoWcd`Yv7g%Z>Sr@=*dfOqjHE?-a<k07*qoM6N<$g6|rg!o*Wj zBKtzE3!RYdqEK#el~7~MA3h86@mEOj5Bw_}UC`>Sx7D#DSi{+S6WIxv66h5}*4lp- ze?INbIQO|f}~MxFnWZ;*1= UGSe0cNdN!<07*qoM6N<$f(L)O9smFU diff --git a/resources/g2/track/intamin/zero_g_roll_right_4_1.png b/resources/g2/track/intamin/zero_g_roll_right_4_1.png index e870896c01393cc74c797039dd507e513f633605..7f5ca4200bce770e3a0e64f56ee9997e2b0d0ec7 100644 GIT binary patch delta 312 zcmV-80muIE26~XJ@bVc35ng1h2#I&q4{Yti-!|LuX)M=HY*67kpZt9UZ4lFrH&} z1mNl7GalN1$`A9d9^&s=X}wo?tk=2^YL)U@{^>%nd3^~)bG-?VO+BZU7Z0r${gWN1 zrH)GBvE8_=hRUJA;U3;*L-)7s;%lPh?}A&qwjHcgg5B-7tz8#47u}i=s}Ha0Ni3sWz*XR#gKIKY|dS zh8g4FPG=ua*!n=W+TmJ@U6;+m|7kYb)hU1Urc`Ng!O-D<_^ts-U!pQi6HU1 z-^2q2y3EY4UA*=dYb^0zaT%|nkHR*sgyajW<|OcPVMWmEXTY(J2SG1aO9rBx!ivSH zY)4eoEz?0)4^>44l}=i;5O)7L_R^26a`+!@)Y|)45|juJ?{6)%29xaB+$0K|D!( zd_x|H1mNF=;|H>rNWt%g^;RuX zf+LEk3NuX#v~g62bJ`7s+$M?V@MtoJyk6%@WGzSB)A;0R+DXOQ52_C@Z6A@C`)qWN zgfzje*}dc>i7>0#-d%@tIn&_gnc`P@(=)|ad0U)#1^&v{y#>kgm8n6p)m6SR#|!rI zoaeLg=L0iI1 zrH%j}1_~20F=MG)C$27tUx)}y#H9sz8+W(Ns(b|a(Z+PkbSi(4lr0T#v_2db3rs>O zoXOjIoF$)}&`OE2m9LLfp(-^G?%apY7ck z&cY}Ocn+!y5vAZM-w0<$39Z8nTf6w;%oi-I+D^x?#2+_xO)B?-hwa7_=Hz`;R(-Y{ zbKh#(yUSPF|3*Ad@;y3W{_rbp7I%JsW<1$R_IT&{CEWC1z)e11{NmqzRoF diff --git a/resources/g2/track/intamin/zero_g_roll_right_4_3.png b/resources/g2/track/intamin/zero_g_roll_right_4_3.png index 7393232cea818b8530efb114c70fff5ff569141e..220042432f6bf6f991397242b62d2850e8196aed 100644 GIT binary patch delta 406 zcmV;H0crlp3CIbsJp+GsNklyK302tBJQmmAD}VQUeC9X-gxBqYBurspf;VMQqRR~4Q*~FVwQ5|=vvKIkJD~L6YBjrTcCzUk2y6ZM^>{HG?IUopyU;+q0u2#F8cYo zhiavr<5gCoxN|)YM#-~OYh>v;f1!S%#AFYXblX~rCvI|aI9sl;ZM8N>y0&mO*iK|9 zzOG~=RNIkuVpFMCPh+u4ZrhZVzmkC2Lrbu&n4ELf!AxP?Zks4=nQZjlDLh<161-SO z#aqJwGSr;Wk!ycb=?gW7M8}p@ecxIHc`9HM5MJ$@C&>nc`RYf!Z%FcxA&M|*C)K>L zWC&Y@w#@^GeYew)pnuk)DmgkhSkmN&3&8iT1ipPI{cl{Po_1(1d^hUD44W;il>ZUG zo&2)(j&2$ee-IL9UJx%x)`Uatr_oMhJ zcij-QrYn+BmxbG2n-zly^`SGBSH}%PWgd#;Bh1HQZ5cvZ!svfNk5!XrA~EjcVuJ6M zOB14w+;6xe*DWFTpv>|BIz(4)B?{}Kqb8H+yVaJ24ROq*hvd7ps*0_!D|^hI8)AdW zCxYxD76*!Zt#+954w<_EH#U%*xZmHn1t7MH2&Y{IC&jJ%j*YQvG z0TW12kNC3FiG5oTpGq2JO`H%Gw{rQKTz=lY1GWp($$SsaVnF}^002ovPDHLkV1iFk Bzi0pe diff --git a/resources/g2/track/intamin/zero_g_roll_right_4_4.png b/resources/g2/track/intamin/zero_g_roll_right_4_4.png index 191ae5d1bf69c66ec86f1159314f0fd455901287..5a97ccccef4e5e6bf7a721e540b86eee9fb891e6 100644 GIT binary patch delta 482 zcmV<80UiFC3X}@4Jp+HjNkl9;fbj$Q;=4VWkFIqY( zm&;C?2*>(C?~b+oC2DJbhnm{<4mI_7g_@Di(>Avd6W7z07!xy zu33M727UNYRa#Jg)NE@Jis~Q<^>;7P-n+XGq;INOe^jzt>s@~o)tOnc|B(KFbV<}b zi<^H$;{o-|)J;UPsfgM@Q-Q3o@Y;`KhDQwV1V?qw4+8bQ_7XP9KV0o@*ZXY zlAI>kKWHdMX? zi6Wj|EYK1?q?#y06br)|;~KrR3Y1gy{${aJMg>&)^Y&V)dCWQL`pb$d3#aOEI+VSY zq5v~f#P1}hj$VOj6{1I2URaKryH)=bnv8}Re=pKm~-@Bb%%Py6@z Y3xxJdq~z>^ZU6uP07*qoM6N<$g8A9=3;+NC delta 487 zcmVL6+1gw8RoWP^BTeCqG(SUqNzp(0eCp&*~34pMr8%AgayBW05^@~r_oxD38G0Fo*!!UOTI zP=GQzk1@#OAMcQ?S-3OYhqTupqpdQ#^_w-o8{0fIV zS09#Lew)WqG$ntUSg2P1Zc%1C4ocx3xUbY1QH=@gYBd^e%s@c`zfxT>EYTX2>f~9< zI@ST%08J%>^!xy=sUt-bfM#K`28veh-!FHWVX7PbU4B@$r#nd1(KAzkw&)eQy8D_C z6Ch0tOYEvQt3y3TD^&TntHOdi)_}R-hoXmZ;uAY?7?sMOFyeIeR{XXEx|58tX ds8s)6e*g{ Date: Sun, 7 May 2023 21:01:46 +0200 Subject: [PATCH 08/27] Fix Formatting --- src/openrct2/ride/coaster/GigaCoaster.cpp | 13754 ++++++++++---------- 1 file changed, 6707 insertions(+), 7047 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 822db1e15c..f761bb44d2 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -9410,861 +9410,779 @@ static void GigaRCTrackPoweredLift( PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); } - - static void GigaRCTrack90DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 8)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 9)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 10)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 11)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); - break; - } - PaintUtilSetVerticalTunnel(session, height + 32); - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); - break; - case 1: - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 8)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 9)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 10)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 11)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + } + PaintUtilSetVerticalTunnel(session, height + 32); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); + break; + case 1: + break; + } } static void GigaRCTrack90DegDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrack90DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrack90DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrack60DegUpTo90DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 0)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 1)), - { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 2)), - { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 3)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - if (TrackPaintUtilShouldPaintSupports(session.MapPosition)) - { - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 36, height, session.TrackColours[SCHEME_SUPPORTS]); - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetVerticalTunnel(session, height + 56); - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 1)), + { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 2)), + { 0, 0, height }, { { 24, 6, height }, { 2, 20, 55 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 3)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + if (TrackPaintUtilShouldPaintSupports(session.MapPosition)) + { + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 36, height, session.TrackColours[SCHEME_SUPPORTS]); + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetVerticalTunnel(session, height + 56); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + break; + } } static void GigaRCTrack90DegDownTo60DegDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrack60DegUpTo90DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrack60DegUpTo90DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrack90DegUpTo60DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (direction) -{ - case 0: - PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 4)), - { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 5)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 6)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 7)), - { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); - break; -} -switch (direction) -{ - case 1: - PaintUtilPushTunnelRight(session, height + 48, TUNNEL_2); - break; - case 2: - PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_2); - break; -} -PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); -PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 4)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 5)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 6)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 7)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 48, TUNNEL_2); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_2); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20); } static void GigaRCTrack60DegDownTo90DegDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 6)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 7)), - { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 4)), - { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 5)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_2); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20); - break; - case 1: - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 6)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 7)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 4)), + { 0, 0, height }, { { 0, 6, height + 8 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL + 5)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20); + break; + case 1: + break; + } } static void GigaRCTrackLeftQuarterTurn190DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 0)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 1)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 2)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 3)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 4)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 5)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - } - PaintUtilSetVerticalTunnel(session, height + 96); - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20); - break; - case 1: - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 0)), { 0, 0, height }, + { { 4, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 1)), { 0, 0, height }, + { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 2)), { 0, 0, height }, + { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 3)), { 0, 0, height }, + { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 4)), { 0, 0, height }, + { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 5)), { 0, 0, height }, + { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + } + PaintUtilSetVerticalTunnel(session, height + 96); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20); + break; + case 1: + break; + } } static void GigaRCTrackRightQuarterTurn190DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 6)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 7)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 8)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 9)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 10)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 11)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 63 } }); - break; - } - PaintUtilSetVerticalTunnel(session, height + 96); - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20); - break; - case 1: - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 6)), { 0, 0, height }, + { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 7)), { 0, 0, height }, + { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 8)), { 0, 0, height }, + { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 9)), { 0, 0, height }, + { { 4, 6, height + 8 }, { 2, 20, 63 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 10)), { 0, 0, height }, + { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 11)), { 0, 0, height }, + { { 4, 6, height + 8 }, { 2, 20, 63 } }); + break; + } + PaintUtilSetVerticalTunnel(session, height + 96); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20); + break; + case 1: + break; + } } static void GigaRCTrackLeftQuarterTurn190DegDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightQuarterTurn190DegUp(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); + GigaRCTrackRightQuarterTurn190DegUp(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); } static void GigaRCTrackRightQuarterTurn190DegDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftQuarterTurn190DegUp(session, ride, trackSequence, (direction - 1) & 3, height, trackElement); + GigaRCTrackLeftQuarterTurn190DegUp(session, ride, trackSequence, (direction - 1) & 3, height, trackElement); } static void GigaRCTrackLeftBarrelRollUpToDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 0)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 1)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 6)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 7)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 12)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 13)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 18)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 19)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 2)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 3)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 8)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 9)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 14)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 15)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 20)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 21)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 4)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 5)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 10)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 11)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 16)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 17)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 22)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 23)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - } - switch (direction) - { - case 1: - PaintUtilPushTunnelRight(session, height, TUNNEL_INVERTED_3); - break; - case 2: - PaintUtilPushTunnelLeft(session, height, TUNNEL_INVERTED_3); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 1)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 6)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 7)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 12)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 13)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 18)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 19)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 2)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 3)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 9)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 14)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 15)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 21)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 5)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 10)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 11)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 17)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 23)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height, TUNNEL_INVERTED_3); + break; + case 2: + PaintUtilPushTunnelLeft(session, height, TUNNEL_INVERTED_3); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackRightBarrelRollUpToDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 24)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 25)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 30)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 31)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 36)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 37)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 42)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 43)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 26)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 27)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 32)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 33)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 38)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 39)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 44)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 45)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 28)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 29)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 34)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 35)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 40)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 41)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 46)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 47)), - { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); - break; - } - switch (direction) - { - case 1: - PaintUtilPushTunnelRight(session, height, TUNNEL_INVERTED_3); - break; - case 2: - PaintUtilPushTunnelLeft(session, height, TUNNEL_INVERTED_3); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 24)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 25)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 30)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 31)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 0, height + 1, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 37)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 42)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 43)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height - 2, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 26)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 27)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 32)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 33)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 38)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 39)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 44)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 45)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 29)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 34)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 35)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 40)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 41)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 46)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_BARREL_ROLL + 47)), + { 0, 0, height }, { { 0, 6, height + 44 }, { 32, 20, 0 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height, TUNNEL_INVERTED_3); + break; + case 2: + PaintUtilPushTunnelLeft(session, height, TUNNEL_INVERTED_3); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackLeftBarrelRollDownToUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftBarrelRollUpToDown(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackLeftBarrelRollUpToDown(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackRightBarrelRollDownToUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightBarrelRollUpToDown(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackRightBarrelRollUpToDown(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackHalfLoopUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 0)), - { 0, 6, height }, { 32, 20, 3 }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 4)), - { 0, 6, height }, { 32, 20, 11 }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 8)), - { 0, 6, height }, { 32, 20, 9 }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 12)), - { 0, 6, height }, { 32, 20, 7 }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 1)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 5)), - { 0, 14, height }, { { 28, 6, height }, { 3, 20, 63 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 9)), - { 0, 6, height }, { { 28, 6, height }, { 3, 20, 63 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 13)), - { 0, 6, height }, { 32, 20, 3 }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 2)), - { 16, 0, height }, { 2, 16, 119 }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 6)), - { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 10)), - { 10, 16, height }, { 4, 12, 119 }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 14)), - { 16, 16, height }, { { 15, 6, height }, { 2, 16, 119 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 3)), - { 0, 0, height + 32 }, { 32, 16, 3 }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 7)), - { 0, 0, height + 32 }, { 32, 16, 3 }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 11)), - { 0, 16, height + 32 }, { 32, 12, 3 }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 15)), - { 0, 16, height + 32 }, { 32, 12, 3 }); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 0)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 4)), + { 0, 6, height }, { 32, 20, 11 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 8)), + { 0, 6, height }, { 32, 20, 9 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 12)), + { 0, 6, height }, { 32, 20, 7 }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 5)), + { 0, 14, height }, { { 28, 6, height }, { 3, 20, 63 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 9)), + { 0, 6, height }, { { 28, 6, height }, { 3, 20, 63 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 13)), + { 0, 6, height }, { 32, 20, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 2)), + { 16, 0, height }, { 2, 16, 119 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 6)), + { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 10)), + { 10, 16, height }, { 4, 12, 119 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 14)), + { 16, 16, height }, { { 15, 6, height }, { 2, 16, 119 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 3)), + { 0, 0, height + 32 }, { 32, 16, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 7)), + { 0, 0, height + 32 }, { 32, 16, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 11)), + { 0, 16, height + 32 }, { 32, 12, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_HALF_LOOP + 15)), + { 0, 16, height + 32 }, { 32, 12, 3 }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackHalfLoopDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackHalfLoopUp(session, ride, 3 - trackSequence, direction, height, trackElement); + GigaRCTrackHalfLoopUp(session, ride, 3 - trackSequence, direction, height, trackElement); } - static void GigaRCTrackLeftVerticalLoop( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) @@ -10276,29 +10194,29 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), + { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), + { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), + { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), { 0, 6, height }, - { 32, 20, 7 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), + { 0, 6, height }, { 32, 20, 7 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -10318,23 +10236,23 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), { 0, 0, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), + { 0, 0, height }, { 32, 26, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, - { 32, 2, 63 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), + { 0, 14, height }, { 32, 2, 63 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), + { 0, 6, height }, { 32, 26, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), + { 0, 6, height }, { 32, 26, 3 }); break; } PaintUtilSetSegmentSupportHeight( @@ -10348,23 +10266,23 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 2), { 16, 0, height }, - { { 16, 0, height }, { 3, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 2), + { 16, 0, height }, { { 16, 0, height }, { 3, 16, 119 } }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 6), { 12, 0, height }, - { { 12, 0, height }, { 3, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 6), + { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 10), { 10, 16, height }, - { { 10, 16, height }, { 4, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 10), + { 10, 16, height }, { { 10, 16, height }, { 4, 16, 119 } }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 14), { 16, 16, height }, - { { 16, 16, height }, { 2, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 14), + { 16, 16, height }, { { 16, 16, height }, { 2, 16, 119 } }); break; } PaintUtilSetSegmentSupportHeight( @@ -10376,23 +10294,23 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 3), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 3), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 7), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 7), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 11), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 11), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 15), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 15), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; } PaintUtilSetSegmentSupportHeight( @@ -10412,23 +10330,23 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 11), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 11), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 15), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 15), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 3), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 3), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 7), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 7), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; } PaintUtilSetSegmentSupportHeight( @@ -10442,23 +10360,23 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 10), { 10, 16, height }, - { { 10, 16, height }, { 4, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 10), + { 10, 16, height }, { { 10, 16, height }, { 4, 16, 119 } }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 14), { 16, 16, height }, - { { 16, 16, height }, { 2, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 14), + { 16, 16, height }, { { 16, 16, height }, { 2, 16, 119 } }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 2), { 16, 0, height }, - { { 16, 0, height }, { 3, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 2), + { 16, 0, height }, { { 16, 0, height }, { 3, 16, 119 } }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 6), { 12, 0, height }, - { { 12, 0, height }, { 3, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 6), + { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); break; } PaintUtilSetSegmentSupportHeight( @@ -10470,23 +10388,23 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), + { 0, 6, height }, { 32, 26, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), + { 0, 6, height }, { 32, 26, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), { 0, 0, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), + { 0, 0, height }, { 32, 26, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, - { 32, 2, 63 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), + { 0, 14, height }, { 32, 2, 63 }); break; } PaintUtilSetSegmentSupportHeight( @@ -10500,29 +10418,29 @@ static void GigaRCTrackLeftVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 8), + { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), { 0, 6, height }, - { 32, 20, 7 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 12), + { 0, 6, height }, { 32, 20, 7 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 0), + { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 4), + { 0, 6, height }, { 32, 20, 3 }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -10556,23 +10474,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 16), { 0, 6, height }, - { 32, 20, 7 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 16), + { 0, 6, height }, { 32, 20, 7 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 20), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 20), + { 0, 6, height }, { 32, 20, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 24), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 24), + { 0, 6, height }, { 32, 20, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 28), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 28), + { 0, 6, height }, { 32, 20, 3 }); break; } MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10587,23 +10505,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), + { 0, 6, height }, { 32, 26, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), + { 0, 6, height }, { 32, 26, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, - { 32, 2, 63 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), + { 0, 14, height }, { 32, 2, 63 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), { 0, 0, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), + { 0, 0, height }, { 32, 26, 3 }); break; } PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); @@ -10613,23 +10531,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 18), { 16, 16, height }, - { { 16, 16, height }, { 2, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 18), + { 16, 16, height }, { { 16, 16, height }, { 2, 16, 119 } }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 22), { 10, 16, height }, - { { 10, 16, height }, { 4, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 22), + { 10, 16, height }, { { 10, 16, height }, { 4, 16, 119 } }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 26), { 12, 0, height }, - { { 12, 0, height }, { 3, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 26), + { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 30), { 16, 0, height }, - { { 16, 0, height }, { 2, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 30), + { 16, 0, height }, { { 16, 0, height }, { 2, 16, 119 } }); break; } PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); @@ -10639,23 +10557,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 19), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 19), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 23), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 23), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 27), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 27), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 31), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 31), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; } PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); @@ -10671,23 +10589,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 27), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 27), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 31), { 0, 0, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 31), + { 0, 0, height + 32 }, { 32, 16, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 19), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 19), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 23), { 0, 16, height + 32 }, - { 32, 16, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 23), + { 0, 16, height + 32 }, { 32, 16, 3 }); break; } PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); @@ -10697,23 +10615,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 26), { 12, 0, height }, - { { 12, 0, height }, { 3, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 26), + { 12, 0, height }, { { 12, 0, height }, { 3, 16, 119 } }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 30), { 16, 0, height }, - { { 16, 0, height }, { 2, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 30), + { 16, 0, height }, { { 16, 0, height }, { 2, 16, 119 } }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 18), { 16, 16, height }, - { { 16, 16, height }, { 2, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 18), + { 16, 16, height }, { { 16, 16, height }, { 2, 16, 119 } }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 22), { 10, 16, height }, - { { 10, 16, height }, { 4, 16, 119 } }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 22), + { 10, 16, height }, { { 10, 16, height }, { 4, 16, 119 } }); break; } PaintUtilSetGeneralSupportHeight(session, height + 168, 0x20); @@ -10723,23 +10641,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, - { 32, 2, 63 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), + { 0, 14, height }, { 32, 2, 63 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), { 0, 0, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), + { 0, 0, height }, { 32, 26, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), + { 0, 6, height }, { 32, 26, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, - { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), + { 0, 6, height }, { 32, 26, 3 }); break; } PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); @@ -10749,23 +10667,23 @@ static void GigaRCTrackRightVerticalLoop( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 24), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 24), + { 0, 6, height }, { 32, 20, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 28), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 28), + { 0, 6, height }, { 32, 20, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 16), { 0, 6, height }, - { 32, 20, 7 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 16), + { 0, 6, height }, { 32, 20, 7 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 20), { 0, 6, height }, - { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 20), + { 0, 6, height }, { 32, 20, 3 }); break; } MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); @@ -10785,6495 +10703,6237 @@ static void GigaRCTrackRightVerticalLoop( TrackPaintUtilRightVerticalLoopSegments(session, direction, trackSequence); } - - - static void GigaRCTrackLeftCorkscrewUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 0)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 3)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 6)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 9)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 0)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 3)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 6)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 9)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 1)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 4)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 7)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 10)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 2)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 5)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 8)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 11)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 1)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 4)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 7)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 10)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 2)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 5)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 8)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 11)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 40, session.TrackColours[SCHEME_SUPPORTS]); - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 40, session.TrackColours[SCHEME_SUPPORTS]); - - switch (direction) - { - case 2: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 3: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 3: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackRightCorkscrewUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 12)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 15)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 18)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 21)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 13)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 16)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 19)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 22)), - { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 14)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 17)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 20)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 23)), - { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 12)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 15)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 18)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 21)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 13)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 16)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 19)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 22)), + { 0, 0, height }, { { 6, 6, height + 10 }, { 20, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 14)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 17)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 20)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 23)), + { 0, 0, height }, { { 6, 0, height + 24 }, { 20, 32, 3 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 40, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 40, session.TrackColours[SCHEME_SUPPORTS]); - switch (direction) - { - case 0: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 1: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 1: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackLeftCorkscrewDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightCorkscrewUp(session, ride, 2 - trackSequence, (direction + 1) & 3, height, trackElement); + GigaRCTrackRightCorkscrewUp(session, ride, 2 - trackSequence, (direction + 1) & 3, height, trackElement); } static void GigaRCTrackRightCorkscrewDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftCorkscrewUp(session, ride, 2 - trackSequence, (direction - 1) & 3, height, trackElement); + GigaRCTrackLeftCorkscrewUp(session, ride, 2 - trackSequence, (direction - 1) & 3, height, trackElement); } static void GigaRCTrackLeftLargeCorkscrewUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 0)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 5)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 10)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 15)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 0)), { 0, 0, height }, + { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 5)), { 0, 0, height }, + { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 10)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 15)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 1)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 6)), - { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 19, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 11)), - { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 19, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 16)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 2)), - { 0, 0, height }, { { 0, 31, height }, { 48, 1, 64 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 7)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 12)), - { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 17)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 4: - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), - 0xFFFF, 0); - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 3)), - { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 8)), - { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 13)), - { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 18)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 1)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 6)), { 0, 0, height }, + { { 0, 29, height }, { 26, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 19, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 11)), + { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 19, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 2)), { 0, 0, height }, + { { 0, 31, height }, { 48, 1, 64 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 7)), { 0, 0, height }, + { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 12)), + { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 17)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 4: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 3)), { 0, 0, height }, + { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 8)), { 0, 0, height }, + { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 13)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 18)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + } - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 5: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 4)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 9)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 14)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 19)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); - break; - } + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 4)), { 0, 0, height }, + { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 9)), { 0, 0, height }, + { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 14)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 19)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), - 0xFFFF, 0); - switch (direction) - { - case 2: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 3: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 3: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackRightLargeCorkscrewUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 20)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 25)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 30)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 35)), - { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 20)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 25)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 30)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 35)), + { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); + break; + } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_BC | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 21)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 26)), - { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 19, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 31)), - { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 19, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 36)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 22)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 27)), - { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 32)), - { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 37)), - { 0, 0, height }, { { 0, 31, height }, { 48, 1, 64 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 4: - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), - 0xFFFF, 0); - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 23)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 28)), - { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 33)), - { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 38)), - { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 5: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 24)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 29)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 34)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 39)), - { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); - break; - } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_D4 | SEGMENT_C4 | SEGMENT_BC | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 26)), + { 0, 0, height }, { { 0, 6, height }, { 20, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 19, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 31)), + { 0, 0, height }, { { 0, 29, height }, { 26, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 19, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 27)), + { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 32)), + { 0, 0, height }, { { 2, 2, height + 48 }, { 28, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 37)), + { 0, 0, height }, { { 0, 31, height }, { 48, 1, 64 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 4: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 23)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 28)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 24, 28, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 33)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 38)), + { 0, 0, height }, { { 2, 2, height + 50 }, { 28, 28, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 0, height + 65, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 24)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 29)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 26, 28, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 34)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 39)), + { 0, 0, height }, { { 2, 2, height + 40 }, { 28, 28, 1 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), - 0xFFFF, 0); - switch (direction) - { - case 0: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 1: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 1: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackLeftLargeCorkscrewDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightLargeCorkscrewUp(session, ride, 5 - trackSequence, (direction + 1) & 3, height, trackElement); + GigaRCTrackRightLargeCorkscrewUp(session, ride, 5 - trackSequence, (direction + 1) & 3, height, trackElement); } static void GigaRCTrackRightLargeCorkscrewDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftLargeCorkscrewUp(session, ride, 5 - trackSequence, (direction - 1) & 3, height, trackElement); + GigaRCTrackLeftLargeCorkscrewUp(session, ride, 5 - trackSequence, (direction - 1) & 3, height, trackElement); } static void GigaRCTrackLeftMediumHalfLoopUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 0)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 5)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 10)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 15)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 5)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 10)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 15)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 1)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 6)), - { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 11)), - { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 16)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 6)), + { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 11)), + { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_B4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 2)), - { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 14, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 7)), - { 0, 0, height }, { { 29, 0, height }, { 1, 32, 96 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 12)), - { 0, 0, height }, { { 31, 0, height }, { 1, 32, 96 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 18, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 17)), - { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 14, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 3)), - { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 8)), - { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 13)), - { 0, 0, height }, { { 29, 0, height }, { 1, 32, 160 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 18)), - { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 4)), - { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 9)), - { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 14)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 19)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - break; - } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_B4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 2)), + { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 7)), + { 0, 0, height }, { { 29, 0, height }, { 1, 32, 96 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 12)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 96 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 17)), + { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 3)), + { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 8)), + { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 13)), + { 0, 0, height }, { { 29, 0, height }, { 1, 32, 160 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 18)), + { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 4)), + { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 9)), + { 0, 0, height }, { { 0, 2, height + 48 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 14)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 19)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_CC | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction), - 0xFFFF, 0); + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_CC | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction), + 0xFFFF, 0); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height + 16, TUNNEL_0); - } - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 16, TUNNEL_0); + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackRightMediumHalfLoopUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 20)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 25)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 30)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 35)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 25)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 30)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 21)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 26)), - { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 31)), - { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 36)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 26)), + { 0, 0, height }, { { 0, 32, height }, { 40, 0, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 31)), + { 0, 0, height }, { { 0, 31, height }, { 0, 32, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_CC | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 22)), - { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 14, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 27)), - { 0, 0, height }, { { 30, 0, height }, { 0, 32, 96 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 18, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 32)), - { 0, 0, height }, { { 29, 0, height }, { 0, 32, 96 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 37)), - { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 14, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 23)), - { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 28)), - { 0, 0, height }, { { 29, 0, height }, { 0, 32, 160 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 33)), - { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 38)), - { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); - break; - } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_CC | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 22)), + { 0, 0, height }, { { 0, 0, height }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 27)), + { 0, 0, height }, { { 30, 0, height }, { 0, 32, 96 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 32)), + { 0, 0, height }, { { 29, 0, height }, { 0, 32, 96 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 37)), + { 0, 0, height }, { { 0, 0, height + 2 }, { 32, 32, 0 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 23)), + { 0, 0, height }, { { 0, 0, height }, { 1, 32, 160 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 28)), + { 0, 0, height }, { { 29, 0, height }, { 0, 32, 160 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 33)), + { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 38)), + { 0, 0, height }, { { 2, 0, height }, { 1, 32, 160 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 24)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 29)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 34)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 39)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - break; - } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 144, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 24)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 29)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 34)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 39)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_B4, direction), - 0xFFFF, 0); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height + 16, TUNNEL_0); - } - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_B4, direction), + 0xFFFF, 0); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 16, TUNNEL_0); + } + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackLeftMediumHalfLoopDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightMediumHalfLoopUp(session, ride, 4 - trackSequence, direction, height, trackElement); + GigaRCTrackRightMediumHalfLoopUp(session, ride, 4 - trackSequence, direction, height, trackElement); } static void GigaRCTrackRightMediumHalfLoopDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftMediumHalfLoopUp(session, ride, 4 - trackSequence, direction, height, trackElement); + GigaRCTrackLeftMediumHalfLoopUp(session, ride, 4 - trackSequence, direction, height, trackElement); } static void GigaRCTrackLeftZeroGRollUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 0)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 1)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 4)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 5)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 8)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 12)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 1)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 5)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 12)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 2)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 6)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 9)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 13)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 3)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 7)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 10)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 11)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 14)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 15)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); - break; - } - switch (direction) - { - case 1: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 2: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), - 0xFFFF, 0); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 42, session.TrackColours[SCHEME_SUPPORTS]); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; -} + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 2)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 6)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 9)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 13)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 3)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 7)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 10)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 11)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 14)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 15)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 42, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + } } static void GigaRCTrackRightZeroGRollUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 16)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 20)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 24)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 25)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 28)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 29)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 17)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 21)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 26)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 30)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 18)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 19)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 22)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 23)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 27)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 31)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - break; - } - switch (direction) - { - case 1: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 2: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), - 0xFFFF, 0); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 42, session.TrackColours[SCHEME_SUPPORTS]); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 24)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 25)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 29)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 17)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 26)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 30)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 18)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 19)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 23)), + { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 27)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 31)), + { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 42, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + } } static void GigaRCTrackLeftZeroGRollDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftZeroGRollUp(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackLeftZeroGRollUp(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackRightZeroGRollDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightZeroGRollUp(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackRightZeroGRollUp(session, ride, 2 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackLeftLargeZeroGRollUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 0)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 5)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 9)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 10)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 15)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 21, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 1)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 2)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 6)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 11)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 16)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 3)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 7)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 12)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 17)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 18)), - { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 3: - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), - 0xFFFF, 0); - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 4)), - { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 8)), - { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 13)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 14)), - { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 19)), - { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) - { - case 1: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 2: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 5)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 9)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 10)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 15)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 21, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 1)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 2)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 6)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 11)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 3)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 7)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 12)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 17)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 18)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 4)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 8)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 13)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 14)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 19)), + { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + } } static void GigaRCTrackRightLargeZeroGRollUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 20)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 25)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 26)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 31)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 35)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 21, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 21)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 27)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 32)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 36)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 37)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 22)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 23)), - { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 28)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 33)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 38)), - { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); - break; - } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 25)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 26)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 31)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 21, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 27)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 64 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 32)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 37)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 96 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 22)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 23)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 28)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 48 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 33)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 48 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 38)), + { 0, 0, height }, { { 0, 30, height }, { 32, 0, 64 } }); + break; + } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 3: - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 24)), - { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 29)), - { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 30)), - { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 34)), - { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 39)), - { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - switch (direction) - { - case 1: - PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); - break; - case 2: - PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); - break; - } - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; -} + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 24)), + { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 29)), + { 0, 0, height }, { { 0, 2, height }, { 32, 0, 32 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 30)), + { 0, 0, height }, { { 0, 6, height + 40 }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 34)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 39)), + { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + switch (direction) + { + case 1: + PaintUtilPushTunnelRight(session, height + 8, TUNNEL_0); + break; + case 2: + PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_0); + break; + } + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + } } static void GigaRCTrackLeftLargeZeroGRollDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftLargeZeroGRollUp(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackLeftLargeZeroGRollUp(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackRightLargeZeroGRollDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightLargeZeroGRollUp(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackRightLargeZeroGRollUp(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrack90DegToInvertedFlatQuarterLoopUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 0)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 3)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 6)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 9)), - { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 1)), - { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 4)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 7)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 10)), - { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 2)), - { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 5)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 8)), - { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 11)), - { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 0)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 3)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 6)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 9)), + { 0, 0, height }, { { 4, 6, height + 8 }, { 2, 20, 31 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 1)), + { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 4)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 7)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 63 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 10)), + { 0, 0, height }, { { -8, 6, height }, { 2, 20, 31 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 2)), + { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 5)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 8)), + { 0, 0, height }, { { 24, 6, height + 8 }, { 2, 20, 31 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_QUARTER_LOOP + 11)), + { 0, 0, height }, { { 0, 6, height + 24 }, { 32, 20, 3 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackInvertedFlatTo90DegQuarterLoopDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrack90DegToInvertedFlatQuarterLoopUp(session, ride, 2 - trackSequence, direction, height, trackElement); + GigaRCTrack90DegToInvertedFlatQuarterLoopUp(session, ride, 2 - trackSequence, direction, height, trackElement); } static void GigaRCTrackLeftBankToLeftQuarterTurn3Tile25DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 0)), - { 0, 6, height }, { 32, 20, 3 }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 2)), - { 0, 6, height }, { 32, 20, 3 }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 3)), - { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 5)), - { 0, 6, height }, { 32, 20, 3 }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 7)), - { 0, 6, height }, { 32, 20, 3 }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 1: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 1)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 4)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 6)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 8)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - } - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); - switch (direction) - { - case 2: - PaintUtilPushTunnelRight(session, height, TUNNEL_2); - break; - case 3: - PaintUtilPushTunnelLeft(session, height, TUNNEL_2); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 0)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 2)), + { 0, 6, height }, { 32, 20, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 3)), + { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 5)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 7)), + { 0, 6, height }, { 32, 20, 3 }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 1)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 4)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 6)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 8)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height, TUNNEL_2); + break; + case 3: + PaintUtilPushTunnelLeft(session, height, TUNNEL_2); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + } } static void GigaRCTrackRightBankToRightQuarterTurn3Tile25DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 9)), - { 0, 6, height }, { 32, 20, 3 }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 11)), - { 0, 6, height }, { 32, 20, 3 }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 13)), - { 0, 6, height }, { 32, 20, 3 }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 14)), - { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 16)), - { 0, 6, height }, { 32, 20, 3 }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 1: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 10)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 12)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 15)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 17)), - { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); - break; - } - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); - switch (direction) - { - case 0: - PaintUtilPushTunnelRight(session, height, TUNNEL_2); - break; - case 1: - PaintUtilPushTunnelLeft(session, height, TUNNEL_2); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 9)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 11)), + { 0, 6, height }, { 32, 20, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 13)), + { 0, 6, height }, { 32, 20, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 14)), + { 0, 6, height }, { { 0, 27, height }, { 32, 1, 26 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 16)), + { 0, 6, height }, { 32, 20, 3 }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 10)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 12)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 15)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 17)), + { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height, TUNNEL_2); + break; + case 1: + PaintUtilPushTunnelLeft(session, height, TUNNEL_2); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + } } static void GigaRCTrackLeftQuarterTurn3Tile25DegDownToLeftBank( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 12)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 15)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 17)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 10)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - } - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 1: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 11)), - { 6, 0, height }, { 20, 32, 3 }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 13)), - { 6, 0, height }, { 20, 32, 3 }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 14)), - { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 16)), - { 6, 0, height }, { 20, 32, 3 }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 9)), - { 6, 0, height }, { 20, 32, 3 }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - switch (direction) - { - case 2: - PaintUtilPushTunnelRight(session, height, TUNNEL_0); - break; - case 3: - PaintUtilPushTunnelLeft(session, height, TUNNEL_0); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 12)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 15)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 17)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 10)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 11)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 13)), + { 6, 0, height }, { 20, 32, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 14)), + { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 16)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 9)), + { 6, 0, height }, { 20, 32, 3 }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 2: + PaintUtilPushTunnelRight(session, height, TUNNEL_0); + break; + case 3: + PaintUtilPushTunnelLeft(session, height, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + } } static void GigaRCTrackRightQuarterTurn3Tile25DegDownToRightBank( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 8)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 1)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 4)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 6)), - { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); - break; - } - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 1: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 7)), - { 6, 0, height }, { 20, 32, 3 }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 0)), - { 6, 0, height }, { 20, 32, 3 }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 2)), - { 6, 0, height }, { 20, 32, 3 }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 3)), - { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 5)), - { 6, 0, height }, { 20, 32, 3 }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - switch (direction) - { - case 0: - PaintUtilPushTunnelRight(session, height, TUNNEL_0); - break; - case 1: - PaintUtilPushTunnelLeft(session, height, TUNNEL_0); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 8)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 1)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 4)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 6)), + { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 7)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 0)), + { 6, 0, height }, { 20, 32, 3 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 2)), + { 6, 0, height }, { 20, 32, 3 }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 3)), + { 6, 0, height }, { { 27, 0, height }, { 1, 32, 26 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 5)), + { 6, 0, height }, { 20, 32, 3 }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + switch (direction) + { + case 0: + PaintUtilPushTunnelRight(session, height, TUNNEL_0); + break; + case 1: + PaintUtilPushTunnelLeft(session, height, TUNNEL_0); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + } } static void GigaRCTrackLeftLargeHalfLoopUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 0)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 7)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 14)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 21)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 1)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 8)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 15)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 22)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 2)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 9)), - { 0, 0, height }, { { 0, 0, height + 70 }, { 32, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 16)), - { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 23)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 3)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 10)), - { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 17)), - { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 24)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 28, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 4)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 11)), - { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 18)), - { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 25)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 128, 0x20); - break; - case 5: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 5)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 12)), - { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 19)), - { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 26)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); - break; - case 6: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 6)), - { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 13)), - { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 20)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 27)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 0)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 7)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 14)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 21)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 1)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 8)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 9 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 15)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 22)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 2)), { 0, 0, height }, + { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 9)), { 0, 0, height }, + { { 0, 0, height + 70 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 16)), + { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 23)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 3)), { 0, 0, height }, + { { 0, 0, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 10)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 17)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 24)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 4)), { 0, 0, height }, + { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 11)), + { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 18)), + { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 25)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 128, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 5)), { 0, 0, height }, + { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 12)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 19)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 26)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 6: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 6)), { 0, 0, height }, + { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 13)), + { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 20)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 27)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + } } static void GigaRCTrackRightLargeHalfLoopUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 28)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 35)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 42)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 49)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 29)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 36)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 43)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 50)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 30)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 37)), - { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 44)), - { 0, 0, height }, { { 0, 0, height + 70 }, { 32, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 51)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 31)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 28, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 38)), - { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 45)), - { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 52)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 32)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 39)), - { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 46)), - { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 53)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 128, 0x20); - break; - case 5: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 33)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 40)), - { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 47)), - { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 54)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); - break; - case 6: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 34)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 41)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 48)), - { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 55)), - { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 42)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 49)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 29)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 36)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 43)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 50)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 30)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 37)), + { 0, 0, height }, { { 0, 16, height + 70 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 44)), + { 0, 0, height }, { { 0, 0, height + 70 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 51)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 31)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 8, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 38)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 45)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 52)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 32)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 39)), + { 0, 0, height }, { { 0, 0, height + 100 }, { 16, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 46)), + { 0, 0, height }, { { 0, 16, height + 110 }, { 16, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 53)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 128, 0x20); + break; + case 5: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 33)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 40)), + { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 47)), + { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 54)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 224, 0x20); + break; + case 6: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 34)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 41)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 16, 0 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 48)), + { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 55)), + { 0, 0, height }, { { 0, 16, height + 32 }, { 32, 16, 0 } }); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20); + break; + } } static void GigaRCTrackRightLargeHalfLoopDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackRightLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); + GigaRCTrackRightLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); } static void GigaRCTrackLeftLargeHalfLoopDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackLeftLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); + GigaRCTrackLeftLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); } static void GigaRCTrackFlatTo60DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -if (trackElement.HasChain()) -{ - switch (direction) + if (trackElement.HasChain()) { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, + { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), { 0, 0, height }, + { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), { 0, 0, height }, + { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, + { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } } -} -else -{ - switch (direction) + else { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, + { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), { 0, 0, height }, + { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), { 0, 0, height }, + { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, + { { 0, 2, height }, { 32, 27, 4 } }); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } } -} -if (direction == 0 || direction == 3) -{ - PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); -} -else -{ - PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2); -} -PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); -PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); + } + else + { + PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); } static void GigaRCTrack60DegUpToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -if (trackElement.HasChain()) -{ - switch (direction) + if (trackElement.HasChain()) { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - break; + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), { 0, 0, height }, + { { 0, 2, height }, { 32, 27, 4 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), { 0, 0, height }, + { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); -} -else -{ - switch (direction) + else { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), - { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - break; + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), { 0, 0, height }, + { { 0, 2, height }, { 32, 27, 4 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), { 0, 0, height }, + { { 29, 4, height + 2 }, { 1, 24, 43 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), { 0, 0, height }, + { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); -} -if (direction == 0 || direction == 3) -{ - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); -} -else -{ - PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_0); -} -PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); -PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + else + { + PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_0); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); } static void GigaRCTrackFlatTo60DegDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrack60DegUpToFlat(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrack60DegUpToFlat(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrack60DegDownToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackFlatTo60DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackFlatTo60DegUp(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagFlatTo60DegUp( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - if (trackElement.HasChain()) - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 1: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 2: - if (trackElement.HasChain()) - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 3: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; -} + switch (trackSequence) + { + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + } } static void GigaRCTrackDiag60DegUpToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - if (trackElement.HasChain()) - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - if (trackElement.HasChain()) - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackDiagFlatTo60DegDown( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - if (trackElement.HasChain()) - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - if (trackElement.HasChain()) - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackDiag60DegDownToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - if (trackElement.HasChain()) - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 1: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 2: - if (trackElement.HasChain()) - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; - case 3: - if (trackElement.HasChain()) - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); - break; -} + switch (trackSequence) + { + case 0: + if (trackElement.HasChain()) + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 1: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 2: + if (trackElement.HasChain()) + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + else + { + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + case 3: + if (trackElement.HasChain()) + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + else + { + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); + break; + } } static void GigaRCTrackLeftEighthToDiagUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 0)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 4)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 8)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 12)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 1)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 5)), - { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 9)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 13)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 2)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 6)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 10)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 14)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 3)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 7)), - { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 11)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 15)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 12)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 1)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 5)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 9)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 13)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 2)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 6)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 10)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 14)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 3)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 7)), + { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 11)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 15)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackRightEighthToDiagUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 16)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 20)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 24)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 28)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 17)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 21)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 25)), - { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 29)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 18)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 22)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 26)), - { 0, 0, height }, { { 4, 4, height }, { 28, 28, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 30)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 19)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 23)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 27)), - { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 31)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 24)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 17)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 21)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 25)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 29)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 18)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 22)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 26)), + { 0, 0, height }, { { 4, 4, height }, { 28, 28, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 30)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 19)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 23)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 27)), + { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 31)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackLeftEighthToOrthogonalUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 32)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 36)), - { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 40)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 44)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 33)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 37)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 41)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 45)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 34)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 38)), - { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 42)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 46)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 35)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 39)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 43)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 47)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - break; - } - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 32)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 36)), + { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 40)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 44)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 33)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 37)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 41)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 45)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 34)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 38)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 42)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 46)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 39)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 43)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 47)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 1 || direction == 2) - { - PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); - } + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackRightEighthToOrthogonalUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 48)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 52)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 56)), - { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 60)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 49)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 53)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 57)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 61)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 50)), - { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 54)), - { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 58)), - { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 62)), - { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 51)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 55)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 59)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 63)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - if (direction == 0 || direction == 1) - { - PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 48)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 52)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 56)), + { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 60)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 49)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 53)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 57)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 61)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 50)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 54)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 58)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 62)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 51)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 55)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 59)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 63)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackLeftEighthToDiagDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -uint8_t map[5] = { 4, 3, 1, 2, 0 }; -trackSequence = map[trackSequence]; -GigaRCTrackRightEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + GigaRCTrackRightEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); } static void GigaRCTrackRightEighthToDiagDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -uint8_t map[5] = { 4, 3, 1, 2, 0 }; -trackSequence = map[trackSequence]; -GigaRCTrackLeftEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + GigaRCTrackLeftEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackLeftEighthToOrthogonalDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; -GigaRCTrackRightEighthToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + GigaRCTrackRightEighthToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackRightEighthToOrthogonalDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; -GigaRCTrackLeftEighthToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + GigaRCTrackLeftEighthToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); } static void GigaRCTrackDiagUp25ToLeftBankedUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 4)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 0)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 1)), - { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 3)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 10, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 4)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 0)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 1)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 3)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackDiagUp25ToRightBankedUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 9)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 5)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 7)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 8)), - { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 10, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 9)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 5)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 7)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 8)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 10, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackDiagLeftBankedUp25ToUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 10)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 11)), - { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 10)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 11)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagRightBankedUp25ToUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 18)), - { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 18)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagDown25ToLeftBankedDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagRightBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagRightBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagDown25ToRightBankedDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagLeftBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagLeftBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagLeftBankedDown25ToDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagUp25ToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagUp25ToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagRightBankedDown25ToDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagUp25ToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagUp25ToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagLeftBankedFlatToLeftBankedUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 23)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 20)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 22)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 23)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 20)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 22)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackDiagRightBankedFlatToRightBankedUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 27)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 24)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 26)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 27)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 24)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 26)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackDiagLeftBankedUp25ToLeftBankedFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 31)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 28)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 30)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 31)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 28)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 30)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagRightBankedUp25ToRightBankedFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 35)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 32)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 34)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 35)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 32)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 34)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagLeftBankedFlatToLeftBankedDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagRightBankedUp25ToRightBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagRightBankedUp25ToRightBankedFlat( + session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagRightBankedFlatToRightBankedDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagLeftBankedUp25ToLeftBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagLeftBankedUp25ToLeftBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagLeftBankedDown25ToLeftBankedFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagRightBankedFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagRightBankedFlatToRightBankedUp25( + session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagRightBankedDown25ToRightBankedFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagLeftBankedFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagLeftBankedFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagUp25LeftBanked( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 39)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 36)), - { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 38)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 39)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 36)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 38)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagUp25RightBanked( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 43)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 40)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 42)), - { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 43)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 40)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 42)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagDown25LeftBanked( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagUp25RightBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagUp25RightBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagDown25RightBanked( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagUp25LeftBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagUp25LeftBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagFlatToLeftBankedUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 48)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 44)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 45)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 47)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 48)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 44)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 45)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 47)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackDiagFlatToRightBankedUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 53)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 49)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 51)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 52)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 53)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 49)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 51)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 52)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } } static void GigaRCTrackDiagLeftBankedUp25ToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 58)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 54)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 55)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 57)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 58)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 54)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 55)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 57)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagRightBankedUp25ToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 63)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 59)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 2: - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 61)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 62)), - { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; - case 3: - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 63)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 59)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 61)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 62)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } } static void GigaRCTrackDiagFlatToLeftBankedDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagRightBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagRightBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagFlatToRightBankedDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagLeftBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagLeftBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagLeftBankedDown25ToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackDiagRightBankedDown25ToFlat( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -GigaRCTrackDiagFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + GigaRCTrackDiagFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackLeftEighthBankToDiagUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 65)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 69)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 73)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 77)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 66)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 70)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 74)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 78)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 65)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 69)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 73)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 77)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 66)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 70)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 74)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 78)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackRightEighthBankToDiagUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 3) - { - PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 81)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 85)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 89)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 93)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 82)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 86)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 90)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 94)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), - { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), - { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 81)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 85)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 89)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 93)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 82)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 86)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 90)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 94)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackLeftEighthBankToOrthogonalUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 97)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 101)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 105)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 109)), - { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 98)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 102)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 110)), - { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 1 || direction == 2) - { - PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 97)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 101)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 105)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 109)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 98)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 102)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 110)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackRightEighthBankToOrthogonalUp25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -switch (trackSequence) -{ - case 0: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 1: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 113)), - { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 117)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 121)), - { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 125)), - { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 2: - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 3: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), - { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 118)), - { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 122)), - { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 126)), - { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); - break; - } - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), - 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; - case 4: - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), - { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), - { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex( - (SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - if (direction == 0 || direction == 1) - { - PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); - } - PaintUtilSetSegmentSupportHeight( - session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); - PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); - break; -} + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 113)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 117)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 121)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 125)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 118)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 122)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 126)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } } static void GigaRCTrackLeftEighthBankToDiagDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -uint8_t map[5] = { 4, 3, 1, 2, 0 }; -trackSequence = map[trackSequence]; -GigaRCTrackRightEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + GigaRCTrackRightEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); } static void GigaRCTrackRightEighthBankToDiagDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -uint8_t map[5] = { 4, 3, 1, 2, 0 }; -trackSequence = map[trackSequence]; -GigaRCTrackLeftEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + GigaRCTrackLeftEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackLeftEighthBankToOrthogonalDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; -GigaRCTrackRightEighthBankToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + GigaRCTrackRightEighthBankToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } static void GigaRCTrackRightEighthBankToOrthogonalDown25( -PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, -const TrackElement& trackElement) + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) { -trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; -GigaRCTrackLeftEighthBankToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + GigaRCTrackLeftEighthBankToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); } - - TRACK_PAINT_FUNCTION GetTrackPaintFunctionGigaRC(int32_t trackType) { switch (trackType) From cb715d23d4d7d1ee8b6c684265125ced9da4d102 Mon Sep 17 00:00:00 2001 From: Karst Date: Tue, 16 May 2023 23:27:34 +0200 Subject: [PATCH 09/27] Re-order sprites --- resources/g2/sprites.json | 7132 ++++++++++++++++++------------------- src/openrct2/sprites.h | 43 +- 2 files changed, 3587 insertions(+), 3588 deletions(-) diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 6483daf135..6cc167ca56 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -2650,10 +2650,3568 @@ "palette": "keep" }, { - "path": "track/bm/booster_1.png" + "path": "track/intamin/steep_to_vertical_up_1.png", + "x_offset": -21, + "y_offset": -54, + "palette": "keep" }, { - "path": "track/bm/booster_2.png" + "path": "track/intamin/steep_to_vertical_up_2.png", + "x_offset": -21, + "y_offset": -53, + "palette": "keep" + }, + { + "path": "track/intamin/steep_to_vertical_up_3.png", + "x_offset": -10, + "y_offset": -53, + "palette": "keep" + }, + { + "path": "track/intamin/steep_to_vertical_up_4.png", + "x_offset": -10, + "y_offset": -54, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_1.png", + "x_offset": -6, + "y_offset": -60, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_2.png", + "x_offset": -6, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_3.png", + "x_offset": -25, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_to_steep_up_4.png", + "x_offset": -25, + "y_offset": -61, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_1.png", + "x_offset": -6, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_2.png", + "x_offset": -6, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_3.png", + "x_offset": -10, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_4.png", + "x_offset": -10, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_1.png", + "x_offset": -10, + "y_offset": -95, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_2_1.png", + "x_offset": -6, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_2_2.png", + "x_offset": -6, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_3.png", + "x_offset": -10, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_4_1.png", + "x_offset": -13, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_left_up_4_2.png", + "x_offset": -13, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_1_1.png", + "x_offset": -6, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_1_2.png", + "x_offset": -6, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_2.png", + "x_offset": -10, + "y_offset": -93, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_3_1.png", + "x_offset": -13, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_3_2.png", + "x_offset": -13, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/vertical_twist_right_up_4.png", + "x_offset": -10, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_1.png", + "x_offset": -22, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_2.png", + "x_offset": -17, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_3.png", + "x_offset": -22, + "y_offset": 3, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_4.png", + "x_offset": -20, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_5.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_1_6.png", + "x_offset": -11, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_2.png", + "x_offset": -20, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_3.png", + "x_offset": -28, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_4.png", + "x_offset": -28, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_5.png", + "x_offset": 10, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_2_6.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_1.png", + "x_offset": -29, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_2.png", + "x_offset": 10, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_3.png", + "x_offset": -26, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_4.png", + "x_offset": -28, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_5.png", + "x_offset": -1, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_3_6.png", + "x_offset": -22, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_1.png", + "x_offset": -15, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_2.png", + "x_offset": 13, + "y_offset": 23, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_3.png", + "x_offset": -12, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_4.png", + "x_offset": -10, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_5.png", + "x_offset": -12, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_left_4_6.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_1.png", + "x_offset": -22, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_2.png", + "x_offset": -17, + "y_offset": 22, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_3.png", + "x_offset": -26, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_4.png", + "x_offset": -15, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_5.png", + "x_offset": -22, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_1_6.png", + "x_offset": -26, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_2.png", + "x_offset": -17, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_3.png", + "x_offset": -7, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_4.png", + "x_offset": 14, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_5.png", + "x_offset": -7, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_2_6.png", + "x_offset": -6, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_1.png", + "x_offset": -2, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_2.png", + "x_offset": -4, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_3.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_4.png", + "x_offset": 0, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_5.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_3_6.png", + "x_offset": -22, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_1.png", + "x_offset": -12, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_2.png", + "x_offset": -25, + "y_offset": 5, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_3.png", + "x_offset": 8, + "y_offset": 14, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_4.png", + "x_offset": -28, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_5.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/barrel_roll_right_4_6.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_1.png", + "x_offset": -28, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_2.png", + "x_offset": -23, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_3.png", + "x_offset": -13, + "y_offset": -92, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_1_4.png", + "x_offset": -22, + "y_offset": 13, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_1.png", + "x_offset": -16, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_2.png", + "x_offset": 1, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_3.png", + "x_offset": -38, + "y_offset": -114, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_2_4.png", + "x_offset": -22, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_1.png", + "x_offset": -29, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_2.png", + "x_offset": -30, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_3.png", + "x_offset": -2, + "y_offset": -121, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_3_4.png", + "x_offset": -29, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_1.png", + "x_offset": -13, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_2.png", + "x_offset": -14, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_3.png", + "x_offset": 4, + "y_offset": -101, + "palette": "keep" + }, + { + "path": "track/intamin/half_loop_4_4.png", + "x_offset": 1, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_1.png", + "x_offset": -28, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_2.png", + "x_offset": -26, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_3.png", + "x_offset": -47, + "y_offset": -91, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_1_4.png", + "x_offset": -37, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_1.png", + "x_offset": -15, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_2.png", + "x_offset": 1, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_3.png", + "x_offset": -34, + "y_offset": -114, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_2_4.png", + "x_offset": -6, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_1.png", + "x_offset": -25, + "y_offset": -110, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_2.png", + "x_offset": -19, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_3.png", + "x_offset": 11, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_3_4.png", + "x_offset": -22, + "y_offset": 5, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_1.png", + "x_offset": -15, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_2.png", + "x_offset": -20, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_3.png", + "x_offset": -4, + "y_offset": -95, + "palette": "keep" + }, + { + "path": "track/intamin/left_vertical_loop_4_4.png", + "x_offset": 1, + "y_offset": 17, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_1.png", + "x_offset": -27, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_2.png", + "x_offset": -27, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_3.png", + "x_offset": -31, + "y_offset": -95, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_1_4.png", + "x_offset": -22, + "y_offset": 16, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_1.png", + "x_offset": -16, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_2.png", + "x_offset": -7, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_3.png", + "x_offset": -20, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_2_4.png", + "x_offset": -21, + "y_offset": 5, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_1.png", + "x_offset": -46, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_2.png", + "x_offset": -41, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_3.png", + "x_offset": 8, + "y_offset": -114, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_3_4.png", + "x_offset": -27, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_1.png", + "x_offset": -10, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_2.png", + "x_offset": -11, + "y_offset": -44, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_3.png", + "x_offset": 1, + "y_offset": -87, + "palette": "keep" + }, + { + "path": "track/intamin/right_vertical_loop_4_4.png", + "x_offset": -9, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_1_1.png", + "x_offset": -18, + "y_offset": -55, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_1_2.png", + "x_offset": 0, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_1_3.png", + "x_offset": -22, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_2_1.png", + "x_offset": -24, + "y_offset": -79, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_2_2.png", + "x_offset": -32, + "y_offset": -66, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_2_3.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_3_1.png", + "x_offset": -10, + "y_offset": -78, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_3_2.png", + "x_offset": -21, + "y_offset": -68, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_3_3.png", + "x_offset": -11, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_4_1.png", + "x_offset": -10, + "y_offset": -56, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_4_2.png", + "x_offset": -28, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/intamin/quarter_loop_up_4_3.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_1_1.png", + "x_offset": -22, + "y_offset": -71, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_1_2.png", + "x_offset": -20, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_1_3.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_2_2.png", + "x_offset": -32, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_2_3.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_3_1.png", + "x_offset": -31, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_3_2.png", + "x_offset": -3, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_3_3.png", + "x_offset": -19, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_4_1.png", + "x_offset": -32, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_4_2.png", + "x_offset": -34, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_left_4_3.png", + "x_offset": -22, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_1_1.png", + "x_offset": -22, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_1_2.png", + "x_offset": -8, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_1_3.png", + "x_offset": -20, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_2_1.png", + "x_offset": -22, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_2_2.png", + "x_offset": -13, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_2_3.png", + "x_offset": -22, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_3_1.png", + "x_offset": -7, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_3_2.png", + "x_offset": -22, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_3_3.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_4_1.png", + "x_offset": -27, + "y_offset": -65, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_4_2.png", + "x_offset": -3, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/corkscrew_right_4_3.png", + "x_offset": -26, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_1.png", + "x_offset": -22, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_2.png", + "x_offset": -21, + "y_offset": -72, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_3.png", + "x_offset": -28, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_4.png", + "x_offset": -23, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_1_5.png", + "x_offset": -22, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_2.png", + "x_offset": -32, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_3.png", + "x_offset": -23, + "y_offset": -50, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_4.png", + "x_offset": -18, + "y_offset": -56, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_2_5.png", + "x_offset": -14, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_1.png", + "x_offset": -16, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_2.png", + "x_offset": -19, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_3.png", + "x_offset": 10, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_4.png", + "x_offset": -8, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_3_5.png", + "x_offset": -16, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_1.png", + "x_offset": -24, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_2.png", + "x_offset": -23, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_3.png", + "x_offset": -14, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_4.png", + "x_offset": -29, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_left_4_5.png", + "x_offset": -22, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_1.png", + "x_offset": -22, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_2.png", + "x_offset": -22, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_3.png", + "x_offset": -20, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_4.png", + "x_offset": -28, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_1_5.png", + "x_offset": -32, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_1.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_2.png", + "x_offset": -16, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_3.png", + "x_offset": -24, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_4.png", + "x_offset": -16, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_2_5.png", + "x_offset": -22, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_1.png", + "x_offset": -29, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_2.png", + "x_offset": -16, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_3.png", + "x_offset": -25, + "y_offset": -50, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_4.png", + "x_offset": -28, + "y_offset": -56, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_3_5.png", + "x_offset": -22, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_1.png", + "x_offset": -26, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_2.png", + "x_offset": -11, + "y_offset": -68, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_3.png", + "x_offset": 10, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_4.png", + "x_offset": -17, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_corkscrew_right_4_5.png", + "x_offset": -24, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_1_1.png", + "x_offset": -26, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_1_2.png", + "x_offset": -16, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_1.png", + "x_offset": 3, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_2.png", + "x_offset": -17, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_3.png", + "x_offset": -38, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_3_1.png", + "x_offset": -18, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_3_2.png", + "x_offset": -5, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_4_1.png", + "x_offset": -26, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_left_bank_to_gentle_up_4_2.png", + "x_offset": -28, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_1_1.png", + "x_offset": -29, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_1_2.png", + "x_offset": -26, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_2_1.png", + "x_offset": -13, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_2_2.png", + "x_offset": -28, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_1.png", + "x_offset": -38, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_2.png", + "x_offset": -38, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_3.png", + "x_offset": -16, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_4_1.png", + "x_offset": -6, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/small_turn_right_bank_to_gentle_up_4_2.png", + "x_offset": -18, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_1.png", + "x_offset": -22, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_2.png", + "x_offset": -21, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_3.png", + "x_offset": -29, + "y_offset": -100, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_4.png", + "x_offset": -44, + "y_offset": -128, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_1_5.png", + "x_offset": -21, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_1.png", + "x_offset": -22, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_2.png", + "x_offset": 0, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_3.png", + "x_offset": 0, + "y_offset": -87, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_4.png", + "x_offset": -30, + "y_offset": -148, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_2_5.png", + "x_offset": -22, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_1.png", + "x_offset": -23, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_2.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_3.png", + "x_offset": -3, + "y_offset": -59, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_4.png", + "x_offset": -32, + "y_offset": -154, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_3_5.png", + "x_offset": -17, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_1.png", + "x_offset": -23, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_2.png", + "x_offset": -25, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_3.png", + "x_offset": -30, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_4.png", + "x_offset": -10, + "y_offset": -129, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_left_4_5.png", + "x_offset": -28, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_1.png", + "x_offset": -22, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_2.png", + "x_offset": -19, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_3.png", + "x_offset": -17, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_4.png", + "x_offset": -26, + "y_offset": -129, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_1_5.png", + "x_offset": -22, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_1.png", + "x_offset": -22, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_3.png", + "x_offset": -32, + "y_offset": -59, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_4.png", + "x_offset": -25, + "y_offset": -154, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_2_5.png", + "x_offset": -21, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_2.png", + "x_offset": -32, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_3.png", + "x_offset": -32, + "y_offset": -87, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_4.png", + "x_offset": -10, + "y_offset": -148, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_3_5.png", + "x_offset": -12, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_1.png", + "x_offset": -23, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_2.png", + "x_offset": -16, + "y_offset": -51, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_3.png", + "x_offset": -3, + "y_offset": -100, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_4.png", + "x_offset": -32, + "y_offset": -128, + "palette": "keep" + }, + { + "path": "track/intamin/medium_half_loop_right_4_5.png", + "x_offset": -32, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_1.png", + "x_offset": -22, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_2.png", + "x_offset": -18, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_3.png", + "x_offset": -19, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_4.png", + "x_offset": -24, + "y_offset": -85, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_5.png", + "x_offset": -16, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_6.png", + "x_offset": -9, + "y_offset": -183, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_1_7.png", + "x_offset": -21, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_1.png", + "x_offset": -22, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_2.png", + "x_offset": -6, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_3.png", + "x_offset": -9, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_4.png", + "x_offset": -8, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_5.png", + "x_offset": -32, + "y_offset": -130, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_6.png", + "x_offset": -25, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_2_7.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_1.png", + "x_offset": -24, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_2.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_3.png", + "x_offset": -29, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_4.png", + "x_offset": -7, + "y_offset": -61, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_5.png", + "x_offset": -7, + "y_offset": -117, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_6.png", + "x_offset": -22, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_3_7.png", + "x_offset": -28, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_1.png", + "x_offset": -24, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_2.png", + "x_offset": -30, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_3.png", + "x_offset": -32, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_4.png", + "x_offset": -32, + "y_offset": -84, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_5.png", + "x_offset": 16, + "y_offset": -62, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_6.png", + "x_offset": -16, + "y_offset": -186, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_left_4_7.png", + "x_offset": -24, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_1.png", + "x_offset": -22, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_2.png", + "x_offset": -18, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_3.png", + "x_offset": -13, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_4.png", + "x_offset": 0, + "y_offset": -84, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_5.png", + "x_offset": -32, + "y_offset": -62, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_6.png", + "x_offset": -19, + "y_offset": -186, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_1_7.png", + "x_offset": -22, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_1.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_2.png", + "x_offset": -13, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_3.png", + "x_offset": -6, + "y_offset": -38, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_4.png", + "x_offset": -16, + "y_offset": -61, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_5.png", + "x_offset": -23, + "y_offset": -117, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_6.png", + "x_offset": -17, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_2_7.png", + "x_offset": -21, + "y_offset": -32, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_1.png", + "x_offset": -26, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_2.png", + "x_offset": -30, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_3.png", + "x_offset": -29, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_4.png", + "x_offset": -32, + "y_offset": -94, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_5.png", + "x_offset": 16, + "y_offset": -130, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_6.png", + "x_offset": 0, + "y_offset": -197, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_3_7.png", + "x_offset": -17, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_1.png", + "x_offset": -24, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_2.png", + "x_offset": -25, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_3.png", + "x_offset": -21, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_4.png", + "x_offset": -5, + "y_offset": -85, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_5.png", + "x_offset": -7, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_6.png", + "x_offset": -32, + "y_offset": -183, + "palette": "keep" + }, + { + "path": "track/intamin/large_half_loop_right_4_7.png", + "x_offset": -31, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_1.png", + "x_offset": -22, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_2.png", + "x_offset": -10, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_3.png", + "x_offset": -11, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_1_4.png", + "x_offset": -19, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_1.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_2.png", + "x_offset": -22, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_3.png", + "x_offset": -23, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_2_4.png", + "x_offset": -21, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_1.png", + "x_offset": -20, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_2.png", + "x_offset": -22, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_3.png", + "x_offset": -11, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_3_4.png", + "x_offset": -23, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_1.png", + "x_offset": -15, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_2.png", + "x_offset": -11, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_3.png", + "x_offset": -3, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_left_4_4.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_1.png", + "x_offset": -22, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_2.png", + "x_offset": -27, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_3.png", + "x_offset": -22, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_1_4.png", + "x_offset": -27, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_1.png", + "x_offset": -22, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_2.png", + "x_offset": -17, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_3.png", + "x_offset": -13, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_2_4.png", + "x_offset": -11, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_1.png", + "x_offset": 3, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_2.png", + "x_offset": -9, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_3.png", + "x_offset": -11, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_3_4.png", + "x_offset": -21, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_1.png", + "x_offset": -20, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_2.png", + "x_offset": -35, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_3.png", + "x_offset": -24, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/zero_g_roll_right_4_4.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_1.png", + "x_offset": -21, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_2.png", + "x_offset": -23, + "y_offset": -36, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_3.png", + "x_offset": -15, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_4.png", + "x_offset": -13, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_1_5.png", + "x_offset": -17, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_1.png", + "x_offset": -21, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_2.png", + "x_offset": -25, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_3.png", + "x_offset": -32, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_2_4.png", + "x_offset": -29, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_1.png", + "x_offset": -10, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_2.png", + "x_offset": -18, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_3.png", + "x_offset": -27, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_4.png", + "x_offset": -24, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_5.png", + "x_offset": 1, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_3_6.png", + "x_offset": -22, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_1.png", + "x_offset": -15, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_2.png", + "x_offset": -14, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_3.png", + "x_offset": -10, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_4.png", + "x_offset": -9, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_left_4_5.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_1.png", + "x_offset": -21, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_2.png", + "x_offset": -31, + "y_offset": -48, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_3.png", + "x_offset": -31, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_4.png", + "x_offset": -30, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_1_5.png", + "x_offset": -32, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_1.png", + "x_offset": -21, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_2.png", + "x_offset": -21, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_3.png", + "x_offset": -24, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_4.png", + "x_offset": -15, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_5.png", + "x_offset": -8, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_2_6.png", + "x_offset": -8, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_1.png", + "x_offset": -17, + "y_offset": -42, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_2.png", + "x_offset": -11, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_3.png", + "x_offset": -5, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_3_4.png", + "x_offset": -21, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_1.png", + "x_offset": -23, + "y_offset": -47, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_2.png", + "x_offset": -6, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_3.png", + "x_offset": -32, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_4.png", + "x_offset": -26, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/intamin/large_zero_g_roll_right_4_5.png", + "x_offset": -22, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_1.png", + "x_offset": -22, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_2_1.png", + "x_offset": -22, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_2_2.png", + "x_offset": -18, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_3_1.png", + "x_offset": -6, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_3_2.png", + "x_offset": -25, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_4.png", + "x_offset": -25, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_1.png", + "x_offset": -21, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_2_1.png", + "x_offset": -12, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_2_2.png", + "x_offset": -21, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_3_1.png", + "x_offset": -22, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_3_2.png", + "x_offset": -17, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_4.png", + "x_offset": -22, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_1.png", + "x_offset": -32, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_2.png", + "x_offset": -8, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_3.png", + "x_offset": -32, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/small_flat_to_steep_up_diag_4.png", + "x_offset": -8, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_1.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_2.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_3.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/small_steep_to_flat_up_diag_4.png", + "x_offset": -8, + "y_offset": -34, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_1.png", + "x_offset": -22, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_2.png", + "x_offset": -31, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_3.png", + "x_offset": 13, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_4.png", + "x_offset": -13, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_1.png", + "x_offset": -22, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_2.png", + "x_offset": -32, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_1.png", + "x_offset": -5, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_2.png", + "x_offset": 8, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_3.png", + "x_offset": -31, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_4.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_1.png", + "x_offset": -25, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_2.png", + "x_offset": -26, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_1.png", + "x_offset": -22, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_2.png", + "x_offset": -18, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_3.png", + "x_offset": -12, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_1.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_2.png", + "x_offset": -34, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_3.png", + "x_offset": -2, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_4.png", + "x_offset": -13, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_1.png", + "x_offset": -6, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_1.png", + "x_offset": -13, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_2.png", + "x_offset": -3, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_4.png", + "x_offset": -8, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png", + "x_offset": -31, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png", + "x_offset": -8, + "y_offset": 6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png", + "x_offset": -7, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png", + "x_offset": -19, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png", + "x_offset": -17, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_4.png", + "x_offset": -22, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png", + "x_offset": -9, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_3.png", + "x_offset": -21, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png", + "x_offset": -22, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_1.png", + "x_offset": 0, + "y_offset": 6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png", + "x_offset": -22, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png", + "x_offset": -11, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png", + "x_offset": -22, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_1.png", + "x_offset": -8, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_3.png", + "x_offset": -6, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_4.png", + "x_offset": -24, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_2.png", + "x_offset": -10, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_4.png", + "x_offset": -8, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_2.png", + "x_offset": -8, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -31, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png", + "x_offset": -10, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_1.png", + "x_offset": -21, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_2.png", + "x_offset": -32, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png", + "x_offset": -10, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png", + "x_offset": -8, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_2.png", + "x_offset": -32, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_4.png", + "x_offset": -10, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png", + "x_offset": -11, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png", + "x_offset": -6, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_2.png", + "x_offset": -6, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png", + "x_offset": -11, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png", + "x_offset": -11, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png", + "x_offset": -6, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png", + "x_offset": -6, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_4.png", + "x_offset": -11, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_2.png", + "x_offset": -10, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_diag_4.png", + "x_offset": -6, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_2.png", + "x_offset": -6, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_diag_4.png", + "x_offset": -10, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_2.png", + "x_offset": -10, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_left_bank_diag_4.png", + "x_offset": -8, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_2.png", + "x_offset": -8, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -31, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/flat_to_gentle_up_right_bank_diag_4.png", + "x_offset": -10, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_1_1.png", + "x_offset": -19, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_1_2.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_2.png", + "x_offset": -10, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_3.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_left_bank_to_flat_diag_4.png", + "x_offset": -8, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_1.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_2.png", + "x_offset": -8, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_3_1.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_3_2.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/gentle_up_right_bank_to_flat_diag_4.png", + "x_offset": -9, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_1.png", + "x_offset": -18, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_2.png", + "x_offset": -27, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png", + "x_offset": 17, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png", + "x_offset": -10, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_1.png", + "x_offset": -22, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_1.png", + "x_offset": -7, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_2.png", + "x_offset": 1, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_3.png", + "x_offset": -32, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png", + "x_offset": -10, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png", + "x_offset": -23, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png", + "x_offset": -24, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_1.png", + "x_offset": -23, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_2.png", + "x_offset": -20, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_3.png", + "x_offset": -14, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_1.png", + "x_offset": -19, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_2.png", + "x_offset": -31, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_3.png", + "x_offset": 10, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_4.png", + "x_offset": -8, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_1.png", + "x_offset": -7, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_1.png", + "x_offset": -18, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_2.png", + "x_offset": -6, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png", + "x_offset": -10, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": -29, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": -8, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": -10, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -17, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": -22, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": -26, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -8, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -21, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -22, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": -26, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": 0, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -21, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": -13, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": -26, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -10, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -7, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -24, + "y_offset": -22, + "palette": "keep" }, { "path": "track/mini/booster_1.png" @@ -2661,6 +6219,12 @@ { "path": "track/mini/booster_2.png" }, + { + "path": "track/bm/booster_1.png" + }, + { + "path": "track/bm/booster_2.png" + }, { "path": "track/railway/quarter_turn_3_tiles_sw_se_part_3.png", "x_offset": -8, @@ -20924,3569 +24488,5 @@ "x_offset": -5, "y_offset": -20, "palette": "keep" - }, - { - "path": "track/intamin/steep_to_vertical_up_1.png", - "x_offset": -21, - "y_offset": -54, - "palette": "keep" - }, - { - "path": "track/intamin/steep_to_vertical_up_2.png", - "x_offset": -21, - "y_offset": -53, - "palette": "keep" - }, - { - "path": "track/intamin/steep_to_vertical_up_3.png", - "x_offset": -10, - "y_offset": -53, - "palette": "keep" - }, - { - "path": "track/intamin/steep_to_vertical_up_4.png", - "x_offset": -10, - "y_offset": -54, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_to_steep_up_1.png", - "x_offset": -6, - "y_offset": -60, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_to_steep_up_2.png", - "x_offset": -6, - "y_offset": -44, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_to_steep_up_3.png", - "x_offset": -25, - "y_offset": -44, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_to_steep_up_4.png", - "x_offset": -25, - "y_offset": -61, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_1.png", - "x_offset": -6, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_2.png", - "x_offset": -6, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_3.png", - "x_offset": -10, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_4.png", - "x_offset": -10, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_left_up_1.png", - "x_offset": -10, - "y_offset": -95, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_left_up_2_1.png", - "x_offset": -6, - "y_offset": -94, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_left_up_2_2.png", - "x_offset": -6, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_left_up_3.png", - "x_offset": -10, - "y_offset": -93, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_left_up_4_1.png", - "x_offset": -13, - "y_offset": -44, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_left_up_4_2.png", - "x_offset": -13, - "y_offset": -93, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_right_up_1_1.png", - "x_offset": -6, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_right_up_1_2.png", - "x_offset": -6, - "y_offset": -93, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_right_up_2.png", - "x_offset": -10, - "y_offset": -93, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_right_up_3_1.png", - "x_offset": -13, - "y_offset": -94, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_right_up_3_2.png", - "x_offset": -13, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/intamin/vertical_twist_right_up_4.png", - "x_offset": -10, - "y_offset": -94, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_1_1.png", - "x_offset": -22, - "y_offset": 4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_1_2.png", - "x_offset": -17, - "y_offset": 4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_1_3.png", - "x_offset": -22, - "y_offset": 3, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_1_4.png", - "x_offset": -20, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_1_5.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_1_6.png", - "x_offset": -11, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_2_1.png", - "x_offset": -22, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_2_2.png", - "x_offset": -20, - "y_offset": 4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_2_3.png", - "x_offset": -28, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_2_4.png", - "x_offset": -28, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_2_5.png", - "x_offset": 10, - "y_offset": -1, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_2_6.png", - "x_offset": -32, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_3_1.png", - "x_offset": -29, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_3_2.png", - "x_offset": 10, - "y_offset": 8, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_3_3.png", - "x_offset": -26, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_3_4.png", - "x_offset": -28, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_3_5.png", - "x_offset": -1, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_3_6.png", - "x_offset": -22, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_4_1.png", - "x_offset": -15, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_4_2.png", - "x_offset": 13, - "y_offset": 23, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_4_3.png", - "x_offset": -12, - "y_offset": -23, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_4_4.png", - "x_offset": -10, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_4_5.png", - "x_offset": -12, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_left_4_6.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_1_1.png", - "x_offset": -22, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_1_2.png", - "x_offset": -17, - "y_offset": 22, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_1_3.png", - "x_offset": -26, - "y_offset": -23, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_1_4.png", - "x_offset": -15, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_1_5.png", - "x_offset": -22, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_1_6.png", - "x_offset": -26, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_2_1.png", - "x_offset": -22, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_2_2.png", - "x_offset": -17, - "y_offset": 9, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_2_3.png", - "x_offset": -7, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_2_4.png", - "x_offset": 14, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_2_5.png", - "x_offset": -7, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_2_6.png", - "x_offset": -6, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_3_1.png", - "x_offset": -2, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_3_2.png", - "x_offset": -4, - "y_offset": 4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_3_3.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_3_4.png", - "x_offset": 0, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_3_5.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_3_6.png", - "x_offset": -22, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_4_1.png", - "x_offset": -12, - "y_offset": 4, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_4_2.png", - "x_offset": -25, - "y_offset": 5, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_4_3.png", - "x_offset": 8, - "y_offset": 14, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_4_4.png", - "x_offset": -28, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_4_5.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/barrel_roll_right_4_6.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_1_1.png", - "x_offset": -28, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_1_2.png", - "x_offset": -23, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_1_3.png", - "x_offset": -13, - "y_offset": -92, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_1_4.png", - "x_offset": -22, - "y_offset": 13, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_2_1.png", - "x_offset": -16, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_2_2.png", - "x_offset": 1, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_2_3.png", - "x_offset": -38, - "y_offset": -114, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_2_4.png", - "x_offset": -22, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_3_1.png", - "x_offset": -29, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_3_2.png", - "x_offset": -30, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_3_3.png", - "x_offset": -2, - "y_offset": -121, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_3_4.png", - "x_offset": -29, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_4_1.png", - "x_offset": -13, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_4_2.png", - "x_offset": -14, - "y_offset": -44, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_4_3.png", - "x_offset": 4, - "y_offset": -101, - "palette": "keep" - }, - { - "path": "track/intamin/half_loop_4_4.png", - "x_offset": 1, - "y_offset": 4, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_1_1.png", - "x_offset": -28, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_1_2.png", - "x_offset": -26, - "y_offset": -43, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_1_3.png", - "x_offset": -47, - "y_offset": -91, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_1_4.png", - "x_offset": -37, - "y_offset": 9, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_2_1.png", - "x_offset": -15, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_2_2.png", - "x_offset": 1, - "y_offset": -32, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_2_3.png", - "x_offset": -34, - "y_offset": -114, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_2_4.png", - "x_offset": -6, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_3_1.png", - "x_offset": -25, - "y_offset": -110, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_3_2.png", - "x_offset": -19, - "y_offset": -51, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_3_3.png", - "x_offset": 11, - "y_offset": -94, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_3_4.png", - "x_offset": -22, - "y_offset": 5, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_4_1.png", - "x_offset": -15, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_4_2.png", - "x_offset": -20, - "y_offset": -41, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_4_3.png", - "x_offset": -4, - "y_offset": -95, - "palette": "keep" - }, - { - "path": "track/intamin/left_vertical_loop_4_4.png", - "x_offset": 1, - "y_offset": 17, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_1_1.png", - "x_offset": -27, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_1_2.png", - "x_offset": -27, - "y_offset": -41, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_1_3.png", - "x_offset": -31, - "y_offset": -95, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_1_4.png", - "x_offset": -22, - "y_offset": 16, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_2_1.png", - "x_offset": -16, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_2_2.png", - "x_offset": -7, - "y_offset": -51, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_2_3.png", - "x_offset": -20, - "y_offset": -94, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_2_4.png", - "x_offset": -21, - "y_offset": 5, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_3_1.png", - "x_offset": -46, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_3_2.png", - "x_offset": -41, - "y_offset": -32, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_3_3.png", - "x_offset": 8, - "y_offset": -114, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_3_4.png", - "x_offset": -27, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_4_1.png", - "x_offset": -10, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_4_2.png", - "x_offset": -11, - "y_offset": -44, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_4_3.png", - "x_offset": 1, - "y_offset": -87, - "palette": "keep" - }, - { - "path": "track/intamin/right_vertical_loop_4_4.png", - "x_offset": -9, - "y_offset": 9, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_1_1.png", - "x_offset": -18, - "y_offset": -55, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_1_2.png", - "x_offset": 0, - "y_offset": -43, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_1_3.png", - "x_offset": -22, - "y_offset": -23, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_2_1.png", - "x_offset": -24, - "y_offset": -79, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_2_2.png", - "x_offset": -32, - "y_offset": -66, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_2_3.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_3_1.png", - "x_offset": -10, - "y_offset": -78, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_3_2.png", - "x_offset": -21, - "y_offset": -68, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_3_3.png", - "x_offset": -11, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_4_1.png", - "x_offset": -10, - "y_offset": -56, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_4_2.png", - "x_offset": -28, - "y_offset": -43, - "palette": "keep" - }, - { - "path": "track/intamin/quarter_loop_up_4_3.png", - "x_offset": -32, - "y_offset": -23, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_1_1.png", - "x_offset": -22, - "y_offset": -71, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_1_2.png", - "x_offset": -20, - "y_offset": -36, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_1_3.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_2_1.png", - "x_offset": -22, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_2_2.png", - "x_offset": -32, - "y_offset": -36, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_2_3.png", - "x_offset": -21, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_3_1.png", - "x_offset": -31, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_3_2.png", - "x_offset": -3, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_3_3.png", - "x_offset": -19, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_4_1.png", - "x_offset": -32, - "y_offset": -39, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_4_2.png", - "x_offset": -34, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_left_4_3.png", - "x_offset": -22, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_1_1.png", - "x_offset": -22, - "y_offset": -39, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_1_2.png", - "x_offset": -8, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_1_3.png", - "x_offset": -20, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_2_1.png", - "x_offset": -22, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_2_2.png", - "x_offset": -13, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_2_3.png", - "x_offset": -22, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_3_1.png", - "x_offset": -7, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_3_2.png", - "x_offset": -22, - "y_offset": -36, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_3_3.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_4_1.png", - "x_offset": -27, - "y_offset": -65, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_4_2.png", - "x_offset": -3, - "y_offset": -36, - "palette": "keep" - }, - { - "path": "track/intamin/corkscrew_right_4_3.png", - "x_offset": -26, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_1_1.png", - "x_offset": -22, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_1_2.png", - "x_offset": -21, - "y_offset": -72, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_1_3.png", - "x_offset": -28, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_1_4.png", - "x_offset": -23, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_1_5.png", - "x_offset": -22, - "y_offset": -39, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_2_1.png", - "x_offset": -22, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_2_2.png", - "x_offset": -32, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_2_3.png", - "x_offset": -23, - "y_offset": -50, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_2_4.png", - "x_offset": -18, - "y_offset": -56, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_2_5.png", - "x_offset": -14, - "y_offset": -39, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_3_1.png", - "x_offset": -16, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_3_2.png", - "x_offset": -19, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_3_3.png", - "x_offset": 10, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_3_4.png", - "x_offset": -8, - "y_offset": -38, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_3_5.png", - "x_offset": -16, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_4_1.png", - "x_offset": -24, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_4_2.png", - "x_offset": -23, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_4_3.png", - "x_offset": -14, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_4_4.png", - "x_offset": -29, - "y_offset": -36, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_left_4_5.png", - "x_offset": -22, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_1_1.png", - "x_offset": -22, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_1_2.png", - "x_offset": -22, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_1_3.png", - "x_offset": -20, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_1_4.png", - "x_offset": -28, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_1_5.png", - "x_offset": -32, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_2_1.png", - "x_offset": -22, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_2_2.png", - "x_offset": -16, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_2_3.png", - "x_offset": -24, - "y_offset": -32, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_2_4.png", - "x_offset": -16, - "y_offset": -38, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_2_5.png", - "x_offset": -22, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_3_1.png", - "x_offset": -29, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_3_2.png", - "x_offset": -16, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_3_3.png", - "x_offset": -25, - "y_offset": -50, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_3_4.png", - "x_offset": -28, - "y_offset": -56, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_3_5.png", - "x_offset": -22, - "y_offset": -39, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_4_1.png", - "x_offset": -26, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_4_2.png", - "x_offset": -11, - "y_offset": -68, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_4_3.png", - "x_offset": 10, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_4_4.png", - "x_offset": -17, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/intamin/large_corkscrew_right_4_5.png", - "x_offset": -24, - "y_offset": -39, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_1_1.png", - "x_offset": -26, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_1_2.png", - "x_offset": -16, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_1.png", - "x_offset": 3, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_2.png", - "x_offset": -17, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_2_3.png", - "x_offset": -38, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_3_1.png", - "x_offset": -18, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_3_2.png", - "x_offset": -5, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_4_1.png", - "x_offset": -26, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_left_bank_to_gentle_up_4_2.png", - "x_offset": -28, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_1_1.png", - "x_offset": -29, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_1_2.png", - "x_offset": -26, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_2_1.png", - "x_offset": -13, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_2_2.png", - "x_offset": -28, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_1.png", - "x_offset": -38, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_2.png", - "x_offset": -38, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_3_3.png", - "x_offset": -16, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_4_1.png", - "x_offset": -6, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/small_turn_right_bank_to_gentle_up_4_2.png", - "x_offset": -18, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_1_1.png", - "x_offset": -22, - "y_offset": -34, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_1_2.png", - "x_offset": -21, - "y_offset": -51, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_1_3.png", - "x_offset": -29, - "y_offset": -100, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_1_4.png", - "x_offset": -44, - "y_offset": -128, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_1_5.png", - "x_offset": -21, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_2_1.png", - "x_offset": -22, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_2_2.png", - "x_offset": 0, - "y_offset": -34, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_2_3.png", - "x_offset": 0, - "y_offset": -87, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_2_4.png", - "x_offset": -30, - "y_offset": -148, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_2_5.png", - "x_offset": -22, - "y_offset": -47, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_3_1.png", - "x_offset": -23, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_3_2.png", - "x_offset": 0, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_3_3.png", - "x_offset": -3, - "y_offset": -59, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_3_4.png", - "x_offset": -32, - "y_offset": -154, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_3_5.png", - "x_offset": -17, - "y_offset": -47, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_4_1.png", - "x_offset": -23, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_4_2.png", - "x_offset": -25, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_4_3.png", - "x_offset": -30, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_4_4.png", - "x_offset": -10, - "y_offset": -129, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_left_4_5.png", - "x_offset": -28, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_1_1.png", - "x_offset": -22, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_1_2.png", - "x_offset": -19, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_1_3.png", - "x_offset": -17, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_1_4.png", - "x_offset": -26, - "y_offset": -129, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_1_5.png", - "x_offset": -22, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_2_1.png", - "x_offset": -22, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_2_2.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_2_3.png", - "x_offset": -32, - "y_offset": -59, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_2_4.png", - "x_offset": -25, - "y_offset": -154, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_2_5.png", - "x_offset": -21, - "y_offset": -47, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_3_1.png", - "x_offset": -32, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_3_2.png", - "x_offset": -32, - "y_offset": -34, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_3_3.png", - "x_offset": -32, - "y_offset": -87, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_3_4.png", - "x_offset": -10, - "y_offset": -148, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_3_5.png", - "x_offset": -12, - "y_offset": -47, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_4_1.png", - "x_offset": -23, - "y_offset": -34, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_4_2.png", - "x_offset": -16, - "y_offset": -51, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_4_3.png", - "x_offset": -3, - "y_offset": -100, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_4_4.png", - "x_offset": -32, - "y_offset": -128, - "palette": "keep" - }, - { - "path": "track/intamin/medium_half_loop_right_4_5.png", - "x_offset": -32, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_1_1.png", - "x_offset": -22, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_1_2.png", - "x_offset": -18, - "y_offset": -42, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_1_3.png", - "x_offset": -19, - "y_offset": -70, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_1_4.png", - "x_offset": -24, - "y_offset": -85, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_1_5.png", - "x_offset": -16, - "y_offset": -70, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_1_6.png", - "x_offset": -9, - "y_offset": -183, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_1_7.png", - "x_offset": -21, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_2_1.png", - "x_offset": -22, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_2_2.png", - "x_offset": -6, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_2_3.png", - "x_offset": -9, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_2_4.png", - "x_offset": -8, - "y_offset": -94, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_2_5.png", - "x_offset": -32, - "y_offset": -130, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_2_6.png", - "x_offset": -25, - "y_offset": -197, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_2_7.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_3_1.png", - "x_offset": -24, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_3_2.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_3_3.png", - "x_offset": -29, - "y_offset": -38, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_3_4.png", - "x_offset": -7, - "y_offset": -61, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_3_5.png", - "x_offset": -7, - "y_offset": -117, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_3_6.png", - "x_offset": -22, - "y_offset": -197, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_3_7.png", - "x_offset": -28, - "y_offset": -32, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_4_1.png", - "x_offset": -24, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_4_2.png", - "x_offset": -30, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_4_3.png", - "x_offset": -32, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_4_4.png", - "x_offset": -32, - "y_offset": -84, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_4_5.png", - "x_offset": 16, - "y_offset": -62, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_4_6.png", - "x_offset": -16, - "y_offset": -186, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_left_4_7.png", - "x_offset": -24, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_1_1.png", - "x_offset": -22, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_1_2.png", - "x_offset": -18, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_1_3.png", - "x_offset": -13, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_1_4.png", - "x_offset": 0, - "y_offset": -84, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_1_5.png", - "x_offset": -32, - "y_offset": -62, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_1_6.png", - "x_offset": -19, - "y_offset": -186, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_1_7.png", - "x_offset": -22, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_2_1.png", - "x_offset": -22, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_2_2.png", - "x_offset": -13, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_2_3.png", - "x_offset": -6, - "y_offset": -38, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_2_4.png", - "x_offset": -16, - "y_offset": -61, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_2_5.png", - "x_offset": -23, - "y_offset": -117, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_2_6.png", - "x_offset": -17, - "y_offset": -197, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_2_7.png", - "x_offset": -21, - "y_offset": -32, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_3_1.png", - "x_offset": -26, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_3_2.png", - "x_offset": -30, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_3_3.png", - "x_offset": -29, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_3_4.png", - "x_offset": -32, - "y_offset": -94, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_3_5.png", - "x_offset": 16, - "y_offset": -130, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_3_6.png", - "x_offset": 0, - "y_offset": -197, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_3_7.png", - "x_offset": -17, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_4_1.png", - "x_offset": -24, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_4_2.png", - "x_offset": -25, - "y_offset": -42, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_4_3.png", - "x_offset": -21, - "y_offset": -70, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_4_4.png", - "x_offset": -5, - "y_offset": -85, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_4_5.png", - "x_offset": -7, - "y_offset": -70, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_4_6.png", - "x_offset": -32, - "y_offset": -183, - "palette": "keep" - }, - { - "path": "track/intamin/large_half_loop_right_4_7.png", - "x_offset": -31, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_1_1.png", - "x_offset": -22, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_1_2.png", - "x_offset": -10, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_1_3.png", - "x_offset": -11, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_1_4.png", - "x_offset": -19, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_2_1.png", - "x_offset": -22, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_2_2.png", - "x_offset": -22, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_2_3.png", - "x_offset": -23, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_2_4.png", - "x_offset": -21, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_3_1.png", - "x_offset": -20, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_3_2.png", - "x_offset": -22, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_3_3.png", - "x_offset": -11, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_3_4.png", - "x_offset": -23, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_4_1.png", - "x_offset": -15, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_4_2.png", - "x_offset": -11, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_4_3.png", - "x_offset": -3, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_left_4_4.png", - "x_offset": -21, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_1_1.png", - "x_offset": -22, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_1_2.png", - "x_offset": -27, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_1_3.png", - "x_offset": -22, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_1_4.png", - "x_offset": -27, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_2_1.png", - "x_offset": -22, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_2_2.png", - "x_offset": -17, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_2_3.png", - "x_offset": -13, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_2_4.png", - "x_offset": -11, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_3_1.png", - "x_offset": 3, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_3_2.png", - "x_offset": -9, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_3_3.png", - "x_offset": -11, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_3_4.png", - "x_offset": -21, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_4_1.png", - "x_offset": -20, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_4_2.png", - "x_offset": -35, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_4_3.png", - "x_offset": -24, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/intamin/zero_g_roll_right_4_4.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_1_1.png", - "x_offset": -21, - "y_offset": -47, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_1_2.png", - "x_offset": -23, - "y_offset": -36, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_1_3.png", - "x_offset": -15, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_1_4.png", - "x_offset": -13, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_1_5.png", - "x_offset": -17, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_2_1.png", - "x_offset": -21, - "y_offset": -42, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_2_2.png", - "x_offset": -25, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_2_3.png", - "x_offset": -32, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_2_4.png", - "x_offset": -29, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_3_1.png", - "x_offset": -10, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_3_2.png", - "x_offset": -18, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_3_3.png", - "x_offset": -27, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_3_4.png", - "x_offset": -24, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_3_5.png", - "x_offset": 1, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_3_6.png", - "x_offset": -22, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_4_1.png", - "x_offset": -15, - "y_offset": -48, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_4_2.png", - "x_offset": -14, - "y_offset": -48, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_4_3.png", - "x_offset": -10, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_4_4.png", - "x_offset": -9, - "y_offset": -42, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_left_4_5.png", - "x_offset": -21, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_1_1.png", - "x_offset": -21, - "y_offset": -48, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_1_2.png", - "x_offset": -31, - "y_offset": -48, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_1_3.png", - "x_offset": -31, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_1_4.png", - "x_offset": -30, - "y_offset": -42, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_1_5.png", - "x_offset": -32, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_2_1.png", - "x_offset": -21, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_2_2.png", - "x_offset": -21, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_2_3.png", - "x_offset": -24, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_2_4.png", - "x_offset": -15, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_2_5.png", - "x_offset": -8, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_2_6.png", - "x_offset": -8, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_3_1.png", - "x_offset": -17, - "y_offset": -42, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_3_2.png", - "x_offset": -11, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_3_3.png", - "x_offset": -5, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_3_4.png", - "x_offset": -21, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_4_1.png", - "x_offset": -23, - "y_offset": -47, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_4_2.png", - "x_offset": -6, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_4_3.png", - "x_offset": -32, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_4_4.png", - "x_offset": -26, - "y_offset": -40, - "palette": "keep" - }, - { - "path": "track/intamin/large_zero_g_roll_right_4_5.png", - "x_offset": -22, - "y_offset": -31, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_1.png", - "x_offset": -22, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_2_1.png", - "x_offset": -22, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_2_2.png", - "x_offset": -18, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_3_1.png", - "x_offset": -6, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_3_2.png", - "x_offset": -25, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_4.png", - "x_offset": -25, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_1.png", - "x_offset": -21, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_2_1.png", - "x_offset": -12, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_2_2.png", - "x_offset": -21, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_3_1.png", - "x_offset": -22, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_3_2.png", - "x_offset": -17, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_4.png", - "x_offset": -22, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_diag_1.png", - "x_offset": -32, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_diag_2.png", - "x_offset": -8, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_diag_3.png", - "x_offset": -32, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/small_flat_to_steep_up_diag_4.png", - "x_offset": -8, - "y_offset": -34, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_diag_1.png", - "x_offset": -32, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_diag_2.png", - "x_offset": -8, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_diag_3.png", - "x_offset": -32, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/small_steep_to_flat_up_diag_4.png", - "x_offset": -8, - "y_offset": -34, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_1.png", - "x_offset": -22, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_2.png", - "x_offset": -31, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_3.png", - "x_offset": 13, - "y_offset": 8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_1_4.png", - "x_offset": -13, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_1.png", - "x_offset": -22, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_2.png", - "x_offset": -32, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_3.png", - "x_offset": -24, - "y_offset": 14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_2_4.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_1.png", - "x_offset": -5, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_2.png", - "x_offset": 8, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_3.png", - "x_offset": -31, - "y_offset": -1, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_3_4.png", - "x_offset": -8, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_1.png", - "x_offset": -25, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_2.png", - "x_offset": -26, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_3.png", - "x_offset": 0, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_diag_gentle_up_4_4.png", - "x_offset": 0, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_1.png", - "x_offset": -22, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_2.png", - "x_offset": -18, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_3.png", - "x_offset": -12, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_1_4.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_1.png", - "x_offset": -22, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_2.png", - "x_offset": -34, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_3.png", - "x_offset": -2, - "y_offset": -1, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_2_4.png", - "x_offset": -13, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_1.png", - "x_offset": -6, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_2.png", - "x_offset": -8, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_3.png", - "x_offset": 0, - "y_offset": 14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_3_4.png", - "x_offset": 0, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_1.png", - "x_offset": -13, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_2.png", - "x_offset": -3, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_3.png", - "x_offset": -32, - "y_offset": 8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_diag_gentle_up_4_4.png", - "x_offset": -8, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_1.png", - "x_offset": 0, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_3.png", - "x_offset": -32, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_1_4.png", - "x_offset": -31, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_1.png", - "x_offset": -8, - "y_offset": 6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_3.png", - "x_offset": -7, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_2_4.png", - "x_offset": -19, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_1.png", - "x_offset": -32, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_3.png", - "x_offset": -17, - "y_offset": -1, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_3_4.png", - "x_offset": -22, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_1.png", - "x_offset": -9, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_3.png", - "x_offset": -21, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_to_orthogonal_gentle_up_4_4.png", - "x_offset": -22, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_1.png", - "x_offset": 0, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_3.png", - "x_offset": -32, - "y_offset": -1, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_1_4.png", - "x_offset": -32, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_1.png", - "x_offset": 0, - "y_offset": 6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_3.png", - "x_offset": -16, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_2_4.png", - "x_offset": -22, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_1.png", - "x_offset": -32, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_3.png", - "x_offset": -11, - "y_offset": -16, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png", - "x_offset": -22, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_1.png", - "x_offset": -8, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_3.png", - "x_offset": -6, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_to_orthogonal_gentle_up_4_4.png", - "x_offset": -24, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_1.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_1_2.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_2.png", - "x_offset": -10, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_3.png", - "x_offset": -32, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_left_bank_diag_4.png", - "x_offset": -8, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_1.png", - "x_offset": -32, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_2.png", - "x_offset": -8, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_1.png", - "x_offset": -31, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_3_2.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_to_gentle_up_right_bank_diag_4.png", - "x_offset": -10, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_1.png", - "x_offset": -21, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_1_2.png", - "x_offset": -32, - "y_offset": -2, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_2.png", - "x_offset": -10, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_3.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_gentle_up_diag_4.png", - "x_offset": -8, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_1.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_2.png", - "x_offset": -8, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_1.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_3_2.png", - "x_offset": -32, - "y_offset": -2, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_gentle_up_diag_4.png", - "x_offset": -10, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_1.png", - "x_offset": -32, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png", - "x_offset": -11, - "y_offset": -14, - "palette": "keep" - }, - { - "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_3.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png", - "x_offset": -6, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_2.png", - "x_offset": -6, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png", - "x_offset": -32, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/right_bank_to_gentle_up_right_bank_diag_4.png", - "x_offset": -11, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_1.png", - "x_offset": -32, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_2.png", - "x_offset": -11, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_3.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_left_bank_diag_4.png", - "x_offset": -6, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_1.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_2.png", - "x_offset": -6, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_3.png", - "x_offset": -32, - "y_offset": -3, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_right_bank_diag_4.png", - "x_offset": -11, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_diag_1.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_diag_2.png", - "x_offset": -10, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_diag_3.png", - "x_offset": -32, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_diag_4.png", - "x_offset": -6, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_diag_1.png", - "x_offset": -32, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_diag_2.png", - "x_offset": -6, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_diag_3.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_diag_4.png", - "x_offset": -10, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_left_bank_diag_1_1.png", - "x_offset": -32, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_left_bank_diag_1_2.png", - "x_offset": -32, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_left_bank_diag_2.png", - "x_offset": -10, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_left_bank_diag_3.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_left_bank_diag_4.png", - "x_offset": -8, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_right_bank_diag_1.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_right_bank_diag_2.png", - "x_offset": -8, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_right_bank_diag_3_1.png", - "x_offset": -31, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_right_bank_diag_3_2.png", - "x_offset": -32, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/flat_to_gentle_up_right_bank_diag_4.png", - "x_offset": -10, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_flat_diag_1_1.png", - "x_offset": -19, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_flat_diag_1_2.png", - "x_offset": -32, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_flat_diag_2.png", - "x_offset": -10, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_flat_diag_3.png", - "x_offset": -32, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_left_bank_to_flat_diag_4.png", - "x_offset": -8, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_flat_diag_1.png", - "x_offset": -32, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_flat_diag_2.png", - "x_offset": -8, - "y_offset": -15, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_flat_diag_3_1.png", - "x_offset": -32, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_flat_diag_3_2.png", - "x_offset": -32, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/intamin/gentle_up_right_bank_to_flat_diag_4.png", - "x_offset": -9, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_1.png", - "x_offset": -18, - "y_offset": -14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_2.png", - "x_offset": -27, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_3.png", - "x_offset": 17, - "y_offset": 8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_1_4.png", - "x_offset": -10, - "y_offset": -14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_1.png", - "x_offset": -22, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_2.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_3.png", - "x_offset": -24, - "y_offset": 13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_2_4.png", - "x_offset": -32, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_1.png", - "x_offset": -7, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_2.png", - "x_offset": 1, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_3.png", - "x_offset": -32, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_3_4.png", - "x_offset": -10, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_1.png", - "x_offset": -23, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_2.png", - "x_offset": -24, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_3.png", - "x_offset": 0, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_diag_gentle_up_4_4.png", - "x_offset": 0, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_1.png", - "x_offset": -23, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_2.png", - "x_offset": -20, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_3.png", - "x_offset": -14, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_1_4.png", - "x_offset": -32, - "y_offset": -17, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_1.png", - "x_offset": -19, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_2.png", - "x_offset": -31, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_3.png", - "x_offset": 10, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_2_4.png", - "x_offset": -8, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_1.png", - "x_offset": -7, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_2.png", - "x_offset": -8, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_3.png", - "x_offset": 0, - "y_offset": 13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_3_4.png", - "x_offset": 0, - "y_offset": -13, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_1.png", - "x_offset": -18, - "y_offset": -14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_2.png", - "x_offset": -6, - "y_offset": -24, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_3.png", - "x_offset": -32, - "y_offset": 8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_diag_gentle_up_4_4.png", - "x_offset": -10, - "y_offset": -14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png", - "x_offset": 0, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png", - "x_offset": -32, - "y_offset": -14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png", - "x_offset": -29, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png", - "x_offset": -8, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png", - "x_offset": -10, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png", - "x_offset": -17, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png", - "x_offset": -32, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png", - "x_offset": -22, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png", - "x_offset": -26, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png", - "x_offset": -8, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png", - "x_offset": -21, - "y_offset": -4, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png", - "x_offset": -22, - "y_offset": -23, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png", - "x_offset": 0, - "y_offset": -11, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png", - "x_offset": -32, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png", - "x_offset": -26, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png", - "x_offset": 0, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png", - "x_offset": -16, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png", - "x_offset": -21, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png", - "x_offset": -32, - "y_offset": -10, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png", - "x_offset": -13, - "y_offset": -14, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png", - "x_offset": -26, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png", - "x_offset": -10, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png", - "x_offset": 0, - "y_offset": 0, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png", - "x_offset": -7, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/intamin/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png", - "x_offset": -24, - "y_offset": -22, - "palette": "keep" } ] diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index d1dc7ae9de..3ffdff017b 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -1212,13 +1212,30 @@ enum SPR_G2_GIGA_RC_POWERED_LIFT_1, SPR_G2_GIGA_RC_POWERED_LIFT_2, SPR_G2_GIGA_RC_POWERED_LIFT_3, + SPR_G2_GIGA_TRACK_VERTICAL, + SPR_G2_GIGA_TRACK_VERTICAL_TWIST = SPR_G2_GIGA_TRACK_VERTICAL + 12, + SPR_G2_GIGA_TRACK_BARREL_ROLL = SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 12, + SPR_G2_GIGA_TRACK_HALF_LOOP = SPR_G2_GIGA_TRACK_BARREL_ROLL + 48, + SPR_G2_GIGA_TRACK_VERTICAL_LOOP = SPR_G2_GIGA_TRACK_HALF_LOOP + 16, + SPR_G2_GIGA_TRACK_QUARTER_LOOP = SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 32, + SPR_G2_GIGA_TRACK_CORKSCREW = SPR_G2_GIGA_TRACK_QUARTER_LOOP + 12, + SPR_G2_GIGA_TRACK_LARGE_CORKSCREW = SPR_G2_GIGA_TRACK_CORKSCREW + 24, + SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION = SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 40, + SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP = SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 18, + SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP = SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 40, + SPR_G2_GIGA_TRACK_ZERO_G_ROLL = SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 56, + SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL = SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 32, + SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP = SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 40, + SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE = SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 20, + SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED = SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 64, + SPR_G2_GIGA_END = SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 128, + + SPR_G2_MINI_RC_BOOSTER_NE_SW = SPR_G2_GIGA_END, + SPR_G2_MINI_RC_BOOSTER_NW_SE, SPR_G2_BM_BOOSTER_NE_SW, SPR_G2_BM_BOOSTER_NW_SE, - SPR_G2_MINI_RC_BOOSTER_NE_SW, - SPR_G2_MINI_RC_BOOSTER_NW_SE, - SPR_G2_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_3, SPR_G2_MINIATURE_RAILWAY_GRAVEL_SW_NE, SPR_G2_MINIATURE_RAILWAY_GRAVEL_NW_SE, @@ -1428,25 +1445,7 @@ enum SPR_G2_ALPINE_LIFT_TRACK_GENTLE_DIAGONAL = SPR_G2_ALPINE_LIFT_TRACK_FLAT_DIAGONAL + 4, SPR_G2_ALPINE_END = SPR_G2_ALPINE_LIFT_TRACK_GENTLE_DIAGONAL + 12, - SPR_G2_GIGA_TRACK_VERTICAL = SPR_G2_ALPINE_END, - SPR_G2_GIGA_TRACK_VERTICAL_TWIST = SPR_G2_GIGA_TRACK_VERTICAL + 12, - SPR_G2_GIGA_TRACK_BARREL_ROLL = SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 12, - SPR_G2_GIGA_TRACK_HALF_LOOP = SPR_G2_GIGA_TRACK_BARREL_ROLL + 48, - SPR_G2_GIGA_TRACK_VERTICAL_LOOP = SPR_G2_GIGA_TRACK_HALF_LOOP + 16, - SPR_G2_GIGA_TRACK_QUARTER_LOOP = SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 32, - SPR_G2_GIGA_TRACK_CORKSCREW = SPR_G2_GIGA_TRACK_QUARTER_LOOP + 12, - SPR_G2_GIGA_TRACK_LARGE_CORKSCREW = SPR_G2_GIGA_TRACK_CORKSCREW + 24, - SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION = SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 40, - SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP = SPR_G2_GIGA_TRACK_TURN_BANK_TRANSITION + 18, - SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP = SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 40, - SPR_G2_GIGA_TRACK_ZERO_G_ROLL = SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 56, - SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL = SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 32, - SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP = SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 40, - SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE = SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 20, - SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED = SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 64, - SPR_G2_GIGA_END = SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 128, - - SPR_G2_END = SPR_G2_GIGA_END, + SPR_G2_END = SPR_G2_ALPINE_END, SPR_CSG_BEGIN = SPR_G2_END, SPR_CSG_END = SPR_CSG_BEGIN + RCT1::Limits::Num_LL_CSG_Entries, From 5b641d491786b621dabcdb1e6a0d28e0a0558d8a Mon Sep 17 00:00:00 2001 From: Karst Date: Sat, 3 Jun 2023 19:07:16 +0200 Subject: [PATCH 10/27] Add conversion code for backwards compatibility. --- src/openrct2/park/ParkFile.h | 2 +- src/openrct2/ride/Track.cpp | 206 +++++++++++++++++++++++++++++++++++ 2 files changed, 207 insertions(+), 1 deletion(-) diff --git a/src/openrct2/park/ParkFile.h b/src/openrct2/park/ParkFile.h index 3965c43d22..536923e2d2 100644 --- a/src/openrct2/park/ParkFile.h +++ b/src/openrct2/park/ParkFile.h @@ -9,7 +9,7 @@ struct ObjectRepositoryItem; namespace OpenRCT2 { // Current version that is saved. - constexpr uint32_t PARK_FILE_CURRENT_VERSION = 30; + constexpr uint32_t PARK_FILE_CURRENT_VERSION = 31; // The minimum version that is forwards compatible with the current version. constexpr uint32_t PARK_FILE_MIN_VERSION = 30; diff --git a/src/openrct2/ride/Track.cpp b/src/openrct2/ride/Track.cpp index 3bbf1b048b..7101974082 100644 --- a/src/openrct2/ride/Track.cpp +++ b/src/openrct2/ride/Track.cpp @@ -946,6 +946,212 @@ bool TrackTypeMustBeMadeInvisible(ride_type_t rideType, track_type_t trackType, return true; } } + else if (rideType == RIDE_TYPE_GIGA_COASTER && parkFileVersion <= 30) + { + switch (trackType) + { + case TrackElemType::Up90: + + case TrackElemType::Down90: + + case TrackElemType::Up60ToUp90: + + case TrackElemType::Down90ToDown60: + + case TrackElemType::Up90ToUp60: + + case TrackElemType::Down60ToDown90: + + case TrackElemType::LeftQuarterTurn1TileUp90: + + case TrackElemType::RightQuarterTurn1TileUp90: + + case TrackElemType::LeftQuarterTurn1TileDown90: + + case TrackElemType::RightQuarterTurn1TileDown90: + + case TrackElemType::LeftBarrelRollUpToDown: + + case TrackElemType::RightBarrelRollUpToDown: + + case TrackElemType::LeftBarrelRollDownToUp: + + case TrackElemType::RightBarrelRollDownToUp: + + case TrackElemType::HalfLoopUp: + + case TrackElemType::HalfLoopDown: + + case TrackElemType::LeftVerticalLoop: + + case TrackElemType::RightVerticalLoop: + + case TrackElemType::LeftCorkscrewUp: + + case TrackElemType::RightCorkscrewUp: + + case TrackElemType::LeftCorkscrewDown: + + case TrackElemType::RightCorkscrewDown: + + case TrackElemType::LeftLargeCorkscrewUp: + + case TrackElemType::RightLargeCorkscrewUp: + + case TrackElemType::LeftLargeCorkscrewDown: + + case TrackElemType::RightLargeCorkscrewDown: + + case TrackElemType::LeftZeroGRollUp: + + case TrackElemType::RightZeroGRollUp: + + case TrackElemType::LeftZeroGRollDown: + + case TrackElemType::RightZeroGRollDown: + + case TrackElemType::LeftLargeZeroGRollUp: + + case TrackElemType::RightLargeZeroGRollUp: + + case TrackElemType::LeftLargeZeroGRollDown: + + case TrackElemType::RightLargeZeroGRollDown: + + case TrackElemType::Up90ToInvertedFlatQuarterLoop: + + case TrackElemType::InvertedFlatToDown90QuarterLoop: + + case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: + + case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: + + case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: + + case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: + + case TrackElemType::LeftMediumHalfLoopUp: + + case TrackElemType::RightMediumHalfLoopUp: + + case TrackElemType::LeftMediumHalfLoopDown: + + case TrackElemType::RightMediumHalfLoopDown: + + case TrackElemType::LeftLargeHalfLoopUp: + + case TrackElemType::RightLargeHalfLoopUp: + + case TrackElemType::RightLargeHalfLoopDown: + + case TrackElemType::LeftLargeHalfLoopDown: + + case TrackElemType::FlatToUp60: + + case TrackElemType::Up60ToFlat: + + case TrackElemType::FlatToDown60: + + case TrackElemType::Down60ToFlat: + + case TrackElemType::DiagFlatToUp60: + + case TrackElemType::DiagUp60ToFlat: + + case TrackElemType::DiagFlatToDown60: + + case TrackElemType::DiagDown60ToFlat: + + case TrackElemType::LeftEighthToDiagUp25: + + case TrackElemType::RightEighthToDiagUp25: + + case TrackElemType::LeftEighthToDiagDown25: + + case TrackElemType::RightEighthToDiagDown25: + + case TrackElemType::LeftEighthToOrthogonalUp25: + + case TrackElemType::RightEighthToOrthogonalUp25: + + case TrackElemType::LeftEighthToOrthogonalDown25: + + case TrackElemType::RightEighthToOrthogonalDown25: + + case TrackElemType::DiagUp25ToLeftBankedUp25: + + case TrackElemType::DiagUp25ToRightBankedUp25: + + case TrackElemType::DiagLeftBankedUp25ToUp25: + + case TrackElemType::DiagRightBankedUp25ToUp25: + + case TrackElemType::DiagDown25ToLeftBankedDown25: + + case TrackElemType::DiagDown25ToRightBankedDown25: + + case TrackElemType::DiagLeftBankedDown25ToDown25: + + case TrackElemType::DiagRightBankedDown25ToDown25: + + case TrackElemType::DiagLeftBankedFlatToLeftBankedUp25: + + case TrackElemType::DiagRightBankedFlatToRightBankedUp25: + + case TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat: + + case TrackElemType::DiagRightBankedUp25ToRightBankedFlat: + + case TrackElemType::DiagLeftBankedFlatToLeftBankedDown25: + + case TrackElemType::DiagRightBankedFlatToRightBankedDown25: + + case TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat: + + case TrackElemType::DiagRightBankedDown25ToRightBankedFlat: + + case TrackElemType::DiagUp25LeftBanked: + + case TrackElemType::DiagUp25RightBanked: + + case TrackElemType::DiagDown25LeftBanked: + + case TrackElemType::DiagDown25RightBanked: + + case TrackElemType::DiagFlatToLeftBankedUp25: + + case TrackElemType::DiagFlatToRightBankedUp25: + + case TrackElemType::DiagLeftBankedUp25ToFlat: + + case TrackElemType::DiagRightBankedUp25ToFlat: + + case TrackElemType::DiagFlatToLeftBankedDown25: + + case TrackElemType::DiagFlatToRightBankedDown25: + + case TrackElemType::DiagLeftBankedDown25ToFlat: + + case TrackElemType::DiagRightBankedDown25ToFlat: + + case TrackElemType::LeftEighthBankToDiagUp25: + + case TrackElemType::RightEighthBankToDiagUp25: + + case TrackElemType::LeftEighthBankToDiagDown25: + + case TrackElemType::RightEighthBankToDiagDown25: + + case TrackElemType::LeftEighthBankToOrthogonalUp25: + + case TrackElemType::RightEighthBankToOrthogonalUp25: + + case TrackElemType::LeftEighthBankToOrthogonalDown25: + + case TrackElemType::RightEighthBankToOrthogonalDown25: + return true; + } + } return false; } From 0844d5a30897f5073995d387caa6443b85a9f218 Mon Sep 17 00:00:00 2001 From: Karst Date: Sat, 3 Jun 2023 19:37:43 +0200 Subject: [PATCH 11/27] Increase network version --- src/openrct2/network/NetworkBase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index fbef0267f8..f0afd9e816 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -43,7 +43,7 @@ // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "2" +#define NETWORK_STREAM_VERSION "3" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION From 95c37b9f37cf1d9bbb8b47e0e98c240502c88b8d Mon Sep 17 00:00:00 2001 From: Karst Date: Sat, 3 Jun 2023 19:39:26 +0200 Subject: [PATCH 12/27] Update changelog.txt --- distribution/changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 1b6d0bc27e..b1fd81a3c6 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -10,6 +10,7 @@ ------------------------------------------------------------------------ - Feature: [#15660] Ability to show window buttons on the left. - Feature: [#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). +- Feature: [#20141] New track elements available to the Giga Coaster when using cheats. - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [#20119, #20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [#20393, #20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. From 36335ac5e3aae8371fbe93995b228376f5eb3ac3 Mon Sep 17 00:00:00 2001 From: Karst Date: Sat, 3 Jun 2023 19:42:37 +0200 Subject: [PATCH 13/27] Move inversions to extra elements. --- distribution/changelog.txt | 2 +- src/openrct2/ride/coaster/meta/GigaCoaster.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index b1fd81a3c6..d883b107e4 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -10,7 +10,7 @@ ------------------------------------------------------------------------ - Feature: [#15660] Ability to show window buttons on the left. - Feature: [#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). -- Feature: [#20141] New track elements available to the Giga Coaster when using cheats. +- Feature: [#20141] New track elements available on the Giga Coaster. - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [#20119, #20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [#20393, #20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index c0f65f1531..9dcbc7152c 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -19,8 +19,8 @@ constexpr RideTypeDescriptor GigaCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_SLOPE_VERTICAL, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_CURVE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE}), - SET_FIELD(ExtraTrackPieces, {}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_CURVE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_CURVE_LARGE}), + SET_FIELD(ExtraTrackPieces, {TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_VERTICAL_LOOP, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, GetTrackPaintFunctionGigaRC), From 71934353e0175ec8d1c9d69c5a3b94699b5872a1 Mon Sep 17 00:00:00 2001 From: Karst Date: Sat, 3 Jun 2023 20:35:20 +0200 Subject: [PATCH 14/27] Add vertical slope to buildable track pieces --- src/openrct2/ride/coaster/meta/GigaCoaster.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index 9dcbc7152c..80bc9c57c0 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -19,8 +19,8 @@ constexpr RideTypeDescriptor GigaCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_CURVE_VERTICAL, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_CURVE_LARGE}), - SET_FIELD(ExtraTrackPieces, {TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_VERTICAL_LOOP, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_CURVE_LARGE}), + SET_FIELD(ExtraTrackPieces, {TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL, TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_VERTICAL_LOOP, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, GetTrackPaintFunctionGigaRC), From 1b0c28eedc527d38880ec4c643dc1deac11bd32d Mon Sep 17 00:00:00 2001 From: Karst Date: Tue, 13 Jun 2023 21:21:56 +0200 Subject: [PATCH 15/27] Fix Zero G Roll left --- .../g2/track/intamin/zero_g_roll_left_1_3.png | Bin 1236 -> 1274 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/g2/track/intamin/zero_g_roll_left_1_3.png b/resources/g2/track/intamin/zero_g_roll_left_1_3.png index fa029eafd33f47cc1bccdd7ef2ceda3250cebfd5..2b1122a252bf6b5abb8297bd46fc41af40829b15 100644 GIT binary patch delta 528 zcmV+r0`L9Q3Hk|;7cVOa0{{R3#ZK573sYsmzsg)p-chb(cepSX+ZCt9Hy(eX4pMUA>v^QqLA)- z+JHKXnitCT&Iw#Z+*P&gC2V_jf9;C(Y3h_;ltL}eU?#_Z06m>KJpX7w~1cTW!yImJ#z4k8dUbVIKiJ56ZZSgp4R zcsUX1Piyq$w*^rdcVdEmfQ#r%I7d#dk;7@d^>ofz(3A6~sUy8Ui2`Obf5xO!|0enh zvo)R*b6*;aoe&x=ksNyGggy;KG7ZdDnH|;K1De20aMk9}y*5Lrg4~jDL zi)JN*;r6PJg3Py))eTFZG7#naPvzX0>%+g2g06!lE$Q)R`YeGDBycDB6<`3>JM17O S!DN*H0000Fu-t delta 490 zcmVU8fF zVCizWXs$$Z!^8<4#4JmFhc}q!PK>ppueztFZ|6<2E`RRJMEwCqmWbcFbzRre-6_J0 zz53~wmwnA=ZSCv53(4%{5mOW=FkUFi%x{`VCXskCsjq^pkCK>%Wh}_@{YT~8SU*Za gl}x?YKJ{I{0nruaY^(f{)Bpeg07*qoM6N<$g6C`H00000 From 5bbbd97b718835a8d5f04567a2bfed21473cd4f7 Mon Sep 17 00:00:00 2001 From: Karst Date: Tue, 13 Jun 2023 21:32:09 +0200 Subject: [PATCH 16/27] Fix Zero G Roll right --- .../track/intamin/zero_g_roll_right_4_3.png | Bin 1224 -> 1275 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/g2/track/intamin/zero_g_roll_right_4_3.png b/resources/g2/track/intamin/zero_g_roll_right_4_3.png index 220042432f6bf6f991397242b62d2850e8196aed..c2387869f394cc6db400c77eb49b4cdfc0757499 100644 GIT binary patch delta 529 zcmV+s0`C3D3Hu3<7cVOa0{{R3#ZK0tGYGq+oaFMY)OYO?h4P;D6lDYs2;MblgefU-*Q zq1ph}8lBgqO|@8Bq01T*=)2x>e{FJ!CV?^Dy)`${Yb_4JkX>&{6Hy6T$-=Lui7I94 z@cDVV)lzBmHzav>$6PCF&^wrOeQo+rFuDc_ovxE6n^Q8!g*v*u#jLU==VHj<;`XMp z1BeFp9%Q=JPIWt=Fy%hN+>DaR7DmReK+2r1B$dtDImXNr5nQ`XHb6Kcf5;qTfP1)h zB>F;{S>Nm$5Ve{yJYz0QV^hr_;(0`7o44XY=87^w5!}t2Ifn=^y!S^mCW{TdysU!||xC+?ZB}cc-r2VanG{UJhH@XXqDWa22 z$Pm5VwoJBcV`w(s+#w%GGaX0VUo<}u-ClgLd@|ieD$mSmYxE3-e?Wh}zXcco64cxv T%T=lV00000NkvXXu0mjfX{qe_ delta 478 zcmV<40U`eT3CIbM7YZl{0{{R3L%_4Bu|~QA9w(272Ww*oYhwp%V;h5eo8#j*o0m76 zmp7Z2bIZ$<9s@0Z0000tEer7g0004WQchCyK302tBJQmmAD}VQUeC9X-gxBqYBurs zpf;VMQqRR~4Q*~FVwQ5|=vvKxR*%zeLlf%#Ia{EHMvpl) zB}Z1X6*Q8TpyU;+q0u2#F8cYohiavr<5gCoxN|)YM#-~OYh>v;f1!S%#AFYXblX~r zCvI|aI9sl;ZM8N>y0&mO*iK|9zOG~=RNIkuVpFMCPh+u4ZrhZVzmkC2Lrbu&n4ELf z!AxP?Zks57ZJBKJ-YGm>KN7rHM#Wph05a5^(UEIY=?gW7M8}p@ecxIHc`9HM5MJ$@ zC&>nc`RYf!Z%FcxA&M|*C)K>LWC&Y@w#@^GeYew)pnuk)DmgkhSkmN&3&8iT1ipPI z{cl{Po_1(1d^hUD44W;il>ZUGo&2)(j&2$ee-IKSXI>C5NY;cy?Wfb*@*DE1ZwiXm UcukrMW&i*H07*qoM6N<$f Date: Sat, 15 Jul 2023 11:36:24 +0100 Subject: [PATCH 17/27] Fix loop sprites --- resources/g2/sprites.json | 32 +++++++++--------- .../track/intamin/left_vertical_loop_1_2.png | Bin 1376 -> 9630 bytes .../track/intamin/left_vertical_loop_1_3.png | Bin 1492 -> 12420 bytes .../track/intamin/left_vertical_loop_1_4.png | Bin 1254 -> 16152 bytes .../track/intamin/left_vertical_loop_2_4.png | Bin 1169 -> 17682 bytes .../track/intamin/left_vertical_loop_3_2.png | Bin 1326 -> 5537 bytes .../track/intamin/left_vertical_loop_3_3.png | Bin 1031 -> 8389 bytes .../track/intamin/left_vertical_loop_3_4.png | Bin 1503 -> 10439 bytes .../track/intamin/left_vertical_loop_4_3.png | Bin 1672 -> 13190 bytes .../track/intamin/left_vertical_loop_4_4.png | Bin 932 -> 14350 bytes .../track/intamin/right_vertical_loop_1_3.png | Bin 1647 -> 12876 bytes .../track/intamin/right_vertical_loop_1_4.png | Bin 966 -> 16486 bytes .../track/intamin/right_vertical_loop_2_2.png | Bin 1328 -> 5525 bytes .../track/intamin/right_vertical_loop_2_3.png | Bin 1047 -> 8523 bytes .../track/intamin/right_vertical_loop_2_4.png | Bin 1517 -> 9946 bytes .../track/intamin/right_vertical_loop_3_3.png | Bin 1560 -> 13181 bytes .../track/intamin/right_vertical_loop_3_4.png | Bin 1162 -> 17090 bytes .../track/intamin/right_vertical_loop_4_2.png | Bin 1416 -> 9596 bytes .../track/intamin/right_vertical_loop_4_3.png | Bin 1502 -> 11854 bytes .../track/intamin/right_vertical_loop_4_4.png | Bin 1198 -> 14626 bytes src/openrct2/ride/coaster/GigaCoaster.cpp | 32 ++++++++++++++++++ 21 files changed, 48 insertions(+), 16 deletions(-) diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 6cc167ca56..40d397ca9c 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -3186,18 +3186,18 @@ { "path": "track/intamin/left_vertical_loop_1_2.png", "x_offset": -26, - "y_offset": -43, + "y_offset": -111, "palette": "keep" }, { "path": "track/intamin/left_vertical_loop_1_3.png", - "x_offset": -47, - "y_offset": -91, + "x_offset": -22, + "y_offset": -84, "palette": "keep" }, { "path": "track/intamin/left_vertical_loop_1_4.png", - "x_offset": -37, + "x_offset": -32, "y_offset": 9, "palette": "keep" }, @@ -3246,7 +3246,7 @@ { "path": "track/intamin/left_vertical_loop_3_4.png", "x_offset": -22, - "y_offset": 5, + "y_offset": 3, "palette": "keep" }, { @@ -3264,12 +3264,12 @@ { "path": "track/intamin/left_vertical_loop_4_3.png", "x_offset": -4, - "y_offset": -95, + "y_offset": -87, "palette": "keep" }, { "path": "track/intamin/left_vertical_loop_4_4.png", - "x_offset": 1, + "x_offset": -13, "y_offset": 17, "palette": "keep" }, @@ -3287,13 +3287,13 @@ }, { "path": "track/intamin/right_vertical_loop_1_3.png", - "x_offset": -31, - "y_offset": -95, + "x_offset": -20, + "y_offset": -86, "palette": "keep" }, { "path": "track/intamin/right_vertical_loop_1_4.png", - "x_offset": -22, + "x_offset": -21, "y_offset": 16, "palette": "keep" }, @@ -3311,13 +3311,13 @@ }, { "path": "track/intamin/right_vertical_loop_2_3.png", - "x_offset": -20, - "y_offset": -94, + "x_offset": -23, + "y_offset": -100, "palette": "keep" }, { "path": "track/intamin/right_vertical_loop_2_4.png", - "x_offset": -21, + "x_offset": -16, "y_offset": 5, "palette": "keep" }, @@ -3342,7 +3342,7 @@ { "path": "track/intamin/right_vertical_loop_3_4.png", "x_offset": -27, - "y_offset": -3, + "y_offset": 0, "palette": "keep" }, { @@ -3354,13 +3354,13 @@ { "path": "track/intamin/right_vertical_loop_4_2.png", "x_offset": -11, - "y_offset": -44, + "y_offset": -111, "palette": "keep" }, { "path": "track/intamin/right_vertical_loop_4_3.png", "x_offset": 1, - "y_offset": -87, + "y_offset": -83, "palette": "keep" }, { diff --git a/resources/g2/track/intamin/left_vertical_loop_1_2.png b/resources/g2/track/intamin/left_vertical_loop_1_2.png index fb79236fc36e0e264c933293601ded2cb77c9484..1a1f0c160eaf69505f30da28d172309557f9d761 100644 GIT binary patch literal 9630 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 delta 575 zcmV-F0>J&AOW+ES7YaZK0{{R3MY|>Dvtu6{1AhVzNklx98F=jcCVA012c30}*Kq0#V;Tc{^*wgf2}-RiY!qw4-#{s+LksLHJ#| z=6}(sJ*X)l^GYcrGEaJ!Vrog3nn7?F?MY45OY81Q2*SJ8YcmdN^RYHqXKE|2&0-4F zG#&xG{xi9`Z@=Z_?S2!fsS#zM3$i9KUx^ytg|Tz=qj55CZ%Yi$JGErGC0<)LxR~30 zW0(?4h+aeVvV@Z>*Suu2PLVc+Ak=@j*ne0~l&H0_?<14OM6dy)jguNtJOIu=wD>Ja z(srUEXm_uuKg)>R5P7H{rNNM4de+Fee(-Edddv-whH4PQPO@GPHAfO6{M~JJS!p#P zVw=d`;R!KIPGr%C;lm3+sQErF5Uod|jb`&1J3`)UAl5LVc$3iGY-|b;#bb+U27dzA zUsfexA|hms1t~uN1fsA<0KKe>#oBeo!{+7p;gby_<&X%ITFf$8mUU>qmAt-i=(_1V z8)ss^{#`7|nn6FXB2|P=UJ+4YZrfYkt^AtoNLxjiBfDxz))xL{Lw(4a!tyWFHjrh_ z=~o$d4S7S1!}8x@Gkczri(TOp@+ctY!C8ww;%xD%`HZBEf742zd;^ThmX5d+3X}i< N002ovPDHLkV1gG~45t79 diff --git a/resources/g2/track/intamin/left_vertical_loop_1_3.png b/resources/g2/track/intamin/left_vertical_loop_1_3.png index 0c3bf975744fff667070942a4b4b570f266325e9..f2a4eb26ea84f5d0e6a1ca1fb50301b7fd302421 100644 GIT binary patch literal 12420 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 AxBvhE delta 473 zcmV;~0Ve*Ke&z`wiBL{Q4GJ0x0000DNk~Le0000k0000N2m=5B07DXuV6!kf8v}m< zlu1NER5*=|l3A9kFbqV!|E&=NHhC*)tl69{Coi3$hZB7;h$~qtDy5g$w)6Iy`z3(h zVnh5%0{sW9ma>*o>$d$~aYNT7bEN5XI^{gCYx$WMKc9ilNoc2zgmUBVu`E9pu#{{A zqdiHe3N`YsA)eRzt$>>N-mE*dagu*=6VgL1DCTKiYkkJs2Sxg5+C8DO1!kh?$)ed< zWG+uUCP>!zy-7H8(*qmWf!vX>x8UftK8^yMqwG6#cqtOJOYez*Qz(&Je&A`ZwMrBg z7INH!M&k?4=GZ+=cb<2xwJheOj0z9wtQVCmAZMiUGUeO+kYULg(}<={^uF-Ub>V3mu%t`@8APOjZdL~Si! z!V{*Bs~;~OTmQSPN^|S@>~4>8B4ZbHo#$%?9>e)t(deq~VxGU+kBQ*G`NbWl;ecuu z4k;{_7dL#5ykIDISgBJywf`-n0CFqv)A9zNhJ@q?M}DV0qP&OQ`P;)MF}v}M=IZP@ P00000NkvXXu0mjf)Q;UX diff --git a/resources/g2/track/intamin/left_vertical_loop_2_4.png b/resources/g2/track/intamin/left_vertical_loop_2_4.png index 4e28d895d7f08555daacf3081d6792270d906a69..691d3b68ab4a843bcbe494aa44809fc41aa9f60b 100644 GIT binary patch literal 17682 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 delta 356 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 diff --git a/resources/g2/track/intamin/left_vertical_loop_3_4.png b/resources/g2/track/intamin/left_vertical_loop_3_4.png index 654a40759711d93432eed57cd9f9487f8ef59d0d..6309e993aa9412705efa8e64c5b4de095c66add8 100644 GIT binary patch literal 10439 zcmeHtcTkht)_16(cce={NC^ofv;YPORip{h1w#si79jK@(xeNBiYQ7KFd`r#3P=&@ zDpI6~6zPaGQ9uy#1wHrNbLV|$zPU5s_ut7pNuIs;+P}5dZ>_!O*(*u5G&f>p5@Z4Z z0IVj)`sXO$e^A~@3^bI_rtf%a0Dy}t+{Qle94bW2FMxoWMlab+Pj6%_kGlWZ-OWFW%HFj7^gQzDi>uoF#_o0% z)oF`tyR{9PwJP?J4bilHl}lu$%*cCZ9-eZ^uZrm$)iF3NI$uS#=NR?R>VIis`C{@<&^HDX-tdrcyv2&U}gYAKur8>T> z1HF`$5E%C8$9%5#^lsSF8!pmEqclDVr``h`_z$FNu2kw)x1z0~Mrn4(p-DuRt5?s) z6UnuuyOq%G9%s4Swy(^w(LX|u)>zlAm^8|&W@wm4q`BH~0$I=Z-e56O2X>YdLNgm( z{rTNq;&GrNVQFQCFZ(Ptjz_7Cy?2&hCZsP}u;MgbX{!0}`zrjwr>rv)fOjA&bN1!x z1arY08Z4oyEb}At)y6R`*FOd(S3K|d8c_lJw3fIl4pkmVIY+$9Vs`Dk7Y)KzlmB+* zlMjwVxXSv0`zI}v051@y)suAbC9OoI}dbyh|u9=S9gUey#S z4-0DwCkAb=w=Y#aT&Q|{_+yXHq0iMJTg}?P@UT~K<8~B#R-C!xd|G^=L~fc>2|&km zUg5hlNqv&Wixudr^{(xv{)L_JpKq-&LI*CT_f*8VD;1KzR$E6* zeTklYIOTM2`;pwz)at{~r!MQ-{coa7?&?sr39>3RV8iZC1=qBd-3xazSmzH9h6Qm_NDb2r0DM3TE^Mx&_w?!Dfa~=Bx=SEU2;0V z@ooj0YO1WkL;nS@9i0yo6#&%8r+gvg?q|9KWy6hw*JILcr_q&>`Q{AqUvS{?0H5cR zZ?B38`oXSib!({5Uz_s9f~zJ62AXWEFO;mUg&{PUx2dXz4;pISUQG`)h`L5d7F2xe4@AE->nj*vjJFTwAR06Ht#@ z6h2(wr^!-dWaKo@5-WhFkoyIG2`V|&WQ_O zKWo1eSADbSU}NF5{UmCC=dm}BmuFb^+}yRvN2U!stzap)3y22eitNYmG@&o^#+7#4 z0##?QaQtFOrN6TI+qyRaSzk{jBzm8BnNO*F_tK@o0s>*k`XD9SyB4400JjQQw4^2m zL7P{3JVn|oc-92D6$Kt9KbJq4!m{k@jQEIR);_%(J;>ufcOop#a8P`f3E1ny{+*%k z^3CQtPTN^P^q7bbIL=zD(vzst{c1v+#AE0do&Bmz?4?nL;CiSD($n&u?p?SLO;b?J$2g@zUa^Vu;@n?GXg4trf9lGhx=>82z@GKT5Npsl<=97 z*_gB*iHfd>b2o+F`-enXS@v?_21~h_JalHi2%aD~f4zL27CBX_O*dYunJRl7;MA$U z$sqNtJQ3FcJ}}{mz}H*3vc~9sVquD9X-{+WrH!(eBp?M(B=uJNuhG1xp5A0LmL-WN z+Z}wSRv;k_Za1Z2;^}nQq+R*Yfi)Tm*P=Mw9=s6OtUdoSs$g8T0;T!%5lr=E<}kuo z!;~pds}t!=I0+sB8_1=eX>fmB7SlNSVAIIgX7!BCBN^WZ?!HOJbAO!0j@&U1<4M>E z;+B5EdASG0JEk4k-rGhJyYWGtZDi`l!Na)o531hs?wjp9HPU_0f+5RZGVGlw z2fT4gYakdU3r3CfG(BI|S8%511fP+uOBQ}OH{(I7v8JUXuO|mH4_S?zy8HQ=*UnID zN%oa5%aiai_T?4Tc>t4*$At2gqnLMROs$b{re~%c0$Y~un*QxsMR)c^4l>`?U1Um9 z_3SO`&C#`*@j2b+G)(m3EopR=Mr;c|Wb{*4z-20~go8ClY8~u+cm#*$UMeX{Bk_7zC=y zC!PpNRm(3-ckSS3o6#_5OLG>T$lp*C*e7`@oy_KkJw8z;MKDZ=XUpF4j$bDZz zjQ$)I1eHPGu~S)B|KSm$mM8(DOSH}NzMm&}pEan9H$X|>h7%e{b8`jA zfSA#wn-FdiybqK!K$NvQ4nw?~w7=y)nY*LFTw%B%Wo4YLr7q0`lNgKtv>vr(sY63w z@Xpc5-~SDNuL2xQ)cF`JKK-0a5BRXE_}VZbS0P4gN+u)7UcCUhL3bt z3dC3nY9&&=h0_EH))Gmht(oYFZe~T6fu~UpAql%$W0Hl5KkhAmRJ{hR7&cJm(;6DB zNlClAQ^L3~RFv~}VXbJ`VBq5oarekSPB+h0ZkBx!Rw|a-?0YQ3w$CNzDP&uG^WNKQ z{foRM>8W0Yqw_3Psid~H1gj;L*Aa?nP8E(Bq3prCBbO&{s5_1Kt1u;-i=FixdX`au z@?^f@#$3}3_~5wz44_*!ZKqQBbcQQqvAbX=@tVmHZQ5mqpUNcx?H`IS=rDeIl-&=Q?=UCp1HU1L4nkUG}rlxYxz#Lw-<7^#qwZ1GjKs&V=t(@ zkfDa%G|4fZ#P;Gr$(hfP(~vs)%6JeX+rVWqm6lj1WWHR#&}K`3|LxXO^;9-`VFW5i zRbD(!Rxq{Frty0gm0uVC>lmln3jWqn&;8ylC3YT+G>nE^2$M4!FdX@cCw?6l9@78l^EXkGF81)_vc zs6rCY&Y(lVh{f0Pm4mN6lE$N^3L>AFe5Jk{_f&+Y#U$z`P)ZAGGI$aQc{knX_$hg>EFm)6U=P*`dj(9YfZni2_}H-8nXsmvEQcu7IB9 zY91f@;M9B1yq;JE#{ zL;07j$%s7*V_>Suv*+AK;k@h&3G*JD1cTdNW0>$P?h9(F@wiJdP2w;yD)xZ%H(hI= z^v-nI-QQ#@_h*ETqWN*{(pQFafO_s;k+>7K3*37Gbvv~*i=Nlxu6&w$35kX2yyXz3 z6PfA*cl=7P2O4wm2C zc(W+ho}+}yp^G!f*j@Lz?A62NjL(e)4Z_}Wa(kGY=EIiBM>`VNna+k+tbAu0PwNK` zC(4Plp6u)umlvjT+14lLoCr#2EXBL}ODhS+2X!#o1&-2fw4c}A*$Eccho8!5ed(`> z+ww@E8GaEhsc|o#z2y5WT;+CfxQjcR4UI@4<0kzV4n)RHnh;&sjYmS+re&NmjGqiw z3*%mK&Q)8U57tUz-Jx$z$yCw0nSJ4U(f|YpOTKJ4>nE&;j$78uqi)y^EBb^S4bVRA zul`MC2ml0`$e?E8osCW>-0q^K_K5*gN$r#=sm&v~K1BKozi$1PEz(p|coVp)f}hR)2SQt5yP-ywh z$Uapd%v7C_$9;e09iMwfHs8l2@q$?6La9An+M6~lWvqNmr>gf$3KGm2Q;nIQzDuDu zFqCn*al}!Zly1Bl_I&iBJ;&GPt6;B7(SHm@-ZE!DY0V^1mQ*~U*Ef-*%N{Oq$nV4S zQr|KoPDX&i=;6&p`Jd7YwB5PfwzO|EfmwJMPK3%OCDkRgX6rIpSOjF2D(eBPnxbcV zL>%NSZXdXve)ha*(<7n9$L}r;Cd}aWVx~@Zv0hs+3+K^XFo|I4HGO3TaSY_j z#`0IkN_C@>w|QbteG2A!xxUZcHMJT)p1jU|a@;j-FC%jt#hLxuDB=2`iqb{ln={uO zqb&)-8(L5Nlh~YNzg#?uxMf55<}ao0_&tKx%P}!FW75Lq#ucQpjTl|-EsL`6R*65w z4>|9u?5Fj#H4kBDYHlR}W_!eJ8&5V|VI7Bs!PrG`xUxXrqf-HJ5{6|Y@*vI(k|H%s z`yw4G#ge1rkCL8<7#s1E4F#4r`%HJ?#g`4bZ`$o-V8;gPVxl4?Sl`@ExI&N5T^Za6 zj*(O~V1dxDNyRrQVnUbIQ8mJsy?Z2*5LU)^Pb&7!?pdnk$ybc_oD*62q*h&+)A5;m z@yZO^H{H4uc_ri#?yP!t(Q3o>u81gC_o;w zOb-?EdDQzAB+}HSMU5DrjKZQ( z?d9Q@~c}1@ai#M-y&%*_K6BonaEtQbKB*0y;+F2yN=KDlURWp z`VRR-EhvLxZZERQSS#D-&Hl`n9zwAv-oopdX>7WC(fLx~z>T5^*@mr)a;HMD@?42Z zo9*eor*y3K@LhCyZLPP0AHnW-zI9sh@1%BBWs+}3#SC`4L|Rdg_*;RRA5@#O>IUhh zsnYulfH=*xTg66@5;C8Fu{I|Bk>`-38sc(&TRsmvwk`^rwzz^ivNpNZ3`8N!fF{%c z%JSB51V3kC!D)^H-j#zYu#KQML{IU9rIm0$&ApX-p;D#goO#ro$d#EBRUqAP$)AZu zi6R-mOIuIQ)@-Ugixr*#?_Zj;ThV~G>DaXWNJ2|HjzLnysFohv>l$b?0#bCl+B-0- zj=~Ka9ulZn;LCQqLAlsSnBb%LtXG8P2mLZx&zL+jYK6qzDHmo8XZ{i7f5as)+cpa6Ys{+tQJ6 zl;f0bOs280omrpwl-RxTz_XnPuVNjqsmu~*8B-OFe|86UEU9%GWN6%!wa@*gRimSD zLeqZbVjX7X)zB*|GqqFseftlUrraLdd3vti`;w5=RP*?C;O$~#H%`+`F+E*Ytj&y= zAxSqS9kwPz{ZsOut3;08BW0Tag#sp#$4kJ2xar9c2^A&?*=v9XSLag92Z!BrnnI4z4e4d1Ab**J}2$mLHm)=x1OOhfZbbTfx(&9Xq2 zN$M9~mk5JILqjaw3FLeD@4GZQjse#eh9-O{MZ8cvrC4Wg zb{38%_$Z<<1UIZ=sE;3|mbp|@2f4b(bys(hR0}2*r}L7%>0m8 z54>@B0M8X-jwn2KvFl;E<3I#So|> zA;2B1q@ke!hA4xTl|d8<5HZX*5ETmYB}yJc{KnA7643#8zd$^}SL_%Qjr7f1N?Jq0~IV=deUV zPyiZh5RCN=l>9q{k%^h*UkJx8x#NBOemO-U??04b(0|GK1qFEjlEI+CSZ}Nk1(Zm! zPw7A81M#?jll33A9gqBS=kJD4)cuA3AJYHw{g*IB%FGO|Pe2D9D>c#ArqsuL{NNY@ z8jpehx>Z6!H6W@mWssT%Rs#fsDPcfvCS|A^=axN|g8CtvZIn zP@t4F)G;bJRW%RnL%!X0BO zK@_3CM=)r(Aq5ddNgTWn${h>#^L76<P0X77J zx3amJ3?3Ku zf0I65JYtlGi{p?R z-$Q5*l&?FMvU~iQuK()C|1YV4QNlvi)KE~6s*0L22<8S;2cc9@svuPy4(q1wrh!(5 z{`TrGbRq#47=jAG>bg^Sq;N$^&tF`Lo%$6)+5fa9!~=UA9tvR~h#KgB5(fU$Ves*u z@h^|H!2g32tzQCv+hi#7e)mx}FUnpB{%bS*lQW9F|36=U#^V2{3Nf*Nl>Arx{zKP4 zbp2Nh{8z&NWY<4*{Z|b9SHk~f*Z(uRnErj7!unF4fVr89LW`2YYKfaO^m1ImGm zii(Pwnwo}&hL)C=j*gC=o*oDUGB7YOGBWZ>N=ibZU?dV@ZEcE1I}wS5xVX5SocyY) z`u6sriHVKvZ73Lk&;(eRGCMhOdwGe5M1T`hHFNG*lvTMlwh;UJQ>W*Ok@7%0O=f~A zU$mWQ23jVc2(67nw&d9LRS_n-5|<{5cQ@LNgaEGcfDi;A!x~sd0JfyEkCt(7_X&}g zz~pUL@<9ff+%5?KSO5U7Kp=sgJz7X8Lq?`pQ?u5>qRZWVG&*`UKcC#vA_V1@MDT$v zL^WMyj0o~}(NJ`TCh-n3j%1qMXkFarT0h|~swMEtz;ByCvMgU|ofNJ@CMpZISEeJxtUFtNkcq5~oTx%iEjaCy1 zF_KTU(=0gwMcZOfJIcLW_OiUO|Ftn-Pjn{ z-%nav>L*il3AqEH5zL4TK8s>e*LoSkgl5Ku6KOl7aW|*$pnjS>x*@|2P!k0jf!Uo9 zqF&a}2zS$rXs_bz=tfd@e>-VuqMf`wt!8RUt_P4O0Aw;H7Ks#fzb~PZNic+T7!ptCqe`Lhs!%FWbBACN>RVoYf;`WZV=$YSO`ep3N%=kZfIfq^Dw2EZjC z8!wb^4?%hl0MN3V=Aa|Gg@2VD9F!jq#<@fV8?<k>?|$Y&GSpS7 zGQEIS&cAP^;lb(A_!QT{U}+GNWmu#|!`d{_BkZk`!L)EOOvce5(WZ#7DRW-tW72em zJWq0NhlX#_n+3Jc&GC#(x%v)wPOpTQI+Bbz5P%Zffpk7O6MR1<{k9ACG)Q${3{suo z$qrPA7K=ti2ot$uT|V^blpmP7?10#jlUcKO(YcGd{M*x?pvk5QN`{t3st3Yg=svG3hxMy>8w4C*gnYX4|_(fcobN^O&v4T`h z7vC|!*@t^B1A`S2`u?jl7!9$WQQZvL1gIAwxGsV9RN9q9!sj7lniGrkZV3;QPuX$H zztLft106<;z!~svvvYb=ls@5ox?@zt>mHgqXHpJ5gFR1IY8&MC+Pvm`>Q!4DFR)<#NMwijdLdeqV~PK9VCk~n>lE9R zJ!yJbjYEk)%+K$k(-|EdbCej7212F>Ttm-ad0#W#T-DkdkRC}~aCXCOY=2yCJAngf z_e)~~g!mN&uy?6&PZn8O+=6IURUKsZ`VDnw0unh2m=5B0N!_wsIyWb8v}m= zjY&j7R7i=9mR;JbAPj`F|FwPcXS)+g2wf^7U&+1oVmxpqSK`fl#d)j=~RDoR@{L`KD^twQIY=p@fuCOmXM_oNiPaE!T$vt z)1Hbj3uP`U+VzaKD=A!}y*Df$H=wz<@BUq?#!~zF`Fze3>(5z@jQ-ky^tiEzV#fJ7 z`+iM=-II4?;i7ggalbP9lMU5*g9qz@#!GUb+PD-s2OB16OwpB=vj|`{^lE?kKiMR~ zo_~Pu)zBMNLw#^Ob|2b3O;lqF5;p#|tV2oe&;YYJIAR@9@p#G|Y7ST&F3MoT1U1=e zC`ldYt=EA{ANjY%p#*mous@^UvW~PgGdn}kgANgFXJ_>=dyATEWeWhx+KW|hCW`~6 zjO(mz=D=i&qw?+7Ej*y!+b)0Lx;8ktN53qQwuVNlVPcj-h&~wDs?r}OPSMaBxMH#K zPqM0`W5Bvc+1hIX%muO&)L6%*pTJ3M;*<>@(L!v`u5($km3_At_*@pcc5Z&R%*|yf zdM<6`o1C8&!B}y**1+#CX|Q#*2SMX_Gc)xCNH-Z_l1BU_iK5U6Hlo)>@VwEvZSu@F;v-kY=-oL%iSu>e4sb-h;X{k7<005vh zG|;gi{IU~vJqi-S_l{JJ2>|dEgjv}IS|D*?KYy&7r#BiL80v=xqeDF103c+&w(Lrw zV`HA~`9)pY*p--_`8(FohMiUQ9-|VAeUU9o1IDTk2gk&2!5r~^d*^4zz2`foUnU%- zJFh4n{dlN$tn{t!`&{Kmbx`Hj-duE4|AnZZ_h-IF@_oXOuYUfHJv~$X@h$XQX#8B! z2<{bD5p!@l`r}Jt#n3T!=$UBLpkSuK*5P61$+4bT)HRAN&WyQ^{x3G?>WQK1PD6+1 zk|gKl>aV^Yw4HxEpWc5r8eowjlKAp_xy2a`_^p$_=LeHl0S3y0ype-@0hcv=AH@Ce zycu=&HscMZ;d?gQPo^6d=UlgWx9)G@Z|olDecs^Tm}`yxai98CH`~J8-uRG)a`z$b zV|Qh;th&I7&zCQU&!4?7gWh9bv%{QT-rs9_%Xz14^HR2NR#i#s4~fm{!R*KS0?llV zZ9hNdXS0T-Bpf7h1+(uY9Sz=TV|U4#oS0UG+$nxe@6gmfsVm5;tUj74|E0rHp!$IM zD@$~iQ2%7`&}O*(?n4znPnu214~5Y`ch25%zPA=j*d9tZwU@oa-uaXUk-O+FEx^AM z#n#zRcJ}e(Der_l<4Co&O={qU;3!{+(Kl+!1?s>Tqob>)v`M`~iXpkji6aR*q$&0W zLUteIA8-&;uTji9zsW5v(E%4QDaL0g3kfJl?LX3A@- zlv97V3=l}xGZZSaXjxjgBr}$WmT{w|h z=aNXJ{~t?>mo;|tFpBrfu=j%xe7d(jLNPlIT|?17(i;-7OE1z3q+2xb4@|v&UQY)r ziKSg6N|y%lUt=X^f{VKiCYIy*>x;ijw@Bn_U6}9&>1I&8W_G#1qyLBF4;`!A)7BTS zF=s-)A2l+|E#I7>U!Gm;*3k8#K3qwET2Iy4pl%-7AH^}ITn{>k#bv%fp7pwUu};PP zOT=pza@?ei9%#p6FL~ne`soQOq0?j|{vg~g_`O>MF2i9(&2!RF(lMpJrR0U%x>o^b zq(rWN|3E<(vt|5%QD11+;A-`A`8$&wd^y39%J~^BvHteY zd^zwp;$7MW1Dk^+$=5SHt-7ZjL(6kd#WLCdP{uuasCUiN?h53Py43qq#f=UnN_Vx~ zz05AR=fkHys_FZtk>w`ktgo3D_~YG$q|L@@(YG}(jmtW`RI!M9`QX;-N49d)zCt1~ z_Trllzuh<$8vgmYv9#D&>siB%hly2b)b6?%#ZtRcFXA>05yj z2&~O{UhrNiC_&GS*Fxs=#G}oJ=@3_OzwwGtwN-RtZHs2Yc6LZnY1Llt0DEXI)w0Zm z9l!5%iI=!e;e4hPkj^~e#dtsJ);kd|!0qV?r8gh#8mw7%B@wOM5`R2cIbRb(pqwPWo7cK3Q_@$U z)_%;*_q!%G_Gj*KiGm~d@aovDE)ofs_j)VDgS%g~l879jxVwDI8>gLlsPcjLn;d|# zTl-^^ZgK~)bghyDJ%cZs3%;&w4J?-KotiT?a^=8TcgOpeL^aGr#C6A26ji`yT*xl5 zdY{+QD~@~}sWcMLenaNAk|5%%T4+v#hB!HA?y*@xEBa^5O~aO2OHg-?zSUvE$yJ!FhK-q@d>rpjN|z^Cjm^oZ-Q(TfD8WxVH+u|oBiJq9fnc-kr2-<7!=Hlw?kKvj-_~2#7p2r#d1CFVU=->t{W{mjE`#(0IvFaJm(ijsfAz+~ zJi=00G+nbvJxA9(-3F|5<;mcz8=J_cTVtEY&ammr3+Fpo^CXX{TN=m&!D^SLe)#Br zA)$T_eH@f>2ebo?wRlBp)5sJuO!crAlwOo*E_swKJ_A)OSSZCtRrg*fbX2g2t7_LQ z8;=VS?k^^Ci0{h$kef>FnV@h$Z%%HdYyQEE@uGSX+Hg|q0?s$|Cy8bJx@hV|)0kk5 z0_Uo4{Pa-&EkWHEfz`T$Z2|Sr<$<-U;v0ZVgB8gweL~i>sF?+VmFnK5<1<6ABde0HuH!DP+DY}3@F{b%+8vHO^W>@>+< z(%cH>umR1e0zlJRJn%Ac>;PGlgHf|((`SwBwWCXDb^-0$2S}P25Wc4UAa4Pu*fJC1?9JI*3ZVu)2mVxnoc?@i;=$bO4DJ?gJR{1{j5G0GW?V%~dK91tHa_@!oj;zCX`0h^ zMT*>Q=55q)ix$9?D7TVQGTDo_WGAR9+@RF9(rZ-zthF*5lK`Tq5^7#*es;M>g~82_ zf~LEK-cD!m@JdFX@45i#7-M#|5+KYQU~= z#6{gOHt=VF@o0W@&U!CXVcRf9ZrpL`VXaR1j#?+ly08 zuHu>T(}$YIZ5o@>eCBpTTpyP+tpP1#6Cf?_Yx=?#v z_Vf*2NGauEU*_CAr|;L4ADkfFB1D&+T7hP1wWcUX421IIMak*o*l4XDbJYeP?U=@@ zU^AClAIBQO6*+-ee#}8|hwO}Fshs;g`x||3#&=6WcO{N83n|T(?oceH(A-VcB%`vm zn-2FoqBzUGuucoQ6}NYkH7za;Y<6{J7X zf*|dW>%O{F*hPQ2HcYiZ`emolh6VpU=k#=dc)Hdc)20lF@&TmpUf_H3G&+O>b1+Bx2W|+kxXjtS3>%}18 zTfC1{Nj=y6*HM;fnn_$k{P)j(Bn6idnZ`n=Kt0h%M>Nk4TY&>;XNSgWhN{8*(zWh+ zj-%b-*_=nTbP{6Q(2rg>V4^IZqt>}42dY8z%C02h1>?o4qCW)OBEV(FYCPX4-2^J1 znBwlQ`o+34&?!Gm>;mpLy=ZXYUwqgnwk%ddY)G5V#c;`jqyfY7s@QVU92rziL1)OSq%q%(b)u_%GWD8ScaimKmftf{ zx@^Pk+>)lXPn#@>R4C+XE`8))6C_5OHh|(X-SblDpw!(vQ>x+L?G%G^fb921B0OYP zJN^;w5f18@-YHpc@nY96s-!JXEle~+9>g{5CXKc*;*ws=-erpix8bRhJ9^`pLaZ<6 zxcc5r$|0h8po(UlGM*KMV_9g#!&VL2JNzJ$kmD9B>7LbOd{Utrn#FQ$FKXMOPctR& zMjLg^bLI;a-WF{8ua@VRU4X8Nm1Vlr{Ga;86-hY3HMx$c>o)ZB^PV*hT&AX^5uNAa zl=PJV(iTQ3@2<&Hrz;+RP6LA#7YItYo=nbBzo~~iSbR=)#`i#U(jdWIr8*qFG4kLa zvO){whRt6MMx6Rh)GR3WX*Qy15MtURk^^OPUslv+bgs$^c71XNiF6&-Fpw-Ke9HSa z;r`CX#k`s0c|LR${eD_BXMS7W_;KG9QHI6zYSG&d3w1Zm3urqUe5gj8axCC>;nl?j zu>mel3KX&d`=@x?;h3u;RihEK?ro4OM7x=ZeiAHlR7`AIAs1ieM?+2yQpsQ67%}k3 z=uR@|p8U+Ol>EnoM^Kqe_O=WM%s7sUJE}gcI4G-O~j&Rb3+{$QOlq6Qo$lt3k#u2J5LUZ)vjF__o){R)D8M znx6~+GE?%x<(U{Bov*fM<$|0%8XCk3S*)O`oinijCh9ENxtJ!}sp78y$MaUX_yaze z#hy&US4~Mlyk2;gMa$}riL_vCMc@OUZDa!(3?X4EI&7nqgjFZG+d#ZD;n`}o?e>b) z-Wki5cUD=@dlbg??#Phk_K)^EV+~dGrRERrg~r1oFHClWSi$CO%=jOs%G)>PbvTbL z52=T(6q0WAH(an_gCs50LK}-Rx54Qh`i)8Y79ycaMDnG&mt)^n(n{vLN0mWKX?1b2@20+T4lLMTG20O2V2VnClAq0|#%95Pr52 z&qG8@#~CBmlcm`+N@Au&A#UKzA;AD)dKnyx?QLPIP~e|6P@fjb$u|PXliR)B0y~VQG35fHK$q-!)-ErB-St!(R-4te>1AX>wWQ5 z1_&XnbZc%mK;iLTgCWlxs5+83>+I6ozUq_v40nY(`c6s9F~(FQkG_@;_=dV$%e?BW4Uy_kvT!%6jZ<##Kh=!by)v#Mbp=0k^-Sjr`NEM z8d5iH;b=$3-bA^?DfdE4J4yf+Kx&bIGdVEn_RSM~bNJP#LA;Nh*i5u8EU#Wv9qgQ{jnL7)V( z^=q7zR1g_+wNMonY5vUpvHRPFuT&50Gv?gW`q<=CghoZfJ8ycqcRku|MT)!&+a_NMO#*7b6h-sOtV+_DchTZVi^^PY-9Q(22IE?Iya3^ML+Oehw_-Kd3k zbd&}|*3VSyHo z@#0)L468zrb*xZb^?T@k@pd@H+b(?FNNP=RYUU0*6}>6v&yVYmm8#bhsLUMdt~Ef`2Kn2O)m9|T?8e0R&ANT8$ntZQL(&Lx@(s48#cL5 zt8Y<#7+T_Tmp2HxuxaOge|(HO4qAin`n(O1rN5qqr+0oJY~FwJm4#Pch1_)a0cE+T zwriUioD)cu(-M)M;x^3|cvAPnsQiw!S#CCoeHqM4YcHp#U(BPAgI(ZipzlkXAhf`H z0jqsO3!ZIV5~gna$|Pe!>}G6=857fOUD@=(`CxLPEEVv*{2jr@(>peyi08mV5?0JY zQ0+GF*7FMPrW6;O#U$X?z3h*lZ&zo7i%4RjR<{PU-Vw*0d=Hkn`$#y!Ep9?1Y2mA5 zE<24Xd;XWT^9Ocv6=qzTZsT<|Ek`_$s=snq6HXR~AOmIG!RI!?)#)s_x)TUKBrjW1u(Bv+(rJRgEJC zQ9z?|7ZzrCO3MT56=e4~AzGSwC9bMR~EgCnWLiJu@Z_3hOwmTuLBywa|P&9P$c ztlYYt%a1ez8)ESRf$Ke-pYA31YvvOdFn*qylF;r^m!`DJO=0(UB64C-KhczU*W9IX z5v4h3UP>W*S0kyc;?r0hhUBoITS&Jwq^VLUkyg#cL=E+2``Zx(=i5np-B0BS;`wPp zL|SXjcck%F$CvgwyZyLde-d_$JHbpz28B1cS19E4X0VV~pXsop1gaQ3vfF6Jz2O42 z0zB@9I=2e1JW;XK{yL&aU2QqmjUmnp(VE0`L>mr|*$feQ>d{M$XFB~7XdULP zyfU53E9PQ@f6yVMNA*Qm&8qqh$<|t_CY zA?&>sN?};3FT+2Y$K7} z^|a&7_(~!9E;>aIoIO9gkkXIkw^l8ynpgWWe_;1#s_W)mSIx+V%N07qK7Q&<{$j9a z?oKoUZ}n+2-YDzgZ#3BNxc}kC=|}_mCMlz#8>GUt{R(F_dAR6$!5Lp#%Mg(qCI*4aSFYkpt8NYzJo-B_#a zB)o3-N>eyi_qM9>f){P|&s^*E^357nekK^=^UeTTghHlwbn_CtiGrBJG9nT+)IpZT zUqH_EdaCqRwHWtJuwg@_>RDQ3;LR6J>#Wz54ElZJtL@*s@D{|~<`J8}$3X{Y1zB}a zI*^_EYD3S-6H>JJ)VX=99{|x}!1b1#aS7O7&THaa3fN(H!&#d z!V*UZ6&?_x;o4nWHV#wGp;|bs5QdkN6<1OgGHwI)-M?^==b4GXP z3cLLb`lc&G7<2SnJe^i-F}%(NtYXCEq!AgKA}>f0ND8%a7R%-~1(^%0m*;*Am6^Mw zU1Xh{Wl>#21;j3iFd9b5TRa(;mGnPN8M8ZhKEJkZY?uR~c+`7Sv_t^H82I{9vJu5T zvAKXWae$UFe^<`2rtdztz$?v(cX=yRZU!YICqkGS8|UEuI0(irHq{#F$*(A$i-*|5 zsfd2&GbeWwRlscqMm$wXxJ;|*XwItASQb5qDl=L1G)%Y`$ONWbQIY-pE%z{L&EI=| z1jGIMYCHrJiQ<-n3X@8=;N87r?tR*kh%b7FoAkJy7-zUftk|2}hoO60jS>;oEH@Y~ zQN7#F?2Qtj0Nv!IsU~OSQ1A#~BNk$?R5`PAd>7sx6W$j|K|V@!zrEto=DK3;gl@1Y zH*9Ju=v|Gs&hkY08!O4-8M_xfVC zzZoB&;!Vw~Qp~Cmyp->hn=C*bCUqnis3m!fE>Lc=Tb1`lv<)oBy?rZ$;ba57m~w@6 zPDh4?&|D#3<#g%W4U=h0T(5ayl0FjZ$H?Ao=|DOyH_jCNYKGH-=#g9MA4?yizjTOr+dXl{n*$Q=_8pwz0|26U zPXxlu5P|r|^J&6U>GH^2HG?rtt_degA%1HuXo`|+!{uOe#!34`ek+Pj?Pj{yc&GUq zKEvzRSsbb9q9kp&9m|7){8&jx=oxI;M0DB2K1Lf>>1Kc?e}>==uOHKGbFf->_q~Ym zRkDGXFxx4-@FY+xzgz=hE$2du3{i?-SZ>oseoWy0Qx5dRRUaN;l0 zz9VPlFL{fK`|cj-G=A&ZdSauYhFBiZ>*RQhqS?m9x;+aT%D&niN}Ny`D}jI4st~hg zx^Unl6-G+qO~SV7W3omfjf>e4vFvg+rCNMRMYjDjV^9o4^Ne`FD++r%vRoawxGx?= z!o@|rt2=#-J_Kj#jyMY1OOj&AQBwnNQ;Od2LF zE2SIa87#-IP6bx=cXfkX=;-|gL1?M*djtmh!DVD{IGi*NDvkAbmw_lNE6d2r$;in` z5j3O%LVW{~AyU2p0>2>s#Lz(pp!_}k0zI+5;9r_V8b3cl4*rLKK7J-9|AhAq z_=^PsA2K0GKN*O$tc;J3%-_!l2-FQGfc)jq|9D1#6=Btdj0HLX8|05d>jtBJ0|ovL zp>Jqn_D_UgA-Q|{`27xwK;FL@b4C4A&o9W|`?roON(SwX_91`<5d4Gun|`3D+rP;A zH{X6qeuwjSM+oNriT`if|A_s!GC|A41g?Wc1^qH=sH4XJ%U`%F7Uk&*|9vPghjdX= zhM=V6k+QNyNeZcil!ro5uJTBErN2QL`UV6deNpINPy}#kPXdlB%+(c* zR#KKyLbhDRYN~HJSz4`^^N`OK_U~&pj zMOP`P5)>*0gUAsaLAxqSxuO*n<&+d$V2bj}zoCBR0j_0csKzfRE&Hz?GjC*|8`j@P zjo;YQHz?#^0xM4+v}GXj7ika$C1of9O$h>lD9FR)|D|Mu_75Nw+%HUstTYt%TjGj> z>k$x>K5|DrQ6JmiQ{L#ojtiKf&>#fHB%UAF( z$bX7W2*b%08Hm(D2BHbpWaXf6Sw%PmW<@xFz~C@h30VkS_HX)FS5LRl|Cjc!!2?$P zGvx-J0R;P@zq|e%QI_cIf42T?dVBsJN?`EsK>FbUr z%pQN0>p%KE|A$h5%E`fGVY2d4Xo#$w6bvQ@kwVI&l%(X8TohbfWYJI;=%0N56FmUy z7KlUoqqW=#JQBDfl;>}*z@oo1DE9BZ;5^X3(nBCjN>)+oUxY#aB24D5fMtHo8UKh_ zRp$TVMD@4A-zFKtd4Kj1CNIKVDD%(B@Gs5?{{C-%{>sJwrU@|kzefHee*a6?f9d*< z82FEr|65)ErRzUp;6GCSZ*~2Dql@Zaw^L|e!c`ECaI<7Esz(L@B!HQ*l`i3ii-?Gb zn3$M^goKool#GmwoSYm40ulbDq@<)|6A%!9LS+yL4NFTS6v`nW02?14UsP1t+S)xf zwz#ozcyt7n0W?$qQzL2z2WBrXUR=0La=J=UnQ48iQ{Pa)%v}1`E*>EPvQ?qR8nH#& z@@At%Dg&VR;t@kdwll5RjmhM_4gB%pm_8@qBmv+wfNV=pJr*>SPQO~ud^E#(z9(~j zFJ|6IkQDX@G2_zOid@<-B+Wd4=O9qhlV(z%mNy0GN!yL zP9pkP3EOBWDqAI>3=!XKl;3BGpKN~g+hZ1-IB z*hc=`Uj5eb5WNP#YzeTr1H9pYNH$2Zl1;x=#9>GSJ7=4|6@Wj?9y`BhD#46W;*qT{*d^W8CeW_h+yZ%xmitZ&^In>*Ul0Gy0K0haX9PQ2M(5@q2U&B>O1W$u&B z(W^scd#htdM+fH`0ALFM0RWH<0L=g}2>`nw;GD3TBF@7D&YSV)8>^-w02T`5YXIH) zz=kPsZV8-Y+0N6U=XlfeZm;v1EKiX0>GCJ=D&NqPbb3!hX3FiLXIOD_1c6SxaivHXJ zW@Zo$4whbCsPJ$sR3=_grbq+YjDQXq$t;>m?AZ#OJMo@Ji=3B1&$~6w=Zpx&uP8UjMQ@rZxG2MV!%@q%dtW z%%h$oSQ=PGzGDc45^L*v?hP%4Un7b;icRErOWUzw8IEg9>{Q!9Dp4f85sD-C+vX~V z>yg#~(g}i>98^n-YiR}B1%-&EKImvzdwRNEhOPQ)E;R=j5tN@3E1>OVmf2^^!8B6wFqsR4$%mv!!FJIDPW D)o*ee delta 894 zcmV-^1A+X8XNV0UiBL{Q4GJ0x0000DNk~Le0000a0000^2m=5B0DrMWmb26?8v}m> zHc3Q5R7i<^mWy)ZFbGBU|DU$i!*)NVwgAbQ*@OGsu8F48HpvNGT@Z3gzt-aG_nW_v z)+*~cQcEqW{W+40h?>PrEhYa^NkeB>m0=_GQEU4l5k{Jw4%ry{7y`7*Oj5@eL@JxR z0Zp};_Av*4$*uh>dn1*dNo34Ps+4~Y9sbJn*x$aHm!xM>IdsY~W=e*h%Ij~Y!X%wQ zNv7>O7bIoOVCD8HNO~6~ktUmc?>{8I6vAb4H|qk=YF(90kVN_?W%uXzC@IN zvHA`jR=s*!KZK@I2wXlWJi`3h34^#(^UoZAzWyVUjz$=alw59Fgu=Q3E=Mr4=NrcN z#{LBcBVq0W5lMimCspNl02LEObW%NXzRmUy(JECnjhXLH3JDZN9FlQPxrf+zN#cRd z6WzCp$oA5^+epa~9za5?J4AnHS_vc-T2d$zO^w^1t@?i?bd~C^rzg;Glf*=@JAjBl zpky3@b3_o$=GknVFu~Aa?`*v3eE6x0pkf1POvQp)?}r=>yLu#!+t3_C3r(N)ZkA(+ z7H}y#tcDOLiAeN-9x){5$MG=R_a~YhYK*KjA0yV}&;U7w;}}33+_rz*3Jkj z3gpRfO3OV&Vc5A%oU$ZABudQCTd7InHi)iPy1XpQHLY#tXnTli>)|)cv}k+Dm9JN8 zVrLDNm+K>$Zf68h<8^;^MF$ga*#bx^dbzf^CUXeU2di+=bYAxc6ol-3`8ZmZrR-O&g~M4YKU@Xw-cv=d|Z`$BuAe!#ZEcIg96VFDYs{$ zWKYwfx<&aAwV>#F5$5Y&J}y^A^=Pj_zJq*v8Xi2(w%t>H__k7U%6L2&{%ZvJ{;tB% z4q?7tm)G-pEU`z4@^Kor_eYoUxWCZ6hg;oNA9(Qtt<807*qoM6N<$g3_0%YXATM diff --git a/resources/g2/track/intamin/left_vertical_loop_4_4.png b/resources/g2/track/intamin/left_vertical_loop_4_4.png index c1018d7d9c44301089821c5e38e6f88f90e9b54c..875ec1a15ed0895195eb52652c19e6f4f52afd6a 100644 GIT binary patch literal 14350 zcmeHubx>Ph*KTlkD^`NL2X_JlDXv9|gaE;U1TPK+N^uG;&;rGaw>Y#=yinYo7ARgE zTJ)yqPXRW>GoHILddO8pyd^&sp06?Unu3~`tWkj9i zxEQGKWP0{30Duh{Xk>;ou=N9acp)6%t}q}nzyk(^`NJIm0RQ=-9LIN7&8e^Mppu6U7+l>e8+{`vEi?Y@Rl3d+S|+S zeuch+P?^z@xU?#Dg*(f9dIcQKqac=R2Ahz^joq#Nk;aqjo=H56!PrYT&a;B|9zW6k83f4v`fdUbs?;y8S>S@LtHFTN+2_tN6@ z>|lB6pw;n*-FMB>-4X4ZmYxfWYKt7@k{^j$@CTeAXHON@G<*Hft_1#sIz!Ha^CG#Pl^OD7c#Oow z@U+wkaT^GmnA(3Z^m^u|1kq$#Ng83NvD1~ga*xVY0Q_>o^pToc=MA270NU-@#X)HL zj0$%An+j@LOyA%bGxqCn%x!k*qt4EYY8>!_0uE3mr^Q2>kPiiPZxS}sP zsQFZVginN2GcG&+nN*Rcd*EbQfEK|)QLV~-Us>W8DRHShax$`y$O- zCs8)wVjau7s%dg~yH+vrqmWo{5J(rj{wmzo5D|zXy zxfJ@MIrRJf%DV#Zuo%$;fO;{|}}WE6ewfat9V&4&Iv&RHnQ|AF0Gn ztG+^ON~f3cjU(*)5~ z)4lAp`l77A2dYf{nq{TXZ5#7S<{?+`I#B-EZFdj<$v|C@0%lyqXFtMs9VgL`6Zt(_ znwMI2{94mn-&tAVWIjK8)fZPuo1Egnq;&XjuR+db;$&^Fe`Ce+>foY9pG!oDlW#KHhN?PjF<(Anpq%=7t!ddyxEDBj4|KN zCzz>8J2x16gABx2G*gG!t4AHOUTYOpolsN2h+RDcC@DC6PjBT4soK#=ky=)?+=TFx(%Dl z=BYR-3Z2fBosDuUY69#dHV#8lZIJCDT=@(-8fMp3DmeGxIVWF4n+;g|_HzRDaqEAj z$%WTp^LWuNE=0U@JRzuIX*&aColN^U(9;mQ^i8-<7?iOU?u*^9-;YR`-<#d>CB{pD z2boH`x^S)&g(Wg@l78RK{MNjUyHg&f{PLJBjbPHmi+GBR;HwO@5$S+6%aw;OUEdtY z&c`3=U$CWW2p^$2myPkjxQ{tG!^gKWZU_4)|K1>$?4IGa8gdfA-VDtK@FF{4&!h&rnzrmW1w@L z6;0!p6)9;_XPGO49z$=p`eyDi7IM)(7#mAVFXlrHR%6v$ywB?!>7T!S@Y$r+Yu!y( z?em_;JS8JC z<|)HWur=!q3+A-{t{hkN!hQzS2d&tV!hCmB9Ejb}iL*NDs<*m@18QQBtoX4c-y6Sm zrn)879q}#M=Jdxpmm)`@IKKJDz52FuGc?ze1bmFplj32+>@C;X@re)4SW2#JfS>99 z0MESV^aAfQUx`$gZvYR1W!M)f@Hq`k=n<-)KivcydRn@&U!rwH3AlOSc?U!(4x#ma z%u^00er6N;rMK}`Un!4$Ga3$$5#mNje&bt`DiUVbpf1EuEQ)?N>lRG;wmS3sl%L?D zf~?OEAL+}Wce$pYJ^+TdGUw#0R&PpQRN8?i(aI=&SB{Nknslu0*S+eR&7)Vts`G46 z7fB=?r|T$EppfM_0dZR~M)cd1MB2HO7Nxj`<*7wZgMjK)jRpgpZgj*wGi0>%Au362 zyp))k^>I}06e&~i-uo)TZ->L(->81ApT_0qf)J@iib=qxOJ2QVHo||W#LZbswQ3K- zh^7jTA+f1?_Njo-NoJAE=O?bDDdhrb($iW<;e3;iqDj`pUT0-`O&AniSNm@qK^-N9uGk#uxZR);Gv$g^`7UeoGiz9RJ{r;T|HrVmWeBILQ_!<~(I ztcVqat<{kVY&sl{9Hq5Yg6YXjrI_HVRiwa&PwR*|>C^QgO4Zeeq(kACpLE(TmE2D- zhX_ueJtxHXhLO2)xs)xlI%*iSK~5cGhn+`d$fMB{=_!YC(aC}|mufE9pt%;;&xkAV z>l}`a$ZVCj1)px6ddPb1XDFW>&(CA?W65(WUOuD-hk;q62#!pugWPB+s4_<0Qkrfd zY0kXyqtsrK2jepiK{(I8`ZYeeM@C|ufEl)-6+?IFgkXvEdX03zXkk`U2Ir_#kTyy} zjf}RVr3kZVwuvy*cpf}$+xQ6e+FTtY)efuKqKhlJRWZs*%l4!#h_00 zvhG|XF&I7V#$D#lBlsFh66%j30^ZVoi0L7SByvT-vqu4*Kcr)oc}QE(?D(1~zIvT^ zN4pt~ubaL>kO*zbUV44f^(R1*+o2Dz(h4bA7OBfnL{2-Ua!7V>PZRSZ!6!$&VW9lQP`I@u_mp~}l|-0v@`%c8oaNCI#! zWK?z-5~=g`!wl!MyOo)#vdIbJAQlfHJD-4(0s`+;@t-+og&RRtJpnRmV3@;h;?uJL zV3ZS^BxeIa676wuDefM2DlW4Iva;(u51;$S)8~;`v<1c&hIDaApa}ZQ2_5VlaXTF( z!x(NG_BVl2-YAM_Jn}*#SZ@HvP=zuxcrYJ{anT%4^0FuVeu~)I}n|@3S*V9*1at@ zux4&mf*EZKiftAxHS0Uy!ydp}RdLYI+$65zjVrx~&|-G0cd1ZH>!Bnl#xBF&O9|@8 zG}A0RoK$Q!%~wu;sUG4J1uA|R=~KWO&zW5Xl)4fBMd-P6xm`EFUd8IH z@~(<^5%3NU`BJG}1<-)U5e+u}UGO$pm0+9#0TceHP*!}<0)Xl54sA#*wU9g`hqWkfyL8KyEx zES%r0NH4_FDBU!4^e|6N#+PkW?e$wJAv&VY^W#tbboDZC=;PH!)POHtB;#9^>GdBPm; zX5gac(Z*n?yNyoE+pD#2r9+N!L!P~0xsDw#xc42muA3D2BOX6r#=HnS;b}@oIHwBT z6xqvtlo1TI-osJRf9TXj% z5>bm(DK`6^nZlGVm$bTH8}zNtCfuDUBF<)UxWV`hKbKOLMmdAy3T1zuB}*@A4xT5J z>wv4C%D5h>apT*N;idAJb-dDdC=Hp+bBnQib+bux(`F-};#b%j2xu-!CkyO2eZYSF zlZ}*%heUj|g9x@;|N5(q-*zjx4R%X}vN?IolkBZr&MhMT48b?`zt+O0nM4FnSrA$i|D2`S!{ zy6vgOyv#0-e$e4hRS?LR<{wz)3V%r1VngfTi^C=ENPJ?irTM z;|0r^QNBJt5AW!~Gk=5ecs#{40JeLJQlT&D%quUC zh{?8GPYxF_Uw8aa#ne0{F5K#ONfCGNuaW%89T;slOeL~G)J?MAKd0E|_dcC*(z$?P>-EmNIWv&Ji6C|AncuSP`N>6Ty_b+rd;-&D5P?uE762ETbD;n%5e+a^U_ z+{`XbP z<`clYoCo^or}}|kT)q?2)-R>JqkU<9Sf}o@YQCGNq+hVDcPMr>)vSEP-T#s-*`f!N zSV^hugPy%6I{&j`!X70I{~$JYMoCv&xBOM&`Na*5kNwLaL8U=cCPjm{8MAp-W7tP; zW5{eB*HoP?-|m>$Z)!XfdFGp%(!!hPuCHuHJmikY9A<7r|K2N0B?M2h(*k!+?u-ym zjhXHZrUBS4$nK6kdvkmX+21>iHcLm#Ph>N}k(JEpjCeDvJp5LYigS<*Kf8wq9{ho&tsr0i=1rxB>%Ov*dnoX4Ld5c1z49e)mHnG0ji#(}RAU ziZjH0q+mHt>R4k=xr=u!!agdwpHXNwdIl-T=X}E8uP>!PQp%2hP=#;(M!eTzUa0c{ zHYq;xsFrLc&$8lyCilr)sm$xKr@2pgry}dnE@8?X8-OCfE#9;MosSD}PKLA7)ij|r z-$BDYi^QHoS4NU3CjYWTV$@7K0mH^aLz2!}5}$wc25{vaVV_&5=#Nub5NFCk(9h2k zWIjCi>}so@un8k3vLAb(S%H#GLW<*HNhbwkBo1E}~g%rp|d_V*F$92QBm0mGGaTQe5=^7O|PP+<$sRZtavs`NX^Lfk)lR~_s7u0 z^6I04kJ$2Y{kTyDQek+`@Xl9U?GXdkjM?gsKm4*7(~7bTp=d^jQEU|lsD2~~d%@vA#1;NXq~XA*GMa1LH2x`R%>*v>^#J3!2=V);h*J5u=6Qfx&fdpR8w* zE>SVtQSRH}g`?ShQfQ>Y^u}QY5kkgEdYzvA4!PZa%^_=59MADz%t183OK&;&5o3^u zNaAi}CUa$KX+Tol5^hFy!R$b-*R71DrODVr~*cq9_6=p<%uLtFY2)d%8-26ofO%UsaR8P9-1hk6_b5% z-x=s)Q~ShEZZP8Yk1-!QF8fsq)a_P}4YFcJ?}L5Venhf}LTmBVlWFa(JMOm8VYXR1 zEA{94aHsU*IHBgA^cjQ_!kZ~|x)1B?$~50r(3>0Cd^kqH*wZS9_s7qZ4A12@X1++~ z^C>-?WLz4dLK@)L=leXtjf>J^ON{syh2XfbMb5YbIa+A7HCeryUK-_kQD0{)CU$!{ zce_pIbYJvZQq1@73hn0>!#@7Wwf>WNzijIkKu?R z-=&L)XYE5n!KfYv)vI|tRQm5xj@vhTo}m*hmbpY)7&0W+`$F{8f5HxgS)_ewuV z+RkVbaDv*XXBw0k%&iuN;7G93_7TF7ggp^3`ockM4m5-SS*k|a{w(&29qE=@GaIXQ z9MuyMH1ahS5IaaKYm=N)E(Wz#-~_JONs28lO*VI9hwz&>_GWwz0a3AxPv<}6IzsDJ z@t8k!FghGJSlp+=RtjH>s~e9R3kQAeN{yuMIGPB<{Lr?ONOTBM)Q6Y3MEMO{Kqq4< z@8M6{r*nUg1&vcKYq)*2wZ{t@m&^`|qI^G5LHu)|l)(PGVps=1Xvdr*Ge7+Pq$%-n z9=g}OY3!h~Fp;^<*C0*87wg|`zOdG+Pof9D*j2;W7Ps9)4+`I>A5^=Z(l}jvE-9d= z@-qX3{IL5OTB`F-V-Rh!{=xnz1K}k{r6P~xXf=ELE9@B69`>qzkf~Q6B@f_?DOH;r~cCDTo6B8?*Z@d1f z@Z#q_^*e&GyZ}C`QMF9oad^=s28Sw@lrSVK2v%5)1F2skI&tCgyBX zeHVO_pCNvPrv0h|e5v9m*nN=t_Ka;iMEeYsP%K|JNf$Ps*nu!mtO*m>vmt@Xl-i3_ z*876C0~#YM#(#dMW}%4*qZ7ZUy&z#OJLLBCo_2NF&%5}~b-%vJ2L~2n3ac?#EhpJv z+ZMeqq9VOB8Td?}84W6QA2UyT(O33-2|W4r%dOtkfGd9`LvC5Dx7r}XmX&x@sjB)C zAnM$00__Vm^Dn;DZEy?C{Rwm-N|0FEOcM}u=a&FYCdin3r1KjgH_`p@GySD4ac)bU zZ0^3Qc>h*oki>oOSDx7>*iHIdTrNz*^!y74nKmoE7ILbF1v|09#Xo8#&k`0D8Q;!h z`W81)h=wvAW(8@PM@`h#%vMH=TyqJhzH5fuc_@kD9lVObI%caBr9!h z!Qb-st1t2HJJ++X)A)n(5*$}!8l%Xqd)y~GjFe2J4DFI@9G)&dc|m)ro@-_G^!0So zlSrpzk@@*LIZ|fr#89XCLaOrbrKfpB*2^J4z>|j74K8>>j#@2(eX;9R+tT`(SI7xWJ zt5`_)in)Hup7jjv;2vwraT_sBy0<65WV8*hKz39xwzt-CN}w{~yoye04f@6(izKe= z*}QwCdH{vfJs5l;DxguZ`(BIE=UGiDozjmOB8$&SBx6jNWuHRM+hRG2&o5IlWyjj+ z5V5sG^<_}QcNm9pi;;Hkc~h}zj5Jhbr$MdL4N*MwzFO(;UzPb*<6*Ov9WmRDx%30k zPv&>omP+^GJJ{I^(nWfQ1grGx=z6wAc-${lroTo{YhK$6tf{ak7nY~_>W57Nj1v(& z12l2KOV{;M7zVe_@{=zWHKwoX$RD(c_9EcB>oEyl9;Xj+_HjKJGHi+!mlis z3?Z8)WSg~WPB!zEL2a13+x?@gTUihMH*}hbMgi{Qa)ay1 z_TQGqPWL-V`g;WW1n6(yhw!DGl%pG{5@@R0{QBC3ZFVy8eu8Tcw6u`s*D_RQ6>xa- zlQ#6_Gpje`ustVBjk?Cn_fDb%*3f~QR(u{X=Nze*c|{P07Mq^sLwXLSd8=9zs@e?p z&3^kFZC20hEo*!wd{%!5U)Sj1Q{RKjGTlntbSK(Vcgz$Ecwn%AlLd(@$b)CX7PD1M z&@?~1X2Gk(hb4mJ<^6elQ);=Mq488k%C>Iy%G?NTv z%}J~4?#3I~@l#9mn>Dgm*_}RLV!o(DLyn4gl2js0p0X#t@`>wC*$Pv&?{pdbfb+P- z&#?77S)vmcIz~djxO2h>6-wB2vZ;%|rQxBd`(6s*fJm2>|LjRbTaomDhIah_rXw&>8zW>Eln-0&;&;=1NkO2EUjY{d zVOKa93{f5MD6-_(zNFxRkW`w59upE}WgbCz`*?BARYWSLu9D%6Te+rHC|~(HuJ&)51;n(B_@>!Bk~h4s+?ex`!Qt!==WX zbW{nv*|4hv-M++4b8xlj4kFfEDU&!LXLi{f9}$l@O@h=3Nc$=WT(MWvG;5lcO?SlBy6Q=j|@$rkO$2&fiI3TwZc z+ZK#ry0TgcTXj~6wcAyaelEinHnTjuvXa!KaQ|Dfw&>5NbWv62z?}I|x7C?V%-g_r zy4f2tjEfSSnD3I!B$!K+(#fB2o`5^nY4&T&_1(Q657Ma9?PO=;C`;FW2Mk(vbRQN| zYb*>kriW2mb^;1J7haTDHJl1>&DYpGmh+<9v5gh3pnC-|gTE*0w`i(Eh<*8ZQ>Gx3 z2a|ri5!MAfYLsAck+|oj9<=+&2@tv?Y>;BtMXVQLl;^IEs9;Gl_T=4~2vpdfT60X9 zYA}T=3qRVNW{Y_}_UlaV1ovSQo(lu$ta**I%a^%;D#%#vU0=rQFN z+ess-*^o4B@SA;d)B&9Y)Xx0E1Ll1l9fLaM`)cN|=>%nzVY7&tWyKt&JMi@Mx9+|SW&9~nPX}M)E>l#70oD8j;5{)1? z5+Aj!WhVhet2xRQ93xThfWrVOYB>f%mR3nj*?9%}8JAHnk2f_hKin6QSOUZKgtu}N z`Kj(#t>8>`_YDui#tSQMf6*-|2p+e$tNqlA2WCZxKg25P-#91QZaY^vIDO~&?)>H< z)p2m~;TDwl;K@&u`j8}~i^k!#_u!ADpht9|7ebUG(|s(iHm3O}g~5q*vrvXn-GuJR zim9qM8g)DbdmfWw-<;}4%&cl922A2hA6bk6w1#=s=``q9m35;ILQLhSBH!Ig8kaB! z6R8-0i59-v0o9fe$>aeNWxF0M}xiY$Yx zHtj@98hjt^pZ8a~M6yTVfRi(xd?ej-C5khz<0_ph775fgPXTOe(-+wiS6MYp7(+&Z zW-*?Spf`AjgD=XrTwO#1-RCI_iL73@PqI{2lRUs(5yqCgoyj%7S(_-o8zQ(pyDA+u z7`s;P>L+zn&|$@Y*0Qos@$wN9_;GJ$b(TQeNR?A2Sp?Nw^vq;$UBvg|2MT+mL5m8@ zlk)uWU#A7ir|U-?t%J?LU=NQs>FN{_YE%cBoNub~d`rp;AEVwX(~Os!E7y4Se2tYX zbFHCbq}R?J+E@&!EY-arVu)qtSm~aAVsUE`kZg=|P|#ph;53FjIB8MJI}1){i3wv< z*>Mg{QPZdB5v@-$lZjhgz#-n;#}~@1=EHW*(88w@xOZ?j|B2a9vNXL}?Eb(d=BH_h z`q=0GF$u-6C~>}DmJSkE&+i>QyK4U~whSL4bK3&|&?4bru$~4O{P+Dws9i@n!6|a; zU5X4n)`sjX#!8~GlJ=!KzWQW+=Fu!hxb@2A#NP|7M+=!XJUuBb35Y}ZOc*V5e0)5p zFh7xyn$mEp(r_PzYUHav!|A*6_dD>sAYP@TGHz`B7UnK#BK?x|eY0^&C{|Jkp)x?Q zyg`angBvrkIw)#3kOunj)8;Khu=%n{c(OW!srDfAGVt{r@hX(a=dm55+Qt3b7KrKbs?eNOai*4Nf7naWinMqYe*_>Av1ajqg)mgb|& zG!(c~0WH>+7f`}gzi@{opY|lH#sKuF+;HB4{c7>BIo-bo!H_twD;}9;Pe{cywR0ikB188@6d@vXo(AQK49+CL_={h3rUc=8W zFci(bQa2_R+)&%Z{NbqWU}oA6q@f5m0b6^79ZbOA%>%Vv3;>W-@b|EVy11FvCC{BWR!tRLY)3K^|Y$Um6AA21D8c{oP#M zy`}x-SpMKjqpp981zCW9RFE!mEN0qzKrq4!1_TL!1cdli{o%eMEb{n3SucABX#*9t zzd@i{ax6|rq=&Sipr4n6`EZAEX=$3#uRZcmLcxw6*^M@9zCK7EpW$`rCR43JVAcy15Dd z>j-b8sxJ!UZw~#BBfO1JyXpiDVBQEHFDOja7v_#+{Z|NxhPK{65PpZ`2zT@N6BLTP ze=}we{fC~1kC*Eo9eb!C%oXN_0`*4uC;V^vNVvm4$@(|ne)s$d=U*K`nfnL+ziIzH z_CLxfEp2US6$I4hw^0ohIhNo4O4}o#aC_-Lmy)6)4i2I)5q?Q=J7Ip1C`f`|N?1&a z-xefgCn_N>333n;`4=b+cWyYA0nY4zd%q{}%{dFF2|yZC(G>tKU%eC@82s3?wQcA<8dlZ!5|V5|@CXplt2= zZEc05gd|}?LJm@5f1rNnL0U;qLykp6Knq6!fRZ9xAPdLbOE{4&2Sw5hm#2 z?)azUcUq)T!Jvq>{avRh11z9B&3BwMyLy6QE8AQuaK~`(7)&-?BNap|1a&|lLsjKSIX7l-YEM4e?))H zC_|X%U#-8IuJAuo2?+c%DWq+oe}&*}>kIoUStzW(x}Z+B?v60j>hZU7{kt6gKa_&4 zI8@T!9xBN%B?SWUgCs%1{8B<BYyu&*MI5yj~Muml>b{@|E23c zV&Feg{%>{tf1?ZkpN~^8chp^wAL?Q0w1B`I0Kfp~Jup&5J#e9+p`oLrV_;xlVq#)p zVPRuq7vQG=NHWAJLEyBMbqvK3y=x%QAU3)vdCpb{1cFd{}bCf7Q*5z#mj+O?22vRSfn z(N3ZOpfCi`I0Bf00GvrU61g;xYEFxG1;mJH{EBzMK~mSiGEf+}x4I#+8YQ zgM))R06hZ0nTaD>LIQ53Hyq@3Tmi?dSrlygwH_o*oK$aK&0O3O@RE>7(9l4bSPgjv zp)xYwTDmdTD6pXF__V%~>V>Y6lNAMkwHA)IAxWq;Q<4jBc924OjA3iGV_$jbOndg` zOxMZD?wtYvUwp;Zed236Mzr}q$vOzA%F#4 zz?~uB4ncDlFM3y?d)Mf4HyCrbPyqOycnN?O7+|W4;{v4#_2W%Tf|L|MTU#SXM#?ug zNA6Iz=p6x~K?Dj(G`a;$){UHq1(~D+i}Dk{){D%+tHzbPnFCG=fCLi`M3BTnfyu>C zG{{jaDb%GPEwr^fZKSJwbD`_*WJN+t>#h-Sw*a`iL**g{W$v$oJ~AkKZA~IO^RL5u za1d-^Vd&xl4GKbt3Pwr@W-5r5gGJl51SfQPH%(dZteNgYIq$MX?-~{EMzm1HFTqc6 z^m`5<4Rj0vir;5Ze@6qL*=a#k0I^t%>Zk^uhx$VlSp*cnPc%SQ&OMY62dSa0inEDB zOid)_zNkxu5}j(OC>e2$_@ro?U<%_#HQ$YaLPhWQfG9@^c;SpbW3I=?@}(?PDY@6t%26pYl1HI#)?VPTJY!B>@{X(4j#EX+&_vMU^U+%<@If!*pl(h{9~~h zd$B67noA*Ha9Lkv*d?UDeLbN;k^U;>Q<}J5ijJ{D51&XGj~8%y$kU@P!|xM!4F()i z7(4O)NL~XEOM@pvJ|(gt8ewQPB5aHy#{63PdDRai)!sKhF5!i(IEyh~p2_SzR0DkM zY+}L)d{#?NkSRBSE2%xRqF_Uy>M`~lO?tw9@`}QwD>?fuO{T@LLJQ+E(aaH+LYv&( URt^^vDt>^5s*XyPvQ5PQ0Uf#_5C8xG delta 147 zcmeAxSi-K@8Q|y6%O%Cdz`(%k>ERLtq(y<4kAoRVe!sE&&*m-0GR)~go-U3d5>uC+ zw-!2}z~LJBZNFK~kDFd5%w`kMx$L_0smH+MruNoL+G||y++HSosAo%!{EjxiprbP0l+XkK0O>nY diff --git a/resources/g2/track/intamin/right_vertical_loop_1_3.png b/resources/g2/track/intamin/right_vertical_loop_1_3.png index 58d2a7738c9b14b208c95b02bfecbb3365ece044..9fc3e0b23a25b81c44eff7efc4a608b54e53209f 100644 GIT binary patch literal 12876 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 delta 183 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 R^}kC1*5-C*)usm${|Dwo7Zd;h delta 263 zcmV+i0r>vQLYD|3iBL{Q4GJ0x0000DNk~Le000090000v2m=5B0Mj+`kFzx#90PyF zNkliOz^_r?%4~NDR z5^YDCbCh$OwQqO6J!&IlS$p!_UkaIKmH|(q0s4>4=usYV7&C*(GMKTBUD-xSl0+yW*~$`9iLoSW z6fzZ25lNOOWSMu=v!3^N&U>D7-rs-Eocp`o_jP}+>-t>Rb)Wg(=bP?eZ^_9f$_4-c zIIXSB9BEfs+L6M-Ks$SlleGZ=o{4B@H-aNFLMk{E=YtKvND-ofF;bXFtPcPXIaQYL zepRgXqB#{MV93aKgf0{sgRChs;cnM4t*`pBhIm_mt+?W-ki^I}B)is1-E80A<@VG% z8GW{)7Ou7GVkw~+H99u${{)7=yE43K^L+F1?$Q!sVnwXeCS+vusbt+etrg2}8Q2yz zwHN!vPrJ20(OBHv-D~FWo4?tWF}uB8+?Vjh~#+dKz*v7@iZV+I~ zKWcugPVW)oHwV;wT#nUD+wDz0-^rX4%uBP`Of6GnaRt4M%3SG)0KO7aC~O>?CC+D` zw~wsd{*Z4ty%{n;$XE5oGE-j0{rQf!x*R+_egDvZU zY#Pc%d~)b3R9VlC-`m@zaJTd-d?^A>(JhrD3*9e14KJ|j8Z9&hf+ zE)j72qj0tfa$;Vf>SO!0l1CTR#3v(n2fQAv8`6>9k6!5hUh;Zd0OUl?2D&iBo|! z*oJY6pA+ds;N7#Lx1lv|vDNw4Pc|bP^3D*KrfN2geu!(b-F}_IB^H~hAwN-A7`67f zj}EVP67%X+QCa^9Pt+i1O!(Wtr3Y^}C)b}T0{5ZOUpBx)kGAQ{+;MHu%is0C5=uUO zTwNS|HQ2^o3~RgEj@sGTY+pFFA8z-~zB}=Iga4zm-{%B$7jBym`&~288Vex_0{qg8 z%8LAR7d$ppI2X8wP}!={;h}^~uJMAhsQnjhmPQg6hW1=ziPig~I@<{SO|zwa%>4fA zW?0zrIgaIKRIy^_t@6%|!CR;`BO6th*j)XBGsmxLu0=iCc-uczCMy}GlMz=&Y?g}< z2>k3J5j>)aNM_n>vJLurM!HTPqx$1s6U@@^ZW)DCInUJ5^x#A+rikQr`MyH5zr6qF z5j8|%kIS(;3m0c#O0*aWqGz zKHzFC)4DjoF@w2Z0zTg9ez+FtFoy(PZ*0R()fQR$#$aRU!!RPmARUXKil;tXnfxqf zRzhhvCAhDRj2=j@o_RMcrNgP_MX^&mrMD3%1q*S0I$8 zBzjN}MWqrNUG>9XTg?4nkUVM|>Vl8VdarDm_gyg8Ipw}-gG%$)UZ}h=5*6pYuy*df zK=d`+9(&j17~GAWcTFCZLatbl(@naVTkFd1j}ec9e4C+LQ=KqX#_R8^ZAZ@T8JhsF zqMn7AfqNHKxkNxms5W;xZki8!wdhbzhx5bBs<%Ep9bsl+{$h~Gy25syl&R##16;H2*|Mpd!5Z}~C>y3l$-U7}Lo7riU&8=dRh3yryI@~) zo~7ILR;j1quuR_iIp3~@t33IwQa?h&<8{MtW~F_UwfDTvT$>dj-1u>Z|F^b<$!8IV z+2WhXI){e3{O$`9kFJ#4+_@_b`wD++a&}JBS5LTX^ivejoa}T)J#E}U<_hrMjl<9{ z{2$JEb1g+|@Bj=MpD~S01VJI}zgZqWn&k`1wh|aO46b` z^Okw+;K;=(uQk@M4hxhs`(bDam0}kq|4Kp5P(&cuUJuS06tboZI>mlSolA#TAy zJWjI=zfto*?YfXmI*9K@ZHMb#IS+(rtgj}nDF21iS*ctJyy|rV``}EH`S<%hWtlAF zg;K{{udpsOyO8ezu3IM9J&U4bT6%n}_KPL+6pne1tX7NMT3jv-3;zC+Tg+bwq|y(yVx|t;|#8?#xVzp=*H9fUzf6=^bUS z^`}=eR`q1j?Z-==cJp!uYYN;GyjW75ImeTdA4O6c5F~mR055d48q3<>*KU|N(I@K? z&Pl?l6fegLhASn8Hln6twP2G!ym(Im80uPDMoaWA!Q{_>ZhPtg5L<3=7|6!*F-a$^ zcJi?G=pQZYGnDY}ydzW^?q_`UaS?h#K1|$=5$UQJAh%V@+UA9Le_074dsVtuyQ~^| z%+|@<oP~jLA9ne%2KMf^vDfZMo ziZ7Z#C*|75=b*U#uZTo+U49MZ=V?b=Z;E)7wi^Pyhf5^N^+*lP$Vz>jt5A@S5pC){ zJAV^892SuVUIVa=etULP-Q;Eyi8)~4RoRZLp__gu4}Eema5{2nJoFqtm(Be>gZY3| z4eKKFKA9(E-5K?KhApuXZ?$#uxAV=u2`9Pdr-arcWDCz}pg`XS7EPKx&>zL~1GqaD zQrKHVX4#HRFeGYUX6BFMk(N9yrpWAo&SY=@o~uzzA`9$(74Mp@#Ge+a{q#))` z9cR-B4)DvLlf+U*YW4m47wDHNQ_VZkEF$A}(PQbEB@0j?tC$r0WU#jVm+}N)LeKDV zd;{z?W2Mqb)fe{%HAidoeXNWi%i{TQx>8n-MdW+(l=up?Dv|lF^dhR!VS?gi{#% zbFKJu7{kxj>V6f`$ZS3CQ9_!+wM%zi0bVw)up-{`>uA8@L;ITRrLx*^g^hiXIr{EB?1!%m@(OdL^1{MEXUo-3Gt8_k(M3uS-K zIXmi^WfAx6aPzAD8`F+=wR`V`n$`-9fsW4UiZQ}@2_I+N60zB(mnJTi%nTlt5B+!^ z`K;vJDZ*EuM@)?&l50Yls~ybz3eYGO^EZY*Oi=fCV>3+OTThWV&&S%Znm#=Q?Spe@ z#!#{#=qzG)`^4o5-w#GNCR?k8S6Z|bL-`GB(&gSui@>5!OBO=o_6ItOm=1|Y6)rQ% zDBVIMGDXNw^p7=wq_@Jm_t8&B)g8HQPsZO^@0hT=LsvhX7Qqw1gt9h zVf=46w>I}pr*rRZYbsetX03u0&*{Xai*B=wY>4CUJJfHwjHmY?=o{CMSF<*5z8|xG zs5tFewBy`%*8BK=hDguA z#Q9dBRR}I|aa9tYyuk2?M0{NfE_It>kdh<@^{|aF83bi5^4)G>yul#NF{LkOCL1oa zDfX;=q@Sf9z8I&>Qt72Q1V@^jz7350J|{Dw4BK%s^BTDx;Agb!{CGyWFyBl>y!58< zZWGf|@A=@dka#ws`eemCoqFN#my%=^>-x+Uf_NPGVsUEK#v-TS<>}8)M@b!hqJ1*( zRa(@I4e+x>t50$q94&1~?^#4*Ay4Drv$LEwx*lZmeIi{k_va{eHzUih8e60zlEI8m6s zZ6wwUWOsOuepXvdb(Njb7zRlfv!-5f{#^aRAob1*d6EkK4Jn3eX2;8GxMeg?B>2`j zkq*xwvM(EJ$Vu|o+H#UqAIPJ4s^m5|zipO}^?65@u? z@q1E^Q~~cS@7a4D@qYoEpzJIZ~jOEPvtfQwuTcXA-!os|Efx>}(gs;!rhdfX?y z=7Qk4%2u@!E0)HVJ;)}$b+SBTwSukuNYGmquphuXYbQ)V@2g@?RpG=l@Tntg@K9Oe zY%*4jNNV?C@@TyL*h+w}C5-~KFENXdlFCS`zi^54tW;Q@a;Qwz?@G+dWXXN*IHCcS z+qxsPxpxls1OT8rhlRr(tl{uKwm4`T8-=mihE`-_@orD2GIJ$~FH+so@UVJPMw(NN zDX-GGQ#W0JIX3Mj);5=CXBAom#dqDR^;)1yi!(|rNs>~vYW5jwj;|4rBW7#Sb)mfSnh1|42A+ME}5 zW|w1#kqJq9#Yu`xj*K3=i+?A7@m_s3Uon4{7{O%LvQ}BGJw#1c<=a47_TT`&Wm>l* zx3b~D^ArmMb8#oF8*Aqa`<3QZhfXzh=xu&b=Qy;Hi>VzGH(?{WB{A}{iQXw;V-GnM z=4gxdgMEIVr5Bg(!Pcte^})@UQxx6Hy$@_}(<0^Y2RSORZnRH+?^WQLWSX+0>>E8; z{?0lR&s@7v+dfY3V`PmBZ<^%gdB?0)+jhMk=ks1pg>E01?g`Gds;6Oxucz#L~8$-0W=i zP`E%fBpT<9QHu-=rfo?900ywgU?j>PLy+>u_+o<$WmekSWu&lZLm5{sJCI#49OH+z ziVnp%McX^0qWw|2Xc?Fhn?a-=4ImIhKuSdh1_a^tA`NAJ;_A`v54zQ5q<)GJ{0(K? z>>Q-vxKNA~L=B<_QZfW-w#9bh88abW~Q85!ER z)F1W*2HV;F2_J<2odp^n>XFD`bqzI;dSIaX-)G~%{|;ekZRhYO!huV^*udbQPSMEwhcYzkPr2Z*(14#ZXp}l8024?9#nbH5 z_=h|J>+=^`|FG>~3qjM;D|D(L`&idh39}s!*tw4-|<3Lo{_Y{|03pgeM?_P?!TK8n_yk zh690UK%qWhq$<=~8=?x)LDRr=F%VU6q&LVLq>X|?b+rBlfe6LYvJx5acdHJd&@?C= zv?d6O)&QxZH8D_{HDFy;Bp3ox1tC#7Iv|>zS|IJ8PzQ0)GjXssl+jcJ{ng_TfF$_f zLIVwDY_UOMk$(+1V*@cx1mpo}8ro1@hz10ztpx(>Kp?+N`-yh~6N;xL+ySNrNDU16 zIUSACv!Ed&X^DdkMEYXXgM)m34jhC*?2H0QP4oNlE=I3Oyw1mkW4gI0pUGP8!y)A(S67 z$QMIfJ$_HuKl-u%Ln?rDH9!z=9c@*#E{K*2C|VXEeUM014P6Kd0?|czYkU9V`%iQ{ z&W8|z48@rE(s-nCMN7}0TuCYXjG*E_ZHe&19E68Pm?}s|^)JG-ekV-*cZbyv){H+q zHcySRD?BIXT&&Q0{mE{(7D(XDj+VTCvr0Ka*xH8aHpB-l-6z?jT zg_1AEgBz0J?Rl>KbvR0I>O7@%bA@av2Jln{M8E)9PQVHru${y`QNh37FGihLr>=Wa zce1EdGVRj^1OVU(1md{4oxFQH3^(jbn#Px|WRa;22xWehj#z}HGRalH z0tIiwI}InJCi3ueRmm&ud7Hyk)HyOYzmB}JD_F-D29I!ZBB4+P5fODHQhRanaC7tY z*x1U-3KbxR1IXtA!4=%_HZiAuW#4Id>YRJ&d_>zy*4TR8{LaKCm0g*eTSrL9Qc~7Q zSskUXkGDajdeXp%b)=l$iaH8;czqfM@U#Kqow(yYCA0jM3y83)RHwEA-`=YDiS~l| z3G({-5)}pjxB>up03Zthr~&|b0f0FmfJ$o!IF*Q}R+UmI69{<#4h+bF0h%oV6a;|k z1fb%Cs3b786hUqFr}n2(DW!me!0P~P-~d+y&>tlfAEBI+Wm!>*YHLd#9b6>fG)yNq;9W(bpy` z-oG>_zO5=}m|QhaAye0?%>XI|K&8@RkxEndtBEBO3+Co@3i5t6e1AXO-QCIG zA4MeM!0O35>Ul756&&1dqdtaEo_Cd{dP-8`<*5Z=YBP*FY(q+B*S^ zKTXm;c>%BnTb-ow!_I$j&;hO&3e!4)1Zz8U;5?9_)TA@Z&gNWo@~JiYNY~Xg&K&R7)l2tM2}_Ad>oiCb zPJCQQF-t=v7oEnh)q8#!hFu-zy1fN);XSVCd(qGjah|upA^Yy(qKJ}0usGlNsqR2` z#SQ-Y`YO|7tkghvo{QVtyH|aUT^Ltg9vgMO*Zzez>|)-VKNHyDvlf3ZvoAli2ESU(`yzD52!7%X2{^JR>Rkt7%uB z$woS2*yxIp%T-l}t^5Rbz0fwEumW|%yuv0zU=5wgN&Di9bY1f4C5gEpm0>mXpi=17 zP9?v@Gp^Tdh5{;cj}U5ZI;Qf&7YGGql(5sLuA+3!mFj4off#4nMJ;x(HA>Rbbld{x zcLY5SqVF-Zy%WE?tpCIA0y`Ap;mKm%$=WL?e?NYvt8Sg`u}oZWaM|3VNB5)#r+u^6 zDp|UqLYm>Gzc_p7hZNKN&o`De_&2vU1;pHU(8SIzS=WL<5%4#^2tW6aB004J8mnJM z>)#ih{K4lvs)w2_N`U0EeLUt^mslv=fGVgsynU(tdc2Ry(&hB%vgo)v-|TTgQ$_u8 zt%f+WH(osXRYBP52bc}(Fsur1O@8CcRmHUn@>g~a$?fvZ;kIIu6UPYTo59K1o}=jz zNz|iqyCl8+6s~K8-=TJ7yd1B=z` zg5$FfHX^N5zFtvYGxq?wyei98%-&w+EEmYGzjXh!!k~ysRA*QQW3||Zf)lg58D~~V zk?bSnd}|O~&XjrOH_QAh0xa*RV=s*24~cl z89&6~N;M3B#VS@jIhw(Alfp+y8LV@$dU}F-p%GbZPI@3zB>TfNo~_^d8C%>vOB?pn zK2&I*vwws<*ZErD`1_46kE9{1}nkkvkdeg~}%0oLaB KX0@hXN&g2Tjl%~3 delta 738 zcmV<80v-L@P3;RIiBL{Q4GJ0x0000DNk~Le0000h0000>2m=5B0N!_wsIwR#8v}m= zn@L1LR7i=9mPwZ5AP_{k|J91wb(0o3KrJc~*}Wf|2^#(4xlwxU21@P1ebeR&FtFq;GbVT$p>vWdTnMz4rmX zEJ)u1hHM|5bodaHFfU*c8J%Zv&WnE#Uj~2w$(B-O{^!R&I9&g%E`P&T-J&={757kS zS4j_WKvGN1jr)LuCS3y}d{VZ?DFudwwRdsew?>biqZv_!v=V-LAB9u-{u?$UwTmDh zUFQ*wPw+?D;$tRi#HRdI6pK+vkdWRjdo85;AUxq(5Eg^)4E2~F;(Nn&UI~9wS6Wy$ z(>JV)xDsW? z6}H~2);snVW+AFyTuqkKZn=epWBpRm~MWap60 zr=<%aCqApid?Rw#b>uc-vZn`z@p)2)#Q*>R diff --git a/resources/g2/track/intamin/right_vertical_loop_3_3.png b/resources/g2/track/intamin/right_vertical_loop_3_3.png index 0f14b4a4d6bace8aef5a1a67c3a34efa46334a8d..2967d72b9c994ce5b0490a0cf7d71a799a289be9 100644 GIT binary patch literal 13181 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 tc)Q@|k3FBB)fUlli(FFNDBd>9)l_{$^jEPR zq)5P*8NXRc>E~+ai!L5_N|&U1{(k)@>3p5FTwU(JiLAXo2#gvVOuF8~@xKWvY2008 zz8Ia{_5F}nBdJLq=I8lg1a#J#VCG{zsl8gO$pB2sW~A|6-w!i#H{pLImTH^*ovIRd z&|g=7<93BNlFeTu@%tW@s6f%=ui}t5U5wi4!QhYWT=nUQ+~O+jlf+To{4s;{PlP8f z^n=a?QOz>M;jgYLu7cFMeLLz;fjU=TP>p~YH#~G#A=F8=i`P{}vsSOp(hX=jsx==s zQsl-uA^fpvXJSQ-r7eF*Et7vq6OcN@_T&eIf`f6;YXKnFRuAAdr+d zlyd<tB=$ReKa15k9XmNOv4@70(5EjW8n7W+TxDr!mA1r@uL8X}47(7unvSx1w|M$|HG z5+xnK^3wxzS%7~URx41<*rKC0$Bc9AP~UWP)&Z(dWU~%TF|&cnu^ondXvgpk-wsn{ zMLR}5*24^6nk*4Et%oT#L&S}lojg8~J^#Phc=1>p1Rh7lGGEJyhSQOm5CWZxM<7@0 zC>!k_(ICbMj{6dIiNe60jMV$;QG*<4)TAY^9)*!yiTzS#n| zLTt;NJ$;2laqN3t%-|6|xnnG5{gKDmQjX<9bj@Zlxc2icK>lBoS;8c7tTMB*m?bp6 f=&u}0?x_C&guXi44SpmG00000NkvXXu0mjfnAT-9 diff --git a/resources/g2/track/intamin/right_vertical_loop_3_4.png b/resources/g2/track/intamin/right_vertical_loop_3_4.png index d74c44edb8fb288fc72fd9db95bc2fa8436d7af1..f0af860652d70762f7d3bc7228ef49dfd7992b19 100644 GIT binary patch literal 17090 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 KS1)4~{=WbwfBh%` delta 360 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 bjkRCOJNoGf`WZX5%mG6^Q{7r^m+1cjQ3^0G delta 615 zcmV-t0+{{$N{9=P7YacL0{{R3VI`e?vs)h<1AhWGNkli z2+Le*LJ3Y0jZ+rLzvWWrlq^!05VGSu+kdJJlq|8X=>B7+RPu#O2w7CaOIs{tI3_41 zVd8+JloFpcCNSl~CFj+pmhffF$dvUW*(r~01#Y=}cUHSZm3>DG(sD7p59(mkme9@I zbC?#u(PW@;7*-d&G>>q6hv6!dVNGjdI!lI%VWhkU>IM=sE#?8x{DrzSW||DRG=D49 z?UA@?tqdFG{DB^m8<6~;O;j`K?~4bApqlA0dFWRL=*1XcDBcr!NgP|LW7NuTGYJsd zR8~!RGxeRRA(}-cLWYs>*L{mIki3iA8+%~0%#w~6rRRcpV4q)xgtE-HffH~(zm=E@#QL4bB@7VATM&k&{{Vf8`41A6k)-ocWQYI&002ovPDHLkV1lo8 BBjo@9 diff --git a/resources/g2/track/intamin/right_vertical_loop_4_3.png b/resources/g2/track/intamin/right_vertical_loop_4_3.png index 19aaf01acfd77fd6f46bffc32eeea57c34c5242a..951cebd0621af1a9f1908ab7234d356c20a3188e 100644 GIT binary patch literal 11854 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 delta 416 zcmV;R0bl;2a;^y>iBL{Q4GJ0x0000DNk~Le0000k0000M2m=5B0EkXr#j|ZR8v}m< zTuDShR5*>5k_nE&FbqX~|Em#a;VLBY){*81io`z5r$TD;y#1Kyy^hd_;$5GC1 z4|D;X4x}=jfNwOWqC&@?>C`70EjxdyP6-ls-H6ORs2k}1NOO{{`=*N28)*o5i$2^; z#uJ^O3MoSoA z`4oa1INRB-o-7(Tj?qw9R#(8wkyxH6-okUHdrEd5%P4*$-HpT z$a6Y%;4-A{D(4kzs4&L8g$5oDs|l`l-!Hx_7$$7()|HHcP6FPvRCLCP_oFpmSzC9T zTx?x7_?4KM?t};~H+W9i5$qDl3;0R!P!{g=1$;Yk{s)XQ-$1|58p^d0f{~5@0000< KMNUMnLSTZ0p}fZc diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index f761bb44d2..7134298517 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -10238,21 +10238,29 @@ static void GigaRCTrackLeftVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), { 0, 0, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 26, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, { 32, 2, 63 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, { 32, 26, 3 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), { 0, 6, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -10390,21 +10398,29 @@ static void GigaRCTrackLeftVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, { 32, 26, 3 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 13), { 0, 6, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 1), { 0, 0, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 26, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, { 32, 2, 63 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -10507,21 +10523,29 @@ static void GigaRCTrackRightVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), { 0, 6, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, { 32, 26, 3 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, { 32, 2, 63 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), { 0, 0, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 26, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); @@ -10643,21 +10667,29 @@ static void GigaRCTrackRightVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, { 32, 2, 63 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 29), { 0, 0, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 26, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 17), { 0, 6, height }, { 32, 26, 3 }); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, { 32, 26, 3 }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); From 1f74043d75569ddc668ff434584e4d49b6323037 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Sat, 15 Jul 2023 13:49:38 +0100 Subject: [PATCH 18/27] Fix large half loops --- src/openrct2/ride/coaster/GigaCoaster.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 7134298517..b199119030 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -13510,14 +13510,14 @@ static void GigaRCTrackRightLargeHalfLoopUp( } } -static void GigaRCTrackRightLargeHalfLoopDown( +static void GigaRCTrackLeftLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { GigaRCTrackRightLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); } -static void GigaRCTrackLeftLargeHalfLoopDown( +static void GigaRCTrackRightLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { From e97bc5b7b94965414b884fd87fd22ae08d942f9e Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Wed, 19 Jul 2023 13:22:14 +0100 Subject: [PATCH 19/27] Fix large unbanked turns --- .../large_turn_left_to_diag_gentle_up_3_1.png | Bin 1005 -> 11380 bytes .../large_turn_left_to_diag_gentle_up_3_2.png | Bin 982 -> 10122 bytes ...large_turn_right_to_diag_gentle_up_2_1.png | Bin 1025 -> 11977 bytes ...large_turn_right_to_diag_gentle_up_2_2.png | Bin 986 -> 10098 bytes src/openrct2/ride/coaster/GigaCoaster.cpp | 4 ++-- 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_1.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_1.png index 2c496564068810b16daefd01245637860875c05d..55440b3060cca8e83194a258dafa5313c983b643 100644 GIT binary patch literal 11380 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 F{2xnroD={6 delta 189 zcmV;u07C!tSnUUpBeQ}i8UufuNklI7Zw0jVIW=|P`c6$VsRd`-kd~IM#irH#APvJG!b7#q`Y>g rJ$_{GdBMV)gPN2v*WEn^M>1<~Dfs8Qa>7bF00000NkvXXu0mjfY2i|g diff --git a/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_2.png b/resources/g2/track/intamin/large_turn_left_to_diag_gentle_up_3_2.png index 1b1500bbf1a92d2d9d9974a522907ed35f85d8b0..2099b51e12ad38547ca8f61260b727a70c39c1b2 100644 GIT binary patch literal 10122 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 delta 166 zcmV;X09pTvPu2&JBeSz38UufXNkl3r1;9;}iS*5ZgyFTVLr92!9Ap}LZR@0b02~92 UnwdIeB>(^b07*qoM6N<$f**xT^8f$< diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_1.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_1.png index 18bb675ebb6d06066215c6c42bd3e4d2a39fcf72..cdd435137e099a6f5f6c5925bf6c3baef5408909 100644 GIT binary patch literal 11977 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 an@S9RJY&CAGevYApr>_J^U)RisQ&|VCX8JG delta 209 zcmV;?051Q@U4aOYBeTOQ8Uuf?Nkl z($_+-BD-!cEgVlBND7!|)uq6wOSX29wJNWg>sooyszU5!BSO};al*T4LnporfId7Kb$%H!RY7B*M`@8KFg31dB%p947Jw zEzDR@f;GB)LpEd#MD!C9H5;xxT2ntUT2g-U_-B=~9*(DJdi%ZuU|{r5RnK8`00000 LNkvXXu0mjf;ND%A diff --git a/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_2.png b/resources/g2/track/intamin/large_turn_right_to_diag_gentle_up_2_2.png index daf4bfe5fac7472cfcdc7bba1d94fa419653b215..32c73af74b56f473b5cb90091fbd7edbc4e2be4e 100644 GIT binary patch literal 10098 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 Y18pIU{2%Y%!Th($ diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index b199119030..c8365a6191 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -14498,7 +14498,7 @@ static void GigaRCTrackLeftEighthToDiagUp25( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 15)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14980,7 +14980,7 @@ static void GigaRCTrackRightEighthToOrthogonalUp25( { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 1) { PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); From fd19415a6ca08ff8ab5f84c5df49fdabd93b915a Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Sun, 6 Aug 2023 19:39:13 +0100 Subject: [PATCH 20/27] Fix supports --- src/openrct2/ride/coaster/GigaCoaster.cpp | 1125 +++++++-------------- 1 file changed, 361 insertions(+), 764 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index c8365a6191..531018b9c6 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -10245,14 +10245,14 @@ static void GigaRCTrackLeftVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, { 32, 2, 63 }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 10, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, { 32, 26, 3 }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -10398,7 +10398,7 @@ static void GigaRCTrackLeftVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 9), { 0, 6, height }, { 32, 26, 3 }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -10419,8 +10419,8 @@ static void GigaRCTrackLeftVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 5), { 0, 14, height }, { 32, 2, 63 }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 10, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -10530,15 +10530,15 @@ static void GigaRCTrackRightVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, { 32, 26, 3 }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, { 32, 2, 63 }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 10, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -10667,8 +10667,8 @@ static void GigaRCTrackRightVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 25), { 0, 14, height }, { 32, 2, 63 }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 10, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10688,7 +10688,7 @@ static void GigaRCTrackRightVerticalLoop( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(SPR_G2_GIGA_TRACK_VERTICAL_LOOP + 21), { 0, 6, height }, { 32, 26, 3 }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -10748,32 +10748,31 @@ static void GigaRCTrackLeftCorkscrewUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 0)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height - 3, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 3)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 6)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 9)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 3, session.TrackColours[SCHEME_SUPPORTS]); break; } - if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); @@ -10868,29 +10867,29 @@ static void GigaRCTrackRightCorkscrewUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 12)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height + 3, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 15)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 18)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_CORKSCREW + 21)), { 0, 0, height }, { { 0, 6, height + 4 }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 0, height - 3, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11042,7 +11041,7 @@ static void GigaRCTrackLeftLargeCorkscrewUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 21, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11279,7 +11278,7 @@ static void GigaRCTrackRightLargeCorkscrewUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_CORKSCREW + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 20, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 21, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -11846,7 +11845,7 @@ static void GigaRCTrackLeftZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 1)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -11856,21 +11855,21 @@ static void GigaRCTrackLeftZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 5)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 12)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -11976,14 +11975,14 @@ static void GigaRCTrackRightZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 16)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 11, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 20)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -11993,7 +11992,7 @@ static void GigaRCTrackRightZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 25)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -12003,7 +12002,7 @@ static void GigaRCTrackRightZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 29)), { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -12624,7 +12623,7 @@ static void GigaRCTrackLeftBankToLeftQuarterTurn3Tile25DegUp( { 0, 6, height }, { 32, 20, 3 }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); @@ -12667,7 +12666,7 @@ static void GigaRCTrackLeftBankToLeftQuarterTurn3Tile25DegUp( { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height - 6, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 2: @@ -12722,7 +12721,7 @@ static void GigaRCTrackRightBankToRightQuarterTurn3Tile25DegUp( { 0, 6, height }, { 32, 20, 3 }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); @@ -12765,7 +12764,7 @@ static void GigaRCTrackRightBankToRightQuarterTurn3Tile25DegUp( { 6, 0, height }, { { 0, 6, height - 6 }, { 20, 32, 3 } }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height - 6, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 0: @@ -12816,7 +12815,7 @@ static void GigaRCTrackLeftQuarterTurn3Tile25DegDownToLeftBank( { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height - 6, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); @@ -12863,7 +12862,7 @@ static void GigaRCTrackLeftQuarterTurn3Tile25DegDownToLeftBank( { 6, 0, height }, { 20, 32, 3 }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 2: @@ -12914,7 +12913,7 @@ static void GigaRCTrackRightQuarterTurn3Tile25DegDownToRightBank( { 0, 6, height }, { { 0, 6, height - 6 }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height - 6, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height - 6, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2); @@ -12961,7 +12960,7 @@ static void GigaRCTrackRightQuarterTurn3Tile25DegDownToRightBank( { 6, 0, height }, { 20, 32, 3 }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 0: @@ -13012,7 +13011,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -13030,7 +13029,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 1)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 12, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13038,7 +13037,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 8)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13046,7 +13045,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 15)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13054,7 +13053,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 22)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13104,7 +13103,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 3)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 14, height + 8, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13112,7 +13111,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 10)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 14, height + 8, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13120,7 +13119,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 17)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 0, height + 21, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13128,7 +13127,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 24)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 22, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13278,7 +13277,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -13296,7 +13295,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 29)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13304,7 +13303,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 36)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13312,7 +13311,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 43)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 9 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13320,7 +13319,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 50)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 15, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 4, 12, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13370,7 +13369,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 31)), { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 8, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 8, 22, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13378,7 +13377,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 38)), { 0, 0, height }, { { 0, 16, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 7, 0, height + 28, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 7, 0, height + 21, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13386,7 +13385,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 45)), { 0, 0, height }, { { 0, 0, height + 200 }, { 32, 16, 0 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 5, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 5, 14, height + 8, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -13394,7 +13393,7 @@ static void GigaRCTrackRightLargeHalfLoopUp( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_HALF_LOOP + 52)), { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 6, 28, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 6, 14, height + 8, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -13528,94 +13527,36 @@ static void GigaRCTrackFlatTo60DegUp( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, - { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), { 0, 0, height }, - { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), { 0, 0, height }, - { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, - { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), { 0, 0, height }, - { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), { 0, 0, height }, - { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), { 0, 0, height }, - { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - MetalASupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height + 4, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), { 0, 0, height }, - { { 0, 2, height }, { 32, 27, 4 } }); - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 0)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 2)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 1)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 4)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 3)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 5)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 1, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0); @@ -13633,84 +13574,36 @@ static void GigaRCTrack60DegUpToFlat( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), { 0, 0, height }, - { { 0, 2, height }, { 32, 27, 4 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), { 0, 0, height }, - { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), { 0, 0, height }, - { { 0, 2, height }, { 32, 27, 4 } }); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), { 0, 0, height }, - { { 29, 4, height + 2 }, { 1, 24, 43 } }); - break; - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), - { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), { 0, 0, height }, - { { 0, 4, height }, { 32, 2, 43 } }); - break; - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), - { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); - break; - } - MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 16, height, session.TrackColours[SCHEME_SUPPORTS]); + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 6)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 7)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 8)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 10)), + { 0, 0, height }, { { 29, 4, height + 2 }, { 1, 24, 43 } }); + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 9)), + { 0, 0, height }, { { 0, 4, height }, { 32, 2, 43 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 11)), + { 0, 0, height }, { { 0, 2, height }, { 32, 27, 4 } }); + break; } + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 14, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -13745,144 +13638,70 @@ static void GigaRCTrackDiagFlatTo60DegUp( switch (trackSequence) { case 0: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); break; case 1: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); break; case 2: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); break; case 3: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); @@ -13898,144 +13717,70 @@ static void GigaRCTrackDiag60DegUpToFlat( switch (trackSequence) { case 0: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); break; case 1: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); break; case 2: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); break; case 3: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 20, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 18, height, session.TrackColours[SCHEME_SUPPORTS]); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); @@ -14051,144 +13796,70 @@ static void GigaRCTrackDiagFlatTo60DegDown( switch (trackSequence) { case 0: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); break; case 1: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 18)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); break; case 2: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); break; case 3: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 16, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 14, height, session.TrackColours[SCHEME_SUPPORTS]); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); @@ -14204,144 +13875,70 @@ static void GigaRCTrackDiag60DegDownToFlat( switch (trackSequence) { case 0: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 3: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); break; case 1: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 0: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); break; case 2: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } - } - else - { - switch (direction) - { - case 2: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - break; - } + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20); break; case 3: - if (trackElement.HasChain()) + switch (direction) { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } - } - else - { - switch (direction) - { - case 0: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 1: - PaintAddImageAsParentRotated( - session, direction, - session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), - { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 2: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - case 3: - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); - break; - } + case 0: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_SMALL_FLAT_TO_STEEP + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 4 } }); + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalBSupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + break; } PaintUtilSetSegmentSupportHeight( session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); @@ -14384,7 +13981,7 @@ static void GigaRCTrackLeftEighthToDiagUp25( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -14473,32 +14070,32 @@ static void GigaRCTrackLeftEighthToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 3)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 7)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 11)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 15)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 2, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 1, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14634,7 +14231,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 19)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 1, 1, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -14642,7 +14239,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 23)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 0, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -14650,7 +14247,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 27)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 2, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -14658,7 +14255,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 31)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + session, MetalSupportType::Tubes, 3, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14684,7 +14281,7 @@ static void GigaRCTrackLeftEighthToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 32)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -14692,7 +14289,7 @@ static void GigaRCTrackLeftEighthToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 36)), { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -14700,16 +14297,16 @@ static void GigaRCTrackLeftEighthToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 40)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 44)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14818,7 +14415,7 @@ static void GigaRCTrackLeftEighthToOrthogonalUp25( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 1 || direction == 2) { @@ -14846,15 +14443,15 @@ static void GigaRCTrackRightEighthToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 48)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 52)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 3, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -14862,7 +14459,7 @@ static void GigaRCTrackRightEighthToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 56)), { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -14870,8 +14467,8 @@ static void GigaRCTrackRightEighthToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 60)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -14980,7 +14577,7 @@ static void GigaRCTrackRightEighthToOrthogonalUp25( { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); break; } - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 5, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 4, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 1) { PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); @@ -16278,15 +15875,15 @@ static void GigaRCTrackLeftEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 1, height - 4, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -16294,7 +15891,7 @@ static void GigaRCTrackLeftEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16302,8 +15899,8 @@ static void GigaRCTrackLeftEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 12, height, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -16394,7 +15991,7 @@ static void GigaRCTrackLeftEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16402,15 +15999,15 @@ static void GigaRCTrackLeftEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16418,7 +16015,7 @@ static void GigaRCTrackLeftEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16445,15 +16042,15 @@ static void GigaRCTrackRightEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 12, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -16461,7 +16058,7 @@ static void GigaRCTrackRightEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16469,8 +16066,8 @@ static void GigaRCTrackRightEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 1, height - 4, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -16561,7 +16158,7 @@ static void GigaRCTrackRightEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 1, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16569,7 +16166,7 @@ static void GigaRCTrackRightEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -16577,15 +16174,15 @@ static void GigaRCTrackRightEighthBankToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 7, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -16612,23 +16209,23 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 2, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16636,8 +16233,8 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16726,7 +16323,7 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16734,15 +16331,15 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16750,8 +16347,8 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 1 || direction == 2) @@ -16779,7 +16376,7 @@ static void GigaRCTrackRightEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16787,24 +16384,24 @@ static void GigaRCTrackRightEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 3, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 1, 5, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]); break; } PaintUtilSetSegmentSupportHeight( @@ -16893,7 +16490,7 @@ static void GigaRCTrackRightEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -16901,15 +16498,15 @@ static void GigaRCTrackRightEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -16917,8 +16514,8 @@ static void GigaRCTrackRightEighthBankToOrthogonalUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); - MetalBSupportsPaintSetup( - session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup( + session, MetalSupportType::Tubes, 4, 9, height, session.TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 1) From f9e181d52d5ed48d0c2fd56361c2ca7c89f2f336 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Sun, 6 Aug 2023 20:37:39 +0100 Subject: [PATCH 21/27] Fix glitches on medium loop and large sloped turns --- src/openrct2/ride/coaster/GigaCoaster.cpp | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 531018b9c6..244c6f5ce8 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -11558,7 +11558,7 @@ static void GigaRCTrackLeftMediumHalfLoopUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 8)), - { 0, 0, height }, { { 30, 0, height }, { 0, 32, 160 } }); + { 0, 0, height }, { { 30, 24, height }, { 0, 8, 160 } }); break; case 2: PaintAddImageAsParentRotated( @@ -11715,7 +11715,7 @@ static void GigaRCTrackRightMediumHalfLoopUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 27)), - { 0, 0, height }, { { 30, 0, height }, { 0, 32, 96 } }); + { 0, 0, height }, { { 30, 16, height }, { 0, 32, 96 } }); MetalBSupportsPaintSetup( session, MetalSupportType::Tubes, 7, 18, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -14141,7 +14141,7 @@ static void GigaRCTrackRightEighthToDiagUp25( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); break; } - MetalBSupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + MetalASupportsPaintSetup(session, MetalSupportType::Tubes, 4, 6, height, session.TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); @@ -14230,7 +14230,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 19)), { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 1, 1, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: @@ -14238,7 +14238,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 23)), { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 0, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: @@ -14246,7 +14246,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 27)), { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 2, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: @@ -14254,7 +14254,7 @@ static void GigaRCTrackRightEighthToDiagUp25( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 31)), { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); - MetalBSupportsPaintSetup( + MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 3, 2, height, session.TrackColours[SCHEME_SUPPORTS]); break; } @@ -14406,7 +14406,7 @@ static void GigaRCTrackLeftEighthToOrthogonalUp25( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 43)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 10 } }); break; case 3: PaintAddImageAsParentRotated( @@ -14556,7 +14556,7 @@ static void GigaRCTrackRightEighthToOrthogonalUp25( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE + 51)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 10 } }); break; case 1: PaintAddImageAsParentRotated( @@ -16300,7 +16300,7 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), - { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 10 } }); break; case 3: PaintAddImageAsParentRotated( @@ -16338,7 +16338,7 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + { 0, 0, height }, { { 0, 0, height }, { 32, 20, 10 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -16455,7 +16455,7 @@ static void GigaRCTrackRightEighthBankToOrthogonalUp25( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), - { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 10 } }); break; case 1: PaintAddImageAsParentRotated( @@ -16489,7 +16489,7 @@ static void GigaRCTrackRightEighthBankToOrthogonalUp25( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), - { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 10 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); break; From 2eeb0fd668a5273eb82a8c0d6dc88bebd76b37be Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Mon, 7 Aug 2023 00:44:12 +0100 Subject: [PATCH 22/27] Touch up sprites --- .../intamin/large_zero_g_roll_left_1_1.png | Bin 1389 -> 12547 bytes .../intamin/large_zero_g_roll_right_1_1.png | Bin 1319 -> 13129 bytes .../intamin/small_flat_to_steep_up_1.png | Bin 1391 -> 14935 bytes .../intamin/small_flat_to_steep_up_4.png | Bin 1418 -> 15191 bytes .../intamin/small_steep_to_flat_up_1.png | Bin 1304 -> 16167 bytes .../small_turn_left_bank_to_gentle_up_1_2.png | Bin 1262 -> 15746 bytes .../small_turn_left_bank_to_gentle_up_2_3.png | Bin 1352 -> 14455 bytes .../small_turn_left_bank_to_gentle_up_3_2.png | Bin 1154 -> 13507 bytes .../small_turn_left_bank_to_gentle_up_4_2.png | Bin 1275 -> 12596 bytes ...small_turn_right_bank_to_gentle_up_1_2.png | Bin 1239 -> 12319 bytes ...small_turn_right_bank_to_gentle_up_2_2.png | Bin 1161 -> 14158 bytes ...small_turn_right_bank_to_gentle_up_4_2.png | Bin 1266 -> 15596 bytes .../track/intamin/steep_to_vertical_up_1.png | Bin 1387 -> 12123 bytes .../track/intamin/steep_to_vertical_up_2.png | Bin 1349 -> 12206 bytes .../track/intamin/steep_to_vertical_up_3.png | Bin 1365 -> 12099 bytes .../track/intamin/vertical_to_steep_up_1.png | Bin 1386 -> 12189 bytes .../track/intamin/vertical_to_steep_up_2.png | Bin 1329 -> 12935 bytes .../track/intamin/vertical_to_steep_up_4.png | Bin 1449 -> 13373 bytes 18 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_1_1.png b/resources/g2/track/intamin/large_zero_g_roll_left_1_1.png index 2d4340a0d92547bd66b9249efb5933ccdad1d9dc..ca96b4213c35bbe4ec91974e275d474de504922c 100644 GIT binary patch literal 12547 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 delta 577 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 diff --git a/resources/g2/track/intamin/small_flat_to_steep_up_1.png b/resources/g2/track/intamin/small_flat_to_steep_up_1.png index 45a82d2dd11d18e266b0fed07b29a52804bcaca8..93c923be10e908be144a9c40d51520f5e1574f89 100644 GIT binary patch literal 14935 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 GZvQXzv{!Hd delta 611 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

rgxE{AL`gc7buzJRDcO(cy&`uTcD&1Bn$j zH;smLK<0kHO$7zp10enL-~gxf>Ej402|os5>nbnx;5uL3pU-8^rI+aF@muQoiL}~% zWhZ=u*9W>m9A8D}X!WSA|GZd9yK;zjnby-MX~j%5)VPveF8Kmy{lf{^fCSs_;ET)= zMF|r{6UoF#-ss_`%_r3>opg_bH%61nl!YH)nP%U3xYn(lqX75NfvUgZuPrxaqL@75 zw#`-*R?lV3S#@YAFulr0yl=G6?aYLi7I=-&b$jk3NE85DzFJ)PH0TrY z>JS=lLRW9OMp;(62){GG4BHTbo!RlAI^KWGI)am5WXY!%$Cw0jfKqP=c~kugEBi;Vg8F%uAhR&-8b<> z8?5bB-=u~eTYPZ)ex}cb5c|=o{df(w(P*L@c7aiUeN2USiL?;$+D6!Hr1@r&*zuZ= z%O~Fo@S~64KEi{FElnNoQM%-K&U1RQFDWhxyxnrB{>`XInUg@ejTOSr%`|7b(2MWhGn!*!q zq$VWMa%j@M=UGAir68&2Z0d<0$%vE6>`Fm=dmiSZunx4IHoPap+QY^MN;mhLel#QwKrq1FsW^)o7@ zm1trC(_Cfu$?S|&T=@b)Z&lz6*II>nS{RnqWVCi(LD|ko$EKWZ~3{n zZu#8UR{?r5^L;GYQz7L94G9pbLY=SI5Hpg>d(jKNM;$ zWrW^b>P!$IIIj&2y?oO7_NAIy4vQO=*CCGAa+`%tWk}7K`GuZRJRNOBL9U>df%q3M zEPv;I6Rv!VT-#SPo^dRs9z9m22rCQ1J3nx*Yg>hdhD*flFVyy_!yg=CTW2 zNz}(CIQ=&BEY1|wPPTQ)m-&`!vB5k~(ND;6z;AG~uj3;{We4{SUKDEIxR*@GRT6GI z$Gry$=B@k^+`WM>p5I^S_;afHCUS?rF_`1+vVN2gXH3jv|NPF5B-}@u<8R)z-?m(M z&7I{N@nBCPU`$U(@#wb8Wa8B;@85rdqc16jcC}&rG%}}_&CIVq>QO%vDUc&i{d3Xp zVBzn-hZD^W$)$aS!QdVhQkD1KZA5`T!+dSGi#z(X^U!@D?v5h-v6+)Gnv9AsD%(T( z^1lk&pDXE+ma2$^jnq3x97f)leX6x#m$(MeF@Hxcv&H2Fv z8yOVGj=zuf=JAGNPMo+ zS4I0xHlK$ecAs`cBd}s=?xf5-ii&kGX-I%P6YZ6pULHhdk$hWa4GZJiKjGJQ6&4#V13+ zlc-$$rD9iEc~OknrZ(10`b_7RH_7zKe<8%B8xbdKHE*lfRif%+qjH z`FvzMu#6auTZyc89(*it-8(+`?ss96$V8#KdP2dVv(wOAh+|*k@PbS(QMee^kfCF6 za?3|+*(S}$zrW6@FMeRGBt)X;7?ps;!#cmJomCr*-T3RpQu+l~mA3d=AE8OA+gdo1 zH8EmOwO;J0OPE|&$J%D0e`Ii*MEV9?VLE60`#1k|)dF8z^QFGs$k8ommYonLx!aXzC_cKVF@y#2`Ln`e;#}=D#4?`+p7E8jz%r|=Mm~Cf#%8H;a zjLKCn5+^4vczq|EO5%l8P%QTnj#xfd`&+jzK$la1flU$Fq-i9>gtubYzEIj}mLqMa zjADPRS#wR0`n^}32c{*?cDk=JS@c*0P7p~mHl}Eyp^*>JJ2&K6S~%TKU_N`+7#&v| z$a>&ldIC-aIKFe+`bXxvyjGpXKd(oy+#1-^U0zk#XSEn0Qh-dNVhDbYWQ}RwFG3tM zU-31EZdQ4c=4=qWtW6S)uD8xLR>Ln|)YiRVsSh+C3h3`nl{h(-WE1h?Wv)|6oNeQB zh@IugFsf_CJFsFXHG$J_z3^hcmjMa$F{5>*tclr`G~C*yI%h)x#@PjxOutv9i8jW| zFL=+RTNz|p&Jx*_Pj3_o_L5mJ$)+(K-!}bmTG*r4K3wq7$+<8gAV21i6(V8>aD1U-K zHi5QYkqR<-k0&)SVP2P8GjT;L?QX0vBi}-;@v|?1dXw9uKc04uZll*X3h<31oZxdZ zK_^OY7yfnc^+z%)X&S}Q9_J^rsoDZd)DGuR>-G&z`cLX<|1^hnvQ2 zp3JM5n4Al>4lK9o?t@MjnK3+mwQbs6->t#IpMLtf2Jo)}%ja7b`K2*YjZ#BrTP)eN zCulwgz+oCv^Db)DIbG?B>927-N!YKk?rD3$)*Awz0+>9Sgf>CELXPDns5#EA>hpD%7i$Sf_{v|4Xxm`3F5xEn_pqqO_8 z%Y0p?Du#F$+UDtcci>kana`c`+#tjd{boNWe6Vh7INQ>ski0s>$BV$7;Bsw|?{W=G zPbkWC>S;Rt?UK9rV-7jtW{wq1Zj7ms&~8da(~ELroc>Zl%Gjvvu1xzpIasM{qW78L=r^{6 za}qS|cL$rjPlolL@Wl)$(JFai><6MeQoW-LBIQ(w~LgffA&fkCh6n+Otou%h@P+3G=C1 zOXv4@<=3fqi>?pt)}$jlN$;9lGTHWo>E7?$cz320ia9wxIzP`kZBX~leN*4xu{cmS z-}=@las~3BdU$*Fbo!H-JIa_Zm%4eM6gdZ0O!kgnSX%SD8E>?IVphU5SL$U?ghtt` z!`W}F(3PLcmJFsExx}lenoPJRMhd@Tx@XThZ&=*xddl+Q)=L91_PE=J98M@Ce_XDq z92~TD>OO;px4&1)Hnp8vv?>TI+>R^E;48rrZwkt_O!N}oB@tqDm~>z0E~)2PFy+tZ zy7qNoS$t2hXS@xm=XV6=}ei;!k~9o`w#>5h;8W`oU9(-xa>e z2KE*R&x=R_;J=1~LbblVX-iuOmkDHglyH_)!Yb=@Pf>UHN1eOdFZ|1%3@wbyHR1MR zT-vk!Hdd^*s{%`5qTh%#$~YU$GpC0_mIEx0K5f5y-;A5HE=UVGZTJ`&m^4rKY%?E1 zuM^yzZ;)3%e%>PaR(bX;_svz9S6whH>TFX`&D@(F>5j&b?&aOO#eL(ASZX9T#db?M~i z4}$L?H7-@{EebKqNR-QUaqbH(M7$Yl#vVfQwG4k|G+wkAyc=frd2ycf!CaIl{*a^_ zjpRdU^m2!W^ChRe{7*r5ve^_c0d-Hu(s`EYHWmlKiG3iR-)FC6ICbKyKm46l^M-E& z(OX|48ZI`*NaN&BH>A?1oVmR#v#sCE?t_xQJ}Zo9+-a(c%zj%WGm;M{IDHcDPmm6G{thbw>QxxDwV;dAeqW!eK9PLSCjW$<-<>_fzQij=>Xh%fn&z8{A1m1&(3Hb zgZA+B=r?P!GYLVBw6fk*?a0gJ#qp<7zl}KC$(}qZ730}K40=r(ZyJ85h$ATLd7bgO zc@KH3Mew2O_g;I!wii|@8M^v!Fj)eUpTgSIiuR%vTqam>*Ls7yN>LSFDmRtleaD}k zHvE?3{fOw=rU5}O@8?Q9m2p7U$nThHr7*I$n-U7@CcSdn#Pnj08{a?&7QVG^lSmsf zPwL_BuP|WSN^CIi9xE@c@f&ufNf4T#!5mvrp8L%6nN%R_=W%VaKiUqp|!b2 zeFgHZRh<7yCas>uml_H{^EH@5|KW@UqL`&QrKM{#{asg7aei|o$(p0$jDRF=e_J?U zY+Ot9>8mEv?Z9u}!PTAhu0XSJIVEGKqN1D54<}P806QT{o9_usYx~Lgwv8=ofA?PO zsYrpsTiZ+jwG;oV>-=4VQ~QbZ6T25l_nB23p`mMU7zAJSH}ztAUo7f@p}Gif_z2Iv$;leUP65zTZ&4PS`ImH0Tu> zAzkQ$2=O@ESuVQY+wt1W@-q$Q!u(KeEd`70Hf`oGGEE5Zv+Rx5WZ%aR*qXWoF{Xpd zT|1B|>VGlE`z%SLo?<&G;Ia~ZZyGoJY#g8{Eh zs=Uu1`EYzzIj>6ygL(aCQu6Zd*_fB#xnSomJf3KWbT>>xUp?l_wGEjL&`-&?T!=hU zklNUZxY-zx{^XT!l5uE>i<+YRfIUW=>I$tYpTYHQIOo{*(O*c18k#Z)#AS^3{gR9F4Zdr5ZvfZZI)@GEAF)!5dr3ppkRZ z>D~>_Yohxnlcg?*h{oQ*eE5KG%ngewE;vzehi8jwe0Kch4_-d9m|)5M*3FMrl;mjZ!YkS$=5E7P0U$8M)_sz;?{EH zqo`Ekp`<#CC@U1z>+j7$I5ZW*YWGM?CJXrAMKyV zB*-{w7(>!|V{?-Ax7C`E39DyN`6kGYfECtokDZlM1oR0=DD5S+JM^@s&d=^LyeOG{ zX?C?c_*(;Pa*NMHaB>iUG%K}z=1~k@0yoFxCuF3$JyLUjw%S+*(+qtt`Z;G{W3$Lb zRv(~1-LlH}rWC|iwf*z6G-7X$xO^Y4%n}TEKXpQU%c14f{MF!OH5JC{jBZ(EXszY5 zfId?GJA4lvkDfIj_I8;1%{P|^FkFi#$~HF^pE`!Xe5gHgW?MCR!CiyCXcIF}GremH z2&{{!odeb$DeCLu_H#Ft63o}l4uL^>^4KF$Xjf(4#i}}99<+lpFI-wrT+dA%c?*5j z-vepvuWy3z#~|b#cws6GO1=spfD6*oj>p%<*%hbYtIYcoR{@j{qQ!W5eyVt4lzGj- zoqy_B4B#Z6D|Pk2|{?^XcqA?9o6CMF>&F6QDQ_SYOZPYrJn> z@<1RpypgV+kiSA4?0NhX;eZkf?c(;66llDED$D`#r=FXahx1Pz2ZR{X8R-Io;=uYz z{FA;X+VLO8`lq@br2M4w*NT9}{fYli+JA8WsSIlA=_y>nBD@X?)xM(4dr)5m2P^{Z zpzu?al|&%qo21 zi=sgsaS2JJos5Koh=jbPgb28y&;f*yauBh%my)rUgGxKdNy+>L!oUL!dZnH7Uu$&$ zN?w5h+P|1XwS5q=-CHRuYM{7e^o*C4NF3w1a}Gp|&!wq^S5m zVho+_JRPwfF3P;u(5_y-|41-FyC97{?GB74AtNsVm64Q^my?&0l$DkIhtdtC2M%<& z1I(YBT7RZEAQUt~L_5%N&@Of;q?ns4>Sw}1vnYUMK*QP{_$i3|GalrkpzeXR^Tc|X zV6o21ynpVK{WDn)>`o4Lo_1I4Jdt2&f9{+$`D5p-u(*VR_%B`uaC%q=w4>kuPWzzq z@F;=$V3S`(mTvxf8h#_((;l}dufD-l#HaKh!g^0CnDz{B_Sd%=O8UBD+860m6HEw zbR5>v)5p#Osfq&a2-*sC&!2mWc?5p8px{4i``khvG!JMn5K=^3=D!+D?03Rq2V=$` zjFrUxn@yB{D*R=T0rUNe0|zf~EEM~5F#O$S2gA<)$K&_5`2Sb}2>qWz{w@3d$6Wt0 z*S}?fe@pp4-t`}I{aY6Jx0L_mUH{L_#qf{m6w(!Z3i1IbOW)E1n!zuV0K;o08sLX4 z;H-<9nwo}&=Fp)-w6wH`!B2|l=;-O`!OwzNArJ@@DyFUuGd9*mAS`h>Y*<)WQc^}? zVR=JC&(P4~>MB$WfGGk7x<@T7nK2k{p8&ClD8-}{gX}`vsybYISJdc4rn)d4T=6JY zmo)^=jYsfj;Go4}>UBx*_CoAXa|CfHb91pliyg2P27F)u-k2^MOIH`gNXTYhZD*$t z#VD(`lwCZ9(f|Pf0|2n4qr);XhOo2a`S~*y6^jiFno%f1NXT492Bof!9m))Wv5FaR zE86mFVTIu#Py}8Pm!ck)r~9bNIJ4chddmfc57 zI0~+qjZm+`8Fz&t2uZk!ys*W(q|L58%0vSrvn;iSFfUPba&X_U8mK%=|P6>eJMHpA5pqleS z2z4n$Lc{9n90djdZ~(vo03HDH008ua2|9oR{tVP90XRxtCS{0Vzz<-dz#|w?t_2Jk z02E_@f@P&dK`EIAlyVHEJ%Tcn2^=)METF3nzzygy2-XlE;YWC_>`X*eRajS79+B8Z z0n1`X0nmV>Fg&Y4Cbw-lKXynFzi64a>Ql9u)V^CjN+B%rGXt{RbXsDJmN0INF*E?B zix0tMJ_@PId(_pCM;vOPtd7d+>Qc%NzIdZhz_y40i~IFs4+}_{n2=3L`t`%Lx2s!P z8e=esfB-C1EKF7`2?otmht}ze^%w{f;Sh=~HzkChk^-fa!zf+4py!)j92W*pRGvoq z#=zz2uZ{;7_PSbEfcvzZ2cHTaal2{`8tW+YL7)PXQ_q5tbe`IJ8gxYZ!)Ig^?nzVM z0eg_B_7zo=tIcUQT;gZNkG1a?Y9jbWw9a>KcD98EQEbwz9dF(Q-ygh9QP?EF=T-w3 z?&xyjOlk{6JPU$4XRTras1eVt(;be|kHD>M=hn(@Z*pW1b91}G#G<}G*e2;d?Tiz- z9D3)@ORB|&#M@<0n@!5nLK!XYncS-i%ShBnKSG_yLEQO`RzUq($8*)_Q_fUsDFn}b zOk(~+LDkEJX#jV3nZRp&q|JG($py+Cr&YUv*+$AWYNMqMlauP-Ev5v9od<|_1aq@4 z?S1gpc={c!6Etb{b_WyV<(O|@LJ+o-Cq>?`-|l_>-gUzPemBu>&#e6-FO=kn(CrO-)O?ON@bE}okS>V|5Z zdLhLu>o)V>B6WQ7PNf(4tS)#A%;g z&!Q4N*U)hB!o6G4k>y7oBboZy?%^Y3?_@q!Ay^ficQ(6uvLu3;NTb5pzZF&w*pHcfFV*n3$y&)KTU1vP$ifu%;-m?oYylCO!L+4+9$~l50PM6V} z8KSQnSeEM>MSc-kpMSy3>y)RQ-|3&H@4nkXD@g>zVF9p4R92 z+y$39=BRvKJ7CGR&sm+TaYLZ$*@|{~k}V*)l&jv%>1_e;IX+MQmis*TvIw4-Z(j=R zBwK)g0tE$01Kx)%0c|r6jf?CIe9$VSu5=H6S{8XG2&{6P>%$hH41qR>a|pQvTY%8! zHC_KT%T~ygAfRU_z(=$#O6sGcSI8R`$xl#iK5S3D_&<|?6udnZ#1ObvIZ8KM_PJn+ zYAFkUuw79mc$!ilIhU;d8hD>ss~GL|N?0I&yCR}+K6NOtn?2bTp=B696fG~;qDAl= za466@y&%%eP4LXXWYL)GAc|Jc6j(iS3-1ndH$4mAskt^*3YI|fZ(n*>elQ4F>aObINO@h16n}O*FZrUL~mq& z5=4DzfQ!cPun9>aT8-ju0%chQr*{-S9^MF!QhJ}cVnf)lz#wQ3C)&-p6=w7GtFIml zNkMI`4d^Vc6UXxlfpb{|pm8%u?YM@*`I$i?ur)4(2>PzNPceR0AS%pSwMa(HkU4ar zz7Rsh{~?j#Q(f~){J8}sgrseruJ%%8zaW1IoWw7QzAjIjKuJXF3a$(rucMS1HKFX> zHt_d?N{f2i?%;2NVx@24Zw3gmRnMD{%P2bry&ob0VXuK(!b|C8AHRMjeVc`U5Ze$se=;NS`7h1x{)` z0n;UrKH)h@S4mF)JV$~w(;xIpkmmh^=M+ebkemX}gXa`5iGuWH@LT{U`>i$8;@PP&3 z@k@5%F!393QBzez6>R844e%ck2Pgv+XU>qHIZZ)MPJZ?*1?9QR=g(15onyR2OMRK; zDjO@yRc2;(EKw!Q^9-WD zG5;p|Zy&^u01X8w(Kaaw2XKmpgp`Ja_z7SG!%8R_ZMWMp8eKUfZs(VV{Yo5;;GwD+yaIb1G_2E}GjaNa6wq|@zN=MuAV4L(bG zg`R=&>NRd2UOs+t2}vnw8Cm7qDynMg8k&0g28Kotj7^}nFgy4|dk2)8yN9Qjw@=99 z&?jL}pM}4Odl{dQ`0901W>$92+uXeTg7@VWl~vU>wI7BwRd#(4-9@C!VZs& zPEF6u&do1;UtHSQ+}hsR-P=F-aiSLq*r|UWzcl+Ny=XwaPLYw3l98Y2MRLmXL~$Cj z)4z$FxpebBxwQ)|hiDMR?UupK2 zVt>Hy}uk#H%U}iGuO#Jxs zRZf*b30!sMfaB3Y?72wvSLZiDDP^Sjbaj|>byiD^Zjm8GKu4GeY`8B?(5+vHpIX&5 zMQcU0#ZHOPK=K)`=f02jqMO7Sx9z$gBx3@7zUmF=4Mtm1H18Epwr8A4cZ-9FKOj~5 zq|{nhJ)QelVjTWy7kkw|CiT+Dby(f3nXspHqxEq3j-!rYT9;13w0PtPC`nKo7qz9& zW+0>AouP_V3tsEWcQD~IU9GbVs0+QTMgoSpcHHvYwT1R0+!=Xh6P~IT;``2lC#R3aZcJ~D69(fR6x5*UbpjaNAKJ^{N`mr4ZChmvD+j6Qh9%KH&; zRW@qb{sCBR+FUVoyswr$z0cySk&PVZy8i zdXIayVTDgYtoIIquKP$$HRhA#)XV%sjue`h8J~&ug~v+ob`BlYRwn}E(0c)Q$L2J5 z#{B*H@!>~8MBuDqJ{=yX`1w7}m0n1Ib2lm_1|JZ=px>&ttZB68xX|#HE^it!#mp=K zS#>X)eQD%R1SkgxnMB|~fC!A-|A#9h9qck-y1P)pf zfoqsU{iHwO(>A)_Upc$fiQp)+E zy4ua~l)f%H>`u^7U0vJWGu2VSTnjc@?FJLq+ApQ}=n)yxq-gc~X1~|@BdAOUIldJ2 zFD;t)&CB%2NPja}4R^ck<*O{MGB;8p7(B}qHW+VFMy@NC{z8x*}PjM{abL`AIk zKCAS_UmV4mjpIZ2)+`0iI6vMY9Wefti*6420Wdlq}*lRuN zr%xDLUykMY?_lO#*w&Nw!wA7_2WONB+%fywe#%7PCiPJW8xf#26*;<&z2>I!VPNwU z$!j*u(W!d+sfFfaqvpU-%SScu11r2u{Su*3=&h7I!g{HLw8`Dxc+);sGicPp{d^e} zPc#t_qiQw@9m<$GG%d{c>qrlnA3ftddjV*>X_0T8HO#eQc#Z`#iM)?D^|*4W4R$r* zPUJSv;Gu!P=_e15ghH;^o}11X{upJvscI;1W!Gu<*%*~+hr9eQ1xNeP_<75B@2jKF zP_dp_IiC3rN#3y4DEMAIYW{ueQEI%2{A#-qnX9l*&_oUXvfrIPx7EASc9j@A;U}G{ zkD=G)FqPh(PmheCg*b~gBwgq0*|7$jypI!1DYT;%jsiU%i+Zl^Fpm#P?RcdrlJ(wW z(v#_VWI#9VrhlkT1o(Q7vy=&bLd{3P;k-pLT)dg#z&|HQ@w!gvN}a|ozDmo5ZRDuF zL5sI%b)@Ge;d>$B%DQAJ_0v_Z!R@@!ZsZnO3{&aYBbY0y2QuWAdSR%m=a4(y@ys#0 zF7K-+RJup;ZRKOxa%`g&Q$YXw_vUPGR)w^JdwM#DB%f!CWIH^Fd=8Mx`xg+w7MM%9Cx0{E&H&QH{Dc(CTG``(m3m>47d-8VYm|N-E$qMO@9<=78Lw88e;0w^ zG99YZ_RY265^izo?0eFc&m+TGwp)6(VMAgq1AeWj%(OsJ^uD_MMSuUof(^mf(-Ft2 zGLEcsGc>2U%ug@ye64TMTgN=cuga_0E0*S}KB5myx@H^etx5`sOLG~0R~(tcP|e7L zl*pgA`Re`oe$JJI&p0*I(~@M>4TUB1#a$an;B|QyI0DW{iY@lR>>@*nz<0Xbz;9Q< z+qHzzp;GfkZ-atti?J!c;n$nw^3d?joY$%jJ;^NRGK*!*_0@ao27cQR=jhzYjuuCX zGpLhuMt|Gbx;o=-ZWu`Ap!cwfk2zszcz7V#Y>gyZo!uQeTCX~>d^h;k=eayiMw;~X zf<%we^Q!}6S}?d+gDC#dS!sqPRbL|k<~tb*RtLV`Y0*4qSB+}Lb0@pX?vl}T7m39# zn;I&2KaM+IaoIP(nTtvBeHay$S)%X%z$73*#&f02AHP=YBQ4KU8PH$hHrhSvZg8F! zGQ8-_R<7~kPHOR>udk8HWyl4O7pP@}G*bjZRiIKnug4kVNjh3{?D>hLp?6pAAQA60 zZ0;{|j2P*Mm|v1Vyo>%i!s6dri-ODDyn4&PCHUh)Y`Ue-Mj)Nnp@F#|hrkLEz*2uh zu2mlzlnEB1xI&{=R&-FDMrmG!5Be+53-T7(8NIy25X22!6CLtCp{zNda)Ad`n|OJ`hw3b zZMzneai6!uCY?kMehls@YNwo+fkikedORYDi{5G4ANUlETTxWaaYEO1AGHUfbuJck zChMo>9Q&lJ<}xZeq@T^b)|T$o<}@j)JSp9gQy0?tSaRiPc+sq~q}YWgj*lgDOIuU!#s;g9cWsXF^0xrp&CYVJ8 z;7MA&1jdxGqwAJGLIY>phye6{`coM$B4GFH%BT+YZP{1pU0{gq_~M>%uaPm{Rn zQpBzfr>&j#gx$)wphznpEYdpT_-&_5LtnLr*GSr|50-iz+nl&K4GGD&H;Pr>Rc+Ry zdNW=x-9s+@+1DT;nc48^Gp9yXXPF&|ujej%;_25HDh}AIHhq9!~*t^j|`LqwIU|Pv*cfBpxNEI zu*Po|@9FHutWtR}d8|wrE1(wBzBU>bEmz)6=w6J>VyH+6rBb3kF6rYrH2ger;8!<8 z&RY2`en%gXGx8<~_Cy%dWH$>>n{O~EdDRysU5FgqKp6#S%MpT9F6+tvo*B*y{Bz1* zS+)4_W1^oUQ)BMI%jz2szQJ)x!S!N|ic|xo6~{s*35X0=?k&l}lJ4xs7bF+<)qL{W zUJrk7nwqo7z3v~NLIlY6d33*2=9iS@R=D|kL{g+a>wqZ?`WR)8jC9Pg8sUBV;BdAS zZzOuzU`JcmpL@m*)n2dibSgVYc|p_8*s1_21fOn7krI5I zV9R9J8VnS(CMPoMd3aGbraw*(!dI5|B;89djy^PchHz(I!!tZ*cu5nizNVIgRL*aL z-LKMV4~(*&*mvsvR8EB(;fcO&$xHEou3#6u`xf~>}{rFlQ zNcVb^%jkN&W>B>E&R&6$(fbFtuRXh0=7|^S1Tk zb{@V$4#7CYn`V>a>Guhqzq?x^R|LoNJ*pryZ2461^mdvKY)6D@nZDofw&Hr#(Ic&x ziqPFMsVWBt0SL8PZzh8n{(&$_mbXe;tH{F;>L>B4LHhLL*EKt-OW*rx7`jq+ma%Xs7 z8!QONM?Pj?29$D)a`l71HA}RFQ9y#+u}Ajw$6_7S`vvN|SS~05h++HZR2MM+92F zBf8~1r&jgMhNfx}C}Uc9eSeBhFBsOW+VBmyR{uaxfA5oYWrcehdqbPGml9Pjt0i;unILbF1f z4l8DHla~9oE>u&i2J)^FS1McH4AyP&yuzS9kEg&DsCeJRK+X zi9q{yR{lsx_vAikPReQ|hn8$6b6L+Bg~HhN4$#iY+AsD93RQP(M)tOTzkq7n!)W3w z>Zz|rS}rPL8dv<63#sC7i5l?uUmt4AJ%>n@k}5a3Y9dfEi8)Y0kNJL$NPd+WZiNpH z$JNN&6a}`k5t6+z>&(!tof6r-PizkxYAO!}Cq)foJYT2S#-`ZRJH%g>@b{2T#Pf9T zG8T6xrM^&p=+|-O#w?WCDw+t~H(06Ys;szSy^uc5nmbYQVDXR#I=?VSz}M^*Q_F$R zJRfjqq~G+r1l9*hniAWdi^pP>irO5u78AHd!x&#*o_HjyR73x8$H#BBI~+BssFtK_ zb4wbh*LG+^c{*Ksbn^C!q5`L>cjuqE$kN3eLoeUI0j>@HYe=hp zvdQOeQj$fiTatg~ShD(X_iy)RU$x$KNl8iCEGBRK5c9OiVyz#cA9W3kN(svVtesx7 zMpX}e+(rZ9a~mO?@>dp_E^`In3TmUPy!JJ1!a()D6Usy)BfIw;!&qM%dN3$yzLKeu zFzjbWE#$f#AQF^RJ1sLrUG7A-;HlG8M<4>9JY1F?ZK3Ji*CU>1F|tE3_0};tt9+)t zN4*v~5BkEBebFpm68i6wHjQsQM+9xunRFrUrE4kE#7p3}=5G1xXa^>X@GHW9Wd2JRqH8y{+YNM#1tvZe(@^-we%$&Rp zRqpqk(U>WLARCR0Xphl7X~rURGrn;#^~)AP(=bK$^_`(a`%N9i&&5KNk~Pp2+imhn zQ~=YuM@H6h;VP|3b#gf}q1z>Lr!&T6DOyr2^EfB-(7)~VxrWN?cg%!%_YS*0G{oly zT3MR;2V;8=ugA;SSH%KvYn}^E$EunIEeGLZEwH|@YeR7^ zHj%-`RuA>d^yS8F_5sYs$Jl=|ymeqhqevdtIJ74x&q(-Imcw0Pm84v$`Iw2ikq z2UK<&XD{egzc7eHrWCDw`?0A}++LAC*Mp6T(G6_Mw=@G+jVP{+SEgBFD+_WrdzAQR zTU7(_91XefvM_Nc%x)>mhSbwa+G(aNSkX9BV4U@n z#VY^C6swsM2g}P|nQf*6oK;ofQ!I9uXgTs2D4WX^D?1Fo^7zwyo0pyw8rStfI%kGM zI9vZ^1oC?w)0@%#hzAM%YZ@=at3^X-fLT#+dDcX4F;f7JE8hpUZx})4n(z z&}RrjQ0VTSIfbf2Z1R|cp4n3R=!LRpo)9b2YDlE#Zh@Q8^_*_M1_-0LeE^rbIR%Ide`jZh0(*)(3;Kq%S&R_&tf>66=IFFd@)v$B zvoR)Wn0S{^o%SK~=-1vzZ|3*SmGm-lL7*QsYv#hZprY%r&$Os1D`zzKFqUz|AbE>9{ ziz)uRSGCcc*?o0%$Hh4}{f{%|ywMFhJRZWI+{Y9kSb}X*hnZ{#J6P0kftjl zW4Kpytafv;!p(b8gKQ4pBTh5g0DC2QISgYzj?Po)W~b04gL1p12Nw80agXSjj2}-O zUh}Un>^M@J7OMK3XX2k|w>XU466@OOg?Ypn4j zigB4$lJ-BmcW{(}p}f&rZkvz#rb7d!Z&Bv$d}Mb2?5f{-H``HXJOG}m%ooZhWjbjd zzb8|@Z(W8uE=vns0B`fz}E#T&gN&8y?J^>QSL7F7%TsapO>jdC$&Ms< zw=zekH5Ke{86N5c?@;(fq3aqv7YHVN+qsHa$hU0V^P3PgWD3`dryVR}!TuP{je|<< zTl3uEzK8ixr@SpO(#Z_*yu4QC-MyUJu2(i0nu%PMuG&6y;FzRN{FmX<#>#MV1e7;>Q$suaB^!EeBccjAOaD^RMeM^5f>#|>WnDEaTKxo z%->i){lG>U<@-sNRee}rZT`$UPydKyOpS@QAI&%CtC*2l-7eLwf7thSNz2wpoBu`Gt%ph4 zni@e&CN|$#YkC|S>Pt=bJz50UW?s*D-@b91M20r%3 z5#?&^ZjJ)^9_#xz%bPL=h|cl4w#fXI@0!lzoG&*L>JifdHW0M>yn6rG?b~lipLhGx zwsF*s@@9{Z_eK`#8gMTN41-az$fkek(RklnNK{^LeK#7N>~)<8^mUhMvVGP;KSxC_ zg6MKsm|381ZeKW^`jX%eJ|V`9U=V53kemcAVC#(dDHq>AsY!5W?T=E|y2}aO2g5yY zFBC?__pQhp*1xs%o`ly}? zZ+)y{Oz;&fCcZd`F_(H{>{Gd$gbmipg`uwLIdo;OCuvgcsHh1MXxx$Gqo_5H_3OUi zG7w&EjSvocpWd>ha9S4}a@gua%%I_M?vE_Oj_<2S^3H?DDUw?XnghPE4w%jJiR%QL z_ip$D`~5(ZxWikf_-${4Q%bsT7NY(A3uKhOxXht2C3qweFn8myrl+&B@(ODirQfwH z%=Jef3w0z>3v~u!DoVtvS$r4hX5uqS$^tJgJ@QGe)gdS%6l>u;Jo%dpV|SJZ_g)O# z$PDMdAe{N%1d;yCD z*6Mg9pMt0YWXMlws&pk)R9z7}zxJvDFN9prYtvga>5m%kh4MCc8YmPRMHkMyNq)I` zzUViOC^{PFQ@>v(`C%yabcYFnEJxOb3*gFL-&)A6e>BF%sq^v}FUYx?Lb(~pGJagR z!p1$`0QXyvL)dr4vrY(N-eoQcU=LmeaHa~nFTaMy!whj@hGW#71K4n(SdX#)*I(0EmFmoPWvW@yhC$;_J3bkE$U<7wtP;P)VS%J$ISye<8fZICsz`WkseYe@?uSc# z!Q;O{gL-)u&C)-8R-MKj3axm)XhDA-pY1eKLNPY}z^avY9fxI_IY@6ErDD)MV{^ef z3)ud;@=pPr;5t2IW%7HPS}dAi;xvwCZSJqN*0>iECegz@KzsLcsv^>R6t^eBGGTmG zgE4hD!4CRDV@cy}pNht21{lI8`5)35d`RFd;yvgNKx3b`7|108dB{D?n^Kweh2R|l zCCjQ03BHE6$Dc=k+RP60oT%p>x)RJ$bdzf#d@(!8B;6>!FZJpL3A$7waN8(NHBgdU zMzu3`^?__ym|Nkb(CQWRE*yzxfJ$#Gek~SXg1?YwUgO-!BXn?K+)7#BHdy5N6d;qF zuxq`V&Qa={n`1fl=X@OBo0teCl6jBT_K3QA%kOZ%+N&n*ONAW*ug%n@OE083FXoXxkz*B%&Gh}9r>hGc;s7n#r1&)p_{PO(PKoHSKoNoUfSeUoJ^N2G?S8b8s7XGVqK z=mza4cm~|5o`jDcWIHE69iE8{8uP`*>76xvS(`D?zLyVuxBt{tyV%E^?%Td`M*HLB zVr7}OOFTq?#^mDngi&k#&^c>h7~L*I8tn|xJb#NlY;P4i@zySSRleqicY18=*)?y8 zuZeA7xB?@<3D3XZG?m}r;Bq@j9wL-llP0-+18(kJ$8!7I#pfNc`Qr=^ zWa|VNs2Er_zWN-UXo8|`x3aq*wNGXRk32?vN9f;+aKs(89xpb0G7*Qc%skim@m}Uf zc=JYLWF^~$Wf~I`WrvOWnwPH)o^{xMRhdwQLu1(u;qdCr4(A=g!^CgDnwQ*|^*R?5`hPA1gW%HMC@AN~| zcAiWGiDImD>$&nzd^KTz)r7;9FV-M{9_H#-V&w#j#XVV4V7SK1#hj!#c^3kALlLz@7uP&T~QB6x}`{6m)<7@ z3u-WZ{A;^FCC^i?c}pFt9N=DLFMIt5 zZV$BY$U>2hg4VW38OQV8J)gV!P#*+T#+E}#ky74E76fpFxmmM&IX-ei$$BYp{KS<7>62_B4)&ic zZU_aA2jG5UWuz;NU0hIHP*_04%icqjLy?kQ-qqGlR`<5*9}wV`0>?u)H)mNPAx}?F zK~FJ3q$^xVL`FtNNLW-zR8#=u5I}i5xmkM&IH5RCAbw%ohM}OY_RenhNGJ9aOlupY zyPEo5a_?HfztPO zh6(AyP)K)IC``oz=H$lt_YfyLssBPaQ3-DE==@VD(0KpQm@V`#K4*8=M?ZONp+c}n zFh>v+189^7X)nXFZ_St{!{m#%pjMxw(M;r)cvGUjoS(w zC-TbLBBA!SvOh^tsDzz}q=blon2e;YfVec+A2Ki*X#pv5DX65awT*~1RQT_pG@MXw z)=p5^2^0t}XbqW%{w@3d$6Wt0*S}?fe~bA)qw7EB`nN3bZ!!O8bp1aw7v{MMG35TGOn=x9-yn$jW=Y@WVCVG(kP$vU~EmS_yB zt2bhDCQBJYZX`#A)S?eGVvB+Dq@%>jLzFRzMqQ;yTwB-zE^80pti}XbLI6)CAV!Zo z7fFtZpvLCXZgnvc7lepgmc+vtBC(kh0CWJrlAIh#O&!R@6vM-lB_~&|qtgb5V*>-1 z)6XUw|iuTq>Pjt(3~$$GMY)R3j&{14x2H}TJS{UV+OWL z7Y?y|L@Ee1wG=(Q8XKn`LOC#dia!YZ|y<3w?fTb2WN{>3wk}U=S zN%mDL4AVm=!`li2v6$oqZ1dLEGEoTti~s-y05Jei2moyWFhdRy!Jm#Y(HBK5%p&5j zIy?YU4BV9sRI33v9e}6@5Rvr62r*)o4zU_R>k*jg$uZ5;?|^;mKL%4sU89W_4P%H357@rB`S#(DvM#Xga&jV3r3toOEzL44>4JcSgl0t z)dB~;$SFU~rv8-w0iHRtQ2O@?{?Ryz=*Sp}&KqstS<+vZja*t~;X!`BQ_#dz!@%v0^@+P$)gtcvOpGnmZf>-q@g5-aP3b}8Pg^97?; z(k8)D1(WsRaVlArIan)Ua+?!D=uTXow>hrQ@pOwyg=GtAk$8}wj{PCCR z);MjW(%D|TdF{-$o(v~-bvo?S9td)9a|~X#uRPj9{Mv8Y*{hm)x=n F{$GY#FS-B# delta 491 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 NLq$h9@5Y^n{|oYWL&N|8 delta 449 zcmV;y0Y3hMd+rI4BeRn@83TU-oJmAMR5*=&lS`81APhux|FaFYvHK=d2=pOhQdCSY z%5t$Xq32X80ixe^Ui5YOJia16eQaNlsB=?)LQogtM(QO;&Pyo(a-|em-I*B@*gYZu z$n5urkHuTP&aks~uzTH*wg-YHeb}6aA3l**j(Vx9*mUKWX#FJ09?gH^CbwB8SE_jeA(TrxJZ?BXep4;c1de zOGSFu1(<(oCK9p96j4(dEeUpsm_-@aQsjPsOGKsj_!Q5g50SHMM-3y6 zHa~X)y=Ck`;tZ2}^7h*0sOC5werlsU%we_3(=@pC-tkNYiDX9Vb*PW3F>=X_L>pV> z*5c{p#OQ5oCv|-wDsBlYCN^#9Fkxg!*8@OKP(AC5MF6}w9R@W7o*#hzYLw<4iQq{{ r;~{cfIdKAzHSnGiJBW84e?#LR4H+C{v{G#G00000NkvXXu0mjfAy>~9 diff --git a/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_3.png b/resources/g2/track/intamin/small_turn_left_bank_to_gentle_up_2_3.png index a1cfbc1a953c6aadcd1f58f324352bc384be7637..974fd978b2b9998217e5f3bec634a4c10b1809de 100644 GIT binary patch literal 14455 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

f5z?Zf8q_D) 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 lzT8NWsl51`QAq<4M|IwOYFXSr4PbzgF&9;hG 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 UPj(cJ8vp{ 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 MVW3`e>1z1@0_sS;BLDyZ delta 575 zcmV-F0>J&-Uh4{wBeUx%83TU;8A(JzR7i<^R#B4dAPDsSXPXGlRW>SUK3=1f*;fTw zKc*}jT4*}fr1ZQBy^A}1|88Hz>~h|7e(@K%^yA2K-TM%yv(M{~d`f5A0k6a3IcNM< zRqgKxKNg;(A5wCdk2CG99+~xlUwWPMWBW2Z9=BR`Ax;Ywqo08{A+DjdKG2(b z%bTG0=}a3m@k;UHGQqdQ9#7!@VMTYj$+9l!quH`T8nNz5U|oO4{WiH~;&^eHIiGTu z7gfi%GtpdtFYPgYiK}OGrrNv8A-#2v&;Ha0dfLWJro9IAVzx6J^xm1EhcXa%(TDif z&hYN6#k)I;;OJT4Z$U=?n7;85RR1|q!RY*(ywf3V%h70UblaC^yeM5izD%(*;M?|z zEZ(@hjX8F@9}P2(O&D0WgrnQbB1|0rU3?>YSl#c6o$=o)CHcQA{{RI<>rPi(MVkNs N002ovPDHLkV1h`IEomR%#Dzxrjn3w3)!1W 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 a$)+a5uagr)?LdbBObsnhm7P3y`F{c9QA!X1 delta 548 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 QU}OLYGuvaON6*Ck7mh^$umAu6 delta 553 zcmV+^0@nS*UeyYaBeU@-83TU;14%?dR5*==m20k}Fbsvg|E=ASq+JW~D^!|eI#(JI z!{kR*^cg>n9YYl7O^?Ui{E52_v3ZZZ*1=+S$JJ$0SfoD8bPhlN9R6DQM0P%L+_m>B zeYF6lVoX%(!ndtAlZ_&R){M74@k2b}WXpL0-&M7&oPIgprj*wXeN2Bp@IGPbq|1P%q&AuyMm!#V3gB$9JcF6ub8)s=5u}1ZBxqIv0*F)%fxKk_dX#5Trp}TDP=N>8**GLx3@`&I z4^U-{%t4<=94reRWpS{<0perLgprpu!?TB?r65d{_`W*85KMpZQsXj~L?c{dk{A)( zHqIT;De{2Ml4cM~#5eE}B`gj)#KoNAZQEB3qDg`|Cq{(xCaw+;VM=Tfj9Mb%x64vA z)@{oj@YzSgHcC>gJ+N{-poVLWf7|@~m^)B>5zwX2=U4|NYW#LNJ_@d-T}!~SqlXg? ro;W45ca88Lo-7@RYlKHm<==-tX1@d=bQLEx00000NkvXXu0mjfm(utf diff --git a/resources/g2/track/intamin/vertical_to_steep_up_1.png b/resources/g2/track/intamin/vertical_to_steep_up_1.png index e7d145347df3b256273e7206200ea03d197dc4a9..6f5bf7e2207d05de6f545b12cce22841ddc35d59 100644 GIT binary patch literal 12189 zcmeHtc|26@|M#)4r9!qCSt1j|48}fp$sV!`(HKLMWiT{`m`auqMUo|CNfDAQdu30k zgzWp0J!_WCbExk7{{Eid>-9YM^Ll>&-Dl=A=X0*>bKckI{kcBZbnu-S4 zJ1ZEJBcQ%#vnRY%bo=`VQ0M!l-v@Q^UpCaBE<;5P902!8puj<$1KekWf(!ZCRyC-9 z0EKb?qYY|%$iMemI{N1Y;ZicvQV7srxHKH0B(0z%EiVWvGBQeFAr(NC`j72jxJ?>Q0KQXoU&i$pA@_-fK_S1LD z7s@bjNLN!w6KrUY2KYni1JnUVdU^(WIz|Qt1|}v(W>$^^tSl_7JV)5sIQV%X0{pzk zjtPoLi3tjw5=C7*rK4wHWMXCk4T=x#MT&-+mWGaw zmKLn_2kQaa!*oZE%bccXH$pQAd2qmQ+@o%4bB1tK>!v?PvsU1GCZtRzGEr4(Ms=e|uLzv`SSGW#Bqq^maA z?A$M&mTQfR+jwf*^={JZKv9tqf_2MXX&HLrQ~z>0mzYCXk$L!K-ggltF#!x!g%lu& zCDr*9yj*`%psRhCqb%LerUqlOY1i*$WM#J$_>5ZOp#X2gDx}xVP_aK6Tse%i z-;1Y(0edpAGuZj&srFB;8vPbF2;Vmb4n>;+bS75CaFnU%Lz9`dS}DoQXizR9{k=;FiTyE ztRUbymcA^6nI60|nc5^QxZK%4!z&dio9jWaUql?@xfOwEgw#*dIo8~9S>5ST=l_&h zwtSz~7_bGJ73XcezR5{AYof?I^rYe!MO8&vVaZX>s$`BUIwN+hLPuN*8h6%WcCPr# zD_@j;&TF}xilceCJcI;(%q3s9;3JJDR%wp*4jIIc;`lJ6f;=XBU~MC>u~r_b=SH6; zLeQVud7cEkI_AZ{VsYzjd%_xjcXC$1(PD{MGJ!UFCR)py+W*PGwKuOyZ3n)_!T6t_ z5jW^DT~_+mT{B`59QjGL&!B!zan{BzaxFZEkE7zn{kMxsk3~(tz4#WGJZxSpK6E5S zG_7hjGbeW5X}Nn%mAN=pTq(MTpQ}%d0wkxTrd5XQvP+V8$rNCjmAs?R*)yL;O6jx2 zPmnz+0D?J8JdZH(b}wJ^zA{G7UOn8DJ>7jc2g-Vrh4rRHEYa>Dc~X=DxYVrsK83z( zG-r+~$>+8mT9Q*%aGjq+qh0YF+VBbCKT?zY{3W!rtnV^B;3AIcKuz+b$brx4!Ri4m_w;c8~GkDX)ubk3W#bRE`doW6_$;kb9-)q;3m#@92x+=3S ze6A@jzOY!C4{hyRb{mKg=XY0y8WN(HwyoA?XEz0|dRs{(WRiV1Hm?|^g-Ng_FpH;M z-P7y1cqN z@CqL>COG!E-NeRn>S!@euAr!ZQ^G!pWF6VoqVHPP`aN9TA7T`b4j%t|Nbc z5jTLEkn--?lc;PR-lhcCG0kE4%hz>>d=Gip7L#$i0Wp4v-%E;`b^^||4RnO<+jyXLv_p@RIZ9?8nr z^;I{p1IZq(I@xW_Pc^t{Sko1^5(+Qx+Hk>=Ty3V7;8#=o`dgWb6+9{6Pl_e@*QdW4n3&*(8$X)Q_#1 zO9LycyK`ecYn&G9CE?owt-6=yi%nA5AOBse9ecpKGBHgM? z*7t7ryS@56I+AJbLnjY#3kLQ+ovr5XSgb^O;Ih7U9o@(;br?MJq+da7l1BKthL2Ib zv8Qe}zO^bSwAP-(W?Hr~x-+RQaWvE$+O6Gn>5SWEr9`X8P5+@w77rSuJX9Jt?k-l{z9{+2o558#m>~KQ=5k6*NRFj7wxk zL>vA==Qdr$(!&G}hs5})VUJf2b^D=&(CrRrxx1R@Q z^u5pbhFAEExqe~ho7l3r$mSGOOBfpH-wG{L$Wq;U$hGnD4cfz-N9S5-!kO&aB-Sz2 za*O*ufmXW%HIcJ(yP8e6{D=!}Op0v`xxSiJ{K0W)whdArZAS++G#+Tsg_^uR=9Ei1 zfDO8JT*FT_h48j*R$oqc%lotjhk0ZB??FT73kfEV+k*F5H^4k{d^Nz_#ni= z+b)&TZsSNE(p`0iisz;I7!is-4JszHYU^9E6dliyGji< zYRE#DcN9lj6r)F>`q6c7&*I_gHx(K3i$!*YO8wSf1kWNFxD8KjIX&b4YGa!-I$IHb z-Q`5I_*Hc5*twXPwfV5Jkvme$+ZM%LQrO#L{@cOYm>}o})~lK7^b?{IdAsFd$#MqS znZY-8XV%R-sv}nQj|Y6@-5evhimWfrTjvuFWH6%rBc-!$`ZQKyaZd~0nP~zhJ2Q%l zm;{`lnR`>C$c;#ay#9-d1~TcK3ssP4)uPz7X?Musnn^wi;7VTC9l5fe`Fv<*(4sGE z<=XSPO-_#_r&NKPPdoJo`oBMS_36%+xYyIS3|^WtCVpR|l*p{p-H^-0oyhv}YZO4r zU?Ip~rhBl$Crj_D)bL$R1r*cVQHlZ?Zv-s}j#i(z7 zrbmg8E9Kf(=LeDrNtYZeUS`|wJXy$nvY~w6zG?y=UGSu!@PelOafsL{1rdU!Qdf>^ z>T9XI^m`l46ER0_*4;JqRE65FkIk94939xU&hzL#@u~(=6F)LbY(UyPYuusADLE38 zub3Z#Pw0;@v(UYj#s6`N!$<=$vVSADcQcpuGRO@-KkRv?S>my99uswHj<3Z|@Tr>F zQPdAc6YDsAG1(Nt$JK3)f}+Sz2Ns?sxs4}9`}sSwG?-|t)0VE7wCj8>@(Ui8Pu8C8 z5Ag2DsMfnpudtS{YINbSVE5i4_d;k4( zzpvPjyvYZ<^G=i`3~Jmk9uPh&cu4!rv6VR}vR>d|)VXcgx{~c6DRHNt4dEz1wvf-$ zJp0vRM=Z7V5*}47?1P+JUN0~4s8B`BK(n_UJa+C$I|cxPYxzeqHlYOL&2`^^V2-DL zE)v1QS{>!xrSbJXPH&f5jttD8u9TDoU(0a4Maz1~y;ha5X_0D8POE#FC6nhq-_eol zs4WsbaumyKz#tHxs~i_8NtdeG5^)K#QE1z6bSG(k!B@fR&||{~jA^-3&ZS)Z#8e)B zCD?b1m|60&z-RL8jNK2$?k9ZP{t|Q*H8IUW?GN~HE~Pe?9M zy<9MY1%jQOUzQ8wwW4JVt>;YB!l3L^e|Ay%5Hs!pQQmRkGSQH;v8gY#f%@KSg;|?e zqQC(Pa95>fZHc_fnUhsEJ>ecvz@%d{^SEf`OyO{YZ$wgO(Ve%Ug2&BB00l_#&2c6j zbG!F~5V88zs=$ynn_5%dTjYkVlv*bK^5?Ec%HE&1UiDhpHmIei`h;z_xWczS9V&xO zZnVin-QDiOE!Bj(OosVAGN>QDQ~JUn%ZYb?-0j;WW~*Lb4yZJqV7@WypRLFrpJwxa&zXNWwAGle2ce4xX~!gCwwe3UV=wv zLE5q}ytT5NP!Nw~VyITk)fs^+8zi39O51$|?W;G9W%e*#ttc3bDGA{m3pzQHh*j12 zKmk73RxX#rc>4R1p>DZWB>i#@Y-rh+tV`nu1E1~8KFWGO9`j(T$x+Vi+}X;a?VDiE zkNlopB){4%bHAhj`JohG^|)<{Ejp9jWZ$w|Eeyg2`QrX~&pjnnl3B2-h+LYO@l-p} zg(7)BAwl|oOj3Y!ug10K{_N(vja7b8!fgXQ`W5RN461CII-~eaZnv6Y$QF=&_p5JE zo!+UVNaKb9{^O1erRSl%B}8MD_xe^Z>zZ?ItVz79eAo>W-VR=vsETyDZFROk-T4p`H}qbsSNDNqpU!5_)G8<& zczmjyQ#q+(iq$9XL}k2bIXpLSy$f0TkfNu+O#Yg>8=L8!=H}F;_VMd>ZpxBC*^aO2 zmguWU{+w4?iP45`u|Z?1o@3g2lO@`A@0QmWX{VG4AEK;g>pthNJv7OfEA?|pDCEzUgIJjF@!edyEJ_Z5~dwb_F3ob7fB3O7&HL#)Zapu zH!0x%Z$M8@aY2xX{)Fe7?}}R{kIZya5NheC!Xo))i-|iu@B6=7tr&kp=o48oZ#^71 zHptA;gUU`6AnI|ls-fN6 zO5L>yiwpBT{2cDzvJ`b$28o@UyTSa8;j3SyL~ixxjoUwGHGIP$5NrRD$H^w*TJ2`% z?Q4=FxJi;jVgEw?!_AiwG0lrcwY$}*jgXamEy+iU1kV#CLzB+Boc9y6JLa8t#q7{Z zebaHCQ&akLsgVjsHewNw`D)&(>Hrb{c$U{ApUJv2f#uimjt<$}zb!%M}3V>{d?(lg;Y^PXtA99I5F_3a9xIt-n zGCNmP$>7vh{{cng$K0(~@;4tT^svm`Q^(}<D8M`)-^rbP*fsR}LK~c_-ljCJsiZ89ujIs>6VK}t)#1#285x}q zmtL3-r#*L8Kmh6^QK3j&)3OjEgens#Hys>SUGg(^98>3~)IZIFe%=UvRC+E_+4?#T2uXgIOv$l}x&ubMIcxl$pKaDOgznSxD z3P@4^YGIyXUp48kiDoiQ8{;H;dHTA<$y_#7A+M&>=T1z}30-q{=7X zYf*?ZH1_I^Zpl|3(H{LBMKvtAgsWMct#RXS7aBw`wmEKrk0g0=cPAHd})n{h`b&d zoUVrG*oX%IOxmQY`JT}6BJph3^~Ex8sn!u(;G)*%{V^VfgjsY+ zBEegwyK~bk@bz zzzUr&MT`I{0={AG<(1`CcXfya*=4FC**wb|Ut{`W&VQ=ySU0_|w6Sol8Y%NY)YIx? zRku5MdtuV{`y%*zf2#KBkadG_@cO8%ZCLaRnkD*jNn|6}QF)^`r{MkNPH@#XEe4NV>gef6vcdUUDzGqes!|2mFip4n95rA&>@&qZu-kemiV+tw8Xoo z6Y5cMHyMnYXJ<_-70K%rjv*~Q<3dtICn9YCKUAzP0KDAZ3Y;67PS(0tv1{cvP$5wJ zsoV}$Sg>GU;O>J8zu>y;`_R-#!{OR6IP8GG2^FOWSU!Q30~a=K;nda7>!_;>x_jas zaV}T@@JaH&r>b51$FX`llVS~tgXZF+hh8Z4XlNXB<_tT3{4;Z|(nFiAzl!FTW<1W^;@F4P?0AC{ zbuMlitd&Bc0<8A5hvP3aJQv9vR;*qa8JoQr;Y3Q=CagXqg;S~BQ)pu?)U7m7sk$Ji zu*e>ALC5@d`|U>ka=~xH-JEel3S9h0eH_2M&zK6Wt+Ou(j6LWmY9gF06q%i1uz98n z8@qDUDc1&*>$l7myu7u1q#Jio_%_|CGdCIOnOLV`F4RUr#GeQAAnb?jxFwy!7F#Mi(SEveyy zy9yUlV-{5LbZ}HMKCAf)0z6U`y6olUt^|V-i9{(PLJIHc1d~xzRD?;xVQ{!4Xdy`; zxp|>|B;5$Ydk{Y{&SD7|Pn^3K4(}$ohl#ewdwZ!034!&3zx{J{*Vq3O-i`1p3Sc~7 zK4^ECjFdFY)fM*lGYDQ9S3!_p4*j=h5KKw#SeP-EfcN&qU^T8{-MobV4zai5`X|C3 zB`2J#`#vc!c>mFu1LjXVcW+OZeH#Z14C{h*1wjd*e=`4J?}c;xD_H;G+g{B+oxeK* zHuop~e^~$KzHba#>FX<<#bdnp8r3%tb5Q!JDq=Bkgo2EuyrP`6B)Ard zkwhzE&a3GF@A`*)RPm+|EMaoLbIw(p@ zDq>{Ol8O!(tb-gJA)^3?{|&;>69;A`+U4(F?Lj$!P*^w|Dd!*$m&7`vK`3c^w4^;o zPF_+Dj+r>m;aIh>of&tDa$I9IHR z7kV#fGV+Qt2suRsMOk?y_(lF@WRCSDfC;yUxxb{oU*mvL(gYFFVB+9h(N0*HyPMN~ z#a_24fn>nIqWAI?MBXn4xhSc7V$oiBPg6YJMOEm}Rr)`x^}*rffc8S4MSEev*8W_# zH~qbC50#ctlK#nS4^AKNfO91MpRD%=kDv-@4|cgWjsUh#+AsP!qD-(JKaYMMy5RPQ zlAz%Jpin|%eo`QyuVNkc{RFXoR$(rq-JG!C?C~pIf0yI_yHr3R9<6|olt#-Uv0!G%$)JC-`V*aicl08nJ+Y^qz&L`j0@HKXC)CvQDApqDhFyPtP$b5WJVq)pa%7uo8 zjZRM8Wb$lE3Zs;({4MlT!y9vPM1VH=%u_y*)3YS*Cm~{;b z-)<2;L`YwZs-+YfLfJ7$KB5*h+(J1Eqh3KUX%ED7#}USI0vBuIHrjJ2W3_DTNHM4d z0_lWOCz_aqV=#$CVt#mdO-f38Y3Wc$$Kv851>nO2VsQ+JEH?EDK9d%x(~x?|n05LT zv0^c*V-x@2hQJ8A1VedJF^; zHnJTg${CvIhsp^tsYrBc%prHzBu;hLuB^;bPyk>700aPt0)QL@r z1WHairLWsi48S9R7!**d1@wXc1egF6JQpP#K}k2HlsZ#dLMVOdz+T5A0X=oV!jQok z!$l@SW1_UO(lHekf$i-%Q&a5}uq{3(0O7}iisCX%huD>h;ro=M7Oituh!q=gE!(9- zlmBY42%u6+TF4-5OAPyq=^++ZPtmyW&$!xSU^ zQ5K<{f=^e#7lmnb&Ym{aZp<|M=vF7lI!38+74aG}7SvfpAIx2UQC_N(<7MpKaKeLC za$>5ZWO)IX`xW*bcI`)EB_3U%+EkHP;;PJ>Sbk1BUD3M%h+k|&yGE5n7+uBi4xMfY?4n3$hOYNS>3KO+(fbTSPLoF@e zXl-0{mxtK|XutwF>yB03WZLY0l;@j9lfKP*v$ii*wMna@CFgj_58059Q?G5>)NXI2 z`el$po|K-oJuwIImx!~dV}_pRL9l%f#pcaS>Q+Dk;;ng-3InNiF@vyr{^nbiGcje1 zkny0A=)v^?I9-IBlk5Z)vi5QPvxY(W_)Tf9T_;ipb5FqdW4qeNlg#CfVGkxyUUASD z{&z1o$G-314Hc`tAP^CEG>k^hi$W5=7xz+1e>lHFStzvaCEEo5nWft=)e!I;| delta 574 zcmV-E0>S;AU+M~wBeO#)83TU;7)eAyR7i=XRnd;*APnRGzipe){gwg=-G{TGchXL> zHxFBBq-ur>D0*EhIUeS^Q@zoS36pVMaO<&k$ct><~a*4lLU(J$b4=mogB z^>%U2NC$49@{RHd9fkdQJw2i8@Hy{$mYmM+xMD(H)9z;B3I}~=^4EW^F7>RI$~S+y zOXW*xV-`2aYbL*n+dy|U;Hp(>mr&{aWg?dqP(>*$RyS3bO&)4Sb$7!Dhv-Duqe zTt|kN!WB%02fjYR!is$B{x!_uC70*p3|811eQ@{#`L9S<-Dtis;-h=Lw=G{tf6L}f1zqg^eydqXufzC4XfOiJBo9gLVc`e;{ zd*_kC+&d_swaojacp;gP*Id5Pz6N>8aG|&DGNvG-+m5FEfScja;#8xyCCTHVclgit zhP}cp-+AcQ=A`BdrpJoP_J5d;D^PwW(UK>bEFY8kmv6>{@fCk>--QD;O#gWY9P(1u zr3w5ix+8+MT4SJvneK zbo>sfey4n2Cl4|>Bl!9phxFyI0FUr~5KjLe&J_}8`(Egmc#-VSKO#)oICbe8^8f$< M07*qoM6N<$g5uUMMF0Q* diff --git a/resources/g2/track/intamin/vertical_to_steep_up_2.png b/resources/g2/track/intamin/vertical_to_steep_up_2.png index 14455f4a7f3da207244f765b5bae2613cb83880c..3404691d2847b2e1277f8350da1c3bdadaaaf8b7 100644 GIT binary patch literal 12935 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

70>ye8ybR9uM*| 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 delta 637 zcmV-@0)qX$XsHX3BeRe$83TU;S4l)cR7i=1mEo?XAPj_g|7SaZppPQ76xiG;=4Lmc zp7oc>P^Wwy(7At};l4br&+~c{nfsg)&(jhsvCP?>JCgB%_SEXzICdSye95zNhP*BC zA*SoG?bGic@I*16ZI!!^(V^#%uEruVowE!m9A~}@58(M29R^xeZ4!UC5b|yif>!nE z?oz^z0D3$xbmypzKY8ykL{!OCb&$6W&Z|RZSH;=^5L|O81e(b}Krra~R%QBR7{mu$ zr7=we@!3~pFb;-6TnK6b1ovW)Pbvf%jQ12_i|OLhmTocj{y3A<5ivExz*kMdWY#F| zy7M|283a|l#klH_`ig%sk2ixAVpgDDS zRYo?Vu!g8XVsi#{RgGQ>nFbm&rwl7evSR4tnR+h^V#<4idJ?A&K#&M?2k9K^E~tI~ z{$nr{5pou-29P4Ptwn~p!$WrfnO+b^)oVeyA~YMwN4a@)=r(`Cly4_`k@{mNfRw>N z%Q2&97!=H?wLyf#z7t$2%xTE2S3xikS0Kzo)rJrm4Im_WtgC>B)j)%R=tbeATRI;h zr{}T`79qlInhFb2`Y{{8G02+I@j__nI3ryw9R^<8YNJ**39^qVaTlt^hh*ruNscx! z#6G*BgW!>14oGqAk8Q!zVDCU!h%H?+GDf3XMJzp{t>&m;hG^BOM}w{2j(W57Pe6>1 zTj%3Uy+Tj=yVgAJdaXru5?fzupli7v7*me`+*Y%1`YL~WU@Ko_wQc{=zsdL={eArb X8s-9N#tmms00000NkvXXu0mjf<;E%5 From 0131a10bf0814862bd8cc90cbdec478e57a6e6e0 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Mon, 7 Aug 2023 01:52:10 +0100 Subject: [PATCH 23/27] Fix more glitches --- src/openrct2/ride/coaster/GigaCoaster.cpp | 46 +++++++++++------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 244c6f5ce8..7547c1a012 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -11753,7 +11753,7 @@ static void GigaRCTrackRightMediumHalfLoopUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_MEDIUM_HALF_LOOP + 28)), - { 0, 0, height }, { { 29, 0, height }, { 0, 32, 160 } }); + { 0, 0, height }, { { 29, 16, height }, { 0, 16, 160 } }); break; case 2: PaintAddImageAsParentRotated( @@ -11844,7 +11844,7 @@ static void GigaRCTrackLeftZeroGRollUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 1)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 32, 20, 1 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -11854,7 +11854,7 @@ static void GigaRCTrackLeftZeroGRollUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 5)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + { 0, 0, height }, { { 0, 31, height }, { 40, 1, 32 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -11888,12 +11888,12 @@ static void GigaRCTrackLeftZeroGRollUp( case 0: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 2)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 32, 20, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 6)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 40, 20, 1 } }); break; case 2: PaintAddImageAsParentRotated( @@ -11918,12 +11918,12 @@ static void GigaRCTrackLeftZeroGRollUp( case 0: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 3)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 40, 20, 1 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 7)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 32, 20, 1 } }); break; case 2: PaintAddImageAsParentRotated( @@ -11931,7 +11931,7 @@ static void GigaRCTrackLeftZeroGRollUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 11)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + { 0, 0, height }, { { 0, 6, height + 36 }, { 32, 20, 0 } }); break; case 3: PaintAddImageAsParentRotated( @@ -11939,7 +11939,7 @@ static void GigaRCTrackLeftZeroGRollUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 15)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + { 0, 0, height }, { { 0, 6, height + 36 }, { 32, 20, 0 } }); break; } switch (direction) @@ -11991,7 +11991,7 @@ static void GigaRCTrackRightZeroGRollUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 25)), - { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + { 0, 0, height }, { { 0, 31, height }, { 40, 1, 32 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 3, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12001,7 +12001,7 @@ static void GigaRCTrackRightZeroGRollUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 29)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 32, 20, 1 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12030,12 +12030,12 @@ static void GigaRCTrackRightZeroGRollUp( case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 26)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 31, height }, { 44, 1, 32 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 30)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 32, 20, 1 } }); break; } PaintUtilSetSegmentSupportHeight( @@ -12053,25 +12053,25 @@ static void GigaRCTrackRightZeroGRollUp( { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 19)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + { 0, 0, height }, { { 0, 6, height + 36 }, { 32, 20, 0 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 22)), - { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 32 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 23)), - { 0, 0, height }, { { 0, 6, height + 33 }, { 32, 20, 0 } }); + { 0, 0, height }, { { 0, 6, height + 36 }, { 32, 20, 0 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 27)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 32, 20, 1 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_ZERO_G_ROLL + 31)), - { 0, 0, height }, { { 0, 6, height + 28 }, { 32, 20, 1 } }); + { 0, 0, height }, { { 0, 6, height + 32 }, { 40, 20, 1 } }); break; } switch (direction) @@ -12240,7 +12240,7 @@ static void GigaRCTrackLeftLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 4)), - { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + { 0, 0, height }, { { 0, 26, height }, { 32, 0, 32 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12268,7 +12268,7 @@ static void GigaRCTrackLeftLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 19)), - { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); + { 0, 0, height }, { { 0, 18, height }, { 32, 1, 32 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12420,7 +12420,7 @@ static void GigaRCTrackRightLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 24)), - { 0, 0, height }, { { 0, 18, height }, { 32, 10, 20 } }); + { 0, 0, height }, { { 0, 18, height }, { 32, 1, 32 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12440,7 +12440,7 @@ static void GigaRCTrackRightLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 34)), - { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + { 0, 0, height }, { { 0, 26, height }, { 32, 0, 32 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12448,7 +12448,7 @@ static void GigaRCTrackRightLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 39)), - { 0, 0, height }, { { 0, 26, height }, { 26, 0, 20 } }); + { 0, 0, height }, { { 0, 26, height }, { 40, 0, 32 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; From ea445f7e3255ba7b998065b9344bd0b73546f9ce Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Mon, 7 Aug 2023 13:07:35 +0100 Subject: [PATCH 24/27] Fix zero G supports --- src/openrct2/ride/coaster/GigaCoaster.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 7547c1a012..819c850b6b 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -12268,7 +12268,7 @@ static void GigaRCTrackLeftLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 19)), - { 0, 0, height }, { { 0, 18, height }, { 32, 1, 32 } }); + { 0, 0, height }, { { 0, 18, height }, { 32, 1, 30 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 8, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12420,7 +12420,7 @@ static void GigaRCTrackRightLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 24)), - { 0, 0, height }, { { 0, 18, height }, { 32, 1, 32 } }); + { 0, 0, height }, { { 0, 18, height }, { 32, 1, 30 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 7, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -12440,7 +12440,7 @@ static void GigaRCTrackRightLargeZeroGRollUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_LARGE_ZERO_G_ROLL + 34)), - { 0, 0, height }, { { 0, 26, height }, { 32, 0, 32 } }); + { 0, 0, height }, { { 0, 26, height }, { 32, 0, 30 } }); MetalASupportsPaintSetup( session, MetalSupportType::Tubes, 6, 0, height + 37, session.TrackColours[SCHEME_SUPPORTS]); break; From f3be4bac0d206660ac2abeaf6457e3f182e90f44 Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Fri, 25 Aug 2023 15:53:01 +0100 Subject: [PATCH 25/27] Remove empty lines --- src/openrct2/ride/Track.cpp | 99 ------------------------------------- 1 file changed, 99 deletions(-) diff --git a/src/openrct2/ride/Track.cpp b/src/openrct2/ride/Track.cpp index 7101974082..9b90e52cfa 100644 --- a/src/openrct2/ride/Track.cpp +++ b/src/openrct2/ride/Track.cpp @@ -951,203 +951,104 @@ bool TrackTypeMustBeMadeInvisible(ride_type_t rideType, track_type_t trackType, switch (trackType) { case TrackElemType::Up90: - case TrackElemType::Down90: - case TrackElemType::Up60ToUp90: - case TrackElemType::Down90ToDown60: - case TrackElemType::Up90ToUp60: - case TrackElemType::Down60ToDown90: - case TrackElemType::LeftQuarterTurn1TileUp90: - case TrackElemType::RightQuarterTurn1TileUp90: - case TrackElemType::LeftQuarterTurn1TileDown90: - case TrackElemType::RightQuarterTurn1TileDown90: - case TrackElemType::LeftBarrelRollUpToDown: - case TrackElemType::RightBarrelRollUpToDown: - case TrackElemType::LeftBarrelRollDownToUp: - case TrackElemType::RightBarrelRollDownToUp: - case TrackElemType::HalfLoopUp: - case TrackElemType::HalfLoopDown: - case TrackElemType::LeftVerticalLoop: - case TrackElemType::RightVerticalLoop: - case TrackElemType::LeftCorkscrewUp: - case TrackElemType::RightCorkscrewUp: - case TrackElemType::LeftCorkscrewDown: - case TrackElemType::RightCorkscrewDown: - case TrackElemType::LeftLargeCorkscrewUp: - case TrackElemType::RightLargeCorkscrewUp: - case TrackElemType::LeftLargeCorkscrewDown: - case TrackElemType::RightLargeCorkscrewDown: - case TrackElemType::LeftZeroGRollUp: - case TrackElemType::RightZeroGRollUp: - case TrackElemType::LeftZeroGRollDown: - case TrackElemType::RightZeroGRollDown: - case TrackElemType::LeftLargeZeroGRollUp: - case TrackElemType::RightLargeZeroGRollUp: - case TrackElemType::LeftLargeZeroGRollDown: - case TrackElemType::RightLargeZeroGRollDown: - case TrackElemType::Up90ToInvertedFlatQuarterLoop: - case TrackElemType::InvertedFlatToDown90QuarterLoop: - case TrackElemType::LeftBankToLeftQuarterTurn3TilesUp25: - case TrackElemType::RightBankToRightQuarterTurn3TilesUp25: - case TrackElemType::LeftQuarterTurn3TilesDown25ToLeftBank: - case TrackElemType::RightQuarterTurn3TilesDown25ToRightBank: - case TrackElemType::LeftMediumHalfLoopUp: - case TrackElemType::RightMediumHalfLoopUp: - case TrackElemType::LeftMediumHalfLoopDown: - case TrackElemType::RightMediumHalfLoopDown: - case TrackElemType::LeftLargeHalfLoopUp: - case TrackElemType::RightLargeHalfLoopUp: - case TrackElemType::RightLargeHalfLoopDown: - case TrackElemType::LeftLargeHalfLoopDown: - case TrackElemType::FlatToUp60: - case TrackElemType::Up60ToFlat: - case TrackElemType::FlatToDown60: - case TrackElemType::Down60ToFlat: - case TrackElemType::DiagFlatToUp60: - case TrackElemType::DiagUp60ToFlat: - case TrackElemType::DiagFlatToDown60: - case TrackElemType::DiagDown60ToFlat: - case TrackElemType::LeftEighthToDiagUp25: - case TrackElemType::RightEighthToDiagUp25: - case TrackElemType::LeftEighthToDiagDown25: - case TrackElemType::RightEighthToDiagDown25: - case TrackElemType::LeftEighthToOrthogonalUp25: - case TrackElemType::RightEighthToOrthogonalUp25: - case TrackElemType::LeftEighthToOrthogonalDown25: - case TrackElemType::RightEighthToOrthogonalDown25: - case TrackElemType::DiagUp25ToLeftBankedUp25: - case TrackElemType::DiagUp25ToRightBankedUp25: - case TrackElemType::DiagLeftBankedUp25ToUp25: - case TrackElemType::DiagRightBankedUp25ToUp25: - case TrackElemType::DiagDown25ToLeftBankedDown25: - case TrackElemType::DiagDown25ToRightBankedDown25: - case TrackElemType::DiagLeftBankedDown25ToDown25: - case TrackElemType::DiagRightBankedDown25ToDown25: - case TrackElemType::DiagLeftBankedFlatToLeftBankedUp25: - case TrackElemType::DiagRightBankedFlatToRightBankedUp25: - case TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat: - case TrackElemType::DiagRightBankedUp25ToRightBankedFlat: - case TrackElemType::DiagLeftBankedFlatToLeftBankedDown25: - case TrackElemType::DiagRightBankedFlatToRightBankedDown25: - case TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat: - case TrackElemType::DiagRightBankedDown25ToRightBankedFlat: - case TrackElemType::DiagUp25LeftBanked: - case TrackElemType::DiagUp25RightBanked: - case TrackElemType::DiagDown25LeftBanked: - case TrackElemType::DiagDown25RightBanked: - case TrackElemType::DiagFlatToLeftBankedUp25: - case TrackElemType::DiagFlatToRightBankedUp25: - case TrackElemType::DiagLeftBankedUp25ToFlat: - case TrackElemType::DiagRightBankedUp25ToFlat: - case TrackElemType::DiagFlatToLeftBankedDown25: - case TrackElemType::DiagFlatToRightBankedDown25: - case TrackElemType::DiagLeftBankedDown25ToFlat: - case TrackElemType::DiagRightBankedDown25ToFlat: - case TrackElemType::LeftEighthBankToDiagUp25: - case TrackElemType::RightEighthBankToDiagUp25: - case TrackElemType::LeftEighthBankToDiagDown25: - case TrackElemType::RightEighthBankToDiagDown25: - case TrackElemType::LeftEighthBankToOrthogonalUp25: - case TrackElemType::RightEighthBankToOrthogonalUp25: - case TrackElemType::LeftEighthBankToOrthogonalDown25: - case TrackElemType::RightEighthBankToOrthogonalDown25: return true; } From a1af99cc0f9b2b1350a826e54fab9747fa97935a Mon Sep 17 00:00:00 2001 From: X123M3-256 Date: Thu, 21 Sep 2023 19:43:52 +0100 Subject: [PATCH 26/27] Fix glitching on vertical twist --- src/openrct2/ride/coaster/GigaCoaster.cpp | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 819c850b6b..b36f3b2b38 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -9610,33 +9610,33 @@ static void GigaRCTrackLeftQuarterTurn190DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 0)), { 0, 0, height }, - { { 4, 6, height + 8 }, { 2, 20, 63 } }); + { { 4, 6, height + 8 }, { 2, 20, 96 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 1)), { 0, 0, height }, - { { 4, 6, height + 8 }, { 2, 20, 63 } }); + { { 4, 6, height + 8 }, { 2, 20, 96 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 2)), { 0, 0, height }, - { { 24, 6, height + 8 }, { 2, 20, 63 } }); + { { 24, 6, height + 8 }, { 2, 20, 96 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 3)), { 0, 0, height }, - { { 24, 6, height + 8 }, { 2, 20, 63 } }); + { { 24, 6, height + 8 }, { 2, 20, 96 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 4)), { 0, 0, height }, - { { 4, 6, height + 8 }, { 2, 20, 63 } }); + { { 4, 6, height + 8 }, { 2, 20, 96 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 5)), { 0, 0, height }, - { { 24, 6, height + 8 }, { 2, 20, 63 } }); + { { 24, 6, height + 8 }, { 2, 20, 96 } }); break; } PaintUtilSetVerticalTunnel(session, height + 96); @@ -9662,33 +9662,33 @@ static void GigaRCTrackRightQuarterTurn190DegUp( PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 6)), { 0, 0, height }, - { { 4, 6, height + 8 }, { 2, 20, 63 } }); + { { 4, 6, height + 8 }, { 2, 20, 96 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 7)), { 0, 0, height }, - { { 24, 6, height + 8 }, { 2, 20, 63 } }); + { { 24, 6, height + 8 }, { 2, 20, 96 } }); break; case 1: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 8)), { 0, 0, height }, - { { 24, 6, height + 8 }, { 2, 20, 63 } }); + { { 24, 6, height + 8 }, { 2, 20, 96 } }); break; case 2: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 9)), { 0, 0, height }, - { { 4, 6, height + 8 }, { 2, 20, 63 } }); + { { 4, 6, height + 8 }, { 2, 20, 96 } }); PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 10)), { 0, 0, height }, - { { 24, 6, height + 8 }, { 2, 20, 63 } }); + { { 24, 6, height + 8 }, { 2, 20, 96 } }); break; case 3: PaintAddImageAsParentRotated( session, direction, session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_GIGA_TRACK_VERTICAL_TWIST + 11)), { 0, 0, height }, - { { 4, 6, height + 8 }, { 2, 20, 63 } }); + { { 4, 6, height + 8 }, { 2, 20, 96 } }); break; } PaintUtilSetVerticalTunnel(session, height + 96); From 7fc7f7ec8c5533248df474c21070502c0dad2511 Mon Sep 17 00:00:00 2001 From: Karst Date: Thu, 21 Sep 2023 22:44:42 +0200 Subject: [PATCH 27/27] Move changelog entry to 0.4.7 --- distribution/changelog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index d883b107e4..ccad486698 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,5 +1,6 @@ 0.4.7 (in development) ------------------------------------------------------------------------ +- Feature: [#20141] Add additional track pieces to the Giga Coaster. - Feature: [OpenMusic#46] Added Mystic ride music style. - Change: [#20790] Default ride price set to free if park charges for entry. - Fix: [#20737] Spent money in player window underflows when getting refunds. @@ -10,7 +11,6 @@ ------------------------------------------------------------------------ - Feature: [#15660] Ability to show window buttons on the left. - Feature: [#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). -- Feature: [#20141] New track elements available on the Giga Coaster. - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [#20119, #20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [#20393, #20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font.

-cnz2uH&tvu(bk3Nu?Sj?Txz0H;dZt)IuPL~Ta8d_w*xyL3si&vfV$K9evyqFNw$u7?F8VWuvL}5$jc6e{_M>oEbS;)i zUTBQ&YLazQI`jF^3ffxd^@MXrf{wj*IG);1ee#Qva@v+Qm{-b)mN9A}kUt^6NhjJN zsSkwzkS}T)i;X3_p?>>&OASF+1gVVk`&}^AS;s!kZ`wtYv#qUCDxE}Q#{nWT2=o6SR)WIidLLv00000NkvXXu0mjf D2wvKG diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_3_4.png index 72f2ac8122301e2e3ec4ec267a67bff2c61aa448..524c7ddb80c327b45a2842cbcf7aa4550a01f5a2 100644 GIT binary patch delta 544 zcmV+*0^j}H3eXC$JOh6L{z*hZR7i=Hm0ObQFbG7o|E*o?WoIctpjXuZvhVzjuzwP# ze1hnvv2(xI$GyJ#$k$t}&)I!CUtz)^94)`V#+aS3Fx=C58KHb#C0FYoGhl?6B?4@Mia^{lPr?xIp9eC8!fU%P50N3iX zY2=ati>++pXO;D znv*HvU+`#sJ11h?GF+T%Sg=dvcFlPYl$=CPocq$4)fpnkQdUl?PIKoii@-(GcA6!p zNVJ^mvX@J5dkcKcloc|NyGw{K iA>Fa>A*mSl`~3$xN|xd76xc`r0000JOh6M2}wjjR7i=Hm0OadFbqY#|E)ECL6*{b*s`Za5}oOqpV;sP zDNf0{M zDD)AwF?;a@yOZHhTfITdTJ23e$D9f=Z(-k*6?<7<%uFn@gQb65l2vPc06?F!rHx2p zB6iG9sO}J0emeb#MWmDrlQ|e6@W?w@&V)(Bn_Yc}KqIFutkhY$^Y8(6N* z4QQ<~JL!nRN1j>sBW~;+{i?+qH~h#>k9uCHLp*Za>nLSvOP9au#rj1NM!c> zTx?+;sji#LKmgvHO^NhSjoE^&+@hR{Ys|@~ zSnvcstmK t{9gwl2cjbR-mf~mor>+11002ovPDHLkV1l7W77hRa diff --git a/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/intamin/large_turn_right_to_orthogonal_gentle_up_4_1.png index 7e5710a4ac9b6b1bded37c8e9a255c78a459225d..c9e156519dc3ff22ba5bb726b01eb590553edd85 100644 GIT binary patch delta 229 zcmVJL!>Tc&x?B2=5R#mRF2^|T2-(=c7%#Qdtel$EWV?%`!N z^dhbKqci^}C5?}&xd^9}ffPgynW|`zge5lhOsfaCViqy37XW0K#$aEBCE~nW7LtE} fycPN<>GlP_j?xV*shyB?00000NkvXXu0mjf3tDU9 delta 228 zcmVvW=TV)Y& delta 395 zcmV;60d)Ss3B3uhJp+GhNklnNYPNr8{hJ zw|Bk6P?$?Z)~ocJ)7niyr6y}$HNg67lH*W6V3oITBEC)~iCBMddle`t_m<00RG2`^ z7Fz-&u=k)OvzoyL6CT1$)FG4x&qImoX5ua1!JHRVm}tb7tvLjNlN%57@=O(Z&r%NK-$;?bp|UkM zhfMKGJ>nTV)K`D5Y_tB1%fU}r2>N3 zz%xDKXy}x}Rb%9puI)X#ejL-K_WJn--Tp^!k=oB_pfYD|y+m|YbTJJ+ptr0E^ntsG zPD&HY-rsv~(7s(zLJOLSd94Ck#HHKyV4AX3m(t6@OKWAOu@ZmHB~a4vhU{&#Xtklg zTzkumH9_`r=C+Nw{Q=d^Ot`Z0b2i54fsQFQp z+s9zD=e9E{p0(dYkAO;vidV7ppy^jA1@%6kX-iUiFoV<}t8Dv3@?GKgSz()1h`rBR}Bh`#A5A=YahD_2k)Gi}~+ODFrxX1&hC+`f5&Pb2op#O9BFQo?Tv-aa(R zgQ=VpPl_U+I^u$_?r-15?a)`$#5>I!t>k%D{24etDPGNb4ctj_3{bKJS>l4?cmM%{ z7^L(Hi`#-nnz^Im&ou_c%3oKG+w!_%L;tMkw50R{gd&34oZ#kV00000NkvXXu0mjf Dp@9X6 delta 528 zcmV+r0`L8^3c(7nJp+I5NklbGjv%{Q?Uo= z8>FUYc+1e_XpxK5J5%|L?Sc{;6IE)T3tc08WiDcX-m_0fkH~-B#tf-4NwEdcY^{}` z%q@2rE}XxTxrCoJ4kxqIUfWJc z36(%NCgrB(zMG##nP1}ectBlBOztOxxIH^=ahbH@=IKE^k5mfyd~-q9$ACczx_tqL z+sS`2DZEY*w5F^2kS9`L_r}r%@|c_U>ABn_KUOmG2DE?6#$QkBEY{b!h!oTrOM!AT z6Zgljl=M!)?w5IhL~BZpCIagDMB7nkN?z>td~S!*CNd$;`Yh}|y^cP~PhGYX| S;THe^000O{MNUMnLSTYJ6bM!T diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_1_1.png b/resources/g2/track/intamin/large_zero_g_roll_left_1_1.png index 5ba1ef08a0fff83b5e720d4e44e72da10d071464..2d4340a0d92547bd66b9249efb5933ccdad1d9dc 100644 GIT binary patch delta 572 zcmV-C0>k~}3hfH8Jp+FmNkl1|Ep2kr&uDIr(j@fkxkT3zzrdbP(J`0u?jcp2We7k!s7xl+s7LHgdB>! z(-2@=R7VmO+j{Q+Cs?YiYZ;gaBZwH>%G5;`1<#C_KG>{oTE>5DEhrxuvG1MMk|7E4 zvm@dusuE*sDXOm^zc|Yd;tfP0SS!Jb%rO;F%%S%kf*a27Y zoq108Y1W!eA>Mzuye(={iY8i()t&U|287&Prk3jwr4xY~%8p zsjx*M0H?%$Lchgk`VxD3<#R#|NsO3x8nK%7Oc35XAvPqIjqjZiD__@DJiWcM4uTx| zq}O*U9^_c2UhgY26Sd{mv-Gld!!>4R8df*W%!DX-`4N9b4$bt8%?s(NjiJm;E*`9B z<2&y8uXxkdi;0ViH%A%P$ea=5|Lt(q6Ji#(o~f4-Tiwih7R894Bu~>%_9kl8Fu3jARztNmV;b7cO3HCQvf9Hz=TmxYM0000< KMNUMnLSTZG)Dn#V delta 563 zcmV-30?hsG3gil~Jp+FdNkl9)4CDX*Z9wl=4oCu>ba7av(>)|yU)pJ& z=frVnO5Rng`}JRN`3JVOL)q!g8#2T8}9Ze9Asdp=H zhQzsvJ?Yf@VcO>PxywVCeBu|9CrC&z^B?on63c0%*v#t<bn~!IX)oYa3La^O!v*7p6@l*gQjP=dSJ?jr5FlHJ;)6L$jgnViY|%sCrn^^c zgb=1(9tBGX(L<`S0Q}wkahkS!HEe}Nk9x;gM8v$KN2Ve&L|b`IJp+HLNklg9zIMD65f}G4AXM$Vw^wSZpV}o$>uloZsV7MQgz>}W<0000D(~KFgAsSccP0)bZ*0#?nT;qBnidU z7U{GxzzN%t&Xh6IDdUpUnJ8nRv-!4~^BBhfZ7p*UosT$corY7`8n`I;{cJ>M+x*m= zX|dsD+qKx0alvV?ac5k-Z|!v)^%Q!E3-exFvUDd2r74rlQg_$70QOzTLS<9002ovPDHLkV1h%7YL@^2 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_1_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_1_3.png index 6b803838e8b714e9a7adf2b0602ebecded28542a..012e2ed25e6a56d1084d757ff5cabe9df51b9c72 100644 GIT binary patch delta 654 zcmV;90&)Gw3%(1mJp+GiNklKBJT@AQGES~-b^K34DWYP}{N=6VF5s+gqQRRzL(Qo359VH1CIPwA}FtlP){-fP6U z*CsZPa^$^xV$O-E_6gyu%XvL9fM>@qxr*$QQ_2`3>LC)z+2V`1aQ5EnS@-Ts5$&JU zTCHce|Gzw!l0ENwp3%gN;MLiBkKz{Z$zaYvJyB!jpUMMfEA^6PQ)=c>d1Yfy( z-eLE-<}_3u`5u4YI&-`AdAlPz{wH}?4plHYdPTRa7XWy-Gq0%BR0w}Cf13D;t{9#< zMoMi;&YM0C{WDVD3{tlEeBcGZDM#T*|Vtef`qxxEAQ530&@9#P>X*j;-0>a+jxPem7M*@ z27dH0re22Nsq{9yEw6A7;l;(C|HK$xO-9^ca>{ZyvX=^QLq4{misMUcu)YGs(-Qfw zP(XaU-8X*}e~&HdhFXjL4{Q6t`+^zxjN$!LpQ(bx0j&dfpZ%b4wgF95L>oTnb;9^n zTR}F!zfsXrtr&g6xg37N^ugL46TWfA;X?6J`5Y?2xg;}r(P)mRSB*m==nl2QHy!c) o6;HiaYQCy0rOz9D1TOyr*^>VB0&(;Q00000Nks-uM6N<$f+nj}asU7T delta 664 zcmV;J0%!fc3&;zwJp+GsNkl>=%7Bdxk;W#Y-PxC=!b=jV z_$Z7`yNOPt)}!QK{pZz$T0i+Ep5xhIeCqzpi93kzE-blZWR2qPyZgzx)@fQlXFRD+ zA7-ZIq<2B+bOb8<^L3-^ZLQ@3TwgVWmi3qSU&sML=Ri z?5BrPI@^lb<>RH_=#@fkZAj=hVl#WkT-#V56j1mwh07DJfn%>k;p}8|^=W*;d%k)H}NQQF6yCU=4HAr0%yyt<=Ka?v;KoeUvI@Fn6NGk{D8y~e|5AV=%^ zG@chW4A1;jEwtI#ZQq74_f#X1-{9k?!JgI&!H1VHgt?(I_Z=9S0J!mBO8k&_1@U$F zEOQJDPg{TF`yDWTj}FCh0000A`bfh(_LbD5Hh%Uce4!X&Yux})uIA6H5P32-nf*;c_lXo<&RZA{e>=9;b? zy2Hv_6GW=7Z-U;h&b7WyA=O*48!wYan z{v?P0aVNUqUc^Ipc`4irDO2~m!&@BjFy-k53OTjjej5ODjrqv&15>vDYrb zs(B9D@tMnWSMPr$M8H^w5V{m$NMg5QjT!6ENbcmV!0uoxYWUWo;5MkSZg*l|Cy3Eb zItbLC);vUauRmtQ=e?ssVG>S^j&Zl^q+<-bcz`KesPo2pS2t(T9`5K?Ln~$nrl;t} zn_5F-=Orf{>z+-;%aLp}#9UH?5FqZde9~deox4;dA9QFL!#@5}>N(|T6Yq{8hj&Wd zcl%H~G+$}1gt;3^gmq(l-=W1;L0000H_Jp+G_Nkl&fWK8lKsz!$GLDGM@ylY_52#%=Fc#ti*az%z}1LnHSc@}@kS7%kB%I4EScAq7Z zU#FQCm=o*6-#SF!F+9;!!w=R&ROd8pM@z6~8vl1pix@V6m5ViI8(~h-$k|5$mIQU} zF>WYC?Wd0{sErI=vT4=l)-_ZMIAqvU zQAC*3NB9PE?MX~3? zyY^u@R#na1e*<>hxdekL?$+Txs&k*SWYYqyFY%ux4H;%L+39)EoH^VvR*FXQX>r^& zDpsNB_vSk$FT4cYCHlSp+{Im2RMYi+%|&JC*%MC002ovPDHLkV1ln^)dK(k delta 423 zcmV;Y0a*Uw3E2s-Jp+G-NklF}ELzRCMY90;nGRIsOTuzG< zb+b_c?I$@~TxmAUuHW7lwJ{770~uW*TFTsj491?w(_qtTD&>MRF?w;aZI38AgndBI@4a z^`LT_PFo_Z5)OY=Jh;&$-I@jqx|Wm+s<=|0Vhl=>U;@!e9AO#qgUu)tt}b?fkw-*k zrK*m`bcQt^SP@Zms5bLj-Wi51&sAfqoYb}*-*>v5(N;+m%LZi$u|H1 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_2_1.png b/resources/g2/track/intamin/large_zero_g_roll_left_2_1.png index bda30cb7767624d55e642ae4ff568ae3be0f8bad..0f7fa97c1742c234f143273bd635881bcb56e05d 100644 GIT binary patch delta 480 zcmV<60U!RB3X%%2Jp+HhNkl_> zRCLyo$s%e-%s5j?b~aXD0BQ+KV^zb!w&23MsvgU0c8#Z=fE^MTB+@=wc{L5E#I8*cJfG^vSp z%&ymxePMi*otl4hA-VH!CV^qJ#&Tm>pa2XHW~d^|{KK`4k=@iA%LHOHmda__6&YSH zmb5;Dsm>oPSYSZmY%RIe4R*Z1=>^%&pIrvZRF{vMEU>=T2P;;u-V$1Eru(8|$2BY^ zJs`=sb#jwG3JCv1zoA_DPn#@f2V8e8Pf2v!LAL7rCqP&T#*%0;jK{vE_65t)xFY** zX0}MrWxC7^r&;zTi=|^OP-npVcgvqeA^95^OE(tmK1hUiDsqQN5a0dpwQ-O3MUbK$AMhVVnOS)thor<39QE*N`gXK%^}|D(BLHPMok`QtVuIj4h-sV2izKvx*X4wV!3W6h00 zlZtFTR}Kqexl9#V=D#sxgE`Sfndv_V*6>g{$E}Vm-wIqzYq&Q%jI85T$#v53ga3Sm z1+n7&Jmjy@k_yhGnx94)h68w&S^0k+R)2tRbM=0{01xx?16c0wFCb9Wzkruht=u16 aDftBtRFW5&abqz600000fhdy3AYKbMgxCaZiO%mM7{r|l{~7hh4{%w$LUYi1ZZ?6qRY{EJT^o(r?q*c*J@YGdHydU+|+4GVQhAAfK%kK%ow%-c$tBTrH&I#ys|n#DJYh zW}M8t)sYYt`^uY{N?Ckmh8m`9xD{d+&F8`pc_>ZOaa}f6rXGI|$TVAw%T+dv%$!X% z4XGw`EILTqhh>VTg3+?*w91O!{mi5hC!731X3&gjsM9Pasj~?P#WbLnb75XeCDXdO zlGDgysk1Cy4n9t(*pj8wSNb#Bv+W<%S``3b7HU zua`9|qLz Zn{NhY&)R1mO40xT002ovPDHLkV1o6Zxyb+k delta 379 zcmV->0fhdy3AYKbMgxCKj>9kvLw*0NB~GVzX(dwfVyI*>gT`sAMG(Lb6!mNEB5vE& z%Ri>C%SUGG3-L*3OA_%RmnVRDSp26m=3l5P{vVi=8LIswPJu9Lb1F=V>Kjma6KR1tru63q-Y(J>+L2p97t zT*z|L=^PF+^}EV5`bkGKZSp|ly(*L5;{~ZkFH1u@8pPyC89Fy;)u47rzds3oo)$`t zX5?scUTu{9^U~FFfSLgv2V+x4?Tz+;A8qU>rcCc6i-u#aucaTR3zF%mWQNHNR2S2r z&OB?;R``@bJXLd?q)bBOgegPWT(xB_$bG`JW2LjMjCUoQ-O+KXF4NrSG4Z3&sp`uV zR4tk^Qi;q&IP6lWRQOPFHIIJo;U6WlZpVFG2N=DQy@k{zzE8G?`G;hCd?BRxh7oo7 Z@(YH{&M?+m@)7_5002ovPDHLkV1nz`w}}7% diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_2_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_2_3.png index e4e0f0be4b308426ac40ca6d27be2bb7ed3dcb28..622535cf322d5b922047ce55d3d492c204f4cdb3 100644 GIT binary patch delta 356 zcmV-q0h|7%36}}5Jp+G5NklZ{5w8sX^|%`nC6#<(taV2> z81bo6|MnS~7*<9^9n&=Bcb?XBuVKr=Dq;@j@uXmuD^kxu%p!jwk)ZKBEZW7_YJ}f` zG_c=JB0n3sh39O91hZ-7128(V&thez%bsNVaYZ@_Bs7A7G9q-d0 z4>Yinc}`?LD@@h6P_1&GhT)FftzBz11*j5kpJwhKX*P2kWAQy5K;(;5wWViHbcJDO zwaC_<4C>J*TWRjo{-~~Lo05c}88XRm zBFTc3F12pk6#;GQ72>#BeTTGa8$L=Y=ZLqqP9~F`Ftzw+e3qP*Sza+P$hO-gB4&Q} zTATS&+w{RtKohOd3q1hHfO@I#~3|qUNF(E zWVIXJ!Yn^!{b|8ICSOtc#Ar$q-XzIqVZTBn=A4(e5Zst9jHa%QcI@=dH`u|!w6ZY! QjQ{`u07*qoM6N<$f`;I@Pyhe` diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_2_4.png b/resources/g2/track/intamin/large_zero_g_roll_left_2_4.png index e3cfdcb519c4bcea64764bf7d614160296d2fd72..85f34c39ef8b9b6d7e832ad19ca8e2f01efbf98e 100644 GIT binary patch delta 408 zcmV;J0cZZ-3CanuJp+GuNkl`;iqCWX7ke3d@9jn0_JzN5={~)+mRegar5aRW8&?$BH*D)^ zrm-k}h=T(3FrPRMn^P>gJh1hJWbj7o5aTmK1Tc-_7PB6QB0PV{GlMo_Aw@Dc-P2&? zCd}YN+-(jh3ODoc5I4VS$-D=GjL>O=hv}3=_+><~Fa^&seUwj!4Td5!rjV69MCfE8 zTzC|qI&`~;NQ71%z^KfLzcd;XkGmw|6twhhUp<>9c?x_clVGO^)tC+*_M%6SiYMJy#kSs$%TkyX&{X`t23SY2jy_9_N-D{KjG z0c=Lc8ksdDT=L3$KfA5wk#dInVqSyIKgX#*N31{5eT%bxW^gsE!I!N*Rn}{<=Uncu zQ~B_g42?)MXc*acEYX0Q^4$l)fIl(7L~>ciGr$xow>j~&@*M=9v7 zc#3ksDjz(aWTSsa$4N&tIto`u7RU(Z$m}R5i3X*L1x9f^ZY^_Lkr=uYw}IvmF=_~1 zR45c@5cJv|{Yq};wxGkf12~Jq=a`RUMzCVD#gWL&(e+^nWRYPKJ~3P|Q5b|ar|X)p zSPZ`1Y4*5=x*ikuhTuS41{z4s}YCLtCaW;79FR3i%NBPQoR5n zeR4dW0ZRFzGotdmbW?-fYy0#<5dgCDhi7`_O*0v8c z97PS>R`&!XY9j8Jn`6+eF2LQ;%fO=CXaRPJw!s4BTxtJE!2^G5!5&p)oU{OYx1g9! zu^s9e*t*H2yzn?vaEgu@)iK~UC6 zrSaz&`Mz5pv!j`|6Wd8ZjHrxlyMsivh3J00%H0>+>3hg6EEMUjlxsO)Nn{angqNaY zJQb&iZ=^j)g zJxgDX*a}t?k9oXfM8>QC^LXYNYv6vc`@TKCA4sTcqN002ovPDHLkV1kj^x99)> delta 409 zcmV;K0cQTX3CjtvJp+GvNklL6(QM5}Ig6%&Q5I?BWRXf38E>qr zSAuRDTjW)v$UEggsc&EclkFCqSNR>N20+#H26PuOGabiP_mt}0ln{o_5R-wWb|nNg zcZ_HH#!{+sERHuZ}{hdz#yfgxIb&eK_~>H=(SdTjY*&6&0iP$D%@da2lI3idAZ49&*%5Zn{6_CCWv z=zL;~-0#|*)~NUy3r`mlBSPRh1$YkBTnk53*ArkMuyThBbb1YHW-hj}&_YunmuMX; z(T%slEqkHnW6OWFaMQdin`(zznjM0SHiH;j^wZl)^m%^rb1m9eBO29m*ISK9X5e)% zHff}}()V<`6I^Nka<9&Q zbzN7uXy0AeAQQo4-*YtQw(B>T4F9+DTb%s*NBIIV;QA5m*X!D&00000NkvXXu0mjf D5nIJ2 diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_3_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_3_3.png index 55341debed43f34ff3ac5477bf48fa4a82b070f8..4cf216aeed328ed7a9de4de509d00bea7504242e 100644 GIT binary patch delta 619 zcmV-x0+juf3!DqEJp+GANkl(R-41|6EtHlOGj*^kAKdN5auFD@a&Bq=x&Y5hm6mJ~S^%e{i>=F523Drb?Nr zv5J8aIFYF&_Vf9$ju4^VCB%3-9z z^O_Q*y*^f|4W+sU9*5yay(XX;fTJwNFBBv5{n3ZokhOC%QDiub$Ut@L=c#NkoPC7) z_8g z5}(m?Fx&BbJK}%ab*CZ$!_SQ4j8b=lIUHQgK#jT0`z?l}S}G9ReLqF=5GBu;*M#BM$TE3G=pI2%^@8v~Z1FTnl}8-ERZ}TQecrI?-+V8G(J|38?Mp z(~xb73P!DXlmrNMM0JT$cK3K*lnBwXZ;2{$c_yuBlVX2^m2r!Ld8x5w7A$3HbLcOO zMMl!z%fj~gtuVPPAqmjnLSrl^FjE;H+K%XnjNi;&Df1v{9wM4fL?pV@Aiv{F%OX72 z-?wETtduepF_pD5b9sOdXfNUU4w7di^?e~~wnjc-!-^{*MR0G~_nm^aITkd(XSzJU zo}q>p4X0zMPA37ybD`GSoF$#$Jsh5arsFUislcD2{n_qcNOdd@8#9AUsPA|35cC}K ze?h>%qFDsyZP;H0iqgm(S1|knxjR$dAX=aHhD@hmDfsJKTbd-s^gkv`qY2V8&n&1<>*6<(56iv z(%)yQ4W+tRQDqaCX|Q*^D6bI!G&q^nj94$V{nbNlkOh12U6`$yWuUrs%s}cq$k@g9 z_ZZbxs;iGeCU?;zk-hp%Wr(=yUD!T3sP*M|8Y1CjM*?bXO+{=z2_n?rQ&fo-ggQK6 zU41*=yKB5uoXCH~bW=TY#yM0((A~h*6trKD3dX*YSIq>XVW{X&)s-;Rneb3)Fh|x; z*D+l!Cy$v|e>y0bo{$#|wYHA9I!;H%14a^&br#v3?u@(!*#E8Px=ziO|-O!I-IBx>HFp&4s(RdOIBp>jJ(#@ zOjDjpr@vblYJWYT)bpIOBoteV-ztFKk>#PsOhw>=S_X+qoyXviM>B_@(uOA{3gMqo x7K!9-Q*jaJktcZ^|7?C)kMSSZe?tF${sCK#7?gOE*?s^3002ovPDHLkV1oDfD_8&k diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_3_4.png b/resources/g2/track/intamin/large_zero_g_roll_left_3_4.png index 4a3dd4416c235b82738b8d6dc474ad4c5e77a14e..4205c1e7e5a485e34aac3533b611eac0fd562486 100644 GIT binary patch delta 374 zcmV-+0g3*x38@LNJp+GNNkl5Czcee`_QmL3g74O8A)Dp_oBO(XLXI zI`k`qOZYC9Wx0G~dtVoikFG)1_EEOhy7aa8dJe5g>#XbAt({5j!qx*Raw7GKv*0k0 z^)22u7{q)z$N10Iwj1A0MJ&s9=h5NT6{eP)bJ`;3QtGe=cin#su`nUj{2G8~*n4d{Xd}9?7p3+=)spx!0!4O2fxZzO&V^Zut#SH0g zMjw@>)G)G|b+jSMH~bM*-l~T%Ma<_Gniwnhtg0y1G;Ya1EuC(j&?&R|+CrR1E)S89K4gMHx6gULj~l!!&~ zr^}qn0``FfM5F^VY(!XyTVly`ULHsyya^LT44ettChoE%mnkpxPAa@F1R7cZSaDNC zEs-FyG8d4YTj05}v=t&Ko-~L}bgAH2mG|l?O|aZOV?hlbv^P_7!8JAL^OWm-NcQ%c zHk6W4b^6BBl9*GMLriAa|9`}J-bK}v z6z<@GAopr4Ac}`*;7q+YZT@keH?j$rx53!xZY{@5VkhOh* c^_2ehKkZoA{A@D-Jpcdz07*qoM6N<$f&gu|aR2}S diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_3_5.png b/resources/g2/track/intamin/large_zero_g_roll_left_3_5.png index b42f8ab6c0f45548a7cb0cd6a029b8ca5a149c15..546feb98ce3403db6c15d28834f1d04202a8fa89 100644 GIT binary patch delta 91 zcmeys_LfbtGr-TCmrII^fq{Y7)59eQNV5Ym3kNfhES0$Gzfn+O3kNfh?ERs)W22%Bv$33~i(?4K%;W@z uhGLFqKl9@y&NJ-HJp+FzNkl!;W z0yhD;jpG>~&>64RT5jNZ2FW?^+s1b=Ti%cjK^SO$t~ry$A~}a6y*9hbVX;9Wo-|>TL1k5p~+D}K3k6r*NB3!=BD+fLhSfR=lx$- Z;ctxJZuQ)!rs@Cy002ovPDHLkV1kSkqj~@U delta 323 zcmV-J0lfbD2=)lDJp+FvNkltd_Z*I$AfVG#&12RQ6+GKn*AHh=XYbeAwJ%d5*?#v|tI{C96Q!n&mE* zSW}9Ovhm>7WWifw!pVU=1x{PYXU}g)k&RMgRmcz!tWIyg{75)aa(WjJ9Brnwq;E61 zrFg(OtjeHVAL=_UM;N@GRXs+V(qCTyt+8m>BE002ovPDHLkV1iKSoGbtU diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_1.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_1.png index 6c661147b54928e940412ea91379a9531dd935f0..b3083dc199018fa51b7331dd9d12740f0db329ed 100644 GIT binary patch delta 582 zcmV-M0=fO_3ik@IJp+FwNkld4CDT1E02&Ir2!14voh(Mac;HE2s~@-GQc{^H~bF zYTvWdaW%-KgK9%-n9ivJ-xyWaE(*wMmPtQ!&TcV_(t7E*f`KRv)T+GabwZESDoDRT zW7-sdmhP7ei|BvmLO}X<5#2;%0ltacgI++Rsx}9JCRWc}Zy=IBCyxfMkAYxjue=_p zRA0JAblgbCu&?8w(U|n>ATzLN)(vb{ZQMnJNjfpXW|og68k6qa6K2UxG-0h)nYGl$ zc9reC!&-ChJR`RXKQ~3Vf^)EXSgrfOikUC1^ul{{eFc95X_?it*_&&9)FQLoh|<31X5{geqh z8cnzsexE+2H2RwK5z_ays?O7IpUWXXd)rL%?Jp>;4Ra6jF(&?x?&0i(Zq U;;$+p1poj507*qoM6N<$f=IK3hD~5Jp+FjNklDAj3r|$5IW-fHY-bm8w;w4TMv+0JGb! z>j9B;3y_v|tVQY@f+|8JOK2Y!Nxx(*3&stBd`Vru%P9d`RqELBsWfPnO7G3uc-bw+ z(%bXZ?TmOJRC<5b;bKuZ%$F{UZ}n&EcmOrP?065vNQln@G(|Mm!qKR7X3}70e_+0R z$sLStn1l5Cww+-#=E7aj3Xm_nf8O~N&HLwe#zzFvxO?af=n#$Ht97hhBR+4^+jiZ> zlXNnmK4mfF(;?7%FxQWCIPhMj3*VQW3g)YI?fFyJkJ5klL+ik&V{-$o2bvn!ReC4d zu4AiI`mh(oDH?Cm&2<_BM-#Sm1$w^P16~EYdpkbeAIK`NP<5_B^0S7AeCE0Zvt7r0 z>N?+BD1(LO+uwz+t{3W(tuL^L(Z?8z8SV$JU6U={6UC(S1mlpaLJ)iW!l)3$tSOsP5ksRmsd)Av9KcrDz6_q zG3OZ|@1MwVJ`aDFyu9R?<8ihqInX(`>XTbQS&}(ReR3;>cR&Mz!sgAW1tL8)Le6a1 zffrpt@$YO{+vWj5F~m2YnZ!@%k3v?vj?+shhPdpLMS%{GtEy2K8Oe?R)%p+>$(cs- z$uWp$iurIP_Q+8RA}2Uk2!qdoAtIcK)C4_>qmcE9@d1B(wj{nnt%=Y~`4pf%`C%5> zS*9tHA`01uSfA?3U*1|Zi(oZ+LdJrSX0_jBCQPWM7|?wyyywrkmS>pOTmamiZB4sbuV wwv0A{O}kIT(ktOtDLr37@W1sOCI9c&Uuk7xe%L&}=Kufz07*qoM6N<$f~du6?f?J) delta 721 zcmV;?0xtdf3xN!N-kAov!W5G1y6Uo$6Sj=T;#Q?kTHqz=3}6f`lf$E0+9y#8I3Gf0+?xa z&8SIU*9^4A=)oq3iHm6V2`$S*zUI(;0v+L^q5Q7-JP@tRCeJ_Rq`^khMfhBQ(N`*e zT;z1nUUCKF87^AnXq!WgUk5p)ya|PuCV9%W&|*z!h|57x*r2jgzPkykRF4CRXAV zfStW~$cYa2!oai0aXKj$PlN1)!o)Y9ID)d(p?`Zwm?tHxL-V^GfTp6`!X(!ls8bEY zZ2zqDo&k2>*TC5%uay}S zT7}!o0>#2QZ!!3phc`np;fQXU2(5AsVaAfSOhhGCScvr3uJVo50`f(IjFzqo+BUKD z$r5i}MRu7Z&WRYWfd##?qgY7L%t+EO$&r{Upyh=U2xM1c6QPM-*7CJ7gg7_yIoD*g zkzI)=pHP1d?ZHur&zV~{<|6w{3_@81&fD#*bevc#2H%Q~j)Mvjoi92oK1%^Pnpq0a zFy7J5m3D$~Bq?~Bf=@zGS!hsmY&~0R>KMO0k3w-XI1b-HBylDn}W|L@;7rF3EhHb~d>00000NkvXXu0mjf D*@RjS diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_3.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_3.png index 8a7d0f2c93c8d2516c90d4bccaa59b082916351a..1d0b5f8509a259bc3281ec9759e391271b0babe3 100644 GIT binary patch delta 391 zcmV;20eJqk3AzceJp+GeNkl@vc7sVZ5< z*gyd*Bp<}`4`|CmDGNpV2NbE@Ij9KL9F$n8UMW%(O|qgeXQBMCwbe8AsYz))11)Vj zG@*cMV@yH4ykbfKmLZU1r6MX+uKslRo|^0$Q`lVe)30h1ltVpVndQuZy>Y7omMk=Dy zSZx6K6LjT+B4dB3d`v2QC^$sE(!<;mA8WwiXi_yow{=@pO0a~sef)sCYW3e5oL8!K zm)tk7ujmk4`*W?~vugF%_4i=8r>rV-4XZy_ObVdNy!$@|1wQ_k|KZoN)3^6HZ0RPQ l0^_iEKcqu5xE<85uWww9k}z%wV8Z|a002ovPDHLkV1j21xx4@X delta 386 zcmV-|0e$|u3AG8ZJp+GZNklq1vzV4Wi&=q^N>!4| ztCrM_aELiLUooaH(BehKi$?hZjZzLD3P|>$(p7Tx)i>0o8qvEK?Pup$%|UW}NNFB4 zm4Q^6qXWqW#2uba5?~1& zb0^9Z1q3tT-ilV3SGC<6l%g5dYHioppd~|fNN%lf$W(xV?l@PBAK;r)eLhRllA`}1 zvekQyigxhB0%&9DfZ0#q-vDr}P+ByHLML6l`qC@fA8agZ^_m+|TJ?N6h^|h{n`sD2 ztLhoAl_(dLAbxsm18^<&CFOxZw-8x>Ilp8MZ??W?btTH}>t`@m&8mBGy-Lo{Jq^19 z+r7Hn%u|~w46847C0dIW*BMwptws5#>YR`NyP()6U02yWTC7tr%CX!1=SX3W&EEZq g4)t(PQ2&1Y0#*5xg{D`46aWAK07*qoM6N<$g0N7wlK=n! diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_4.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_4.png index 01bbc764107e576320099b94a8903c570b5bd14c..5264b45964af172af5e80fec36e6f389f57c517a 100644 GIT binary patch delta 320 zcmV-G0l)s`2=fTAJp+FsNklEdMfiH2X2*+y$Jtq7#mO^mr$WSrhI?Le##U?HPnLiFxcBl&0Sn=NtoL42 zMJYbicz2JeARo=+QmWIMz^3V zN6dZLnT%@V&Oj&XfV|{<&S-O-+&%wDGdpC&3J%tHi9}+ZQC+9N%?E6n?T8g@CsD*Q zQOD41+CKN#3~@Mc2fkcj*d}s6O+QM(f)Lr>tKxqbq}ZRuKBYl0%0aYqyxI=PP*R z0}M0Hz}N05Xc!;^EVH8bXB4E|9EAH-OcoBB)uLb*GEc$uUWlX~MC^(4jZoEwEJE&f_t9GIB<>ZIQrcifH?t0f zu`T{x(Xc(6&iRpHjdmYYbxvD=(?bn3QPXy|Is0G4V1InK*k7ElkTAj#VGkMBYuRGI zVyHK!HPY-~7(y!45F$e{5kFaT7)=c4KfG23v?Xx%RR91007*qoM6N<$ Ef(FHn%m4rY diff --git a/resources/g2/track/intamin/large_zero_g_roll_left_4_5.png b/resources/g2/track/intamin/large_zero_g_roll_left_4_5.png index 2ef558853e4b85af57f63cf7da6f536f95630327..5f5d8bb20853663e5a316c07c4543ee692a8c93f 100644 GIT binary patch delta 516 zcmV+f0{i`|3bqQcJp+H_Nklt?~ zo1DC;Wi6~)Yq-a~D9cM`kwW-$gYyJMMf;ra2-N&=iWeNDR5^cWpJqtaGAL0_DWBNM zP^iNWkr<0pxTUE~CvuYW;)2{+MOyvD`&^4CRb39{l262%g$)esP-#>=!_VqTAIQB% z5CI8+WTOZtU`qkjLOhg<^8j72((q3;py}4Dq6UN?Rcyg0&=bpUFTep?DRjO1<0YoQr@>ia_k`j?;X}f$9$$n+!k6ebO4!N1KPd6}^ z+g40=?~MHky0=@{*c3q60dh*P1o;XYX2S0rMzgJB38rf(yn4Rzn5%Ab3;C7v#S6RM zr`!~@4y(4y6UwuMbF#N5(0jpje+IpZ`*;cs>^TJN@8>t=_9m+c7^@bvyJmh&qCHes zC#mGC2Rsl!BOb>IABXqh7a%#ee+&|51On=?Mil^K6FH_>BK3BnB9&K#mr z2`j+vP48ZdvYprsanXpPh|ZWoNKHL>niS_c$N7)j zU9ciCA-AF)JP+pJ#Drt5kTY;Y>*ewH2?HB><-D%~=9@J0&dv76^;J1)^?}p@rKBhE zSX}4q=&`}dow6Og>J)>%VMi%GLT#Bqu8P|}#h}aSnniJ=Y7;yE7O)}b!_`V{oNWnL z)J*O?!=*8xMXWF8d0pjwWEwVudNURC`LzQYeh$I#{H!A^*CpsBCsZsD7a^0gULxYR vJQuS(k57OR^BMdZ+h?0{hkXty_I3LoMrv{CMhyHV00000NkvXXu0mjf!-w(2 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_1_1.png b/resources/g2/track/intamin/large_zero_g_roll_right_1_1.png index 55e29e158fda03dd3edad692c5982053f035474e..8b34407617932f26897d3e5c72a493b752c0d979 100644 GIT binary patch delta 501 zcmVZ^myLSt_86l>1basDqux2JWH&3y5uzj8dSe!aM=Pz5r>2?6 zwrKV0?Tr#yw0%%zSN52IKHOeT->hv{GjpRvaMJ40U=nlN2EghOpq;x7&~UppjXYXz z*0bnsTK}t)Mp1uw{`V?DQMlWGX4Q#y&%H}DK-RgOD4XoDD8!R}HMc2ZpbHUxqqhKw z>X(#86PZP^XzLX{Ws72RJCBB$v^$Ezy3L|RnG+y$_mXJW1W?)d1#a5}nA?=7#1Ka7 z`q5@VJh#nm>=FcYh;+JLH94TsvnNoV>@*h1d1Mb{H^6PoZDpXlZ!Q1Ma=Ss0oxKJK z*18}%JP?jSvDsc9sKCTvCuw~n14`5t+rNf+K$FFlyIlPb*{p7=-`-}q0W}xNnH|u$ r4927VV8iXFuN@;wkDo;7e}ee{?1y^9*B2a(00000NkvXXu0mjf7QXn8 delta 498 zcmV!aqL{;Nk)Jq3Mp*GHy3`Il^>Pde^TPcvJQj=H}Td5H> zrSP(#{d4?0-Aw7*f+*Y;al7IExjIFs9zDTC#qDvo+t>z*Rk|Hb(e||{yAWklOtISg zzoHDvrq2Nwxa?ESee$AU+393J((T)0l}Sp(kZnPv*^kI1ESsI8=WtcD0_dmSa?&g+gz_~2kAns+l9wO-V!k~-2d2{e~xe)r;WK>;U+XB9As&C z8;fbkJT&*#JZ;#d5rgEQ))|E4UAE4{VA_6i>rFvv`#s%9&R(qc#y_Z~+mNX4Cq&k2 zIk_95vmF?9L_dWgk*a>mMxe~>Jc$-bI;Z=Jh(pX_k!@;*AURK4?B5Wkbe)$lCZaq6 zG21aHW|F#>`(kgr(-~bK0F1*O)5Zm%niHAit4nx6q?g+*-iF{}aZUFl-A15%0u~46 o;f9iFv!`oJy8U>MaUTKZ8>Gp7|L1HhLjV8(07*qoM6N<$g81h2;{X5v diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_1_2.png b/resources/g2/track/intamin/large_zero_g_roll_right_1_2.png index 14e6b98cd0646f44e7b28c83fb90bbbdd8336ea7..0375fe7741a384c76972ddbf25ba86f44c8c7c26 100644 GIT binary patch delta 666 zcmV;L0%iTZ3(5wZoQaE*8=$l7O*EBqgu1q_dv~D-HC%tJwXZFS9Y^`o#oFdx zF7^GTw6mAK^7U>oJJbj<+y90)+p9yPR`Yx7>~8wZ7`Q!pHD>~s1s*`IeRbhsm;c{6p>y5 zYPdKD&6sLMJ>!1{YRv3XOtImVMyr9X zgr$Tu59@#4K!@SieAnrx@AE6@>X+NOG5z$teY`Tyh!8m&Jpo-JK0?VNa7U_-ZI9|w=HXG(s~^pGRri|+=b#Dm zZ+bC)9gH0>ec!=o$1pX?bW7yNiNyH*c+`IZ-}(|>?|FICDgXcg07*qoM6N<$g1~1| A!vFvP delta 653 zcmV;80&@Mz3%v`lJp+GhNkl$Ols>Oo9l$^6djAjle!Zgn0N<}L`KFG8f&Q-Jicp_AbUn}QoO0?gi!NiWy)OakyAjWgk5EHBYF(FA{n=5Y7TbRijioL%)Eo2cxq9;1 z*?iFR_NXyVC4qdIH?IKoM#7u!%7+$J0qn_~2~ewTtnvsobbEjvG3wklo+UzEp-3ZH zYecAz(T4X-2X+2I6vr7*=TgpI)hom%6=kcgwN#uQEd&Cj&cSpAsLe$tYQ8g|o=bac z!1~UBnt494IGTUfB_g$sJG1@`YgVDiH0uS=<2+3_R(zkC-nd| zYRK@tW3Id&aobUXerfyY_gH{_=Qki9x5GW>49J%#!$*It5ui3s*x0#I{fw?S8a8sz z(69xjPjoWnPDo^+5bB~9UkDQE(PUOVPad`XT$#qykbI`|$cg%Jd&J)$J%RKKsQ}A$ z4O2W4gE^8I)_vhw!j6xY8JF7PIGA%C5^=^djvKWmaqm9#$R@MRwoRWeUoziuE%bno z_Bv0O9Z-M$9?SkP!;6d~)QRw0tVvJ4?PKdk4bel>*C=gs0x$J<9((WPC+zLxl`DJU zJ!mWCDhOqu$Bv1TUr0IyM#OGwjI}ViBa+@8$D3D nC*L1ShC3pEt$2@TdDLI+5Lydn5~I-o00001kM0 zIhnbg9-@j+O_bAOW80;)bV3FK8`v;Zs>g=8xg?|XxTcz8bF365t8E*bd8`!mCVlrC z-iTVnz(=JTDJ`!z$*R|-5>1F0eB?$^9Ney;H@Uaiz6V|Q>a~GnN~zJCVGggo7BQI; zzk>FZ@iU+~NdRnup?4tY&-XF5M9K&JeE-?syEJhBgDe;+_k41*T=#wJ_b$O-3ha8_ zmokOHm;Zz8I*|RSQE;C$g6gwxfzlWDwM0|pdyPq&D?jWKIZ(c}e5CXhEB^paMT${0 SB(z-s0000fl7#4PKrJIJ+Gwrk38 zvzEz~NZ!+JODQ!?2q3AJn!Sz>N%vICKp}2i?mm@TMCwG64Ts+2t(1HCkbe9PUuSf8 z!-}#MNy?Z$B&g?eS(K2to92|1(D>CoauV?~2a-0i+y$UKrne(rm%*Xy++N%zg0QVER@_igqL zJ>0emNm{E6Oj-j;uf}885=|uE)o;a=ndFCs?1AK4R*odSV#z;!0Fvx6^0cS`0000< KMNUMnLSTYGXR~7f diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_1_4.png b/resources/g2/track/intamin/large_zero_g_roll_right_1_4.png index aeef1a3ad96ca8b14762619c84c4cd0daaad5dfb..32981b5eeb5601377757ec757f2deb8e1f324fde 100644 GIT binary patch delta 304 zcmV-00nh&62;&H_Jp+FcNkl=D zHVoA!QcIdKgfsUhO})EMqk-{D%&nFxZGLym+^N)NPRlFCsvUpZ)CRd?%tyaqbLFYJ z_IgskmaGB8$$1~&b9U{OZntDe4wE6lHN!n&*1oP!>_HUL*7bg^iaXGdjVh@cGzG$q zxrA(#aMWVVSk>mm`we%PwHmO*2qonwU<6hrZhvM~v_!-xrK3pD`h&Sf=k{@Z=Lt)k ze9xVGY*gn?xGgA_RyF?5Z9KvwoNT%$89mD$4)+T{f(mU+Tp8{HSOv#e9R;Dyq}#`Ezk$?2HwtyHO_zjJ<($E7@i&!^1@qn zRXxXIm!Yj3h_J`Zfs#dY`s|plyUAx-j|Q{&`%`giYGP2Z*AdGZ zzhBgr~mpjZ3*~ zT*A3bzWdJp+H`NklhuC*Oh+ax*3lx=x4_uc+_Ygmg17ty!}oC| zlA@;SnA|!c>89O>F-2bgHz@_iLIkRWP-lQbeIZ(w7sOFq+cZQvO|5O~YP+%d4KK)! zmR!JGwbFSJoqd0A-b+H*Y6|$w(q|*6AVs9|V;GOl8&%r^tgb0($2O!eCMh!~2hIuO1w;iewb+tS}ihxheue1Luf?Z#jp7abyl00000NkvXX Hu0mjf|K$8c delta 519 zcmV+i0{H#63b_ifJp+H|NklnBcJ z&n>kY2jEGi^nO1ACi3I`j!#t_3CrtiB<{%iKxQ&AK5A_;xM*wr5tDH3g__ux*v2eb zdj@S;`WM{J02S*6xMQJuhYco1cZ~~JXGHC+q}Or|xsG;VDo}r$M&zyrKo_P=p%pUK zMg-7m!1bkF{gw}TArw3Wxo{Kk-bBP(Z8mNOOy|vwt3sfCOtchYaT_7d^&MdTd)%W_ z3VDwxeLjJ7hA|x^E2fmtYHb@;0yot81>*^_3rSU}tu>#EaFsqNoMFVn{JK)?RHShx zvDVDOLjE}y9*=(`j}8Uy-k3lAXLbi2s1o)t9x_vCEly=0yg_)ez6#mg-RaSq5D+)l z0>=WX?E4PO2{Rz{#X42Tp1iqLr%noI$bjP9Jh7XeDIi-NUZ2jh`4AVa8`XjGsvKrU zE?yM_T1$}%o>lu50vE!%qdYE&0R77Ajs^FS9KR$ z=)$=PMf|glEQQqWg}kC^^%|F|w1j)1Stg=;nfZ?Hg=SUuBQYQzeqUwbQ_cJ+6;{3V z`=e$oAdD=2&3K8+&Exe1^4FGcHhtsWXKlypaivFpg@5Y-^cx8A#mF_N15Lv*)^fJ>ymz_a_S2*5f{gfvRK;Y@> K=d#Wzp$PyAb`j_R delta 51 zcmeyz_KR(UEiW(U4$W@!*fbHW>yzW#PpA=ls$cfWXt$&t;uc GLK6Vs6A{q> diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_2_2.png b/resources/g2/track/intamin/large_zero_g_roll_right_2_2.png index 6fa3f828bb33f373b0832e0166623725b1cd6218..4d740cda17a219ad14fae873cd39ee44db975a64 100644 GIT binary patch delta 385 zcmV-{0e=3j3A72YJp+GYNkl`_fl~|=%bgUO{X(OE+3hR zbz&ZeNMswW?azO(aZU9GeqMsT&4_ETw^J?FTB3Wb8z4ku*5KKD8zx}hF@Oq8tc$r# z&)~NT>y`nAsutXh&*9UUZA?~LV;w`Cy$UNlE9~q|T`&jcTE2h78bJ+#sm&dBa3*dJ z7N^8WhFlMIujG)ap_U_&d14$(34Pp~zLgUtvjFcv;+U@-pi) f{)y$yR33c-OhEjI65TP}00000NkvXXu0mjf3Y5CT delta 379 zcmV->0fhdv39bpSJp+GSNklT3qdryr%4D}xC%&hbQrg5I%Z=0$}n`o5OK1Sa}IanKueXX!YqOS7% zS7Cd;VO8UrJMi4k(*c^0EwDkv1_1ycqr&z%5q1&}mGZR2Ha34kTVmk_CMs&0mKnG{ z3XJ8ixHvAc2ZE__>NK$q0cn*)r2&|c?gSSwKRp)n9hpo$A=F~j8uq?*aq*1t zLPNyZ;Ho88Ty9E5vq)F9bTu&#>yv~V3#o?-7D7QH$dv{>ml<`xTrCGY4Mi{=KU8Cc z9lTsssV}FQwgYpXinU()&`DiLBRuV|FLwk6i#^1$HeE~(+XtZ%Sk+ZXw517+^VBNn z8Q?SvAU|z=IpFyz%pF874dnh>!*5|Ixzv2DF|43Cx>h^=zmNbaCU++*t+y(_U-w!x Z{Q<2Z12z!TCo2E|002ovPDHLkV1hQ(rquud diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_2_3.png b/resources/g2/track/intamin/large_zero_g_roll_right_2_3.png index 672d3ebf7ebd5a1d8b9baa39ec1872454c0eb2e7..2c509ef02c0ac26a05e4a510b34ea63795d60df8 100644 GIT binary patch delta 603 zcmV-h0;K(u3zG}5L<4`7mR)ijAq<3d|D$;aaL$rJ=m%G&1x_V-$fB92broMp-D-r1 za^Gi59{d|A0>UpG;7m?UV7lQih#Uf%hL^Xv#iYUwI>OUF3 za#hMeUp95(??k257^wn+1z$vCw8L;WLgH|MZkbTjYJET4T55kxQd|NWrVX}-iU0pv zK}QA|W&w!=alNe)@&%%&s}EFbDFpI8JQMF3Vk2PC6c1m>bwozxXe?3#1Ea`W@e#`^ zI_@q$5Sxu0szhQiNOhfjb3;lmK2*VAUIhl5n$s3P4po4lcQaDt|3`>tKI*UKBL=BM z*BHy-qke?n_V9n(?;=O!f_w+_Egp^~EJIuBW=p)!c^ZFMRvn31L%C$S@CiX@9|#QT zLdKwTXRRt6@ZDm$QwRXP#g`N$;l7TRQN1vF-F*omqsJ;JQynXIA?6vJ+2KiY&#=R6O%Mz)5wgREu*@wBu?Y_;GReswT+;q z-q|UmKY~*h@_ph}X3HTl^BzHlW%DzM;CcxjzX8uee-4Q|iAQ;Nng7oYt}$g&_760= pWcB}n_%Q;XpCeH7908O)_zP3&5gnVTpcDWA002ovPDHLkV1hmi6WIU& delta 603 zcmV-h0;K(u3zG}5L<4`FmR*wEAPj_c|D&w|Pwry$2dPR6Qk8vL;V`fMMrySrAUZpr z`|!i>NUd*?R?GFgMXIRS3*>I~>Okx~5~N&2>SBJH*9|EY%rO*F)W#&Tp=^Fo@`wWY zreoR^M6o6p`l3NIf_ z3X(*Lj)8oiHdtu|;RGQxe|5+=|LaMW94TLf%nYr(^5QhJm@x`QY}*JinSL}sclPPa zl=74uX(ikjA98@)CYp8U_A0jIl3Qc+B6^50Db;BBWfg14NEW z=3{knqmE^k_dhkW?jCtz2|h|S9ZZTL+pZu88tw$a!1#YcaA^>$lx$-_%snjB-!snW zsr}2D)sqz+&2e%BpD*==9V;Cxvy|-4ZIHjzukVHPF2gwP8e=EpdpoHzwOuggxceTf z>5@elizh?r>SNXH1Zjc9t@#M!r#S*OD++F9MU#b?^qJB=`;q{Ji<$EEk0^nl*8O@xr@dbU8$DF~x08y`#%c5sJr*;f0|mCHu$d>gI!zeLLMl p*Ne>J@OX{+qF|L~$cN=X$RKnw|faONEj-*e8X$r%zXOUjNQ!f`GUf( zsZFe|rb5rkZ5TxFShgh-+S&dwJ!Vy}YS5y;MIWGrlu!l~UqOE_^frUOHgb_v@*q~V zG>8U%2KqqdszjoEAyOqlOg1CoTI!9;h4+0Qtc-*JU2sInCK2%pyr|2d)ol?E(pcR9 z2#eKL=t?#B#Ekut;Y86Miw~+Kw1TA`3313>6unp@!5M-lOaD!ubBdBMl7yzwQj{c5 z0<<1Z`5HB=iSTN=9dT*VJbPV3g3;Z4#~9+MC_CZG8J6v+cMpZ;jCY9Eg(Kr}C;2}G ziONhBpd!aXJ%2_!xf3(4qP?M(rDIG=-v9sr diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_2_5.png b/resources/g2/track/intamin/large_zero_g_roll_right_2_5.png index ab0b8740037ceedd3ce3465ef699fc3a8caaec5e..70d26488d48ef3647c742cbd60fcf4b501f36183 100644 GIT binary patch delta 36 rcmaFK_L6ObFSAVXGoBXKXN(L5N7!4YzWDct0SG)@{an^LB{Ts53cU^Z delta 36 qcmaFK_L6ObFSAVbH=Y*OXN(L5_u1PH=O>mh0D-5gpUXO@geCy{tPH&X diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_2_6.png b/resources/g2/track/intamin/large_zero_g_roll_right_2_6.png index f4dfadd631d688f74964890501f33c3fbe54daea..7061b7f3fd5295beaa1199023c279923b2aa65d6 100644 GIT binary patch delta 306 zcmV-20nPsC2;~T{Jp+FeNkl z?{c;;Qb#SzBJXR?Gpm&PUJ;n4Dd+q_5or9yG$ktP@^!(zX~YJlEWZ(SGxQMmwjy@H z3syuIxCs!@lwS?PqXSLB0f@b)`OJAYcvV_N3z!9H@Z@xCW}Sc7E!fH6IvUg+SMaL( z7NOE*b)bu;lI91lHOLXZ5^Do|Q{)zpPzxikW9V^P9Ks0P%y*oA;;cbeY(B$_cvD;N zzr&~DKm&%y6$?ytUC-I%T|n#{yxFwgi~JS%2*@4LMtWz?bKwLdVkV)F2RsW71Fpf3 z5g*GR9mWpK@Te+VdVT!eKt2~Is^vdEUo9^UZnx**8-X=qTyJMa#{d8T07*qoM6N<$ Ef30rCAdbyOks`;72EFZ@mx8?-_;x zLK(HLYxrC#Ev%f&XNAr4f~4t2;bPj&bdFS%_4@?_(m*U8QhXO^S95c177X+5aK){e zySm7jP&K9(12%W{rfd#XA#r))wn>EtVE}5SiZ1z&bFk1qh*^K<4#KQ929yIA(t+8_ z9q0~tjX9+gm!fJ0gLZBxP~sM+>A>8i6l0IJ5NHp+GoZ@=l{ zAz*YWBw;H|*dLg0+ecvJVr_^G`N~fLC$|Qt4c{zR&TD2yG$LnAKCp^k&mWHo+?z4R zDm^Vv-x~%+;QcME>FfFVy8$0?TReA8_n0e8@gE!>=N|O~oKbLOZt$!V00000NkvXX Hu0mjf`bLU` diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_3_1.png b/resources/g2/track/intamin/large_zero_g_roll_right_3_1.png index 2c4f7e34af40e8f69b4a44e7716c4eef3aebf969..6fc1e802f4eadc914587fb79c15ba3ac7cf5eaf0 100644 GIT binary patch delta 493 zcmV41{_AR}1c@_f;1B2Q6(m(X8e$Cb>-C zP)cP!mvKt@`p!S)gYQA@16}`HkL#^Ui#VO{bXtnfw`Ez~W+|1fovyKooBL6BW$Pj8 z&ZCbYi1I058 zWgbi$ikM)ihT)}cDB6fHtPV$SHWX*X;1i)C5lRL=CTfMk6>Z)$<-{NhKr}e=5kONS z3}iOKZbM;!5PHC@k6jk9^70V23A>~$DDWuoG%zPRHQQy4uiX=A&=EAdLB<9EYjF6E zLX{Pr!)fG$jIuD(*9p-kI}gock*^b?ZK<8%z21@RnxObm_F8!$h+uzK{4cxv`CHld je{{cKM<3ah`u*?^cBh>X1+Aa{00000NkvXXu0mjfub%47 delta 502 zcmVwLoiFC_pjWi!^()=Nn zT%0N(rQg+l(iiI}{R`bGt-c;rvaVU$lWtv0XL+*4C^6zvUOU}oEK^Bp-q|h{nR5`2 zoO`J2FCJ<{%;(6VZLTj>gHFIZbCgO!4mj9gF`bfgR0akh3ub=;hRqzMQovUa5{Dhq zLt6|`AyFMz|Bi^($1&qzW=U<;(6;o(QwQ61nM!Qyq3F8MnJ7~Z$F;sL6Nr>Z5pp!H zn{*sd5e((1ThAB_n8n2B8HZPT$MNzYvXnTYC{7`IWZZy>p|LH-O{f~IWren&n40Lu zI7MUI_7Xy8B7=WGv9Sdx+C9NMII{I|xF;%Am%p^o78EiKof%3C$K73c_XR`IMm(-{ zxTd>VqOzfwE&?mj7(0ptRXqlYA(b74%#`tL#RS{WI#7tt#8fIG+=S9lZSt5Aw1&S* zsogmpcJQ`~j;o1VEJI{V(MWi*9%D{z(H{y5_V8+j76WGe7>5 s%rEkz>P_*idQ&{hoZ<@=V)(oH4@o(nzQSLNPXGV_07*qoM6N<$f+@)FtpET3 diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_3_2.png b/resources/g2/track/intamin/large_zero_g_roll_right_3_2.png index cf6654e372eaaf3f895e6103d5f2bcd995de7876..3006a2d8a86e34dea60da74c5bc07fda6380131a 100644 GIT binary patch delta 393 zcmV;40e1ex3B(DoMgxCcj)O1|gLD6*EeVkJC`;zQ(t28HUm74!NPHSQ9;cN5(;wyb zEbD$tMOoS%6=6cU_baA9Lx;I<7sl%L2xGsbtb%fN4XS&(tHdr{#t*)e^Y~4L}2S#w0J2E z{EQ-EPFw8Z#y=A(CDjZAx_HPy_BPogCuwa=rCn+M>ijvW@ z)LE#tHb8J}u9yUe-*JIjaufuaLRpVGiR+`7>%k70^;cqE)k@M@uIFGx?(38p~`yshB$yMhXM5`pIj23$puB?3L!{rB6Z3 zFn=LeUgx&T$9sgRldN^hWT*E%oY|E`P8d*YcU5&^K4o%L9|&|@FiG`I-Rz3Vx6qx( nCG!^4^@e$mx?@1K|Ia_Xn%sn2JURye0000983Dp%fi6$d#ov>o6 zZArBdo3pmC1&3m5pS$_m!WpN4iVI{27JICf;?ygxcnA5h+ICP(nbzq;BK)!~sc;{e z?%fL;0@_y5=ft#iTI7+@$AueoO_UgTkUGX79QPnDN)Y!&T_%~^x~ieoTIAp(>Z~dc zRBXC+^I*goOY?t8)r`~}h`{!x`J8x#C1fB_G<8{2%4#Vhd6qHp@HbNKkkkfi5!>3j z^f?f2!ogT3zk*6ic~l>WckXq`WOa^S2(d&KdSFU=KRASBj3?%w)O=x*>WuvLzn%1M ng0IXq@I~jp)Ekphf1kfidf!G`OHDxl00006Zc;4PMy5wRf7Y&Ad;%JK7lm}uMVWOTB&~%nTrc3+QrA+vAs7G zsKirAM_kSt?9R0+7>-P1AZ4^boU#*58WOI+FiC6$=O{{ZMV#nh1V6?iOisySTWS&N}a7TV?SOk+oo| zTGek$z#%a3g7k3Mu-xkK{%LV=G0xe{bQ~;Z7Zusx=^Sv@Mc*dPPB!`;tvoQs<~nn8 zHl%~k5)SuXR|}-QNAp;Ruc_e^HpU;J73XjV*qolA6&E~eo}v|pu|A=-l+Ork^ZyqQ Wq_vc*pI)8-0000Iql7-eaP&Eo|1K)kX-A_9O%UkxhGsMBSuqu2MmG zpIw{R5dMf`#b3uigpV1|Cmww6_?4aN=M)`Bt+mX+qTYFa6kY1)a;~N6>5!nsJ5=Hb%0FmEpBOX3*k}rk^_IVN~6;|?Yj+9>8v;< z5t}MTy_6?Gq#sQ_v^OFeNjOCr#;Tnb!j7m3bMJ8??Oo0QhC4;JT}6VO!I3VW-JAqL zOr2Me7U--QOpdW@5FtHXsi<#(Me)mR5;xMhn$^sNTAoc6iV#FC5Hb)t5yP7Ju0pLI zMb60Doe`6uLl=J%h!rDH5a>Ptkx57`iBCv^*THmU_>>mXfd~dan4v~<;^UHp@8O6u zYK-2I-uIqcyeUQ}o*#F#M(hLmoD$;Gbd=?i!!3g4aQCcvcc!a)s_$-?M=Xc&}q+*s-3jesw$kk z&o=N9!as4Y`0w>E;cdnJcAvj1{$!_mY0k5hl4oF1kS^@K=~CZsXUXY^yGPua+J^8X z9VwUdy_@x=j=OYY>f9O;DYXhhO}J6r_PDr(a7XQfs8Y9{t5|<)+s>+jcOZnBT}J2_ z(;y}|6G!NYv?gRFiHHs;P0>*uk)S|HbRs;vsLiojOENZ5?vIH; zhI;6tU3@Oj8Hj&x&%9mL6eACp484#*Z0ORJWNm=_3<8P>&m`i%1F;8o>Ek1+>RbuS zg|MGDW?UKS>bJ=7!O1KaTv@q%ITxj%+dPhS+?WEz2m9tzDVHy&`Wcfn*bWzPof+EV z5-%G=nG@`=yf*z7510iOJ&WZ0JZQ3WmWD0i$iJNKsJkhwJRe{~?#uY`YYJa(&R4p9 bR=;#VUS==nXib^v00000NkvXXu0mjfjL^|d diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_4_1.png b/resources/g2/track/intamin/large_zero_g_roll_right_4_1.png index a4ea77082ea62c4f07d3ac3c8abab67837a4ec1e..20ecef35f45547743c9b176e3517424fd438b055 100644 GIT binary patch delta 667 zcmV;M0%ZNf3(E_zJp+GvNkleK{9! z10OsOr)tJ<`ixY>z!^_5)tWvK>c6jiZ`U1Ckk@duFoyjqSYu&PR~wW21-7WIL8$fz z`2uxYJJ)~m^?+KeK`e~0#!F*ji&vi*sdG5(g!#1M)pcS{(r}E4Z+li)ZY?v;J0#LK z132nzJ5cAZi?)*-&k-4O(WoJ|>p6ea!~Pn<8#qAYif1KTcH*j++Tt4%%PxA<$>OzE zE?O#Xq3gAf&+7yBPs(dZJ_E;`^RwsaqW({^ztj^j{~UuI4Q2oU002ovPDHLkV1kky BKWG2| delta 660 zcmV;F0&D%t3&absJp+GoNklS#skr3`BANt3?D!NjI5r0Tu!|gvRJe!v`2Lo$FLpi@QTJx4eRfMaoOO}g zCZaKl5qi*I#%v2Pt81z5S*ZkO3_~0MTYHay0qoBDMnf9= zS7%Q@%e1_9De=3czl_a?uEjki>Yp`y`qogqp3S!p2G!z$SIT_?G)o$5Va?venkuF= z>)UI!oZ5fvmUIAKc#ReruWpPJ3@M6N8*^03!w3e_SWe2VVqp9ZaclpIe#FkPf?@wo zF^kC;<~lxl3gfY`+)2kJor{j25e)eAxmajgIV002ovPDHLkV1oafZ%F_E delta 228 zcmVyl23`Fz)-zE^qeG4jaD7GEFIM}f)4$l`Z zr(*IyKRkFMKl&E2e3R=&4slFx^0~crorq64dt2|#|_ze zvWjCUzuA!TL1!yuk=~vCzf<03VFV{dTU}XWXBjRm*eSa#`C9I?5r4nLavdVOU#Cv9kuk2> eN2YAj@ACyw^R!P&N51j^000099mn0-=S z1L}F=SM)7zMgYnldb7>E53K~?K!95D&(Yt50YIUy-VXfJMgf0R-O7HL83#~vY>t^Q zO$H$J=87h#wTl2Sx9D0%33*vTuE!DTzGblp|FZ;~;WtF01x^9Z`LgBGMaw}n*+1@| z)atHdYcHY#Q8n{;7(hE)*I_mW;>r?mx#->1y{SoEZ&5qLKIx65hGr5F#+IIUp(;3_ zh9x$XzyYA{cvF9rTp56c8ndY)#M$*U85P49Yg<2CWU5;k3}8xB6-FwB1x!60LY!Um zY`OHRYg=D{kegzVIY2CL+TWOkH6XXc5inuXa0uwOln0Kya)9Q*#+7yw-H)dR57 z1K`(KM!?#20jM30jv!-h%(`E;i%AyZLVIi%b09>|z5svpAx`V1{;{2)55#?QyF#v6 zgDKYfddS`5c`*}!`&vJnHkZdB6Fr*% z=%WvB3V=xq!}T5&Gy2-bRL@u@psC!i6d>2V`8}J3&;wv|$S|9g0boy?;IqzEMrHKq zG76ouOeKHx_34m80Un9MC#ZFG$UG`)H}H~{wa^1>LLzO-Wo3?Tv6 zo{pg;AkRI8o~$@Bnul*96AD+1DA(572QYfaWU_#Q_3y5c86h899T`>qK^^+t=0gWG ziBCIOE3YS492WfYb5Gk)J|a&W4ZiGa_7hzJGTI>LrxXup{NfWZfByj=rwJlra+G)g O0000~l@|4th2jiWaby(IejZ7(oO8Tao@s1Cgit=Loo_bWBu`*hm5Ft#iyVs0c2r zH(ffb_E^3+05UXEYwy%Jz(kQ^_aPkt+XEyiyds|YoT73y^&UWC^&EkhDUxrlrCNyy zih1U)#j!F2Xi$ISlnAdrW~KmrPqBbFT5gj~AG@5(+5pRjEfC^p$+h8>*uA_41!$qa zy_1=$v#RhnmJB_Y^#<6OI?y~cK+Ojs0FYc;jYZ>J6b4Z5OvndOb!eQqXG3vl6M%A? zJO*4VNB!T{*J0NI1!(*8fx2(*vb*)fh2{X4!!_o{%rJk=^xkXvI_d!^19j>?Fo0Co zKmqwY76Op#t+pTSs0ZMmi0}*myUEtBjLZPa=e}dtDg*#kQ9}@4qa45%UJ$9=VgT{iWt@?T&|97EoNAx|cK-Ty zu&vDKqXU0LjK%2p@hH}si2@*}6^FaIMgmHcj$V@Bvf1dZHyNEjJQHZ3+3AWgby zd=7Ncs4N!M;gDq*SjrL1Ir}Q_WF}3!y~*snm+3XoF6w9IoSoNVxMZ-Y>=dYby`Ib{ z(w%%EcG(;iZ+3rMfwHZ&5s$&iin4%30^fJR&T$9K>le>~b`+3T33P2H6(Bo`k5^7S zX0Nv_&nAihS%y+XMpJrYjxTBC`&Nr%GZh8WBcu7;Y!fIB!;?h^%qYQ@>Hp$l6e zIr$4IMOq&1DC#hz@$3WhW@FW%rVv%Ho8IV@dF0Nl+h}q(TY)n%lXe^Sz$qom$NJ0$ z>Rpzzp6olNz*1cx`uWTRo-C&mA>j*PL+X90&Ho!MmB<}PwTYgBAyeSl$or(%pqr`% wEQmgDRm&mV?K|-vm;qm@mcutx0{rvz1+OACn)1KaVgLXD07*qoM6N<$f^%T^d;kCd delta 503 zcmVGF0%2lTsW=C5EZ`ZPN=$!5>mBd^tK&nA`Z-t0 zsM$&pKmsAloYQS016W|i<*0U)1E3N4@TELWz|>?8OKtB@ExF(+z zd_5d}u7vHDT^WDYDud8$uVA*U64t`Al~NdUx+6^QurQA|!-B6k2J{2xt`yC1qG>wi zeJLQE%aoPxd7Jj351DfQ^V$)=Eg9DN2Zu zUZ;yKHi}H`Oip)Qr;Rr1GRM?KIJ;(VW6cobDNUQU$1QJRL&%>WjKJ8q=hrN+wS@g? z?-3;|aHa69*&ZIeqI+;;A%YPB5!wG^Tq;eB!QD{LkX222ToJG!Xc-9#N?Z002ovPDHLkV1mQE^jQD^ diff --git a/resources/g2/track/intamin/large_zero_g_roll_right_4_5.png b/resources/g2/track/intamin/large_zero_g_roll_right_4_5.png index c618fc58dfa52270944cd08a169806903289b282..98a4bb99097230ea94f7f10ea6a1ed3407e344fe 100644 GIT binary patch delta 434 zcmV;j0Zsnk3FHZ|Jp+G|Nkl7onCu{H*b z2M%XQ62+_APIq3p2WrZ^%!xT&f`O48 zy~{PILfyNgM}A(Vqvl=FA9#9Xc-f{{snzi5CZZx?+NWR+P{n`H9&?juvDX=y02VTn zu+ufwZ7T~fN{WE$DjY5LZ3;pgy;(Qq#tdaQpBaDVQdH4pqrbR^=@d*+u`y6)3FYDQ z%mHR@4YJG%(2g+;Km{-iTDocb;P(EOK_#7DuR*L@q`mJLxm#X>RjhGX*|EX2IGb=S z7~r{K21`f^t5$FN?lUgL6lFXtQZ;{|#NP7+JY!06*rMrb zXS{O1=O9SuKvfu^#5PwP-dw9_L)UONYqQ3W5ThE5wbC=i!kQrZV#=5zgllgs)@f&aEQ5b1)_~aH#b3i2bZUbc11==K@4;wa(WKkPBj=xEDC9 zRgf!1KvJ09xqg4REUlSKVSGYHAPl2jS;v4k7wq|}_f5w3Trx^!W7{{U^|H0qhklX1koFRB{J+hc~t0u<`a}c4B5u7H(eq}2# zCSvo*`nj&KCq1mbl`I==d2vJ?G? zWrwd@5@5_nk@H7z&MAEarx^T4u-oh}Sio_@u9Wy6E#wQlZA4uPg*RKsPsVm*O{}tu z$J_P}Iy;`QH&lrw1nQN0vp9%XnZO{^7>u7;bMS`{^@2ODQq%! z1U(81dXz5MToix8%8+Dny;0-3x}6l(OtJMy(L~l#T@>Nq@UzF&f~q~LB}KQSQ$ZW} zHU+q?#?2;bN6(@SDe)ebK{IEyBVF@Cie=Lo6I-($yKB~3L0U=nQvl!gQwtK~1?_4) zMm|s0IEX_)b!^Q@&tj**oHUA^k`>at@CQ8qpX6LSQd)Zo@WTGD*{`BwTyO~At^n(^ z*BUtl4(I#0;4f*KWCRo8!&P2|WP_l8%)j0@Wkh|CqVDtO$5j3`IS*<-6xOv%lnDalC7FjB;| zPWcMyaiAN`9y~-bwqrz4gQK^G2^;ZLP#0)5oC1NQ!EnqPi^ejy)Bm4lcqGa7QC%Apu=6)Z3WKRLS zoUt`lyWdI9gZ(SoYh0lHyb}FLf&9Dcr6#eigBsW39q?J{KbUL%0nZEL>X$<98~^|S N07*qoM6LruV1l+{2q^#n diff --git a/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_2.png index ed874167657323265fc39b65c69cd6e2425c5160..09bf1532944a6984fe2cd54a6a02aba333fd51a7 100644 GIT binary patch delta 321 zcmV-H0lxn12=oZBJp+FtNklkt9HiPL;Cs`*D@6=!N!!lt9AFLJxnLl4ORcL%9f3+Tg9E zHlfqUA+BMsE0wzvCkeH!J#&UENgIY4!;6ed7>a1M#JrSMc}}$VV4A0waKDCz`W{Kz zU}mxHC3FUY4HgOaEn;O%NSI9EWApeSiWktk3KI&n7Kf_6ts-W^6WWUm$h_79BcI2Z za1$KOtz}Nnbuc+%mqxm;x{OyYJ=1dh(h=Mi)EU? T+vuWi00000NkvXXu0mjfU@@H{ delta 313 zcmV-90mlCH2|1Rmy+mC(!GpU_#>)H z;8IZIzRPRDcV)Wc)`Nks2;Dv=Mo3A9T z^Fp&j#r=>*K?G;SED5h9vdcWmXrT%n;VmE|$mGybRWFBB3eta_Vb+s$mW;T0iiS?@ z6cLAs%jXq6wGkp>Ffq4!+=)PLMMk&&$jmv0PgWgI(qV6#X7tpyh_9|S!;LXY3Y}4fX{|!M^?7O`5J#U2Tats+1gItv5HTg8WqGP%3{gTM z#(s?YTe5460jn`JR{$7X`51(EMT9xet7qg$^i#EB_x1Prs4t)2_KdCvw7IHS00000 LNkvXXu0mjfmrj-V diff --git a/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_3.png index 34a9c7512277ae60bfd7af3398329daed2b268b1..95279bb2b23a448be98c2a89310a544411ff5002 100644 GIT binary patch delta 528 zcmV+r0`L9A3c(7nJp+I5NklN(Ev=J-OJkKGfw0)h@iE<;7 ze27jAEvswUjq)iD03@2vgNi=2tZAsZ>aP~CpBprs6)Zqd+){t2vjqb+FPz`9-i6OY z+z7r{s{w#1SWRJyDa5!K$xuJD2C$rOb|e6PxJ%$ZmOx`I8s-Vc)@UfOKr@S@h=VPp zpSJ6gV1j_k$D09jZLSqQYXfMSLYp{+QIth61K8)gOgf(~BU>;>efq-Mlu|x&|DY0W zwFoakdQo$kq}6`|!)0ylmh8KWDI*xz!3($O!CP6ww^Uf0dQ_`)91Hgt(ms;4mou9@rD2cL()}PEbXGKHc_6a zx8}gS-T;JD?_qFCx+%M^XJ+A;TkWG^NQV2G-xfDkM&5s{<%4iRT+1ycRS{KtipSEW z#~kop+E&!5P$;hir_4jk3uY~)*1{F6%&-;^h+>}biB*3EykdNO?};_wN~NIZv4Azt zv6LovFaLmfeB80c0$X)eBc^`2imG&E>%W SEzbY|000O{MNUMnLSTaCRstXZ delta 531 zcmV+u0_^?43d9PqJp+I8NklknuHuy`Vyxsl;q2z-=jPff$XXt75As&?N$69y*F@SS!4JqZHQzk$itS90H zBEB88By)FibvR<6Yi{8fRVNja#I!Xs8e^(iNcKlxS8w)br&@ z<8}b5bXvX?Nz#XamSyb=CbwFEjzCP6J2961t}YanFC~eDy_*<7sY{H)(N&h@GAh)v zLynQC5zWSB7iE7m#LlCwljQhjGK6d;lF2f$L+=*=ZFo+t@L(h@kf!wmbV$iY1kGP7 zP7=4XL{+SR9WyMDZD1veK@1&3O;6&2-a6ZYMwK?T$J}U$5B`E|Tk374$x(fYp>ds| z+=I=>0no%v0aVWceo)d$$s0%Ke4r++oNLuDI5JM_niPLl6({!L18_l1%PA(OPQ=*jp1sXVwfpAThB=l#vR3#+UnXU}C(AGLlGw z*n4l(m|dwz6rOE(g>jbBKu?R1KSGp#W8qf?sXhK<2l7*V4S0lroNa(VLsl!i15aww V4yBe3-2e*!002ovPDHLkV1mQu{M-Nl diff --git a/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/intamin/left_bank_to_gentle_up_left_bank_diag_4.png index 54a2d9b4b59d79decddad4af2e1803d78ec62327..1d238d7c14c613bbeed164cdb12c4aa2e708c354 100644 GIT binary patch delta 419 zcmV;U0bKs!3DpU(Jp+G(NklO~6F9^#~T{tqas zkV|=fy?lJsKal-LZoh$k)R@UfjcI9*8e)!;@*)icJw;o;`HQIO01;iAn5o>g@l7Z9 zAOKU`KIoMAtc;FD-u))dPff7fT?_>1%EE zl#i~?XA*KOJTwTc@OCg34zJK63$24_D8LjDSuvSVWbuJ)b;^8(B37QZ37HGJ5VU%~ z2-Ido|ER%!V;{qa_dXNGJiCGvs7vG%XLe4)P0c+IzkCyt5EGo|)Qg}*CCTw5w#~0= z&Q2qUojtX%PF#N@NI1=7}wFx`fob`cmWV@wcALI7&H_Jp+G_NklXf4?GZGbu$(_4s<8&p>w$Lw|@($KI?Z#tn)|t=|Yn)W&sQP)B^Xe#NoW-!jK6d+em#eU8C( zAB?BZIl4CD`r5=}dHXOOV_m&OS$_MCGr_o%$P6L*29WY6YAiK=JYi? zVFhbO5j~2AV$cNC2#}wi@^+zrF z9(`eBnm#OD-M`#W%bzKKIn$jL-{&ap&P(Nyb~53vsDFe`3zcj&z}5f&002ovPDHLk FV1lL`} z_QQ;aft0cz@bKRc3h*Ng%|4;ypbe0~3=()#`+%z>a z6#;q@7RX>OK-Z>TI3}IBujdO#+DFt9o33juPk`CBxqR?S;uU{qESXa=zm_(ni&{{C znKq~5XLiH->B3~U02|Ij`sBS6c#_J^E74GNqYdCgC>^fWK{%VrNL0j&_X?c@y zM@LqZN{KL7O$MhPF>i8YRJo~j;^5U}%_tAzvP*}oCMlC2RxH1`ji7pFMMcuU?kN{= zej6MR(U~^qTtV!cyYyg@5vOulk%sy;IHDubq^2k2|A;~>s=EAY55;copzkxfUDor+ z2hh7$0jqI;OF74!rQ-LfwSDsPIWWDS{&G*$KVm)$US`DNDgXcg07*qoM6N<$f@3)3 AIsgCw diff --git a/resources/g2/track/intamin/left_vertical_loop_1_2.png b/resources/g2/track/intamin/left_vertical_loop_1_2.png index bfd2d39608e4e2c7041ae587ea1020f71d9ff9e9..fb79236fc36e0e264c933293601ded2cb77c9484 100644 GIT binary patch delta 559 zcmV+~0?_@`3g8N`Jp+FZNklx98F=jcCVA z012c30}*Kq0#V;Tc{^*wgf2}-RiY!qw4-#{s+LksLHJ#|=FxwsJ*X)l^GYcrGEaJ! zVrog3nn7?F?MY45OY81Q2*SJ8YcmdN^RYHqXKE|2&0-4FG#&xG{xi9`Z@=Z_?S2!f zsS#zM3$i9KUx^ytg|Tz=qj55CZ%Yi$JGErGC0<)LxR~30W0(?4h+aeVvV@Z>*Suu2 zPLVc+Ak=@j*jRr~l&H0_?<14OM6dy)jguNtJOIu=wD>Ja(srUEXm_uuKg)>R5P7H{ zrNNM4de+Fee(-Edddv-whH4PQPO@GPHAfO6{M~JJS!p#PVw=d`;R!KIPGr%C;lm3+ zsQErF5Uod|jb`&1J3`)UAl5LVc$3iGY-|b;#bb+U1_FQAUsfexA|hms1t~uN1fsA< z0KKe>#oBeo!{+7p;gby_<&X%ITFf$8mUU>qmAt-i=(_1V8)ss^{#`7|nn6FXB2|P= zUJ+4YZrfYkt^AtoNLxjiBfDxz))xL{Lw(4a!tyWFHjrh_=~o$d4S7S1!}8x@Gkczr xi(TOp@*pSX!C8ww;%xD%`HZBEf742zd;^ThmX5d+3X}i<002ovPDHLkV1iji2`>Nu delta 547 zcmV+;0^I%J3e*a)Jp+FNNklw@7b0c`iDvPq|pv9o;aFdIb{ zl1)kpSFJUE@E;_+-hr6cEM-1p)_MMF^Z*i773>=A7K2)QEx4KX50 z&n6<}21yJ;wY@DluU1n@_+6~pkV)>O7Khc=(`xj=dbSU_wK5&VsU(kNG7RTR9iozI zMq-8=QQW&$%~G4#gC|7|l{E}Q7X#ze~n5NAa8?nHFb zI>lpx^PlFPIDdcNiIYDfKomz}?wy^O>>Wz_CK5($J$CyLx!u4d&2625%;t6?)ufmO za?Odk&57X7zPDXMw^8h6jct1nQ6{^T%VBA3b~LbD6IU1Yq)EWPywtTGhFs~V@1aL1b~+oBW@kywylC*$#?A zq`SwK4ACLU=CHSv?1H687Am`ru7b(eIbYx0NZ@f5ji{yxw%&9q^ za`}t{;3TDRdnH+h{WD)Oaq2kKY^fS(0R0du)PHQ3H<)91*Qq-Ha-X~SF z6E%k8(_-8^3I}l4+d@16SM{Chy(l)m49}An@tV;z*ms>12Y_2H2Wf>hX5uZ9kD{k^ zsa2H0QS^<#`Ff5I;9O@oI}*7y+Pim%%mW-bnr4Hzb_sv43S0*sJe@EN;;a(d30cAi zu67{iX{RkF?(L1I-G5vUnw8#Vr5lf<^Tr2o%*hC+jgPVMn`0a$23o}Na1tRb9cq_?WpPJAl3t;l%1P<5 z`WUUrYn&1*8M9uG&pPHD*K3}WDE@+r`BRN)>QN7O~2d<{N_fRv|n6Y@o{=V_4*P1;R&!zT`PXW#cID4l$ z)XbT}Mu8W@0darpfyd>AZhPi3$q7#M>E2*t9pY43@)-HxuE1;cp;dTvU=5+It+8gi zW85d|_8j1@kQ3m<@Ui-*UcP-&;q={O5k#Uk&?nxHaD7(q4Ps^(_h)f5N-=w(_KgF!0%Oi_hw%+t>ENb6u-pEKeN?f# zwtX&-IAH1>#h^~a_aKj|Y*^Q=z?k@D0K9t!diTV{0mD`ClNJYnhg#sC-bmyAmJg(7 z#TMA#Eh57xlFrJvzcNY**a? diff --git a/resources/g2/track/intamin/left_vertical_loop_1_4.png b/resources/g2/track/intamin/left_vertical_loop_1_4.png index 5ef0df496548dba8ecf3d1e4112af3c3f297c6e8..5853350d50630d88785367cf4cf9c5dd90103a8b 100644 GIT binary patch delta 427 zcmV;c0aX6x3FZl~MgxCYma8xfM7{s55d$`PD`~9RoGvFXouP*leK3eCSt=@}m)N%R z_L}=8fZk$5{7C}+2dtK|mQw4s{a$fH*ClhL>2x~fJg;l{nHN8wfzC;2r;dbjcdfN7=A?`Y59zEIl`J4-g+$k8&bo7j&KHYX%;}`CHNGs_tT*zuJ$9;K2FC z9jD=dY8DPDES48He2=_fD0f(?Q#`f*qX2R%@YC`JpN1oZr`>^T4c002ovPDHLkV1lTk)RzDN delta 427 zcmV;c0aX6x3FZl~MgxCqlHxE7gmwR`B~EOIJ;}z_)6{lg!!XoPgMLty^QrY}qLS^A7HhVTuQCm_CDi8^J*Tu`820xU32-FmvXt3ysUkfVdF0c-ukYQ z)*lmC%7Uccn_W42(;#kSSDI2rTQ78P&{NQzV{}()ZjBC{rfGjc!gsvwJ(N4~t{}{b zZ|xko3HVaKixZpUr!^l$8jPmE+fZdRW}fRa-Gn7-;cmlgk=S?YZeoG567FtKeA~GL zFQRPMoPl>y!Nh1r#6vyNz)^9No4@WBtKk?8 zIJD+@EstqYfxX_Xcz7(IE+g78aS!Pl&+BPyH#9HH{UxOZ^|vZMlyPbE^pHO~TCtxO zcg%+astK+pk)PUm7w}}Qg6&{}IsJ;?6Nnuvoj;IAV1y&?e%SL9c|`dP`{K_({{TlN V^pw1$cGUm?002ovPDHLkV1j><(?S3M diff --git a/resources/g2/track/intamin/left_vertical_loop_2_1.png b/resources/g2/track/intamin/left_vertical_loop_2_1.png index ee1cfbc2c04201a0888ac86d610569b3c4fed88f..30cae600e8e29c5eaaf5133ab15ce873aa29ff5d 100644 GIT binary patch delta 363 zcmV-x0hIo$37!eCJp+GCNkl6n;{ z=|Z6S$SOdcJD_v~{^+AWR{rk--qMk(%YoSZZg9@&9k%3Ba!N5h!xktPQ)XU*bb!qd z{)BGsu8~sJ5JJ?U79RF#*gWig)#1I*>#FLbexrsIV+eka9qWHOG<%zwas^Z!%=n>K@;p1A7FOoH#jbAs4P3QW7FqqO*CZ`*NVKlvP3)g zJsNFR&tHQqyd}~S;oG@Cx^A(`cIfi^*dLQd-@BitZhFal)ejB^%{c3_lkNZj002ov JPDHLkV1iY~uXg|d delta 376 zcmV-;0f+vc39AXPJp+GPNklsg6ZQ%=&>4CF6gXIAg~rC_c#oNF|JA z5szOS&4GEs!W=-2%VnL~=U&MaBQ?Q^dy87_zNl^b>|~CCxO0=%f2Mu0-+otG6%#iF zL#%;ScT(TnNSI1ViI|B6Zc>&3(r6xIZ)(C^c-Vw(Is(P5>F6T>H=5aw*b{T_aIXo; z+#-k#z(P^z0s~8H~j3a!g)g-+7#Nm*ha-=XfFb%J?23Q7q$8g iy`z|KVt?R2D578U5&x>wHeVJ100007ftBSCXQI5>2Ph zzrIbYr7(+!6F!epN?Qn)orsSv7Qv8oq32091AHng(|+f1ce*e5RyHn+m4f zmgyLt2&jk5xXV^an8v;V;ThL5O&3)&Q$+07$^7Mp+zz*39F+`O?%eCjjBsYBLCuq% z_Q2&7>$U6D>&y^k}esJ)w?9W;s8>H!v@Tw zs0C-9#VIQ0UPqzZl!KDG=kax}(`|pI8(18FFH6@kk;O4~c*cm_9m$62BZrO0rmMf9 i_YCMCu`!Q}{+chLI00*^40hW90000u0Kl{ zeU6c4Aztkl%|b%i4X=Sxs%sdtn)MJ;E{l+T4+na-UNVGC8PR`s2uEWv%QqqC!Rg{i z*#|?A^6&RP%rmN*DvU1AE5kPxA2YR(YFS&8;UZd-MPuIf|0hXHvHG<0B+MUCe;T*p z73%R2b?tgT*bF4L1&v|{3x{~zi;Z+mrYw1gxpXKW2&efUy(l(NBDn+gs45(y#EP#l_SK~76iLd z#l@4!4Kc>hta9f&!sNPHrf}_AD-|0ZH%!}%a?0`+*7QjHUQr2PjWITMi$Ys(tOq4o zYUP4k25TxMl{y6#j3LRpvOv-#FsovlLWA;*5T!o!DRM{DqJoDTQoabpx_3K}cS1R( zge#W(hY8imi% zFLib_mGT{A^+BCsT zBvKUZNxZ)Il+sbeo9XiYO8=i_f1fXAa`1MCP!^cGmXdWH%eMCkq(sL1R0iNrysFXq zHI{99(J75Wc-{AJAv_8Rk?qrqGSeu8x3^hq)ilwu%tH2bh-rUIufprt5&F?i)N9GJ zkPdaf%H+th@1~l(*6RIpqYyQ(?j~hOTF#{fXfxTq;Wy~So?h($S}lp? zLAHB?yLjwDwiL>q1&5h!<=`yIE+sj$Am-=vVN85kkYbS1>VNo)E$z`cnI)3J=&c z0z7c>lH%gfqJ74D5ikAbc#%~)JNyXbI1E?`Zk-WA)u}yOGop2Z;+g{8r#u8!Phkg= zI6zDUS8;!gUm5Y8AWr(RqR3~X2bAoiI0*qw0s;9)q?XSBfoj2u1?nnRLSw(`0tahD zs>8E86eocYTu3J#sQS2T=(Cv$Hc8ysNa76PnlZ+Yiwsn~JH8rTlwif3iu+%#0#tQ| zQmx=e)R2oC)irM{KVpH;4X($3MIzX9KPiR!ep_dn`o(4Jl}YKBuqJeadLocj93mJ zE0vSbF=NVIa(N=2VoV!<1VnkEqH4p0Ku}PT0OUs0TG_p(`|*F#W7+l(04u50ATtMg z$>})K9q|!2={5x(xH_lW?g-X)7J_QW&?vd?pIM@B)`qgpshz^X`Q}3eq^jV3KHqqz z#X}&)i#d;3D(!(FubHWOTwzJ~D3_72nq4g}q5$!sS=~kZPb&Ko!R_ei1bbMBkXMJB z3C13}2oCMBr1=+dwO7DKA7EG3INUm{uZ)(kfj0K`bo! wIWc@%#W(ApW(a*XF=hM@2P=xR@awhx1JKKfG^an2%>V!Z07*qoM6N<$f^a~kX8-^I delta 341 zcmV-b0jmCy35W@>Jp+F>Nkln&u6bN?Tq5-L1z>+Atuj2g0jO2|fgoaQ z!Yl%#pq%0Mj$m!4AtrJ2BDHPbUUF=9E!d>0Edb>ev$81fShK|JO`yR z^0H1447vzP8QpI8T4Io+I=@=vrxhT*%ZM;&nD@MFQ-n~*jtz+H6A^-yu1+SbZmB%Y zM!P+pfF912Q0+}q1anY{8RL5zGm${-TJwoaL||pT@+M>9QSKx7gKx8&&ZODp; n2T*5;sp9{z4+K`cn1b3qgI9yU@;ph800000NkvXXu0mjfi?o>~ diff --git a/resources/g2/track/intamin/left_vertical_loop_3_1.png b/resources/g2/track/intamin/left_vertical_loop_3_1.png index 3941c5d70a0f884bcd78736fa4819291d2458646..02cad2a54688dbf43193c2ebd213d84399b147ea 100644 GIT binary patch delta 366 zcmV-!0g?Wn384wFJp+GFNklZ>B7(t8>2j z$H5$XBcjVxS&rLobB;0Rq|!YOL-6=^PeTQ3A>VSxmFXE{*f@WpA?^>8dor`t-J`xa zyIa%bjANYZDVb-gFls3ES2N(Y-5x-lW~!1{hZkJXL%V$MjGS7l_oOjgPmolcAS`X;XC#bL1iBJnv!%i?j|yDsjC?Cz$!XJQsS41RMyTS-YaxL znm{@4Zi(gfh7e|6=S51tuP9a zN|c4UZ&L*Ar!*l6UCaw&>zOl)E@qi~ zXc4%C7)j|5w!bEWAP9mW2!bF8f*=U~js0u0ey!%Z@88KwF8k#0cFZ=pnYyg5_I~Nd zeCUR$T0bW9GQu9coA%!8CWg*L%&eQ;f)XL@Rz27YhWXD-&t8AgzurMxXBqCuu6JL> zKey4Fo%0aMq&4Qe=1czYc%V71G8@Finq>3HweBC^->f>NlthTwdcslKm}pzqHRrqm zbgPdrW*TWWZk~H%NrXMj3Ht=wxU&yb+pH48AyrH&6K2`4CK!&#v4>j_@Si|UfihBD*C?i}&F$xwT zmW{~^^F$tA;QMWI8TMYaYQc3HCEaT|OZn^SEnY?VlUp_O<@^9)6XX#>O>bfV0000< KMNUMnLSTYXG_CXi diff --git a/resources/g2/track/intamin/left_vertical_loop_3_2.png b/resources/g2/track/intamin/left_vertical_loop_3_2.png index 407c9018d1633057a79afd21d7c9b86f2b15326d..25f649bcc1664bf1dbeeab8d1260370869ad7115 100644 GIT binary patch delta 508 zcmVb0~ryAZ5YX~9|59lIMp>aY^gz1D>ICSbKBs~0sV^vYZBL{@n${dbWXl3Jw zq69FYvR9Eb zQU=9}{nSsw>MMUfT+5J$`ec~!ZNvg5lh}dMaxyRiAol4@1e2?x2QnfNsl=yA*I@iC zfhcxWnEdlp6kh@2%p&wE!@6M;;ZmqCPHrRU=fCvT`%}`(u-w8(<C=i!`a8ML6?w(-bW(y(U}%X6Kk;;nq7UF(?pGGv(vosBzsA^O zLG2g$4bad?QQHx~6ZyrVkdomkqv4A+zvr-cyb`cn8@A5fOL#NXIl_-Hc2*kv*|4qb yW>xRu4lLK&>R$A(u(tNL_<;N6__g{Q0{jc(kDu%`n&?0P0000zs^0HBSPwCd~v|Hdu`D z=ybpxAOP2@y^b&r>t@a>y&w38AOQSI=`x}f2B(ZgAtkLnDnNNrsm#56Yz9P#@$*Qp zjL{PGEQ?p`!XkfT)U;#>^{pF_$S6WFRU-8*#6(dU{Ks^^!dA=_;17!&DfdD!+t>(i zxa6nE5OSXAN_<}X$~NRB#muZ(%KU=6TPlm%#|RN~RHKhcXhYZ|A{j!^ zrtCPoPJQxGjLe@XQOQ?Mg#Hu)ek(o>C-a<0A`I=DIk}q*( z?5~trN^kkIYMIG(_nD={tIt;-%2*k)-||vVtsQ{z)1WR5`I%BxmwuKW0!TXfQSbl& N002ovPDHLkV1jXOWMcpT delta 216 zcmV;}04M*42#g4@Jp+HbNklM{5YfA2%9b0>(%&YAfM+k{5CL-*& zcvfs6c1MK$rLo~$nAz4+COS9f>c$}qshaYXsfo{P5s8eK#79ufTvcUZh88-%D|8$s zv65@)eBlsjsb8{7wLxCZG_F4XR_mUpjSNdHC0SBkS^lX;G+-4%6#}fnPdx##ECE5G St!-rh0000UD~T441}})wSDquyAw$WV4pLgy*r9WsXf>=G#sowMXhrd=pK%oxyQev)1?iRj~qhjRCIq<+<`_uyxX`@k^cMf z8cn{IkfjhwFA6rn{{eocbilXqj`qINHFzcTuh4b^#r2kU{xOLCyvxD+`D8zyK> z(Uq372w*kzYWaUZ*(AZ9e}L}Q&>K}leQ-Q>AKE=lRAUMfHvYA&LrLz?0JAwbVjWTO zc*-4W4p#S|&z+{V~^6l3xJfPm&F5rKHogrBAYS_I_3suFtZ>c-dISi+@CElQw3!1(xz}&z>z{ zK)6<2k+tI1T9z!3iI&Z+Siq+QQnttz#G$QOV6-r=+C5l!TVw4QsopJC0Ylf=(Usd8 zYu&SLtGl+&S{$}*4K?9awj-2_OT*dF@+u42w#p}tL@t)0;svl>et-Qxbd+}q{RhmK V5cWB&cMkvn002ovPDHLkV1nV_SSUDn$m3`Dj6wSDH#&Pp1P5V)r!+&0c(-#pa8#_bej;P!hs|PF% z=wtiFlqwgss0x2~MOOQRs-b}$kM7QyTbiiG6g=Gi-3bnnJfR_`7*spPX(K(O=Aaqa zThl5M(lctZl^LI`U#+jEXz8P!`KrNF0`@Qlm#Z~@uH<28f~L?seM>ugscwdvEI0Fs zzUgBBoI1#Q?W@XMJWc#Uhx}eQ{n4m+pRGi5wtUzaHKAyI$#D;U6%37SRjPjPM zb6I#0M|_pc&1JzN+tJ@zry*cO$PzZBsg zUF@jA&Ut^eK0>-#RwiVe% zqsx{ojGKX+Td|OFM=NbhEUM60q5F>Fw8MT_ON`w#K4&R$07N$to?2SB1RFqHekv15P~Q?e_ia|AF21 bv&jAdO~eg0fv4h<00000NkvXXu0mjfkV|9> diff --git a/resources/g2/track/intamin/left_vertical_loop_4_1.png b/resources/g2/track/intamin/left_vertical_loop_4_1.png index 366f8a94ab05d5213140e0e150a3386c503deace..b4716cda9d8f46c6ac09c6f42b05433dd6c9f67f 100644 GIT binary patch delta 414 zcmV;P0b%~t3D60!Jp+G!NklMrIdz2vv#I5aQW_CYzqEO|B z`U<6O4B>Zth1s$0`=ngbtbK$&@{}zhj6pN=LWUvBgjLxD?|W-4C8f7EZ(na3mi5XK z!S>pvGB-IdETsc>KgM{}@hx>}>*m;4t63Rx%E3kRb!}u;d!BzSu;$xi+MGT_N|kIT zl}$#7_{fe;c~#pOCtZ3l`x(P#wOi0xK`#Q1DU}Gj>#PSZjC1(5@bjr%8sOQN!?m2U z*)h7Dqh5ukYcq>@8#AMn2+g$>$F}#tmaq6hM9Q_Q1;r`yy|TpZFEqX6hNhNdw!21a z6LEH2Brb*QsSSUnL?;K6*ECp4YSCZ$mZOv=ZV*}?UEDJ?`sH2re0+nXY^oW1v5%WEdBy4pw|scp`eefIZiM0!-+_Itmj*qu2)gSe&I z9<_V!Z07*qo IM6N<$f~KR-wg3PC delta 419 zcmV;U0bKsj3DpU(Jp+G(NklP9?W9uusRRT|y1Pa0^YTQ+RZZ^(R9n9{T^q>Z=7 zQg+$H`ZU-SM>v0=MOUpSw;16ZP^3XPsr^%3RPh#z1s)b)b&ACK9~;(L7{VJY_kY=+Twh&}=gQbS&7}YU N002ovPDHLkV1jNZ&;|ei diff --git a/resources/g2/track/intamin/left_vertical_loop_4_2.png b/resources/g2/track/intamin/left_vertical_loop_4_2.png index ddd1cfff083d9bf85017c2caee99b5deb567ce35..a268ed45527790f63657d56a594d51a0a0fe6369 100644 GIT binary patch delta 626 zcmV-&0*(Ew3#<#UMgxD%*4-co^!;D0K@;Pn#DDGSK<;;LSB1KA0fCueh|c|W&fD3~ za)-ao3B7OU=(5E}_tZIuJAx(N^H=+BwI4pJ3FJM)9Lqg98yZ4otmAc&9_J)o!{lElG6f9$LNf%`-v8L8h2=7Ph67Q=WfgX6sF031VoEk~wFJ55nm3irIgLm+0hVTmS$7 delta 626 zcmV-&0*(Ew3#<#UMgxCQvg9BLoT=Ul>6wLQ@WAD6{wnIf%6F@;WV;QyLJll+P1$RXlpQJvdyTePdjy5Dmxf84MHh2I}zE8P|pfs(dT{3 zfg#DU7zGt!(HE6RFny%P&X>4?e{%yImXC1xE{iAVUSWSTM+i}~+>8F{Q@dG=Gzs^5 z9{kH(s*Eg{4H6mb6FAfsx6CU%pJ*1uxH0_=r!j)u$t%n+9yl52ixj9YK)(_+oc7F7 zeUaoE7c>Nklt>&-@cibq-Rn& zbjmSiN`{`w>u;vQB%MG>rtLZxBxTHC<@PB^dKV>;CYyclC^93J&Vh9w$;7O`3DAWq zl0ih!*Hg~#fe6f-Y+Lxovaaj0km?wQ9~g2$1Y*C|QM7z6C-qwX%_|T%KiVh_8hkb9 zezZdYvVm{ys$PG-M3jHA`VJjdy?R{sjgjVeSGENr0*+Rpoa86%$2tQay6M&Grt_DpfU&neR^u z2^2*fl5tMChuC;Y;(^W+-M5O!_R_oCNXZc%KtiiKL}!0m2_zL-QYaHmjoY8C`hO&J zmFljiC(v+{#6++=fQUe#WE_EWL=es9*=(FJ!O&svY`p1w_^FGaVgqPQ#e!Pzha3&N zdL)k9&>TYxO`rB|mScz(a49;hh7c!-Nc4anF(l^4@i5!>Cz>2;jI1;tBi7{506B%@ z7(g7{w%~ua?m9|v85AE8%e1}=m5v}Tf!6x*md402gyD6k>1KKY^-C{<&Y|@l>Ia$_ zqfEYm!+NX9Q8>b#;G52NQ4E0!S))xwg0_a|qD~t8meE z&S<@dTzT72od%wV%Dao2^MRpw{zTMvd4AXoL?yaz+1&EZ?GlP=h;nAP6Q_cFT$Owz zN1rprPC3Mb0?!XAw`ZbcPt&2gMfni5py+xL=IdTQE>}kNXsPwN0;%qztFsgTisS4c<}?|bw-z0 j+U^N*L6P2nsOXcwdn-t+8B3mB00000NkvXXu0mjfs+yvz delta 859 zcmV-h1El!t(eqqY*0(xw|lvF}{BxD-!eiFqK4HAX*&B zCem6HzxQc_Kg^9q7O54WOr=e=+HDDswQ)}JzCSx zGtPMWE+2tvQ4@a@c{aG7BH9zPkJq<=w7h2ECA74Lw)Iy}dc9Fp7YsTf^*rURVM@fQjDS=x7(jwj6%2(9mw^i0RwwAGDuU9kAv9bKP(ecy29O6+ z8{BlS*Egj#lYr3Qhx0WA|1cBb;#$z1WUEylVIwRT%_M(8OvuLQi?&P>21n5*TqC$$ zuP-n1L`OQNmvgA8gh{M&9JM7-6^&WPkm|A&>hjFC9@dhj1Bjs;BkwGfLMzfX2$qYIpiJeYKyM{^_wW%A-oSZ~LC_p=UQiwf!S}}5Ac_}p2>vm5g zMHV`+4YTqJBJ~|iG1%EN2=luOh8zv7X?aMv<5qtnP&6hJMJNw}G!|T+( z4p9>?vwO*%3Q^^l@toF76ihh3Z;n;m@989rJ4|2YpxL(HKjn*`9V9lcAxr{Hkfj*T z#~M?65(<~^Zi`~lOU+E64!!;e*LkJ+sBgblxK6s-J;^uTCgLZ{^@Dc)?0EV^oDlE& lkmM&M^7Tybmy`eG{R;&pNV&{aDn9@K002ovPDHLkV1i~`naltH diff --git a/resources/g2/track/intamin/left_vertical_loop_4_4.png b/resources/g2/track/intamin/left_vertical_loop_4_4.png index cb2b1c44381e9711023e13b594e9d2d91c792f07..c1018d7d9c44301089821c5e38e6f88f90e9b54c 100644 GIT binary patch delta 111 zcmV-#0FeKw2c!qEJp*S_Nkl=NFi6=e zwbCoBMBLk^9m0&Xd>^=mPEzFrU(_fphidWT-<44PKd1WLr<<7qU%kiZOb>^@J4uGq RxK027002ovPDHLkV1glQGo1hc delta 116 zcmV-)0E_>m2dM|JJp*i4Nkl5;Fn- diff --git a/resources/g2/track/intamin/medium_half_loop_left_1_1.png b/resources/g2/track/intamin/medium_half_loop_left_1_1.png index ecb2c4135e34db04b407be0a6157e96e7b104a64..a1a06f76003c88de35f95fa1a99fc013d01df8df 100644 GIT binary patch delta 557 zcmV+|0@D543f>B^Jp+FXNkl<~7ev;+Rq`72nZpToHi)nhsl@ga|;V+b^Qmjf6}5B!n}$L(&h^rPPkPi2Fr zTw-82C}3P?H~VC_1!#vy$=zKX9-=Zj5w1(=Bl@s1NLIV9Y3F~TqS&I*@bEhTOFxNW zJ;XfxEzUd|536H@N7{JUKNB=~6Ld z!J|fZX{!s!F=l_%EUrhkx}fIxQp;oK@%Wt=cqH-RPhAc?(3^Llu9&csy1Z;&TA%&l zx89l;wXmm$+j@V1-}5q7U0e@@XC$wAsnOkH%C|~uVa)5An|F-BL%I#joR^9%x*jD{ zWALK5-i#vPmvuDbptK^od1MPOthz)iVsSiHc!sZL^5+&FPyF0A1GAZ2kCJ6(-KoW5 z!{vAwJUTa;PPMStrQaa!G^0mE`WFmxuJH%UibQL`nTyo%=n4&WRBOWO0eQbBO*5rCeqFLFuEvXcm&Lz_K)>oJvxsXgMH~YZYF(}r5wDy*aPDU>EVX=2fs?xvlks~l&=TxrQf(P v@ivbSPBbOX-_KtD0Q~!0U%kqO>tN|00%W9gmiktQ00000NkvXXu0mjfrSA|3 delta 554 zcmV+_0@eNA3fl^>Jp+FUNklGMA}O|N}nl-j;=4ng{LK#spRc#SLx){weUs` zah?xmT8OiT-s6g{H0>=DQ{Rcza6u6~Gxw2W4(n~G-M1C0rEGsno0o1l101#y(}#4O zxqzeSh9jq|spt5DgJ~G#mYjnN#ijX#G6_DMgQC)&MQYv~>KsI2j>Uh*4bj^jr3Y`W zsIF|6fTQLx#g&VQm_JvF`-41}J0-v78$XcCuzL*Wc;Ux)E))+v&9;}0Tsk;L$U)D% zxE$u?F!IUa#}vm;E zQ%4-I!-X;?Q{@)*2cVHjT9XU&@)bJG&t}rJCLn4iK%al`!h^XXrf|5tkMZSGi%nfw zBR^J~uEjJQdLv$xZlFVJ3{BY{s~x(>(6>&j<#9UdyrZyhF}tVJwVo0=osQ3Gv>)&3 zynDrvq5juD96BDCB?m?8F4lNMuH*ah1auh74>_jb;J7`0uwcB7586XN@?p~W^(&V& siT`eYo%13L2jI^+{`D%Cju)lB0Qe;)NrCe11wnhA0FGTx=JFM~uRa?`IDmjXvdLS8H z2ShSMs{tG9U7?zx)i7gcu zKisuWtMI_2E4yEat{{C*A45v%VXD{uHtnI+*$Yn)8 z%^g-bv`V@L-?A!4E8c^pdSj0}hSV`;a;c(0D%lcU-5#YXV_0jvhBz-sMJo;&MaN4G zFHXrDyUj)6*bGSW5IcsEhgO?)8zRs+L-Dv%(roHO{}hcikK^1Zw93 z8J!Xg5UJIopVQa_})%xrR~)}j^# znyGN4A}Xz5BbUb4jg`TsHL*rxlvZ6mX=Qd=cN81)Ox*+q+hBi4>VCkgi1pNTF^ARM zS*30QgKUWA%Iw8ZJXUV1z%a`KUoFAQ5!}}*JkQ?v+hOHZfu>VLrf^t!Wo53{{dHqS zG3=fJ&pH(WXX;>8V?Xf0Xir)dDzJ{-E;brxUmpviaqtcMsAn{v&*ToP0z0e{JI=%l zsgBC3heS96o@IZ54(xo*hgI2}OrB?AQ((M{-gzcAtonmJ3bdLPaAFt|`#L*?RV+?c zT3C(Gb3I_COQQW_}3V#+4qye-j za9|c7!ITP}r&O0yK$n@W{Y4hs&G{8KTm0Gq`fiM78$fP5ioO9{ zyD<9qPUIiC2iOj9T^qo+?f|j_FsoyHv{o`6BrO27<}(Zc4J&^>N^aJz0bnew7@M`4 zbMYNm7SK?d*`T0V#3)xN)v8la4f1FgssIXokjh2uaMo*1!2lB7z0yOy1%%qF06;`a zjQGTyC8|aOfCMbVY5=5Cia3&hMwLb>u)Fo%MKl&=0NB`DGXU`UwjM+xobH2yMj^w7 zYUWwdFlWokh=P9{3z1h1WeISjf?>jR5e?4`P#FNe*^~}2Yo*)(Y*;CJ@F`;(rG`%j zE1XCzgdg8vQN-H_BK(10)azmoS!H z!oh;Tec;Oj& z{ndDvu&{s88}D^gIwZb3adPXTud1WaxEt0(j%9NRbc1>EoK;s6S{n};LpI7#Z4@3S zB9T7(rlr~}JUud#6;Y@j^&J3V&$>Fpx{c!z8VMjhzjFrS!ixb;p^Xg4D*LFuS`ffmYXX`iM;HO7q^gYVZzT}>E47D08^fj rDDM*gfqP2f00000NkvXXu0mjftP5OL delta 766 zcmVnuN~l$EnriI$|i@zO@zmD6JZOm zwgL2=l-I6`zT*&|8z~?E0iZEJj4@crScq1mfLinE3rQyjl-z$>>xKx~h)^+FYc=PL z2#xh3#%BR!q@cZs5qV2(6@bosA7v0L1ssg{KHh-f5w7bUAUD7q@U0XOA)#4u03j*P z(X8eYl>&y+)uk5w>f~Gqgz{}~#aE;$5FJuC5ls(D5;8V?a4s7=79tT!_Yj_<^jL^U zccq&v&6UUL?^wvdFARdv_+NoN)xd( zUdwAgky9f#pqW!(hhk80&yNfX3e8Om06jG#Ha+brsL+3N+pp9_I-z297}f)@ULwP6 z1qKK0<#^|&A5}7rsvf`C0JL|G@KC*cQB^rdmGd)4ygLDC&XG{i(FkipXm(=`0F*2N ztt6MS0^ohfZ9zeQ`jC~oN!84JaUue9yz0;yLVyARAZr{t!zf7$%P`&n0sxyW`a`S0 z3+=rTsy}~*b_ztMR{&Rm9f=z-N6SV0I5IS!4YCR#ZH^9PpaE=dW0jIJj%K&v(Fj@t z=0?AZq>WOa8*seqOf%emhR%niw+Q%6oZ^;M4Jni!ZVHP=Wd}g#L*F^hM&YKy=u8K< zYnVERl}ggw&lUTJvKn+;rP-DN&}3iawvZ81dB}F0B`s8vFz-rGs3b!g?|g(W4n+E6 z=R@CR^gg_x2a`G7S&`vL?|1E>7^a=mk!TIRYxVR#T&xClnM-vM=zR7bZ3vS~u3`BMRt64ugSFuRy3H@w2yT=ro3N{MrFR<-#3q+X@2TZ*4il-!u7+Ko}+oESvq7mA$-(p^XctEJyt}P zZbBzEts$vCzrSrhc%2)E*6L90461<^yw-{?K$ugSp{2f*qT;F`3awVD`R^vYL?hOn z+xsXd)!v(-P*i`)6m+Jc1whHLY#V4vywboDgrb`Y^)b2GhK9d-GZqS(+?(n|iwy>8 zpiwCy!2YBYr2Ax|6_To5kcMpa%_I%ZB^JW44D=Vl!v1r01*VCL$=b|6u$h5e?Xa0nI4z}Ohapx2g_^c=0gUikR^g4f23BVVVqVb! z)(9+u%^L?U->YCcATiQx2g)bR=|$dlZhpcL_7$+GFkzv%1crlH^c+a}H~XX}#zAW( QFaQ7m07*qoM6N<$g0?7M+W-In delta 722 zcmV;@0xkWH41x@>Jp+HRNklYX|5tM41|6EtC6+23bCD~r74G5{>*6J!)XZw z0)4Vw<%Q@Q&+|Kf{@-&w58`S$h?`pKb&581hI|S)dC?=5>pB8!gD8enkI+b$3a?U* zq{>U0+$rP(sj7@Ydeh?oO{D3feiLY4D_s2dPu!5_hEaNaCc}T@_a{YgWA=NDuG))F z)aTW^%(3{zea@9XrUks}^V!>+H|bbY?^Nqw{`56kpomzmv5aM+>dYS}8t^3a(z6?j z#*!62r%{Nzm#)>J#JqV~qq=DEU3a;uq3u0=8d_`HuZ%w6xy}1A3^W$2Tm_8A6dsO5 zk*RRBnFdjHw!VKnWdkj1Fq(=iXzEKeq-;buRwm6m_(BUQ@)nhsHN7h|(3o3{`Ra4* zaa3Hi#@bDVF&Dl*q6Y@&vY12anixrzvWu3J`K{Le!i1aM12Z*=nu#!h(&Y>-6}&@) zp$xOd;tMUI*&%|3gyHKF)HLAMqIs+@T`sS|Y>h3^QU!lw@(!*%V_?xv2yLuAbDe_1 z9k6b$ivV*O*96VP5@B6~`SN^wjo9oj%Qtej%ixZ-HNd4coD!gFcn}(|Hl{DnxM2vb z_SIK$=4o^7)wZC+tEVkKF=(o2_u%VK<*Ifncwz6XkQ$*2vTv5pm#(=Wgp)sV2S5s zNzrvY{(@y{eNsFDOMuZ!r<{T9J))d^x8om}+8)T|2k^2iUtmRuy#N3J07*qoM6N<$ Eg1%H}hX4Qo diff --git a/resources/g2/track/intamin/medium_half_loop_left_1_5.png b/resources/g2/track/intamin/medium_half_loop_left_1_5.png index 44475e13bd5c0536a3846d517e31efccd47e00c5..4f625df482ddef2fe889719e5d7f4194056bc8d7 100644 GIT binary patch delta 507 zcmV5Jdg|pSHm#;Y-%;!`+UyJd+^UEYVsB ziJ5wRl#38vo$JGSDSDQ_|9yT$5B+VcTC25uo?2VmrT&R-G#WuXOyxoDt6NT` zePYsX*H%*C(b@q*XL18r&1In_T z7aC&Ix4a=5n1+2(56WB7gG22)I;k_dU{hN`))?xTe{QP(Chr~3m5J4BXZ?UJ(|X}C z!7m!R4Ah=kda!@P+b|3bQB!Nfh$6O1$!H_FkXN`F97e*aKobZ)upm_Nf{Q`HgklQY z)8!(r1dd!iV^1g-oZ6RoSkPJ{&n$!4Elkt7Acq|aI|Qq_F2~g$P7O0$BlUvtur=0B zSQ?cDPQkR zhG;%jzz32-b3b%Uh}3^gDsda?T)QJCgFaBR zJTU9my`(q~HosLHdY~MViDkIBVWX9B9MK2ByeMfokV-{9`+AWHP9{Fuov1get<$2K z3HMH`WgTb%s}E}Jm=jPzFATNl2m~|UHVmR`8?$q&hqy3JfhDWoZp_VdYW+y<4mIYy z+SCEfVq?~&8R~zQQbnK?v?G#$MRP?dTmyPlq^tK#Xp>Bhg-olkHnC_b+Y)CS2o9QU+rV=&v9 zIqjRD_B}la^rVOm3=hufIv&K1Y}obHrI*VVVmjHzW5v+CXfJ1p9OJwH256gWK3);#(Ws>gwQ-W$acM)F?U3ZhB-NjRMpIKh6I$C`&=N1 z^d^`jfE5}Qag0_pgCTEgH~|v1L#3%>*a$~3a$+Wo7`R-0uTzdH5Qh_^Q5-A4K2$}a zZ`Nu##Ta9Vj!1tVi%uaiWk}=J4L{d@jLgYoUynF^05TLg#X0Hp!*^I>9Y>^Njml$( z3VorTj#LXn;gdU)*`8~8xE;6VY#?(Ob%f#untHzt{_P5aQ!z9L$B~S?7HxA|wSBjF z;Ev|VIG|PQqV1W>17}hj{_$N$>-SW+CQlJo7inJ)@DCthuXaDc*B=$Ax5S@AVr3#* SsCG600000m%3ZeN>K*wb}V>uFG%4#>oW3)K%^XG()v8`Ml z%#oCo8o&bMC?v_5sNBYI1xVzrvOv8~Y)!92vg1Q?DD&h~ATbCVqdm&W5v$~UjIC(O zVHHO_P3S3z4sCy(j@*(3>7tz9Xl1R!@1(5eV>Z_c_smi!*QNddE86lL(|M6$S?8Rp z`(Pt*wPSja6}WO8AMM@kfSMA-N;olfPga=;c0rxV|6D;X-Z$e7gf9l%aot*{%7e@u z7n-lMHWkbtp7gfA*RQ1-*QTWI>oMY&2v63$*7r|fVP_omTTjpDqvBt|M`CLf5SG>e O0000>LGBKH#3om!KsKwi`1R`P>8QOyRjc1FSr zi}>y!y#dxB`YvCmrEqsZY?Y&XW#7$s6YMLSM2qzkr$>&)HMfF3n!_RY_*~n%{!jie zwuJ^Z_8l{WyCpxt(zmL6)wDQs7_mtHmss-wo*Lda|c(J_XDW^vPc+P633(g3U`FPG%xbMVsj`12Ro9=zaF<#CI zfrw2>l0srrd_RV}-yzaY==3KLje1^vuGdP&DbRpXq;SeoP08*5vdCjb3<@>& z)wo40*k40Q;8Xw+BrAuD38g$Joji#qXnC1aXxoN`8x{+GngO(J$iOxaEZzb|U})002ovPDHLk FV1oa1x26C9 diff --git a/resources/g2/track/intamin/medium_half_loop_left_2_3.png b/resources/g2/track/intamin/medium_half_loop_left_2_3.png index d07236f5ae01cf25796f27bfd933eb356a09293b..2f114d20d2c05029d1b2d215708c6499db6ecec5 100644 GIT binary patch delta 715 zcmV;+0yO>h3;PSOJp+HKNklmq8RJS@7;;qzFPP4R@no5y|1C%!vlHOIe z0QR<&8WkWDx3-!y2)r5ESOc1KDta#~bhBh$_yGWQZ%59HCi@};I-W~{!eS+~UI7x^ zCZEq->aPfiFJOPBV|D^}=PFBphf0Re#jHe#U~ro-&%Yc27Jujbwr9uOSAIrbTGn&sI zF~JIPQTUk$;Jd*%{Te%dx*%8XOVl1T5G3?<$JK`hSo4@qhRSz?eBM_$UU$t{5J+(R zC;SK$hsQx8vC=V*+IWR%!GGrY6fR=z8_bh?(fb*2WlnJk|OWpsr94l^24T#)LL3Cj2ChYB(WW|3Nt32~ihL(3sFfLZ@ou zPBGyK1wd#cViXY0s6<7HxWXF&B|`j5h$GjSUp7g-hlDypt3iKYiV{`J5hW6MOmKi5bvRx$-Yep{Ag%&siKh&AP`Fsdk_%Fz16jp(gEi{Af>Z& zOh|N|`wDK8j$NZ50M;>fn{*d|(yj{#u;(%NjSnEuP-_7JHoA|pCO}{q52)-3q(YoO z>rGZ~l8t%>ZzF%;S-O~YOE6OsWnFdw{7_DXY{=LUkmZsyJ7bBn7);72GRm4TO*#^- z2;L)tLa`EZXU#CFqZ`(voE5K zN4Lym{=Hhs*jhyabCVwet=7zh*R*0t!|Fr83uy14;KhF>eF(rK*ehqx@cJ4Lfd*WC z#Ej1|$EQHahY2Le5?_fH0vL169O+CuIZy7gra$n|$~NFvRoppa`|Q!0eDSbrz@4s=)B&F~`rH;5ZKR__OXYm<_PD zoR9-S&=!CAKtAkZT%6w&{7vu%8fhP-7p`WpyG4#032qExyAmJp_@55&_rNh!HeAfZ z9yksuj_HTyjFE%K3{p1xU_h7xjT!s%o3fu^eCAHz4@@G0Q&n24)FZGzYYKo-QZU?e|c)lK7$A s!0>@B`20(W@u>Wl@Pel|JiXz+0Z=`Fn5);?F#rGn07*qoM6N<$g8LXsjQ{`u diff --git a/resources/g2/track/intamin/medium_half_loop_left_2_4.png b/resources/g2/track/intamin/medium_half_loop_left_2_4.png index e5ee93b800eeabec5b28e4596faa321d5a9e7794..1d0bc533608d4f49497946026e84510ff12c1a2e 100644 GIT binary patch delta 1011 zcmVFUYd6UgY2BD9X ztELOoKm$rjU+4Hpp;Px~2-&IaAI|`=^s>dAi_~rDTyaDg*YutDc}TeV&Pm6(t|Uyw zb$%FSR%KBJ^S8L|IOa9Ev(KmPhE%3;4ItkKvzSR`y#^(f>hOQ5+aV-M2&I^m~@;!g>@J(7ipeJ3z4Xdp+dzmiE=p1^C?38 z^itlA2}Imgd)*w9+Y?>|^`X7ERn&I7o=OKF@`!^E%Hsac>TR z2FeZQsH5JQt4GJ=bKbJx=9GrT^4}Lakw?cwapR;^j}Gec3GtZ0T(d_9K^Ga9$ds8+ z=SU|DkCf4aT{=&@AzFv}H3T|4ZfJ>|Ez6^GOd#^jZexEnI&3iN+3RgHJLtV+Dr4XG zF5KrA+i^?mpTgh!uIL3fG#AAD{fx3+z!RE_tB9FK3^K?zFG~o2Po!}S z@OCb_-S>iY)$70Cx=j$c&$~@ET5nM)et?cS!jZ_bxrMRq2I}{aIGjkfL+-E4tHSt} zEvCI6pmBdq981}pMFT)aW^8?^-HoILsAH7TBSW>0$+qveV=d>80{z9Lv9S;l|5;qp zv}o-Qy|+1g6E2x-E@IO-yC3phXjl_MzTHc<-KL0jbK=D%6-+GKc@^@nBxc^42gF>y zMGJAS*kB1uQ;J@00NiX31F%y4E~ej*NFtfhQh0xnM9VeqsxRf3wtsU=?pbgS<2@{|8Jc5ICuYq>*)~d(mKd?y*STK^8K-)b93&s*? z9g@xf(8L8`@ghDCW)q!%cn!qMU=WRf#UYsRQrf-%+G>;0`j$Z3C^1C>78yIG?KUf* zdCq@b*A^#`uF|#z${r*c;aR$VVIt+CYoNZAq1ONz0dfR@h~f*+j5TX)KM-~xg~>8~ z={h`Pw1Ow-8Ypud(;8@RYUDct%(>y+vUZJO*aX0py%TQ{?2%>Z*4L_~ox&napUz!)w? hJ*TMW6gBt*_!q@sztg`Hi`oDH002ovPDHLkV1mZ==!yUU delta 989 zcmV<310wvP4vP-3Jp+HaNklzyUC8 zRR*f^DS#J0LP_cU9A7E)l=cjfg=_nI`rMUk-UH4@N;&7BVzC6--&U+Rk~% zoL3s$ZRZD$I2eCICzSun?Z=VERC~mIGfdWY>;v{_&OzDGllOnt#vq=P)7Ht*Q}#oM zN7whw)C1?WzwMKur_|#b^M2}XnS}Gf%pw9+!^%%>PbNm-r6WkyG>NcxlIt2mxqbak zw&!x!VUxO*@_H;#<36}pCif>YDM-)kb`?PnI9Nn=YFAi#xQo7tlwz5Lp8G{47gIPw zG;c5!t2XqM^SXa7L8EP(XR_0j)oErd*C|POj+vcUB9ZWXc4VE5j4zXrqP@m{iqU5n zDu-x4c2q{OTDP_)17(5qY-WUD15H^1Y>up7`{-~aB9hY6Fy6wBc z*m}#7E#3ch8T!^P^m-g`usFV-*EN+x-|og8wbD2-*LXvdJuOhvs9lz})AOx!fX0*) zzJCXoZsByEbY{DJpNM7BTUWe%1Jpu8CLP}mT?^TStIV$Rrcl?;k#{+L1nVL9+qOA{ z@y;UdykdVIa=%+qeWQ9U@PO*owf6K~6|~R|z6~|^Z0S6&nd?u1elmFvA;SK$JBR%K z5ok3_t*S*Fa_GHm95N%_I<54sXXlV}taLMpbI5^YYqoRqLjFF5lxl(X829YOCF&K> z&@qkP=~iwEu96e&m2l+di5hVDaAg@%iF_X>FYt9D4+; z;)8!!Cy~K`YjiBunjSbKE?GKHAH)vJCnXwAOKz|q9(=A9c~Kya zI{Rk8B2J0f69OL_UD*d&zCq6(ZjVf_oL$c^!MEBK0LQD(_2J-wG+(02oC{`ba~u$z zGBnSC=rn5P5Qq#SFTUvXz&#Vuf{~~HjtNzO9qk`EV$v%i1nSBc0X7PO&Ja6b#M+V+QL#^9(S?rKsl=^_-#x{|EjBR(ic9B)3?*00000 LNkvXXu0mjf|C;MO diff --git a/resources/g2/track/intamin/medium_half_loop_left_2_5.png b/resources/g2/track/intamin/medium_half_loop_left_2_5.png index 36f229123559f71f13abe812f0db35ceb0c418eb..67697158d2682531d1daaefac115a4bfcebe9bef 100644 GIT binary patch delta 375 zcmV--0f_#h391ROJp+GONkl|JgiX(l-gN2^RSUEwwrr@FrIB zVICXk5DrI_jNQFziH!A8Sf?Xn2B6q$E7Q|NJd>PDkvUTmHT$m6bl512p zGzVEN2oDW}`D$z2O7A11;%>4N$;&c$r?qB?q#M$vl;4Zgsr`R%5WWC1+Y}8n<%Os6 zZE_&dRke3E_oA9%=w!@P$XAa~hWXA1FE>TT0l0USL4PpkHaQ;XJ!<5tXA{A!vmRZ@ z$*fG@b3c+sO^BuD=3LupH(+L>g(I4nmurKGZ%jm*4Pjz=c VziS=5XTSge002ovPDHLkV1k;Qu~Yy6 delta 367 zcmV-#0g(Qx38D$GJp+GGNklh*&>~nIlc;TFh1#YHIN+*$;sqd$J?5 z5Hsnlsz(NdnQ3o0MY9v50)X2(1)aPzxfEr72Ybk53Ay|oPy&CGMbSy|vB}IE6C9G> zRXYq%3u*PCjd3S5=9u(|NyFwRx*-7|I*A@Cd|)uvY%pzeC2MWZwZzQruI!=pSpM(b znTkwP5zSP-d1pL*C7Ghwgs28fN2b_7FtRZ?bUrX13>sq?u;eQ(U$isE4)|VG{A!#S z&xOJC-h*PL&jV*u4QmiuLWTQ=<5Ld;uwbw0LbC;hg{g N002ovPDHLkV1n10sZ0O> diff --git a/resources/g2/track/intamin/medium_half_loop_left_3_1.png b/resources/g2/track/intamin/medium_half_loop_left_3_1.png index 9a6a28d31fed04523b1f6a9a7e8a0331abb90faf..f335de3bf45862c09fcc48fae950f2f491ff22b6 100644 GIT binary patch delta 234 zcmVg(HOtG%Is0?uC*Ory%^~XM@uoq2OY3WNsa380d)Uyvz7gHn z6?ewMt7FbgyxCfn_PLQk%wN0oJS;;zra3LkLSM1p5e*Rym||j#DWw>vI1M}ZNT~oq zP+bw^FY2|8LQ^dcpV1-(C|(#E1ZOm`THyc)^a`y7t9M>b8?jBQ+Np_OF*>D*XCm%{ kM%U_-=%<`)_=&$~pPo7wzJbM53IG5A07*qoM6N<$f8sO`K2OnCs8`(C*K4!I59SJ9TO&<{nKXbQZ==TyLAg~4R+X? zr*LXtI69*XEqIv4ZLMcS`g+YZ)0Czj?n4OUIL1>j?a|^`a`tM&FoxiLfGphYjub5- z%+-lFr<$)=HO(TGvjHxuas@jrfU`12Y+No`^Z*8wh0*A;#hP``nE|WnKNfoze4043 smU!dGY$r_ZioM_J6ThFbN5ZlC0*~k%t!1LT+W-In07*qoM6N<$f)w*{f&c&j diff --git a/resources/g2/track/intamin/medium_half_loop_left_3_2.png b/resources/g2/track/intamin/medium_half_loop_left_3_2.png index 35dd0b4091e827b4c9733edac63f3d3c253b9ec8..4968a7dabf8d745738e078522f9e6f98650679d7 100644 GIT binary patch delta 313 zcmV-90mlC52C@}n!0>10w0o(y5o zr`4{22HhOKBibENS|68)l-e&vL`&KDLPXv5a!i<;K5F|{B+SgoTE(2NGr&wW$ip$` z6hXVj+$WrzBZlf8kRbt6{|4H#89qrQEP%9+wRkKafxPgmPE>#E_Ravv=aB-?!QDJ` zIv)UcGmLk^9D7nsOjHrCfHnrSv3C+v{M0AP%kP}{6DzG!nqqFEYS~RF>?-q!6=8Va z3(5AdRkslH++O6gw1Ex5w+F|Hn|{DY^q@n)P`K&Wf%S00000 LNkvXXu0mjf$CH(4 delta 309 zcmV-50m}aD2YpV-gNzDB+X3j9J4PAdu1gcWlYCFrxxv(1}=g^{7 z3cI>WJx0_a2zUU>QIL5GGRHjvUHaFxh>57e<1>)M+@bko@JxT;kK8u*5myv$9ncFP z!?T!f*heRGNKPUw=3_1e8q@0RDMr z4={je^>wAOVQwv^-+xVQc}E#XKK$eh00e3oJ9h-UPutHgNX2@;UcO6v00000NkvXX Hu0mjfG<}YG diff --git a/resources/g2/track/intamin/medium_half_loop_left_3_3.png b/resources/g2/track/intamin/medium_half_loop_left_3_3.png index fff45dcdf5ef1e8c1c8ce3d3d8a90556c319b03e..dfbd6af46ce8a2806813b4df45b5694e9d2d83ec 100644 GIT binary patch delta 795 zcmV+$1LXY449X0!Jp+IENklH$Qw6RdJ7GFxib4vjP-d&`swRJMPMk3<7#7DfGV5Rf z3?M3*_11S$ft*obJ!6ixwK8k*z+7I-gmPxr@j1MZTn}+nBq*{6#*J9U<@CsWh!dzi zXUr?xD8l-n$NO$bqRCSnyjPn!PZ^8@tfLrter(^=3yZY6zm`lphAE+g#E!h~?u{{9 zO4)cJj{AltWR8CxOTM)m=3+MDne=mftEhB_e@kX3dKHcoBMCp`QaD?wZn3E1FxY7Lxn-&kbjST% zW1XUQFLDc2Fu3m6xjn>Mo2Npm+Q;oaDza46qHhpG>q*Q>L83wMc&%7@RFgm$MZ;Ev zVw{=?^m~7)TJOp>!Axd>U=3klFZwzU1ThFgG-ba-5r{F>nAcxK=ebN0!Xr$atu@Zz zWwRki2N&Ez4(YAnEg(NguVVcU9)rGg0&J%wIjBHzU_nWs^tyrINfN)%hi0c~@ zl3qk2arcVrp6fd^b+Z(|0VH$5l+f+-y=cZvC=!ke3yz~D6VMAy2?P!k=7z9}kp)_5 z{_766IP4L!jG1|QK{Gac$^>-0gh|%EzMv2l=g0$dhr&hUk-4Gu_4HqAxn}=Y^(_PH Z4>J=QdReT@hgbjr002ovPDHLkV1hAGex(2a delta 794 zcmV+#1Lge649N_zJp+IDNklJw^CH_5PnWudYqkydEzKhSV z38C+7#=w~J!t8%;=PO|_IxvH6Jj|i1*ONWk+ncd+c{77VlI#T-h>VLMJcKeP3}c3= z!d$O?(Gc4Gj`850HHJ725%Dp#mNegSpbinGVA96CF)YJbNG5SH1v5l3L21#LXlaU! zQu3mi1qw0wsF@o*8Yea*&kKTj))@Ok=f0qDW8!eA4dQ=0QwXc-W6m#pBTWVs*&q>? zHR*mS#C}u_`)k_0i?8-skZd2Qd&D4|56s6lP$V-^3`l(Ys-t_xfE=*asb*DotVOAz z<$MSf=A#yzBK+D0I=ec~8O{f8QC4+aJX!03Xxoa~8j!e(IC*?$6?J%l6Wp*NcNXYU z8F)EneBpoWpKaCaX;~{P`(=z9hGi9;hGj^*_JJVdvYwb}n=JxaiCcXfU}!56TEmGI z1Pf6}|^)pN%!bU?)*kZLbXk*VIFAR7G^7q&KLc1hwUfoJR&BTMVo? zW8lPNBi|s@iE0ZTnQ+9dZX!i*5~ktIgeBWCi5Y*?`1ixsZ?_qV8q+!$LF1))gq zyS_0|(#r!0F*P>)ommi8AHjZ<+Asxm>k2^{XJUse2$3*F*nlFQLvTal4b_BM5G^q= zz6leBcL9KvObS{M#Ee|q-v2@Ug_HBdlo~~KJVp=9PrlbP^PO*dLjMo-iHWK{GNAqf YyGasv;1#}8(*OVf07*qoM6N<$f{~VKUH||9 diff --git a/resources/g2/track/intamin/medium_half_loop_left_3_4.png b/resources/g2/track/intamin/medium_half_loop_left_3_4.png index 080a31197143ad9186fe5c14aee4711445aa977c..c167b289cad790ccbcce10ef79efae71dcc1a9cb 100644 GIT binary patch delta 766 zcmVFZ++JnHn!XmfTOORKkM^!)1PcdwP{#S`9t{q1U<5hLZd|(! zT(F*$L<)dHc&dLQJn|qUoe6hrZwGm=PXg?O?P(B_bF`P-U|9pqeo!DeydN*J-)I8y znDqU6gbHKmaec^|vHVm+eF}=7x zV^0JsOx6lukcx?U4+dNzVfJcYyfaUvS0wwe*v$PWOo(>DS%l73197t4si$0(WKmRC&{gtm z&p1I;F$;1!5@OV delta 754 zcmVbQc~;6{r%q>*YEGwVDI08I`k`$WSFjRz*p~*B>`Uj)kotb86d4ST1jed@XuU; zl9~g%`g&Eq?@~6|4i06#~gqa7z*|i>8i!%}F+F&m&4X$!I;iNy=;wBxj3@o4S;A_RwI|J@$GXQXV%aiReP&VSj9HKa zePjk{EmdagUZZv0#f(yBTel$D%p_Z8t1yaHQfGqDkcFNiwOKL_C7KsrU^%jHK~|eJ kRVGMut^L(DYo!GE7gVO@iUUYCG5`Po07*qoM6N<$f*Sg5QUCw| diff --git a/resources/g2/track/intamin/medium_half_loop_left_3_5.png b/resources/g2/track/intamin/medium_half_loop_left_3_5.png index 46fb59159378b8cb53ec9efc8835e2d4e7ed8529..1c8f176af34d7ab42c16b70487811a86bd98da2c 100644 GIT binary patch delta 390 zcmV;10eSwe3AqWdJp+GdNklu=>Ev)(oytlFVqq5dd8r&_yl z=#501CFsH5AbUk}HUc+O?U)r;9l@7_AfXqF1~&LKFx;o}M)`#@mZZ!XsA%4Dhc{?Y zRT5%0Tec%%wQYWev5fMINe$n^HU~Aqn^rqViEUNk9PpzeNvED6Xw5Fe kqu^HAhi`(T!hJ%3U&bi1w3&HG^Z)<=07*qoM6N<$g21h~0RR91 delta 379 zcmV->0fhd!39bpSJp+GSNklPdQ$iayeK`dp|E#5>%{}TDKD@N3t5& zBFdM7sgwe@jXNZ1z(Vx{IQ3S*@1Hc@xA9$>1j1T#JNVdv^XBhkvD&w~gI+5Seiy=>c+E z5P*LuF4O|=*sPS|`X;EVfW*OL-7y#~{n?Nq2v&sz-B7^V)FzbwuF;^HR(p&AB9Zu{ zYzVyVkzW9_0h4oDfAq$LV!0eQ(y1n*c5~;%KEht7*W(~Pf(X7dfk&8u>&W@T-uj3a zPkhHBd@41Mjmb!-x@VQXJ^>HHJJ1osmr_p-nObwft0#vjBb#$*m{0js@I_q-&U4aX Z2)}_LsuO5On%n>Y002ovPDHLkV1kjKvF!i= diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_1.png b/resources/g2/track/intamin/medium_half_loop_left_4_1.png index 56caf498e2e31e029fb20f01ef89538fefa3f062..50d8e9ff074fb3774c4ade5401a28c7c79989eba 100644 GIT binary patch delta 446 zcmV;v0YU!c3GfN9Jp+H9Nklkh&o3=u9(asc@VnsfCxb?#Lt|N|alPle5~8l^;wJ zB?0KGW4w7Mg};()+@oZ&v)~bmP^f z!r{BZn;qfK6WF`LG-RJk=A@mJv#w|(Z>6X;IA}%d)9N;bJ6zJe!r(2eX+0|z0$$U- o!nC-P%LA2VEfq$)uFcmBU!#c)AV8kndjJ3c07*qoM6N<$g4~wl_W%F@ delta 434 zcmV;j0Zsn!3FHZ|Jp+G|NklehzxU0)JP*jmT}E`8R0P zo!dTbCPUl>v|0K23T86?3>VkgZcMVKdx%MSr^a^n4bpD#5UYRiL4D4_>2wM3VJLDhD2)8%}NmhV2ukOy0y zS@1%eDaja;iumYq_okB`wh&}U`C$p|<@Q|rJy-40m@Qy>)2fOs3HS(60U|f2LsZ{K z$ZGF#|12O639^6O3bWw4>7VHkL^E!gSn$)8X36b=eP_8jjv{y^b6;OksF)-AjN7 z*wD>td#O!qqlBS0yKl8}=P-zd%}yn^5!gzHLvQ+m1-fR)x9I%@Y{^Ivx>&)htA%Mep(I*tA}Pt?}hEVU?B@(bViO k9TLJKt2tX{ng0F!22Y1Bqv=;FZU6uP07*qoM6N<$f^1&=?EnA( delta 500 zcmVT(jKA!v zQ*v_};oQH^%bkD1^FL@GU(aLsLD%8vDRlTeqWdhR)yG-v!S{XVF%M$D93#e-C%n^6tr%v58#*Xr3eA&b4XBrVwC(%Pl|pd_;@(6axTdk$ZpBji-z{bX;S0A9goB z3oYZSc0=YNDbOmf3A|}iV+*k0J}>)_fyBaK{D4Iq(xO8pwe7~6i}P$Mp`c1oc})^0 zno6j6>844KfW4{2QxdvrIXLJ>iBJBk>ON)5OeHzdUtowrnXMmg(3uj}otg~v|DMK9PjYZtIMQ4K4MTidNFWzB@{SR8(H zcJ0%mLzHtpS-OFjKFrx6D~)c%;TYzn@*#eo z2D%$2A^bi02wyyHru~Zx<>t8hDV2i8-A5apCQD}21uGkDL3L5M?x{7Oez)O zVR2L(V_J`TNjiA30b-1K-@+KJwR>(307~1@XQO-0+fi{WF&}?BH=Z|0+Yb9e1prT$ z^B4{QsdzLwwwbdD5Gm*VxaEj0c`9fCXuTty85UcmkFxl+v?-so>h!5qs6R%1b|f&5T6r(S*?6en>01ryUg*5t4$g>cxL)Du1$cN@_u$$ zU*jF5Rmg5HgdTMlY2r)-RUTB^;wU*KX}nnZy4u*yl9PV|NctUia{-`aqz{&R$PSis zLgU9&mb=aJ1HclErR-t3#DNq zFQca@lXU5az{4yV-e1pM2mE+(b!0@!GFAv!PPfAeLIO*)vTU|O5#`U1 z$^^DED!+fS(6wx{CiC%Vk`8;!9BUQx!EFy-FK>5rxC9FF|PLGI-GDU>s^ZPqf6X zw&-9SVicOvPR^Un81)GNbK?DDo#*X1a9n-0I@THv#sYAi+<1SJ>CT`1^ z4uAm0vq^bdDVYGuSc@{I6deF5?lP8ACR4CAQ^uFJL$vucJ8mk{4i5M9BPc{@fM@d;sS9eCE1A1gyO9|LB!@<6slX3_d06g`2y8ewIaM6F}`!KJ_MrsB!dU#o%Qw9`;C7 zldNE<>{&d?tVO&eRNJ&W5;Nb}iA>KgY@;4##!!!}4`XdcxvKW7lxCjez>iYhQ!dsK znOmpsDVMZp_`!0N;w#s9v6t=tOU(JrKNX3KFUlHaQ-5#&0?O0{O;A$G_W%F@07*qo IM6N<$f{AKEumAu6 diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_4.png b/resources/g2/track/intamin/medium_half_loop_left_4_4.png index 646066b315311273eb3bc2980dd9b404b1f7b8e5..3ff92a28f201b72022a1cdf6cc5d63f50b316032 100644 GIT binary patch delta 772 zcmV+f1N;2M473ceJp+H@NklIxBOiX$Gu1AtgH&;E=+_SY;>i%C244I~dCXy3%VTjthv3;`i% zg~%Os{mwPAv8iimgWn_Z{QR7o4u!cqD!x5Y2SZ2*;v^6v9xD++diSA^dxd9&?nA=! zu5ltrjWlAH!I^*j3*gjQ5u!fQiBuSUJ4tghh{0Nb7%Y`A5ntFCQ}NP5NE0yuL6U+2 z9405RJ{TtrTFr_)4OZh5TFV=S7YPax%c ztEP4cBLGPST4jlecMKdj#qvag$6%_|t`=v4^-rpHb>V;Xfxv)*?OKSpqva&kr5_9@ z*Ylg;#X>v=*NvFcOlo~P?6<&7N&$ffrdq?~Xp{_s%`F8zk9Qx&?H)kOTb+n7h-th0 zNA*TF^_h}wvzmgmMqYT#``D0^TFpBOBY_+UotRKVLlf~luGNe}oJd3)K-!9~gk#=R zn(~RV#}a>#DDRBB71z%(6<1N*&bX-cy7aAtUCsJs_$4hRq-}?5#MNv&mg4rV#6{rg z8^Qk8Vr}U)BN0hGrLVoFgc7hlxckE@m-g)>gt)*l2G#pb^-+YhkbJ-&+}XJ1_ff8( zB+T_ZwO=|Vs_ebG4Q-XqCVx}96d&Ixmu|xhVg)ZvgdrzgYsETjlN?6=rM(DzSmfM> z+Xo?TG#=EjAGbf1=5xy#eK;VH`$RD3^zk{!^z9!aMJI%f3e*_@0000QgXgMOGr$uOS_(roWFldSQuoUUXZhu{OrOL zL}v2>HU25d!&~zOM1KGT3R))taNQ@sEVl&9>8cQPf9?W36XqmxAheZ~TlQowFqds5 zj3|eL!pr387zAOdR`)vv{kLR%OhpN+?8Xv|B6}|Z;msHbvhzLVQ2ZvMj{F3N+87vrd&&NX_0sd7BfU%YT%D>V6fK`NU1PTaW(wV>}r{r zudiO?Y^Fg5#Ht_n6bbeQLIZ=!3mI4eHGosB1tQX58d`tzF-ugF>I8$zpr~fJ)rtVz zcHK$w`B0N^wljrv3MLDRr(cp z0T4oYA*FvI1)Ufnn(G6N)o&hRZ@Y!wOKq%k47MYf8wlZ!Ke|cRL!$+Ra5uB{m}nXa z(fy9p@Uz+d*omO=M5fRyZ70P^H`Lh5bnJ3&A$2xSAvPj%OMRG=DCZWE=YwHukmGB1 zedjxk zt}931bWO;8OayfQc#%U4r@v}{$8d}jnc_6mj}%Zl&hvT)Bh_8*iXpie3$;K7x6eVsZ~p-TvLv*2 T?@SH700000NkvXXu0mjfdnI)N diff --git a/resources/g2/track/intamin/medium_half_loop_left_4_5.png b/resources/g2/track/intamin/medium_half_loop_left_4_5.png index 2c5f7d15062c53c64d08d3ca76fbed7f665e2ef2..560a48419f1575d3df3f78303c3bf04dbf16f4c8 100644 GIT binary patch delta 435 zcmV;k0Zjhl3FQf}Jp+G}Nkl-CzxRlT=+RldIgWP2?o|Ep5&xQ|iM&qfo|AxMg&UM@LcA8@tC{>yQw zn7IsfTWPMOqCxf^RjWB4Fx*H2cfrI;No|V4Hdnv?Is*zB68?V-CCh>*xxulBPk@gp z?G+S&>4YTHg{35z@Toe*VQb9kUS2>79ZFe=UF;1}xRFGsIR^~mkD5z+wnWQjRH9U} zhIy)hNj?O~zPixnQYod?`XA$%Azl?&Q@xpkwm2LatCj%>N2Nla4-DmVP#Rd0d1-;b zq7{uv=oXi~+(pJGdG%+Hg1UaC1Uq%O>OZc{!%yk+B{xZXHTtlPokE-*t{5 z=arg8sOqkr&E6@9i&^}%t#syg##E-VJVF^jMmsKx^0?!r5rlpMF=qMca1UirQ522w zVI-B0UITZUu~CheL4^#F$DNe=2_#T=sz&=!A~G+ZBQ`5)$N%fTQ|Ft(C-K-cm~ZO{I4eq!y~_&q4!? ze0;ARLv)LM#pCgyU&X$+GniZZ1&DO62= zADMY^0A2bV-n?Mbqp-x=m0_;6UY7FQW(dubq8Mpgsr{~lH7l2wwUmo;id^NfsW88P zUbtJ0waVxVlNe}j4nzxogDh(K!w3c@rh@o^SQIaJ9Q7xPjPxey5$*cePiJ=J}` zfK_df9Vi3*x2gZbWg{_@POJ`VJf_J;F3ewHJiBPLG!kIp%Zv-xEMr`e!)y0Uc_omle7eEZ3A_9#F$zYJ2U) z?-{_m2NZ)|)5iUZSTMlZ^4pvT6mXc(=9yEdo9@J638%f4UFWLOSl@Y7yb^BJ0Wbdf34#i+Jp+HRNklM0NWHey08ftmz)UWU!@M_#uPU@8u3$%r8}u3nKxW%AA8c zcYJFXu&PTQ0x7jMh&q+A4Y56?X$#JAOh+hvh?os?Scpmpw>5uN7aeK@c-9amoP6BD zK5=-Q!tb90csY2bO*z+^BN?8_G7s+6_M%)Uh5?CJ z6z)xGuR225MZ$l$iH7>FtN=#@FEd~T8VcIYsL!s!zWB-5z#-rv*_}h31DNR83`Rkx zLUJo{L;a}Zj>VVi)$)kCzrx1nzSbKBg>zw@X*s8F@5JHB7QkC+9)`*9bKo4u-G4lN zwaxo!l`tQoDM5h8Y`&`2r_Wb%K8KSRY3iB}|77**Wxz;^hB_=dEt33!qoo^KQQ|*> zf3!R{gnbKkoEh->e1Ek}o?-R>yK?4o|IPTgH{T!p2K)ohzc8#@lgx7f0000*r2!wtAyLAoDRbpf4%MQ5vE19HzX(D|^ zFf+I<8l|j8q>aEMqozl24K`}nzD#{ z4>txaA@;+ySdD*kz>N?s6QX^s#`N?YByB$&O1&OW7npk{+G5Q$M%^s#D5Ywy@fai6 z{r00@1BSiO=M!xENb5oY9YZ8$YqpQ2XP|d6TQ5h$Ewp7}oO*mGZ~~jGhRZa(X!q^p z!&8~Dj~?6Ejrcf-wq|%B9wlH%?8fbX8N4o;eW(4PnIvGX1%ViO|FxF=N;C! e^qqee*X$?M_f3}X;xAzU0000=?bR;z-zdzV6Zu@G_>c*Zbir%t}+c8Aw3i zt|+)d2T(>I?h;&2hN0SMuTpR6AxnMA@H*LRZv<_cAJkjV0(R{Cg8f<_D_+rkXWRFc zUltBSMAooxoiZwEOUE Q$N&HU07*qoM6N<$f@c5d4*&oF diff --git a/resources/g2/track/intamin/medium_half_loop_right_1_3.png b/resources/g2/track/intamin/medium_half_loop_right_1_3.png index 79e0d56882b4860b53222c193986b2d7c97af26e..8377ee9ee155b12e72d983b6a06a0c1458face15 100644 GIT binary patch delta 594 zcmV-Y0xD zSum}oOC-nq1DDIb!?)YNqHk^NZ|GaQ*LEuv670ViRI6fZjS(l6E5*CnnPbszDO_bP-y8|$T+P<%0Zv2 zr?uSOrbTOQZ+3t4Dym1@eZRJA?}d~H;aF!9R!;w1dt-s#5_)}lfA(FnYX6qUUiMxp zmKk3Q^y#GlxJ7F3n^xuUb9=|W!mc2H?@LxOwEoZ+;2O6pP6Ry1M+R|%y(y&XdR|UC z>j{0d{&|{NY|YuVdBqmhoXdNyLb1{MxQ=JBH^d^d^Yni*88psKB#@b{sObXcjhA_F zjHM@P;_o>NF$gQCKN-XYuKh=o%<4yVRFggAA8_6v+1th|FR;g0y$W;lcqN^4mZ(vW z5RQ9IW-tjMUK_Xj&p7*^EVB@>9%lpY|96UBMxb8jtS55=2qQT75k;r6vF!bc;FwgS z$=txt=h;eZ67cLTX)PkVooXcgXyH0mQG82X;n@9L%^j9Z)_7NVx^xhKe0NfJrcCF~)O3Eqa3SR@B!k2%si>c()SDyq`w>BfE z#vqJUa_V)h0dKFBq*qw$)c{;MT;_tYPb(GdoL-t6wN1B3pByfctEE0UvQqT17U=0H z-1OzlJyS1ldNa^J6ZGYT9KG*-C+Ls0qvYuIj;+(P!E|Bjsf-d@NHRYEEdqIdqWE`4b!5S*rdu2@9!RN%iOY9-)TA^^C!= zl5$pTt5;W6O@!9J0Q9^!y+&xUBYMN|{QzcUoQ7QfhPL-bIESZ17LHkYwOU79rgb;)2$*GZY zGF!Yity488f*wN9lZ*pW{b9CatkeYj_!>?LQzIVkdEuSSv>sQIsk?e9;1AjxAM|)< z5!wD=YFxmHAbuf!^-OQd@Rt_!^j(HIrx?@KOwt=1a2K`n$iCO!)}bZ^za#iy#@=hf zF0j)~y_YX17I69y{;vLb@c)+|_-?e79~&Am_P-4&_zwc9^R(KlC!zoV002ovPDHLk FV1j(A8x{Zn diff --git a/resources/g2/track/intamin/medium_half_loop_right_1_4.png b/resources/g2/track/intamin/medium_half_loop_right_1_4.png index 356636051dda0fe9571ff608a20196fcd3bb091d..61a6d37f34667ddb91b1fa6bfac7975024615b50 100644 GIT binary patch delta 791 zcmV+y1L*wS48;tvJOh6M^GQTOR7i=9mEn%uAPj_g|5r;4WbaiDY-3jHn6$mCgmdLj zR;y3;WIQG*ZO?1}_dlmxKT|g9kJPkb`3Gu_sdhY5WA@qX02MPjRo-prQA`=VqK=Z5Bgh*zB739R~4O!r_STtH9XIgVB@9l)NOyf(?NC9>>yg$M`|{v z(f$q3v!5pfzq-w#tYcT|JX>pC?9wT1*r0tW>OxQqONYU;T`5qRJE4}T=`agaQIUR9 z1=Rs=`?+>z2K8!i)Xr@`a_vx`tLkLi8hV!!%}YF>eLwh_fq6q?>szZ(ic0FepZQYu zjBX)<3!lxkUt)iz`|zQk%VMI7ZPIqiOM34ptA%JF%n?tG}947 zIdxV*HaJ=vhZ1a{TxE=X65IrT$SS20L6k(@ggV%A2(h~W?+Y>&deE9bAqs;DAq2sH zz^M_8m~dc$F6CAOqsTqz;!YvKPY^fX2%UlDt{99zpP_%=l5k$T6+##>yHWYFAe$>J zSQ)SQ5m)MPVExFi=L{LL%z&RtuH99w4N)QM+BV? ziLgT>3LSKV=x{t|j^ayeJJ}&z>oIhDNo9;^D&7t|ydZl>3g$BIsO%w^i^tmG674~z zdpG^AuCsqWLDD@cbq2Z}5)62aF4CP>2H3mhj~wcDzxj3`$Ut_#@fC)RxbZ^>PVy%X zpy+nWnZ%v+Uv&hMaE9;rD7jpbZrI&XhXs%XVRC3u-Yu60D7CSmVCTTBfWxX>O3V|Mz8jd{@X5gTLUat_2KNgS2IPMpO6p&B?`Kk=HQo6xr3N=s`8|d% z0w}n_S0O(F*{}T$pwOzM%qSEr)7?!4W&#S9$?X=!*WssbU*f`d`+ok1aqQdgU)MJK VyQ&XN|Cs;)002ovPDHLkV1hS4hbjO7 delta 815 zcmV+~1JL}%4BZT{JOh6N3rR#lR7i=9mTQt5F$jcp|EpQAnH(h+AdsuljGgSJO4zGE zGd0@_=%a<4(srHu&;PA@d{(LcKxO^*Nws99+XoeyJkqRCy%DkTLnlpZp=y~-U38yj zwFe2$!$U1%)201isPbLYkMlf-u4E<(4`hkCHx_D=9>5{=|Q!63kid}GLkO4q7yDhCDks0GGz24g(a z;!K1L+z9>xQ3)f#2q1+}-JHjMclg5{q&!NFXgUKdKM{W#iPB5tRAJ9huh*dN3hy%UML+_S z6}$(jqNLi0Baz$fj#b^^fv8qET(7sTQAyQ@J#PM1F?mAK^<=5F=?b%5Pa$Mmfx(|5 z+z9NVeYWNzVcZ)KoxxCTu7QFEC>?=yTlE9rBNKnwf-wLM%snx^Q*BY>JkS(B;-J)n z8ww@y3wMip;(OBzcWNyzsSZ)^ia-?Zt){!!Gh5r2gkphv`1oq^-r941PvJM&T!fz$ zJlE(9nu~(69ru;6y&(xeQ~joBU4m?_70?#kPY~UMQwrlktXk7N~{SOk;_0ZBEbNm1R002ovPDHLkV1oSKiY)*D diff --git a/resources/g2/track/intamin/medium_half_loop_right_1_5.png b/resources/g2/track/intamin/medium_half_loop_right_1_5.png index d86cecd38c7f15baebfc5213aa70f4b588e143ad..4ff09c5874b3098419fef6e339f10b198342fbae 100644 GIT binary patch delta 458 zcmV;*0X6=G3WW-=MgxC=Zu2k*g#G@n)+RPi|2K&N1D^hK+AWpVZAFTrR`&sSA*G*d z`>bCy&*IyxZF>*9%ePvIN+}r+QLR5y4?PhrdD%6R@-E)XTByE+9{Nm!d&r)2n6~EO zoi0l*nDt`9MrCb0+?s1j8q#(heTXYBwg7qoh~7mk(fdS_NB@6718jM@u5=En+wI?t z)}w8*A+d9JU@fIE4OYjo6-z)u&ZVhEvq&Pa^Cn}kax4b6RA zXU2WSYJngaUbuf@O8d%+_Z@b3jwlPvh<~K1671woUf5@fd77SgbF1Z7{XH>2 z9VcYRgz~5U0pZL00sKAT3uZUJwk9$)eIzrs`9#by$OX#LgaRgIpV+fNRPiMd>X2!~7EX+Q;rgZPSL?ABp}e4)EK58k$$M<17( z5Cta@0W9LB*n9)R%f>&vxV9>Sv;wf7G9a z7O4gF)0ad3Reyuf*l_~CJKP~!NO>JNi}%-ne_xAALCI4&&Hw-a07*qoM6N<$f_%>C Apa1{> diff --git a/resources/g2/track/intamin/medium_half_loop_right_2_1.png b/resources/g2/track/intamin/medium_half_loop_right_2_1.png index ef5fbd2c645d70ab0b7d803e4d978aa82b946517..efe0001507d02e7be95079ab42db170553790b51 100644 GIT binary patch delta 243 zcmV9FglWdx2iH$>J58EOBPj_|Mu*nwe-ijp$g+?cg&t;C_ZMoC0ZO_ulK9qIcX+ z#oj3`uIwiV)xPgPC$`O2lr^{ajo$`u>AN>!TuhZ{4c)tOQ&&UpcO8@$xqa9%|+IU9Im753`qT72-@Jo`r$ ze^PubhHG|CR_^;r6Ok~NJuf}{Ie+*q{N})X0azj=1Mx@SivR!s07*qoM6N<$f;)A0 A$p8QV diff --git a/resources/g2/track/intamin/medium_half_loop_right_2_2.png b/resources/g2/track/intamin/medium_half_loop_right_2_2.png index b534c8fd3136326de4374fdc3d66b845e09f8e9b..f29d7fdb76938b22e9db5efdae2ed2fea87b42e9 100644 GIT binary patch delta 292 zcmV+<0o(rA2-gU(Jp+FQNkl*=4ke&X#4-^sTtuB~l;ZNC}L?c^C}g0i=p#T;>px10i>`4%(1jU~W8!S3Dw zL@*yOEBeAP3wR7ZV;(RmPd;OSr{^LVbS)-w-(!=Rfl}~* zVGGx77osGQ%;4qt9A6!)+4>or)v8nVH$1#6bf-W63LYja!-E3tN6Iml?-;$DXs@&c q+6i^9+*a-5{E-|tu!e~zWS?&YQ+R?mn>vF40000To73ZLZriq}&1Z7DCC#!_w(Z6QAZn7_q4)Wq5g2VyoKW`GNx5~g}n@6DA7 z|4JMKTNkQ(=gt01k+kf$>>Wn;jx_n9volEc&hY|`c{*vrQnY{3HVgLvZPFkU1}n8u ziMUfPMt4aY4pL=5Px>mnIknLZW)1BwK^rP1D`iUt7Pj!NmICj`tSih2WM_OZg%?Jr zHaK@XoJh@PVdtl!jP)q$=t{zRpSx#Bp)sYaCbMZ^~%gmb9&e_`<)} r7Zf4U1)ol7Ef*bl1v6;)hRk>Xi0pjqTbCB300000NkvXXu0mjf0Npj;b3`KGOtBHftXE8BRi+s?%Y7um+QWcf` z{4o+B(U<4XH{d^+pY5l$E9-jeT3f=jE~;wrwDz-wYI`yMG4o)quRT*=?&f$aMQYC+ z5}&Z8^^%iAcH0mwd|-%lPBHk?UVEm-=jyk?R?V1B?#_1qjGBK2)@_;)$#hNvtF+ChitJy`H}WRM{i%@ed33!gNSwPk7}05S$! zp6CXNf##5d&LXH>VmZTNs8}m95B><;1!f0EZ^09ZPMBH)iX@hDU>fP|jwD*V?-^uJ zZ@q>|s?%(`>fL`X;R6$g84#bCID%CtaZ(HTvy$^d3bVRH2i4>_sferXY}HS=5=|ya zueJ!CeA;-Ak)$UWpDu+lh4K`lnD}19RLaD+48PU)>4B*c^RQfFW-ZpD3y~hH!=*3( zcZ|~*s}U)4r&LB*HX@08rp098snPFQMZ?q-^!f#z*Is`oBBvOKg`=5wF1K3LC)Ht- zhGg!P6%ruleU^bhU4xQ{Dlvt6PL04hXXZ561CkUJNXO9aF<0Z*BuuQX&m&t?D=1jO z;!^h1RJ1wHAEO+ZOcVEk?S*ZTnnG6@noCw&l&7i4pAlnv!57&kr-MOT0RR^s?`0S( z2_5KU;#+?iM2e+_I!IKrufjboVT0n_VXv(QEZfvbEf=Z;8QTQ~q+m?+8Y_uI=4lDP z!%F*m%ZP$Mya{K-)Z@T#4CbdyAc{)?YCuAA)6?Ol5}S$;6egfQExn?#uxA+C8vS{D zdsu=>y=?Y3N(5$Yh<_~sDLRl}hEQCxHZkFoab16mF@VN`S8bEwn0n|4D9o5%JA^P` zKZ%S#BdS3`BMRt7+?*tBl1>{+Oa1AV5sE(+H4; z^TMTAqFl;{=kF)rm&~8=(>^cL^G4i9!i*^*ibn)Y2=#F>ek~&W^ebliHT7g`P5R6V znrks~b-pR+@?49B*F952=<)CCJz)@JRh~Uz`UF7>Mbk(do6LXf;fy*vfXZ&dCW@sykQs;nnB8alM52M%lNJycbE&EF&zwkJ(fTBjG7?W>pfx$^w~IN zOnDqMB`AB5CCq<7?+!FrEMpL7`AKyqn->^}V|G>AlrjSoCxKUYgD2y1FwMdbI73Iw zxIBQi`k7DUL7ZYJr?t~oCL#1=vwADDyNB%Rl8h9o#0)5*?qn3+7J(8#(tLDr$-bbV z4y7eGpStP7nWvaRm}%R%LBW-mV_VA{IPfy#I7lVu;bVX1sN~VHyWp+maI2MAFit;sKQlRko@5p- zFrVLQKQkdwuaNe2S#Nev{LJKt5^uBDUClvH_ym6^8yo4Ve)G9&-V|=K9{$C_hj3;P z41xB>s1+d)N=Aef?D8$143^;;A_zn-FfcA*qQl_N4lRxo6(2JSAvbV};QOW=`-V+_ zJsYYx7s&ga>xuRY-9+(R+m2y!1jDAIT+NZf<3kWUzd%Z^%J%~kenQG;qWlL2(^2Of Td3g=r00000NkvXXu0mjfemHa* diff --git a/resources/g2/track/intamin/medium_half_loop_right_2_4.png b/resources/g2/track/intamin/medium_half_loop_right_2_4.png index cf04f459cb891a75e17eddef9172255f162db68f..a3d001aaf59670c00cf6d6532fb16ba029c03c83 100644 GIT binary patch delta 812 zcmV+{1JnG?4B8B^JOh6N2uVaiR9J2FErzAi*p2UB}R1{VZlH$20 zj%lJCc8ICU7(*-(H1(!3=epJk#Y7zX447;0Hbl(kGMQkw63~B_dnUT3%}PUI@q*1+ zQ+-PC4K-O)@n@Eq31~YEk@|hkR7QTRh*Vpz_jRtAG68k*Tr0S<3u-#!b49qr$ms=g zA;d2i)9+`0y&W%)T`#_;@?8Vk>#;Ueym_X zTepd-*&m`1p*nw5#|=bo0DT-Pa&ffxhnR&4wX_SBzWmHtl?fFriHNGAU?-t{haNqg z=qtc3QzENi2~a=dbS)v&r$}e%z9F+`N`>&Z>>dH!!1q`py0^0w;OOwX8NsiIx(#m2 zxe)w@()#OWmJ*?d9qPJ~8q=WsMON2!T^KbX4nn`~?-73>2Qv(fcoIo{w{I}4a}Fk{ zw+bO5Tw$6aY5S|@ts91gBdIr2bDX!9N*IN|=9>3=)JzzK^yf=SJ2MnX?_slBA(0tx zXluQYi8ER{X879Zm`S5hl5TLJY8)i>T{HqAE#r*VcNWpmJ~E1Z31fpb3aIyOjK)|F zVi!ew*c*SL2u&|EsPd9vqKxMDJ)?{iQa##r165OHmTqWp>&Ph@xijv<&gn~wgs(F* zMqfEqUxSet)+mtTDjd0SMjN7pkQVwjnV1e|*M)vogffacMUczx=LMM<->@Jh&kLED z_Pr)??qU$u`9^}H=SUdc8~qTY)YH0lWQ2 zz(4NxU8Wm*f6Zf~Uf_VCXcoSPbQiBL+=k}d7`2Tj=>G=JwOS|L<ornb-} z|ZjgBwhdgRcqvOZoRw7Bhv05rWnQckju##D~+>ydp&SeZn0j5(yYCi`t& z%~2pat_yVAFYwb>JXKVr69xW3)f(Hys38Hrr0QZhr7aL- zh%s-E2%8DTJ*0n+l}Q!o_3r|RRK539s%WdN^kGBdn@TmGr>hO?e8Lbyq-s@Ky>S(m z=(cQjNvqN#t+Oq}MCeUObu134>i&XTRT?lv1BeMBM17I!u>vmf%&NgyD96wHnl0ON zAE{n*-tRtiO0T7g0b#gj{A+s64}Hy-sYFvv?@F~b!-}rPAN4r#}n04U^ zFJ#ana$A4N;~2{YE$`RR$)Lx0k0c*5bB2xO8Azr#9t4V@&Z-Oe6{w)Mk#LT+%@H4D zP-o)^$1F7~lR?+srXx~~xr5qy-Qk4A1jRbdX24-v9NU;;P;VW#8nQ9vIVLUhGBt`N zKRyy$ru*b=!Q~_Eo|22kIJ?x~p5QAh*BaAsrO|&%%QdOeYyF1Y<4@q1Tr5+7xD45G zn;@;F4&bHEzbtElOhx*tE;`D}h2Pg>8ygigce_%+fvwYWpEu0FSSY#qIbC^-BZ`dK zuGE-=FORbzBRAyi^qQ!X1};&^#Znp9sNE7}$ot=l8((8d$aQmC*dFrVz%MlCaZT*P dGG`Y^{{isf)h||u<`Dn@002ovPDHLkV1m06hd2NL diff --git a/resources/g2/track/intamin/medium_half_loop_right_2_5.png b/resources/g2/track/intamin/medium_half_loop_right_2_5.png index 9c1823b7c54a7d174d8231be08f9f61385a25ac0..44de03f0399792b85395a784fa67a8d606099b2c 100644 GIT binary patch delta 387 zcmV-}0et?m3APEaJp+GaNkl61%ux(~SkH4ihHv6A_IG0Vr^3Sqa8Ro5iCN-4lW_a#_!zC8IjpF(aRE$3f#WoyPzK){*sP; z-BaXs0?eM*ACyE zmg;I_Z-|V!l*&213!+nyYy;;$RA*Y2DvS+ZI4{4HZ1yzfV4Wf6EG#jxD@dmcN6ANahTnL6r7u;37 zeMu{F;AUfL55aiO2jh1=^1Bza9NM=NLjB0Oa{no)YDi{^;gQ0*!R^hC{Mf| e`ue=!-}5iB-p~D?>g#m?0000L6+kn3`DvA)f#NTIm#dj@M5ZDyOYU#=}B6P z7zm%L5`OklgC_5os~44$eA15ba_qt=YZKIq`i9RT-gaIwe6? zs>1WnnApJ2=u2GAl=~QjiDLdzZiF#<7txq5a+~zqNpDv@VFQ1V3ad%@ipzSEb)S@- zwUkl!XLNK^CKQ#1LDv|UL-cmY4xa12OL_1Jlca`f!_-uChWPFGcH?V+D9||{vvp8G zdJy3u5`d{uH7zSx>Jr{+nRCC$S~9kVCLPg81!ISxEv<#GlP3qV**WLp{MOOo}n*LTGhAMif* cc)<7YFT!|KF7Zo{wg3PC07*qoM6N<$f?4L*p8x;= delta 424 zcmV;Z0ayOy3EBy;Jp+G;Nkl+_c8h?Ha-8!n~Kce2I+setT(qzO4(6z?(qEs zHKj*TYS1)mak-0LrYwfJ@0<_W8Zaf?uUM!Sex=imeiOruxiF)N}#5 zfh}a6&SPBfWJ#3T+gV{g~S+!Qcq#gHq zT>}4?o)K4-5ygL`(mI|_$X&B^q$j^^DbUF3=Va~;6@7Hd2%%W&m^EKTt(!dRGShdm z301*fLJT`ydxygG{JrhVydxM5;kb@Q(secZyy^dd9w>vSo)xx}2MblE>%X9b>a1Cj zhIht&Kwq9hbHqctK<6rJYnIP_#Jnc#7VumWJ62A8!4DwU#5X_SJa#5>-Kk S+h#!k0000Qf7~v$cfDFmW*n#G zW3yQpWtBm#BO;B6X+*>kp(8>;EZ+#dl^B`YSB2qizJ~3m@uhc zG@L|ICV=e_QDtltc|q_iL0+vr0I*XRc_QF5ho;tA(GaN^I#Sb*&EB_%gAw>b6yA_xz=-2oFI|sFzn;%eJf-X zT8It*%O8PpYK3V=Z9O*Yz-z_1o5k@#9kD2ZdP3G*X%$mj;nZ&;j4gAN;zj{`>vCA( z%_;=!3>?T2i+))DMN(09Omu}{B3+Q!XMlEbhPmRlTvta1-wp)x6(I8ikB++&SY+Vm P00000NkvXXu0mjf7`v!> delta 373 zcmV-*0gC>l38)FMJp+GMNkl<+TxBd-W|MAUDugiL9i@l* zV+twqaLN;rpNR2^NKeH3iFnsxeBBWaBE9rG5iKI$5zEq}*$v??-ptaZWxfWYxrf!S zVOnzusfM`MGOdYsHyMUXnG3|jyP3!^8fE?)ad@cCRm}#Rs52$^ zz^k_*otG$xYMgsuo3!AP12Sbb+eCU_*sE_#J_z`X1+i>H$a$-O5Ip3}3xR|fqIgu} zcck+?mz~gfA#aBauBHW3%bI83LR>Mx95$V`A@+EPoW@C2c`X$b0hHsCfPBJGC)?V* zK>~Bd{9RlB?m!I^Fyp2_i7bDJA$p zo(`>K4PMQ{xt)QnS$JV@7+(N;prVM)^-5Xv{iWT3I0@aHTR8*Yi;{R6*6^Xskd^|gPD`Kmi9kil+z$0mdtYrP0mY?}c9rx2?$g=L-)!Vbl{agA~e!%2wc zesLV)7&s}pe!4M*M@b)8Kon*cie}o5fq7x?fZ!Q4;un$wj7H}S^!BKx=#?k0a>XG8 zU2v;#PP7Xfs(|ycH^7O@`8No`Tzpwr&oIP6E;TTeg2R6z2tgFq$yegE$3BxW5=geUyQ;O2~myu})XiE35!H7gPOAW$dG85&)tY z?5Bc!6zYGSuy;}X%7=d*g?bVc$o?WAH|Ucrh-hq`wls+8uz0s@nlh06>c4gh~Oodvfonqjd3@EE7U z7swF0kE1wKvFv52uXi9YzC_XK?oK;LK!MP z*8w1KA_Pzag(LIsL`MV+xSgXa)$l}snKDOS3h78u5jByesEC4@8j)35L0I6#WvZ#S zeZTDbe1^P_Z4pAG*Jm7g2Pk(o65ZxdIau**g&Mq8v9!%$K5|`g6K!%J1w3GuomXbZ zOVBSpHX+nR-@<>~X=8<=O2$ir`=(5nhy)5sEN`n?u{wy7p~Y6iTMz;Sbh_P(5V_TXerP_rdohQ=MQj68_4!=GWDx?t z!sIhD*cjJXhwzrMzH-NHlIx#2M8m*9f3c!Cohg_Ox&qH|2gkG%VQdc3A zaba3V-wAd8`3+G8DUw(w2Np?Ohyw_q=7TYZI1@A&{=CcJRT49n7_#Mv66yH9+$=$f!<1x+%`1%3MmqmUb_~CbG s5aV_%IRD0o|1Eg+B%q@a5mqe? z$SyAMcpt310m+aq4&l4>6ZLhuM9T4NjjM%pYmI;`sCVr|GMj&kPiw62_d?r*OCmn) zPs^ZR5*}POqM1s@zjcMFWVCuRmL;J%x$NF-b#V!aEn#c-<~XkJ`q?`cLqm~kVI$1F z!wJ&Ur%xjYi-K^01K}Yg)@iubH6ct^`YxDH*JFhfkvi#jWrZ!VmMEUBV)lrDwh!LI68@0%&I=T#iaTswOOd zIU_y$or_DD5c5r$ z9YO$`HEvS+gr#Tv=o%`Y(?=6^t(02%ymKBYP)?mJ=Qe)=E5p_ocDZXDb$z}-S^8Zg ztEY^6Kf{Naa+NuM4*-m|>TwgYuU zz=2#a{6o6i#$0)~k;bID0YZ&a1|3BK0+@}i@z{TZ?g(OG%Q|2zaM3zrR6Sq@kN}#` zlmQSqf3Mv`e0N|Tlb&JZ(!H+KG-7Qr;QWsegN$ANk0a* z_VXm|U2x64VXz`37=>S$)=1j=h6NvH0J6P0500~#{8gv7P>^Y9m zqyc}7BQ#*bxP}oLa0jD=u2a$1i$y}l1T(@R&VXXb{(w=$-Xfw1_f(kC?{H=eNO%Pd zBiwh?Xj^^M9sr^I%Hb%W*=2jZQfOw|^Ks2=LSVvc?{&uC8342wz$^MDU~Vu66fZ~v z%1H4NhZ`)55oUb@Y3!dEh-Jaxd;}bJeuQv9q)qaAJpf{}&<8+sL%RR>0Ei{2;okEt zQXjbfw)_F3X^(hbZ*Ah})g}Rx^e6!gBvPMAs;;nEwAqd3 z)APUajC0x-PxaS-x#L${HU=Q*)G4Exf? z4_7$OSta9nw0`&d86VtGJbZ3^y|>CV6$BUWnw=ZAgC=;CQH@gHxMmzYOg`U_lPb>* zi{(~J$^CKMLYy0pCvi_nGCd-ha3hDMOQv(V`&^J9NcruTEB9l@NywE(AL4_Dvq*-Z zcjc9&sbLY!Xn=p$HtB*TIQQBn)x$nIN^Gkh9%+&yU9(IF6Ta+Tj!CsfEx-(e$Si=@UF&!UFW|_Yq1Qlzl&A{Lx?{2 z{w{en=n#u^PU$w7cVBL~{=C<-b0v@0imd{U^ACSJ?5^DcF$Y{>y6y(Zdm4vg(-ea! z)+#q;s-%PRx{R-rnjMm^!HqTdZhSsaZRiR0g#Kf?dG|Gi3dZjJcT^gRefQr{X_*FC z+X7fOOsm|q>L*d-v;Vvqd92vWmg%90NYa97&XSu2#rG_+N&~RuQp|h{=(gS4B?Nef zJ$!%1st(q>2bUJw45#Id4!1y0*M$+hO&>kEQc`Z}Ux_b>%4|7V)gB;Y@mvPD1LSs9 zb7lZ?ZP>LIx$jbIydG9l0K{|fgWJ{yG1!|o6Yh4|02``pf*u=Sg99rdE)QM;9o{z^ zM1ICYXge7qi|qwauA|Kw*SCnpvpF;ZmT_w-m>_ak%Fng{qBd^-F+qt&PQnEcPU0k7 z0C)Mz&1$pHwySn!hV4agM@uenlAyQ*j+tGQq$MB4_Cme~8CL$|=H3LYf&W8t5p)Zy h;*aFN2Hn2`e*?cI%b6xMzjXir002ovPDHLkV1h6M>xcjV diff --git a/resources/g2/track/intamin/medium_half_loop_right_3_5.png b/resources/g2/track/intamin/medium_half_loop_right_3_5.png index 20d1c80922cb9ef9a1c9a53d8ce100116def08c2..62fe3fb18671d873afcbac6deabf1c4af6e1f07b 100644 GIT binary patch delta 386 zcmV-|0e$|i3AG8ZJp+GZNklmM;+2+s}(l2B^76UVIkk&n$eX<{VFIuKjjYB>ueVuYoU z@Btc@vXp+A(8GG3iT=+zrABE-Mis2V$7Ha2-gYw*Fyf~l%p(?MAZ8?pf;Fi(z(9ly zP7DN|QJGd|5!O=g2{5#WP3q38J=FffM7EdB9jkqN=`fIEr9OD~M)blXG{!xb_3vLC g>TlUUGN>n+Utf-sFd@I2sQ>@~07*qoM6N<$g825fP5=M^ delta 379 zcmV->0fhdw39bpSJp+GSNklA-l zgjg)i*n|&6se@aPQHU$4MRME|uyE~Ng1pU3i7ql9h_b+B4G~8+XS<$eOtj2)Ktxx> zhzv(UVqtHEORdCwAadnsCT*36IPqQUwnc|_H_4Sn^O10?sY@U4F}hGGdL}YPQV3jY zAI91D;mnx~bl`IlcpV(|Qw|$L7LC?YawNnPVMg*)bscTJCPF{})+*KzJ0jNgt1AeN z)r%!ylpC5XbX1 z8kOQ4OE6eM3@PVY-U`G%8I6X7;uk7AzMJz#aUUr@&9PwU(P)1(6nsBV5PkXiy+Q{| zb{!yitf7aP628w;ox|X-%P5}0nJ;06cF=LIS$u3@QA4@D3lDQHK3y4Is!1&7TqtOx zq+_2RtyzK&y*(b`Wos_5vfPk!O&&I_f-s!j!*HX-6_~g~n_T!PY0io&` z`{R)uVU3RCrRzmyFB!UCXFlDd2HIM#w{9wAJe?TJ`<{PO@6uasd=CR1CIKBeYP#+U zwv^YZQy()Lg~n+ujG~K1qm(YuntF_ij{i~8>l@amRFeS(LF~rRUAGS}Ou|p_=+q6C zABE;fLUE3%WYwlX#Yx0p3f1uV>f1vjN4gUs*xqoh$mn1R(00005MDekkqVkqU^{eg!_$Sq<jc%OqeYg*4 zy32(bT$+LVY=Jyo_^05w=Mf4Xi%9T2iaD=>4McEUkC?4s*J^C$?&-qIqu!vqmY6(U zemoil9%=H5NArKEpB@cY7lB9n0%Lq}^%5RQmPY_LwH#ejC$WMM<;;<1X@p0s;L4F_ zX%x$}4NC~66zsZdF7(NfNQIW^M(iv{b^Jj#yj>Tg$#`HdHYjPyxP*g?Sz1F`Ir65_ z#tS1Q7NjvCqmyYiOS72j&17_n7r;{p=lFUPK*h!jKXiXsG~6J4ks+GaVNcBPsBbm_ zU5htEoP0eU&UDIh}6SoUUj{Q}$H1#e2XbF^>XW&wAt)BoSE)>BU~BCp?&t zcH5yYAJr{Krh1}Fcs}8_8S%!%cm=lC&P=M>rN~+Y*Ko3d+3^p+0sdD1%-5|$ghxj1 zqA@Uh8*C{ur~N(}(Rc>m9>ICL^zgqE|AM~(N^^a^UOIgp00000NkvXXu0mjfv||rG diff --git a/resources/g2/track/intamin/medium_half_loop_right_4_2.png b/resources/g2/track/intamin/medium_half_loop_right_4_2.png index 176fe49d5e57e2cecbd0afdd166de8dbfb7230a4..af0593fb258e12526cb86041279a569a50491bec 100644 GIT binary patch delta 516 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 P00000NkvXXu0mjfBkf;3 delta 731 zcmV<10wn#742uk~Jp+HaNklaOLE*W3`BANqhco_v;I*Oc%ysdH{vKj_M9Q6NAo#l=39p&p&jsF!bB5T3ugnB#Y#d4#4uPEsQYhtZ}Ubi^3-S z^396166T{c!y+6*nF;9A*UiULQs{~hP9rAWYJ$a+dk!_~60$Ovf~MFxSQRj=89SK} zCe?y4Cd_iF*y|Mo9vlL&dQuo*66>SL>&m#l1ub!Bk=K8Pz0)$VLYRTou=rgw!cZmV zhY_pBT%?5&R_hG1a>6XI60yYEiPSSi?&ZpFFDvgISj2tENtX5Mz63Ykg*Py z^<0$=T3jK_8Q4e(LonLTSod^b>3`j|#)YPO$vtnjZs33V+E5*CvM4zT^LbYGlB_h$xM3S~S#~a|EHIZHM}YduS|)ogyW@3pdCk7a zmtroDxGt>NtYyNr*l?F(!7Zzdcc{)sjYrM;FMa_w7Imflr=Z%;8OVRyGO?q=D!`Ec z^xrFhb?U=SJrC2pu*1hF>1GNet6@X^xCM4#nATJK6{(l%{;ahlFiTPM$&d*cXKA|U z|0{!KZzglt%3H>V;h~eM%_jrO4x1+~jyGghkbnElclli~v31Kd{RIO6Q9rB=-QNHJ N002ovPDHLkV1j9PbKU>| diff --git a/resources/g2/track/intamin/medium_half_loop_right_4_5.png b/resources/g2/track/intamin/medium_half_loop_right_4_5.png index 507c9aa087c4644746a88fca5193a1a56725addb..9fc1581a25322af525127ef7ca53f98b00f3ef6b 100644 GIT binary patch delta 454 zcmV;%0XhDJ3it`IJp+HHNkl zKE7fxsm2OF>ivH~**p~&If>f6Y%FN+O1{vt-T~bR~w@C@lOR+p`rydp%4jJQN zO;{IS_g{lO%I_FA6$+wosIm+E87;|*^1>*QS4nkd!p4~wPKidnRdhD2x6iqIx6Dcs zf(r_)F)bxREMT6%(Y&L5^W1`2wNZzgm!!qSs$+dLuiHMkLnr*``<3Cx(igHk`-TQN wKbXTgvphq-$N|QD+UjYR3mBJ!`X6(#PbvO^KYZL~=>Px#07*qoM6N<$g8j15y8r+H delta 466 zcmV;@0WJRc34{u;Jp+HTNklfdmzHq-6Wqw{mf+ny>Fh9dSf9q=$V`88P<4YpH^r)M2Q!jN z!&MR~ig4&^9K;AssE-`A*19MWpwHNOMSV)@HK_}esBxHtxVm)TshejhR zY{{;)%H=0EsZ)AaFsaUYJ^B)-kUJ%uXUE4huT{N{0xLyl?koi-E}qQr>p>-|6N8IR z)nDSRRN+bi2(f>I%s1wN5VO}sX%xohJxVw_FN>P|Ik?I+ZpcDN?CR1^(WM4o7sDbT zlwyz6+|3eVGR`<<$CvZw>X=t>&KrqC2*~Jy?LR&M6$z{Glt%(C&^nBPb5q1{x9sxX zlYd)dDd2@GTMF9%`AD48AbbD2dAExm?mZj#D#b#5&iqP}Xq@&i@4+ljvEgmrv)#|( z?!#@~BY*cFTI2!^Z;MOiTjW75u#~4%|3co%eQEEr|6)GGZ)-b-nm595HUIzs07*qo IM6N<$g0B?jWdHyG diff --git a/resources/g2/track/intamin/quarter_loop_up_1_1.png b/resources/g2/track/intamin/quarter_loop_up_1_1.png index 16f905afcca9b724c9c89d24c13303a2ee637af8..b06e5e021b991a810f8b4fe2dafa1d4313ac502f 100644 GIT binary patch delta 569 zcmV-90>=IJ3hD~5Jp+FjNklhVdWD#xufLp2zn zeUJ)GZa+&QmzoHTSe1C{4NN%~qT$2|RkhW7Dcb2!8soH%%DsQIBU18Go~SL~T7nE? z5L-{j99nZIT@4p2RZ8FXU2dYfC^V+RA#ws;1L*R8WnEY0q zIp2Aqo54m1P1SA*ys*?Xs2`#lgS*rW>xGb*126dB-qIl|(n7x`HL<5|na{ur;MsU- z8lp3ROHDWWHYR`1aH(ZO{`G01c^6~6IGEFt%DP=@Vu&l$e~C5kpiiRPE)pGdF{3-L zhuY$$rT4^^xkpnYFQ6$!i)PB!(NgOFblBExm*S<=#7u~wDAYsa!1Q$1ER_An=NtY7T(o}#)8*8EyzcE8T8EF-00000NkvXX Hu0mjf^lKb* delta 581 zcmV-L0=oU`3ib-HJp+FvNkl5)!W@X8cQTkDAVR3;%gx6%VMP(v(F zB4NdCDjq3QCA5AH9(eAhiM%wQB=SCvP)hbxOoc@O9y_I@60v_2D;1UTI5tXnVC$WY z(?9Lpc{c(l;bf(Qh71m+DVtm?Jw=CX_%rPall4@2WnWBVDZ96?jsn4R|1HtAwR^4Q#b7~=+9N(dcD?Bl;_n2 z*SVHVBRDsEEElezA4I!}{OZtj0~%~D*Hso8yH;EnSprcD2&-ucX#zVs7>yJzk~`trZ^S^96_Z2LzLmg)ZiTr=q( T(wpu`00000NkvXXu0mjf^6?xS diff --git a/resources/g2/track/intamin/quarter_loop_up_1_2.png b/resources/g2/track/intamin/quarter_loop_up_1_2.png index 374aaebe715afac9053dc41aaa89d632f669e590..4be29c7725e5ef910562839f891148aaa51dfc37 100644 GIT binary patch delta 358 zcmV-s0h#`l37HA7Jp+G7NklOB?LCbpG&2b=Rx4;r(-AzMoJo0h!Q?{Jeyz9-Ae zdNaCtcQ@tkuh*4YHw)vY;iX@xvUqf6$J6O6+dKq6-Nn}neOG@r^a+){St8oX1WT=D z*Dx$i>a4y^+57^w!-R@sM4l!$$N_GEXqDWTi7rILT~!NI!)(a(AfQi)YQeLrtQb@!7l3L%lPtxnxg?a zH{P~8)z0XEMqoAHsar!A6d;G?P95W`ba0nGjI0y=YzM{PXxx8QC6%>aV8~Gq6&9)K z5Yz2KbKGw?Ayr2d*P!R-7UG9miYu|HnWdAaIMK__W?&Yk*4IpuZi4pG!eVJS2H z4m&jNAeKrwL#2fH9p*!v*l-G!Qp22rjta=c*F4dTG-@$x6goylaG|B(e`(>$;h z0u38x#Be*|n27V^C7q^Pboh&X6Z2!?xpJyVrXZQ&Cds-H&nW}%Ol-y^#<=zXm8_~Y) z2mdXU;-IEEcNSW&VbiP*JO}hI4&D#6(8VIIPvAbYNE9>F9T= zGa#5lN;lOe+~q0*2k{-ZQmv5Ji9}`CxWw9EovlbysAy`F)uJ3?u^RW8pn%qN$51HT zucgvEBx+T-`DA|_jA9ax0M8a1b~;tacZG(@9n zJTvM@V9hb~pqLg_vqN!Xb-HgWq9||ba^cwmGLYfZs(1l>iLUdhS{P23QT;ugih1bAUJi_Fc_QzT_ZlTR#P6BKZQCORIL=>%zQLbRVEVrpUtfBivveBUKve($002ovPDHLk FV1n9;|Iq*d delta 518 zcmV+h0{Q*53b+ceJp+H{Nkl}oz%Stawy;^$_47M(o;jx!(=k_!F{S)m_9g@12>ULhb0@B)(c8A| z0eJp_1oP+p%rS&crd-6 z;YiVP@C4;2e($R7hr{8(W|ve{YJF} zC@}K5RPn~5USf2r*41DD@ze&MDh_wddOVnG?Y*@ME+zGt+DFgZe=?!IIp=aV~Uuq*GT#jAG?1`V-hCgs-_t*ym zgPSfFh9mM<&NdF@s$vi^2djiMD3opJh@s*!oLy>MQI_FF!4=AMt-RhW`h6cLOxl^6 z!ZPCf!b)Mu;wsXCEeDk?pSL;tb`3CeT4xyX-)PY9&Cq@!U0BZ7Ft1rY!Ww4GW6DcA zqB#_}VrU6(#&p20^reElM+o6@V7Gl=?9_ysh)z*gMV7Rfsqyor!ZnzxbBo#(6Wi3M zIb49_=~etBuU(yzehIy17PoDm+q#PSP3R7OZCPV_9{At-2fW|3Pj6=t@Bjb+07*qo IM6N<$f=wm>X8-^I diff --git a/resources/g2/track/intamin/quarter_loop_up_2_1.png b/resources/g2/track/intamin/quarter_loop_up_2_1.png index b4b7c2aa9d8071dadce93dbcb3a3233fb275d885..f1b4473bd667600ac33f75585044a10bcc63f498 100644 GIT binary patch delta 742 zcmVh-IZ8tyE$Oc;x~KXpPVG{wp7G=@%qiHhAxhwye-V{Ue; z?Tz+3y&Xog+)RH6@(J&TBFO6mO+*NlMDjc7m+~At+iAN`NO0Mk1^J3_OybGjG0;mo}v zV(Qlowa8osN5PnENZlA=(2SEy2C7MP=^fEC?;N%W$w4+5K<+sK4Au~{Lk6$V`xHq$NY%Tq5RmcsUeVND@9|aDYl891g{Z%R zR}*89U&McYLav|D4X@J&NnUD_N z(H=xEO1SLxRM&rq<_Os}27K{(5cU~Gy`CN<=s%|;*@L_wnwdi{wo|3(&O|nuZAmE? z(SKihBOM4-Bj5T`!6J7d$gR4I$5UO(y;@!GQaN5z_Xx?rEG&o^eR~VC@`;#xba7#NiZY`f|QQq+xP4E z;mhsU^CLhXv!0*Aj4_2uiy@34szUV{U_==I7n-^BEu@_+0L^hE%558_bY+@;OjNdn zOFQd*%rmIFp69wwDF<~UjI8CTRQ7~RJsYta>XA!(?lP5beis}XFIc$5HQ}d&%n?B*w=iL3^s@XWlR+RK znahK+Pj|2=L*Q*D^vNu4Ca1X%lWS*F7!s%Uv%ms@&wZwA{Nb%w;O0vLWX6ZGu{yD~ z9wQ{<`33X;^;YtKGLFEG7-0|4N+E0rdd!eaXF>-spAvtPQ8dUu>%kUMn+Z%48s`%5 z?e~gEiLcIY$f$eMAR(D=1`f!elMa%UL-EjT7GSglWQvJrCV#CF^X=we#UyBM5gA+2 zghivFczrGL9l{}B)0bUi+LOT*dY@9M5v29|{>oA!z75t?Q|FVu#~?HCh)c3x%yWLF z+P4trD+qr>9P;gkP@QQ8RpZXWq%rK9?1~Gj_RAK2kgx@Bd2Q7Pd~3T7$&433-qwVD zOHg%{*Gu$xV2$q~;Ct};jdxGBXT}a=kOOnQaK+Kycn&!ffnb^3f+!8EN_|1>OLBf)gh2~(?2KC~+VB-dU>Zq1Y=f}rXzOqyniI*^OM1oowZlc4f*{ zW)E#i{SdP$&6QGwU8A(eBdO0udH#7>ZI7o2T64{Ce6G=o47=tEHv=xm)TIb$pXPnhp9YLwM2i(7|~Gu_@+PNa%S}SpvT4r z=}IdqA>9Rv;EPh`XZ~FQvAuz}QA>w2VD4p-)O1PfH$>?Hg&CTlZ3Hz+GyY#9` zO+wzM@FIT~10nt1ph($1DYovLix{`lAx}p3hcVXaxb$KtCjT? zVtDaM3^oi>^UHX1ZM+aI1~VS93R68=z8YSijtW zQCpJhP!e`sXiiaaiR9u|DJI+1uXxTK&6=iqef=L+>ec&-6BB>xedpGR9y4H`3Iu5L927Of zZ$@nV+cu;|4Z$&2j{j55K;golYf;kwrS*=-iGWQ*NSV>zFjRs9K3k=Flmc&stM+m{ zNU=rWcT}2oDwcmzI9OP69MOCtHiI1v)#QbeoD(}*>yN!L7*Hu2I~r!`Ab!T`LTu0@ z%SaD0Mr7?CWRE#ULxV>)&m@mWY=?<;EltVU9szSW%0sqk6q(f9Ja?$4Yy51W+T|7AKzJ%8(e=5WBrI8AJ6q~j{Als=*fP(k8+@q zGsy8i9lzs7mhF?t!ieY9>B$6|z5Ia>f7*><;y0?~#;w#ShFuV!xQ1O& zI|qtl({NEBYw0F2FN4TH)E14AxAk2=!Mrv53?m%Ba`p-8*RQ|Qibr1$s4MaS0000< KMNUMnLSTZnxk4QP diff --git a/resources/g2/track/intamin/quarter_loop_up_2_3.png b/resources/g2/track/intamin/quarter_loop_up_2_3.png index f9c478488da20c559cd9074f8567c090a1760699..d32594fd241eefb49e305816b18d2a8d590d7794 100644 GIT binary patch delta 306 zcmV-20nPsF2;~T{Jp+FeNkl>fF_kbV0qY<}_9RxtEmVk3rHdHHAc$g4 z?)zqGEH;)+MU?r^dY4pf7T7P*kocG(mnzwvMyGyO8pkxXY1-ZbwEKCYBU&4AuG|;2 zjhL46zdnE(I) delta 312 zcmV-80muI32|W%nOg;Af0{L_d)L0000< KMNUMnLSTY_=#aet diff --git a/resources/g2/track/intamin/quarter_loop_up_3_1.png b/resources/g2/track/intamin/quarter_loop_up_3_1.png index 82830372861cd8d0d8abf7e3fc14573471785a44..aae462094ae5c5c1e8b6260db6ec700b8ef6d202 100644 GIT binary patch delta 727 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 Bi(LQ! diff --git a/resources/g2/track/intamin/quarter_loop_up_4_1.png b/resources/g2/track/intamin/quarter_loop_up_4_1.png index d8c13e4872b33ce9b696cfecf19f71c6631a9686..86b8e83207ab17bb8396953f9e8b077cb5416cdc 100644 GIT binary patch delta 590 zcmV-U0sd93Be8FF`T|01IR%fBn!(oIxd24h6Bsfu z7H+xUKy}1^FrHp#`jsr70w>6>jOjgt=t%1x87SSDcuXJzKy3ZS?0EO7*NHT8v=p0G zK9PZDn{P%?@YVg6K^6IQ92twl(_YZ+TSBv(zNTk`>q$3IDY z0%{ttO9@x2<@IVLYHyIL=o@YHaj2z#4Fr@qjz*8O5!gIZz=T%{WE-Nz8WGtvt|5@E zAhLU)vWy5TQrf`hU{R_Rn8VqT6teIu1{M*qozz(ib>Oe!N*jO5Swtc5b1@6lkl30W z16g&PyaT5Q$3TRs!W&Xyje&q#SX~WjLopEtp$HA^sKgS%UNmH(PiCJ9!FN*MNSh8Pdbu?hily(p)l`+VG~$~2=7SB ziW$AU%Z7qdA=@A1ZWkC}+#)z&3a$9hiS+SEU&_O)#Mmu+z==YzVDnBRxf}fp7e-R~ z3DK9XzGIT~pnc{8a$?3@SAH=#Vea^-R4k$UPp=kGx6&%MfeZb~ad4GaO@31B6_3I>O5Q z$J6?=v}Ne~j!1Ynn3C5-qeTF=t=Kw-233^jd zrpN?)xQ9r7diyWzy*)gDt$Q}cH-r8`G1d%miQDbHzP`ZX(ELU80_FV`M#n3I?}z>m ezA|*?`|ZEIXCRY_r@1fy0000l4KJp+F$Nkl%>T zv)FLWQ%kFGZ(-hHabXH`o^6C}y|4-3&mqk(MHq7yns#`IGtPf<)L9@P-kW=%a>1jg zbun~oKS1QT<@h~9IHIp@Al1G5m?g_uN6j}WWqR+zbeSc`O_}Mm2Q}j?34O?{?TkU$ zofRFHvf_GTBxL3(Q;+frLsKGlY=&gO`+H+i)@F$erp?Z5qGvZ5Iz!tFrs~!uT7)lyh3N_M;A?u$0LqndILYq(zzyU5Gu4Mb2$!f&jJNr% c>Fdt$4+B+;m@;l#8~^|S07*qoM6N<$g58OwcK`qY delta 323 zcmV-J0lfbG2=)lDJp+FvNkl`Vy&qDxBpVTPlW4|JlCIiB<^kqYduDV;ATFhR*SeR2IYWo(m`Z5jU)dCkr ztT1<`qv|1{@^?{eU^7EKatd0ldMyyMWZ2kQ zoXy3wmh%S>Q|UWxij(f<-7tGm*{~77*;HWc4qS43J?+gOL`R?QgRM@JUYh^=_6yp; VkXE6}PV@i(002ovPDHLkV1mHUod5s; diff --git a/resources/g2/track/intamin/quarter_loop_up_4_3.png b/resources/g2/track/intamin/quarter_loop_up_4_3.png index 6a2bfb9f43d4d0827a615c9eeaad82bb934003b6..c096f24e1a59451456d1d2fa17140837607f1c5b 100644 GIT binary patch delta 483 zcmV<90UZ9B3Y7}5Jp+HkNkl%nz&N-+2j1&J6A&_E>d)!y>DW-I??-(LX-L^l{R8bm2fNp6c zPIjt(r!rMYY%m?cF>AG1hZQyc7V5g{Y+ zK}O&>qTGhf{=`yJuSWe*RGT7H2UEJ_SU)s2B_hUdoAwmdqPJN2jd2vhq=kzxyRh!{ zn`4D4wnYxgT3mms0@!t=otqJiN>%8h20Aug>9Qtd|(yDw(E@wJ~Blz*T@y;`Ejph%8Q>k(AD?N#qOo#V^M})>gnKg z#pPvR7uz92%DuBrffyGTC*V$gMsz1HE9W&Y^GpIAwI^FwjLZBp`PFn^mmsUsDQuPF za%5U2obG>fr5yEs6Z|wN$`v)wj_;XEb{hG}_5PN(>_=*8&bxEmv428Kl6K@szmJz; ZJ^^WMsau_%a;X3S002ovPDHLkV1l+n<`)0} delta 487 zcmVCJ&hf>fBK6(UB>YKIFTYcEZ zuyrK)ID~5)JMJsOUjnCVt);H;+ll{*;AAN|r<``+DVK7x?-&p`8WDl5NeE0LIY!`M zm+C9En8;O>yI7DBXb5!``yv~G9fj)s{`n8)GB>2hxrVC_Xfc0bIT(4SYUAuAG_PP( z(J35MO?j}65rixl5;SF23mr8;(xrRNVySbm;3>-&5ZPh z&Km3Vf{6#oI0|swg&CO#MS!K86fnU_gAB%Dm`Ca)ma1M6=FH^5oVW zTW428AwtL@qRQqg^$PtC)mb`M8YhU^;fhXlTd{6;R@E(z4Z#Ey=`-aghlF-I*p0bj zuZ}|%!-qC-=7FMN)o#wAqH-Gf;bXV5J9%5VO7Egx)#P8`KJ8lJNoP*t#dOb~;PCOA z!V6xxrkKO&{x`prql;Y4`CQ@G_<>oxXCAW4$S8JR-p1SQS88i6NxQuIKeQzQ=KQC# dujI$i;u}~ssp~I)gZuyh002ovPDHLkV1npo?1BIQ diff --git a/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_1.png index 569d73fc3bc71fbefeacb614782cf05417729d7f..83e7cf7193d6fe11686f2776be6d48b6c25c7c53 100644 GIT binary patch delta 508 zcmVoz z+NdH$%2u3vBR0fa;G9!>3mk)A{sRguz`^@=KhNI?FqZC%i=^tKxH^b)$9%^m1);< z{V=Xd=+-q^!Aw~#>dv`9BC0Ki|DD;@`LmT`3^~ha5o$>+i;|;OM;~$$FveWmWmgn> zQCjwfwvr-H@F{;X6;#m8S{-=ma(Zlsoc;mV(9oLnu@@f#7(6M3O~cmjKEM2$3EbB~jt(n$aS7;rWi$KG)8nlr?}ZA2alm>AgOprftBoDBT; zaS>q5S~!UA!KN%Rs0JTdIt=IQlHjnfRmwc}m=h1=WkhuRM`#sgRH6_dc9mg*w=eAT z9s)`sMglnSz%7ad)^CEq3dtV-mWcwj* y`>_7{=6Hgf8*whg`aALrn6~mGyrEuuRs8`R+tt9IKJO9$0000`dzyYZEPR4eYnu{z4+_O52oGmcVFLq}lTJC7#@s6J*#}*vfxJx;`2d)Tn+|S9vb; zBa($tz#^y3Z_Dj0*X*hm)^1!M><)b7>>{DM0FMafWL7O1sHa=etKTw!YOhcfJ^m1N z&352^)Ls7UFrW3Vz{6o(u4Od^SDVNcdmlwo1S? z)k<)hutcW?gOcyFdCl|-I|D~UAQsfP;X(={WMAAO=j;EDuE&%2xA7qDCA~+Nz*l6w qi1i@+|H&0-l^wrgLjUsmKK=sPK-R~GpVIgM0000N`Jp+FdNkl763=(E1|Q7$B2y)O?Pqp5m*VJ(3vdtMV}#rzVpWuC0HUBYmp(AR?bN#FJ=E z9Yr`ev#JWlJO(4G%{~c2KEV;QPs=Tu9ph@Kt<2iC$D1sh5FWrPm|#F1Mzm=o7hSBe z$=H@=g0nq6)04OpT~|d@=Sg;YZ>~>k^>Xe&>q4rvwt8=33e)*T9?@~07*qoM6N<$g5WBQ AQvd(} diff --git a/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png b/resources/g2/track/intamin/right_bank_to_gentle_up_right_bank_diag_3.png index 8248f3a0ff4c30ef23d56ee23ea9eb80d0f14e91..51087584090e9b01569e118db6f44b67be5a9cbd 100644 GIT binary patch delta 516 zcmV+f0{i{F3bqQcJp+H_Nklp5Kuoo7K901n#V(0rZ_@{h$Cq0jbVyB$_I6Oe&0{kLD?+4thd$ng}5@0FdC`mXm(l z2QgjTf>|}E7EX)}br#qTlhFXENgRC%)1)$k$O(BOKHA$GvS5(OoHr!)# z0%LAw=>Q-)P