Fix #21522: incorrect support drawing on Hybrid and Wooden (#21710)

* Fix #21522: incorrect support drawing on Hybrid and Wooden

* Add changelog entry
This commit is contained in:
Michael Steenbeek 2024-04-02 22:05:48 +02:00 committed by GitHub
parent 6b734fda6b
commit 3461ac38ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 51 additions and 172 deletions

View File

@ -23,6 +23,7 @@
- Fix: [#21360] If the object selection is missing certain types, the Object Selection window will switch to an incorrect tab.
- Fix: [#21419] Cannot place walls underground beneath sloped tiles with clearance checks disabled.
- Fix: [#21434] Number of guests overflows in objective text.
- Fix: [#21522] Supports for 3×3 turns and 45 degree turns on the Hybrid Coaster and Wooden Roller Coaster not drawn correctly.
- Fix: [#21543] Crash with creating a TrackIterator with invalid arguments.
- Fix: [#21635] Tile inspector hotkey can set wall slope for non-slopeable objects.
- Fix: [#21641] Crash when creating track iterator from an invalid tile element.

View File

@ -5450,35 +5450,27 @@ namespace HybridRC
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 1),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 3),
{ 6, 0, height }, { 20, 34, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 5),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 7),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionPrev(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 2:
@ -5583,35 +5575,26 @@ namespace HybridRC
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 9),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 11),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 13),
{ 6, 0, height }, { 20, 34, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 15),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 0:
@ -5844,35 +5827,26 @@ namespace HybridRC
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 4),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 9),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 14),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 19),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionPrev(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 2:
@ -6089,35 +6063,26 @@ namespace HybridRC
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 24),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 29),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 34),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction, GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 39),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 0:
@ -7203,9 +7168,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 1),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -7216,9 +7178,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 5),
{ 6, 0, height }, { { 27, 0, height }, { 1, 34, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -7229,20 +7188,17 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 8),
{ 6, 0, height }, { { 27, 0, height }, { 1, 32, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 10),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionPrev(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 2:
@ -7272,18 +7228,12 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 11),
{ 0, 6, height }, { 32, 20, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 13),
{ 0, 6, height }, { 32, 20, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -7294,20 +7244,17 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 17),
{ 0, 6, height }, { { 0, 27, height }, { 34, 1, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 20),
{ 0, 6, height }, { 32, 20, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
if (direction == 0 || direction == 3)
{
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
@ -7356,9 +7303,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 12),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -7369,9 +7313,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 15),
{ 6, 0, height }, { { 27, 0, height }, { 1, 32, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -7382,20 +7323,17 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 19),
{ 6, 0, height }, { { 27, 0, height }, { 1, 34, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 21),
{ 6, 0, height }, { 20, 32, 3 });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 0:
@ -7661,9 +7599,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 4),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -7674,9 +7609,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 14),
{ 0, 0, height }, { { 27, 0, height }, { 1, 32, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -7687,20 +7619,17 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 20),
{ 0, 0, height }, { { 27, 0, height }, { 1, 32, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 25),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionPrev(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 2:
@ -7950,9 +7879,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 30),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -7963,9 +7889,6 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 36),
{ 0, 0, height }, { { 27, 0, height }, { 1, 32, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -7976,20 +7899,17 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 46),
{ 0, 0, height }, { { 27, 0, height }, { 1, 32, 34 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 51),
{ 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 0:
@ -11852,34 +11772,29 @@ namespace HybridRC
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 10), { 6, 0, height },
{ 20, 32, 3 });
WoodenASupportsPaintSetup(
session, WoodenSupportType::Truss, WoodenSupportSubType::NwSe, height, session.SupportColours);
break;
case 1:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 12), { 6, 0, height },
{ 20, 32, 3 });
WoodenASupportsPaintSetup(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, height, session.SupportColours);
break;
case 2:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 15), { 6, 0, height },
{ 20, 34, 3 });
WoodenASupportsPaintSetup(
session, WoodenSupportType::Truss, WoodenSupportSubType::NwSe, height, session.SupportColours);
break;
case 3:
PaintAddImageAsParentRotated(
session, direction,
GetTrackColour(session).WithIndex(SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 17), { 6, 0, height },
{ 20, 32, 3 });
WoodenASupportsPaintSetup(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, height, session.SupportColours);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours);
switch (direction)
{
case 0:
@ -12527,8 +12442,9 @@ namespace HybridRC
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
break;
case 2:
WoodenASupportsPaintSetup(
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner0, height + 16, session.SupportColours);
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner0, direction, height + 16,
session.SupportColours);
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(kSegmentsAll, direction), 0xFFFF, 0);
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
@ -14358,8 +14274,9 @@ namespace HybridRC
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
break;
case 2:
WoodenASupportsPaintSetup(
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner0, height + 16, session.SupportColours);
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner0, direction, height + 16,
session.SupportColours);
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(kSegmentsAll, direction), 0xFFFF, 0);
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
break;

View File

@ -2585,10 +2585,6 @@ static void WoodenRCTrackLeftQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24651), { 0, 0, height },
{ { 2, 0, height }, { 27, 32, 2 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw,
(direction + 3) % NumOrthogonalDirections, height, session.SupportColours,
WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -2603,10 +2599,6 @@ static void WoodenRCTrackLeftQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24682), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw,
(direction + 3) % NumOrthogonalDirections, height, session.SupportColours,
WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -2621,10 +2613,6 @@ static void WoodenRCTrackLeftQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24684), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw,
(direction + 3) % NumOrthogonalDirections, height, session.SupportColours,
WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
@ -2639,12 +2627,11 @@ static void WoodenRCTrackLeftQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24688), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw,
(direction + 3) % NumOrthogonalDirections, height, session.SupportColours,
WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionPrev(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 2:
@ -2966,9 +2953,7 @@ static void WoodenRCTrackRightQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24670), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -2983,9 +2968,6 @@ static void WoodenRCTrackRightQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24672), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -3000,9 +2982,6 @@ static void WoodenRCTrackRightQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24677), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
@ -3011,11 +2990,11 @@ static void WoodenRCTrackRightQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(24646), { 0, 0, height },
{ { 2, 0, height }, { 27, 32, 2 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 0:
@ -14687,9 +14666,6 @@ static void WoodenRCTrackLeftBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25191), { 0, 0, height },
{ { 2, 0, height }, { 27, 32, 2 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -14704,9 +14680,6 @@ static void WoodenRCTrackLeftBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25222), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -14721,9 +14694,6 @@ static void WoodenRCTrackLeftBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25224), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
@ -14738,11 +14708,11 @@ static void WoodenRCTrackLeftBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25228), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionPrev(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 2:
@ -15064,9 +15034,6 @@ static void WoodenRCTrackRightBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25210), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 1:
PaintAddImageAsParentRotated(
@ -15081,9 +15048,6 @@ static void WoodenRCTrackRightBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25212), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 2:
PaintAddImageAsParentRotated(
@ -15098,9 +15062,6 @@ static void WoodenRCTrackRightBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25217), { 0, 0, height },
{ { 2, 0, height + 67 }, { 27, 32, 0 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
case 3:
PaintAddImageAsParentRotated(
@ -15109,11 +15070,11 @@ static void WoodenRCTrackRightBankedQuarterTurn525DegUp(
PaintAddImageAsChildRotated(
session, direction, WoodenRCGetRailsColour(session).WithIndex(25186), { 0, 0, height },
{ { 2, 0, height }, { 27, 32, 2 } });
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
break;
}
WoodenASupportsPaintSetupRotated(
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, DirectionNext(direction), height,
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
switch (direction)
{
case 0: