mirror of https://github.com/OpenRCT2/OpenRCT2.git
replace TrackColours array with two ImageId values
This commit is contained in:
parent
1306dc048b
commit
a890844115
|
@ -197,7 +197,8 @@ struct PaintSessionCore
|
|||
uint32_t ViewFlags;
|
||||
uint32_t QuadrantBackIndex;
|
||||
uint32_t QuadrantFrontIndex;
|
||||
ImageId TrackColours[2];
|
||||
ImageId TrackColours;
|
||||
ImageId SupportColours;
|
||||
SupportHeight SupportSegments[9];
|
||||
SupportHeight Support;
|
||||
uint16_t WaterHeight;
|
||||
|
|
|
@ -390,23 +390,23 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
{
|
||||
if (hasGreenLight)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE);
|
||||
}
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE));
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE));
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + fenceOffsetA }, { 32, 8, 1 });
|
||||
|
@ -417,16 +417,16 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE));
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_BEGIN_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_BEGIN_SW_NE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 24, height + fenceOffsetA }, { 32, 8, 1 });
|
||||
// height += 2 (height + 7)
|
||||
|
@ -436,28 +436,28 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
{
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE);
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NE_SW);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SW_NE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + fenceOffsetB }, { 32, 1, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 0)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 23, height + fenceOffsetB }, { 1, 8, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 2)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 23, height + fenceOffsetB }, { 1, 8, 7 });
|
||||
}
|
||||
// height -= 7 (height)
|
||||
|
@ -467,12 +467,12 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + fenceOffsetB }, { 1, 8, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + fenceOffsetB }, { 1, 8, 7 });
|
||||
}
|
||||
}
|
||||
|
@ -485,23 +485,23 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
{
|
||||
if (hasGreenLight)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE);
|
||||
}
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE));
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE));
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + fenceOffsetA }, { 8, 32, 1 });
|
||||
|
@ -512,16 +512,16 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE));
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_BEGIN_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_BEGIN_NW_SE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 24, 0, height + fenceOffsetA }, { 8, 32, 1 });
|
||||
// height += 2 (height + 7)
|
||||
|
@ -531,28 +531,28 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
{
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE);
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_ANGLE_FENCED_NW_SE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_NW_SE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + fenceOffsetB }, { 1, 32, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 3)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 23, 31, height + fenceOffsetB }, { 8, 1, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 1)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 23, 31, height + fenceOffsetB }, { 8, 1, 7 });
|
||||
}
|
||||
|
||||
|
@ -563,12 +563,12 @@ static void TrackPaintUtilDrawStationImpl(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + fenceOffsetB }, { 8, 1, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + fenceOffsetB }, { 8, 1, 7 });
|
||||
}
|
||||
}
|
||||
|
@ -598,23 +598,23 @@ void TrackPaintUtilDrawStationInverted(
|
|||
{
|
||||
if (hasGreenLight)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE);
|
||||
}
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE));
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE));
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + 6 }, { 32, 8, 1 });
|
||||
|
@ -624,16 +624,16 @@ void TrackPaintUtilDrawStationInverted(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_SW_NE : SPR_STATION_PLATFORM_END_RED_LIGHT_SW_NE));
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_BEGIN_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_BEGIN_SW_NE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 24, height + 6 }, { 32, 8, 1 });
|
||||
// height += 2 (height + 7)
|
||||
|
@ -643,28 +643,28 @@ void TrackPaintUtilDrawStationInverted(
|
|||
{
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_SW_NE);
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NE_SW);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_INVERTED_FENCE_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_INVERTED_FENCE_SW_NE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + 8 }, { 32, 1, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 0)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 23, height + 8 }, { 1, 8, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 2)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 23, height + 8 }, { 1, 8, 7 });
|
||||
}
|
||||
// height -= 7 (height)
|
||||
|
@ -673,12 +673,12 @@ void TrackPaintUtilDrawStationInverted(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + 8 }, { 1, 8, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + 8 }, { 1, 8, 7 });
|
||||
}
|
||||
}
|
||||
|
@ -691,23 +691,23 @@ void TrackPaintUtilDrawStationInverted(
|
|||
{
|
||||
if (hasGreenLight)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
hasFence ? SPR_STATION_PLATFORM_FENCED_END_RED_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE);
|
||||
}
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE));
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE));
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + 6 }, { 8, 32, 1 });
|
||||
|
@ -717,16 +717,16 @@ void TrackPaintUtilDrawStationInverted(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
(hasGreenLight ? SPR_STATION_PLATFORM_END_GREEN_LIGHT_NW_SE : SPR_STATION_PLATFORM_END_RED_LIGHT_NW_SE));
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_BEGIN_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_BEGIN_NW_SE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 24, 0, height + 6 }, { 8, 32, 1 });
|
||||
// height += 2 (height + 7)
|
||||
|
@ -736,28 +736,28 @@ void TrackPaintUtilDrawStationInverted(
|
|||
{
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_INVERTED_BEGIN_ANGLE_FENCE_NW_SE);
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_INVERTED_LIGHT_BACK_ANGLE_FENCED_NW_SE);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_INVERTED_FENCE_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_INVERTED_FENCE_NW_SE);
|
||||
}
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + 8 }, { 1, 32, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 3)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 23, 31, height + 8 }, { 8, 1, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 1)
|
||||
{
|
||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 23, 31, height + 8 }, { 8, 1, 7 });
|
||||
}
|
||||
|
||||
|
@ -767,12 +767,12 @@ void TrackPaintUtilDrawStationInverted(
|
|||
|
||||
if (trackElement.GetTrackType() == TrackElemType::BeginStation && direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + 8 }, { 8, 1, 7 });
|
||||
}
|
||||
else if (trackElement.GetTrackType() == TrackElemType::EndStation && direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_LIGHT_BACK_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + 8 }, { 8, 1, 7 });
|
||||
}
|
||||
}
|
||||
|
@ -836,7 +836,7 @@ bool TrackPaintUtilDrawStationCovers2(
|
|||
imageOffset += SPR_STATION_COVER_OFFSET_TALL;
|
||||
}
|
||||
|
||||
auto imageTemplate = session.TrackColours[SCHEME_TRACK];
|
||||
auto imageTemplate = session.TrackColours;
|
||||
auto imageId = imageTemplate.WithIndex(baseImageIndex + imageOffset);
|
||||
PaintAddImageAsParent(session, imageId, offset, boundBox);
|
||||
|
||||
|
@ -861,18 +861,18 @@ void TrackPaintUtilDrawNarrowStationPlatform(
|
|||
if (direction & 1)
|
||||
{
|
||||
bool hasFence = TrackPaintUtilHasFence(EDGE_NE, position, trackElement, ride, session.CurrentRotation);
|
||||
ImageId imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
ImageId imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NE : SPR_STATION_NARROW_EDGE_NE));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + zOffset }, { 8, 32, 1 });
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_NE, hasFence, stationObj, height, colour);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_NARROW_EDGE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_NARROW_EDGE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 24, 0, height + zOffset }, { 8, 32, 1 });
|
||||
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_SW, position, trackElement, ride, session.CurrentRotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + zOffset + 2 }, { 1, 32, 7 });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_SW, hasFence, stationObj, height, colour);
|
||||
|
@ -880,18 +880,18 @@ void TrackPaintUtilDrawNarrowStationPlatform(
|
|||
else
|
||||
{
|
||||
bool hasFence = TrackPaintUtilHasFence(EDGE_NW, position, trackElement, ride, session.CurrentRotation);
|
||||
ImageId imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
ImageId imageId = session.SupportColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NW : SPR_STATION_NARROW_EDGE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + zOffset }, { 32, 8, 1 });
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_NW, hasFence, stationObj, height, colour);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_NARROW_EDGE_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_NARROW_EDGE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 24, height + zOffset }, { 32, 8, 1 });
|
||||
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_SE, position, trackElement, ride, session.CurrentRotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_FENCE_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_FENCE_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + zOffset + 2 }, { 32, 1, 7 });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_SE, hasFence, stationObj, height, colour);
|
||||
|
@ -911,18 +911,17 @@ void TrackPaintUtilDrawPier(
|
|||
if (direction & 1)
|
||||
{
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_NE, position, trackElement, ride, session.CurrentRotation);
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
(hasFence ? SPR_STATION_PIER_EDGE_NE_FENCED : SPR_STATION_PIER_EDGE_NE));
|
||||
imageId = session.SupportColours.WithIndex((hasFence ? SPR_STATION_PIER_EDGE_NE_FENCED : SPR_STATION_PIER_EDGE_NE));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 6, 32, 1 } });
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_NE, hasFence, stationObj, height, colour);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PIER_EDGE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PIER_EDGE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 24, 0, height }, { 8, 32, 1 });
|
||||
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_SW, position, trackElement, ride, session.CurrentRotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PIER_FENCE_SW);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PIER_FENCE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + 2 }, { 1, 32, 7 });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_SW, hasFence, stationObj, height, colour);
|
||||
|
@ -930,18 +929,17 @@ void TrackPaintUtilDrawPier(
|
|||
else
|
||||
{
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_NW, position, trackElement, ride, rotation);
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
(hasFence ? SPR_STATION_PIER_EDGE_NW_FENCED : SPR_STATION_PIER_EDGE_NW));
|
||||
imageId = session.SupportColours.WithIndex((hasFence ? SPR_STATION_PIER_EDGE_NW_FENCED : SPR_STATION_PIER_EDGE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 6, 1 } });
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_NW, hasFence, stationObj, height, colour);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PIER_EDGE_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PIER_EDGE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 24, height }, { 32, 8, 1 });
|
||||
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_SE, position, trackElement, ride, rotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_PIER_FENCE_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_PIER_FENCE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + 2 }, { 32, 1, 7 });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_SE, hasFence, stationObj, height, colour);
|
||||
|
@ -1536,8 +1534,7 @@ void TrackPaintUtilRightQuarterTurn5TilesWoodenSupports(
|
|||
std::nullopt, WoodenSupportSubType::Corner1, WoodenSupportSubType::NeSw },
|
||||
};
|
||||
auto supportType = supportTypes[direction][trackSequence].value();
|
||||
WoodenASupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, WoodenSupportType::Truss, supportType, height, session.SupportColours);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2024,9 +2021,9 @@ void TrackPaintUtilLeftQuarterTurn1TileTunnel(
|
|||
void TrackPaintUtilSpinningTunnelPaint(PaintSession& session, int8_t thickness, int16_t height, Direction direction)
|
||||
{
|
||||
int32_t frame = gCurrentTicks >> 2 & 3;
|
||||
auto colourFlags = session.TrackColours[SCHEME_SUPPORTS];
|
||||
auto colourFlags = session.SupportColours;
|
||||
|
||||
auto colourFlags2 = session.TrackColours[SCHEME_TRACK];
|
||||
auto colourFlags2 = session.TrackColours;
|
||||
if (colourFlags2.HasSecondary())
|
||||
{
|
||||
colourFlags = colourFlags.WithSecondary(colourFlags2.GetSecondary());
|
||||
|
@ -2057,7 +2054,7 @@ void TrackPaintUtilOnridePhotoPlatformPaint(
|
|||
PaintSession& session, Direction direction, int32_t height, MetalSupportType supportType)
|
||||
{
|
||||
PaintAddImageAsParent(session, ImageId(SPR_STATION_BASE_D, COLOUR_BLACK), { 0, 0, height }, { 32, 32, 1 });
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], supportType);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, supportType);
|
||||
}
|
||||
|
||||
void TrackPaintUtilOnridePhotoSmallPaint(
|
||||
|
@ -2170,8 +2167,7 @@ void TrackPaintUtilLeftCorkscrewUpSupports(PaintSession& session, Direction dire
|
|||
session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF,
|
||||
0);
|
||||
}
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
if (direction != 2)
|
||||
{
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -2258,19 +2254,19 @@ void PaintTrack(PaintSession& session, Direction direction, int32_t height, cons
|
|||
}
|
||||
|
||||
session.InteractionType = ViewportInteractionItem::Ride;
|
||||
session.TrackColours[SCHEME_TRACK] = ImageId(
|
||||
session.TrackColours = ImageId(
|
||||
0, ride->track_colour[trackColourScheme].main, ride->track_colour[trackColourScheme].additional);
|
||||
session.TrackColours[SCHEME_SUPPORTS] = ImageId(0, ride->track_colour[trackColourScheme].supports);
|
||||
session.SupportColours = ImageId(0, ride->track_colour[trackColourScheme].supports);
|
||||
if (trackElement.IsHighlighted() || session.SelectedElement == reinterpret_cast<const TileElement*>(&trackElement))
|
||||
{
|
||||
session.TrackColours[SCHEME_TRACK] = HighlightMarker;
|
||||
session.TrackColours[SCHEME_SUPPORTS] = HighlightMarker;
|
||||
session.TrackColours = HighlightMarker;
|
||||
session.SupportColours = HighlightMarker;
|
||||
}
|
||||
if (trackElement.IsGhost())
|
||||
{
|
||||
session.InteractionType = ViewportInteractionItem::None;
|
||||
session.TrackColours[SCHEME_TRACK] = ConstructionMarker;
|
||||
session.TrackColours[SCHEME_SUPPORTS] = ConstructionMarker;
|
||||
session.TrackColours = ConstructionMarker;
|
||||
session.SupportColours = ConstructionMarker;
|
||||
}
|
||||
|
||||
if (ride->type >= RIDE_TYPE_COUNT)
|
||||
|
|
|
@ -208,12 +208,6 @@ enum
|
|||
SPR_GHOST_TRAIN_SPINNING_TUNNEL_FRONT_NW_SE_FRAME_3 = 28880,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SCHEME_TRACK,
|
||||
SCHEME_SUPPORTS
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
STATION_VARIANT_BASIC,
|
||||
|
|
|
@ -166,8 +166,8 @@ enum
|
|||
|
||||
static ImageId AirPoweredVerticalRCGetSupportColour(PaintSession& session)
|
||||
{
|
||||
auto colourFlags = session.TrackColours[SCHEME_SUPPORTS];
|
||||
auto trackColour = session.TrackColours[SCHEME_TRACK];
|
||||
auto colourFlags = session.SupportColours;
|
||||
auto trackColour = session.TrackColours;
|
||||
if (trackColour.HasSecondary())
|
||||
{
|
||||
colourFlags = colourFlags.WithSecondary(trackColour.GetSecondary());
|
||||
|
@ -187,10 +187,10 @@ static void AirPoweredVerticalRCTrackFlat(
|
|||
SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE,
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
|
@ -213,10 +213,10 @@ static void AirPoweredVerticalRCTrackStation(
|
|||
session, direction, GetStationColourScheme(session, trackElement).WithIndex(imageIds[direction][1]),
|
||||
{ 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]), { 0, 0, height },
|
||||
session, direction, session.TrackColours.WithIndex(imageIds[direction][0]), { 0, 0, height },
|
||||
{ { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
TrackPaintUtilDrawNarrowStationPlatform(session, ride, direction, height, 5, trackElement);
|
||||
|
||||
|
@ -261,8 +261,7 @@ static void AirPoweredVerticalRCTrackRightQuarterTurn5(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint3(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint3(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesWoodenSupports(session, height, direction, trackSequence);
|
||||
TrackPaintUtilRightQuarterTurn5TilesTunnel(session, height, direction, trackSequence, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
|
@ -327,16 +326,16 @@ static void AirPoweredVerticalRCTrackFlatToLeftBank(
|
|||
{ SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_SE_NW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
if (direction == 0 || direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
|
@ -356,16 +355,16 @@ static void AirPoweredVerticalRCTrackFlatToRightBank(
|
|||
{ SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_RIGHT_BANK_SE_NW, SPR_AIR_POWERED_VERTICAL_RC_FLAT_TO_LEFT_BANK_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
if (direction == 2 || direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
|
@ -423,19 +422,16 @@ static void AirPoweredVerticalRCTrackBankedRightQuarterTurn5(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
|
||||
if (direction == 1 && trackSequence == 6)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_NW_SW_PART_4);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_NW_SW_PART_4);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
}
|
||||
else if (direction == 3 && trackSequence == 0)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_SE_NE_PART_0);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_SE_NE_PART_0);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height }, { 1, 32, 26 } });
|
||||
}
|
||||
|
||||
|
@ -503,7 +499,7 @@ static void AirPoweredVerticalRCTrackLeftBank(
|
|||
SPR_AIR_POWERED_VERTICAL_RC_LEFT_BANK_SE_NW,
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
if (direction == 0 || direction == 1)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
|
@ -513,7 +509,7 @@ static void AirPoweredVerticalRCTrackLeftBank(
|
|||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
|
@ -539,10 +535,10 @@ static void AirPoweredVerticalRCTrackBrakes(
|
|||
SPR_AIR_POWERED_VERTICAL_RC_BRAKES_SW_NE,
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
|
@ -650,7 +646,7 @@ static void AirPoweredVerticalRCTrackVerticalSlopeUp(
|
|||
};
|
||||
|
||||
auto supportsImageId = AirPoweredVerticalRCGetSupportColour(session).WithIndex(supportImageIds[trackSequence][direction]);
|
||||
auto trackImageId = session.TrackColours[SCHEME_TRACK].WithIndex(trackImageIds[trackSequence][direction]);
|
||||
auto trackImageId = session.TrackColours.WithIndex(trackImageIds[trackSequence][direction]);
|
||||
int8_t bbHeight;
|
||||
bool isDirection03 = (direction == 0 || direction == 3);
|
||||
switch (trackSequence)
|
||||
|
@ -662,7 +658,7 @@ static void AirPoweredVerticalRCTrackVerticalSlopeUp(
|
|||
PaintAddImageAsChildRotated(
|
||||
session, direction, trackImageId, { 0, 0, height }, { { 0, 6, height }, { 20, 32, bbHeight } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 0, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
|
@ -690,7 +686,7 @@ static void AirPoweredVerticalRCTrackVerticalSlopeUp(
|
|||
session, direction, trackImageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, bbHeight } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
if (trackSequence == 0)
|
||||
{
|
||||
|
@ -718,21 +714,21 @@ static void AirPoweredVerticalRCTrackVerticalSlopeUp(
|
|||
session, direction, supportsImageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, bbHeight } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + supportHeights[trackSequence], 0x20);
|
||||
break;
|
||||
case 5:
|
||||
if (WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]))
|
||||
if (WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours))
|
||||
{
|
||||
ImageId floorImageId;
|
||||
if (direction & 1)
|
||||
{
|
||||
floorImageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_FLOOR_PLANKS_90_DEG);
|
||||
floorImageId = session.SupportColours.WithIndex(SPR_FLOOR_PLANKS_90_DEG);
|
||||
}
|
||||
else
|
||||
{
|
||||
floorImageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_FLOOR_PLANKS);
|
||||
floorImageId = session.SupportColours.WithIndex(SPR_FLOOR_PLANKS);
|
||||
}
|
||||
PaintAddImageAsParent(session, floorImageId, { 0, 0, height }, { { 3, 3, height }, { 26, 26, 126 } });
|
||||
PaintAddImageAsChildRotated(
|
||||
|
@ -761,7 +757,7 @@ static void AirPoweredVerticalRCTrackVerticalSlopeUp(
|
|||
PaintAddImageAsChildRotated(
|
||||
session, direction, supportsImageId, { 0, 0, height }, { { 27, 6, height }, { 1, 20, 126 } });
|
||||
}
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetVerticalTunnel(session, height + 240);
|
||||
|
||||
|
@ -790,7 +786,7 @@ static void AirPoweredVerticalRCTrackVerticalUp(
|
|||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 3, 3, height }, { 26, 26, 79 } });
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(
|
||||
|
@ -844,7 +840,7 @@ static void AirPoweredVerticalRCTrackVerticalTop(
|
|||
{
|
||||
case 0:
|
||||
imageIdS = AirPoweredVerticalRCGetSupportColour(session).WithIndex(imageIds[direction][0]);
|
||||
imageIdT = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageIdT = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
if (direction == 0)
|
||||
{
|
||||
PaintAddImageAsParentRotated(
|
||||
|
@ -861,7 +857,7 @@ static void AirPoweredVerticalRCTrackVerticalTop(
|
|||
}
|
||||
break;
|
||||
case 1:
|
||||
imageIdT = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][2]);
|
||||
imageIdT = session.TrackColours.WithIndex(imageIds[direction][2]);
|
||||
if (direction == 0)
|
||||
{
|
||||
PaintAddImageAsParentRotated(
|
||||
|
@ -875,7 +871,7 @@ static void AirPoweredVerticalRCTrackVerticalTop(
|
|||
PaintUtilSetVerticalTunnel(session, height + 80);
|
||||
break;
|
||||
case 2:
|
||||
imageIdT = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][3]);
|
||||
imageIdT = session.TrackColours.WithIndex(imageIds[direction][3]);
|
||||
if (direction == 0)
|
||||
{
|
||||
PaintAddImageAsParentRotated(
|
||||
|
@ -890,7 +886,7 @@ static void AirPoweredVerticalRCTrackVerticalTop(
|
|||
break;
|
||||
case 3:
|
||||
imageIdS = AirPoweredVerticalRCGetSupportColour(session).WithIndex(imageIds[direction][4]);
|
||||
imageIdT = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][5]);
|
||||
imageIdT = session.TrackColours.WithIndex(imageIds[direction][5]);
|
||||
if (direction == 0)
|
||||
{
|
||||
PaintAddImageAsParentRotated(
|
||||
|
@ -932,7 +928,7 @@ static void AirPoweredVerticalRCTrackBooster(
|
|||
{
|
||||
// The booster piece is borrowed from the Reverse Freefall Colour.
|
||||
// It has two track colours, instead of the one that the APVC has.
|
||||
auto colour = session.TrackColours[SCHEME_TRACK];
|
||||
auto colour = session.TrackColours;
|
||||
if (!trackElement.IsGhost() && !trackElement.IsHighlighted())
|
||||
{
|
||||
colour = colour.WithSecondary(colour.GetPrimary());
|
||||
|
@ -951,7 +947,7 @@ static void AirPoweredVerticalRCTrackBooster(
|
|||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -967,10 +963,10 @@ static void AirPoweredVerticalRCTrackOnridePhoto(
|
|||
SPR_AIR_POWERED_VERTICAL_RC_FLAT_NW_SE,
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
TrackPaintUtilOnridePhotoPaint(session, direction, height + 3, trackElement);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -252,7 +252,7 @@ static void ClassicWoodenRCTrackFlatToLeftBank(
|
|||
};
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -285,7 +285,7 @@ static void ClassicWoodenRCTrackFlatToRightBank(
|
|||
};
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -331,7 +331,7 @@ static void ClassicWoodenRCTrackLeftBank(
|
|||
}
|
||||
};
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -371,7 +371,7 @@ static void ClassicWoodenRCTrackLeftBankTo25DegUp(
|
|||
};
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 1 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 1 + direction, height, session.SupportColours);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -412,7 +412,7 @@ static void ClassicWoodenRCTrackRightBankTo25DegUp(
|
|||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 1 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 1 + direction, height, session.SupportColours);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -453,7 +453,7 @@ static void ClassicWoodenRCTrack25DegUpToLeftBank(
|
|||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 5 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 5 + direction, height, session.SupportColours);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -494,7 +494,7 @@ static void ClassicWoodenRCTrack25DegUpToRightBank(
|
|||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 5 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 5 + direction, height, session.SupportColours);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -774,8 +774,7 @@ static void ClassicWoodenRCTrackBankedRightQuarterTurn5(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -942,8 +941,7 @@ static void ClassicWoodenRCTrackRightQuarterTurn3Bank(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0);
|
||||
|
@ -1147,8 +1145,7 @@ static void ClassicWoodenRCTrackLeftEighthBankToDiag(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
|
@ -1346,8 +1343,7 @@ static void ClassicWoodenRCTrackRightEighthBankToDiag(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][1], height);
|
||||
|
@ -1478,8 +1474,7 @@ static void ClassicWoodenRCTrackDiagFlatToLeftBank(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
|
@ -1594,8 +1589,7 @@ static void ClassicWoodenRCTrackDiagFlatToRightBank(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
|
@ -1712,8 +1706,7 @@ static void ClassicWoodenRCTrackDiagLeftBank(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
|
@ -1835,8 +1828,7 @@ static void ClassicWoodenRCTrackDiagLeftBankTo25DegUp(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
|
@ -1951,8 +1943,7 @@ static void ClassicWoodenRCTrackDiagRightBankTo25DegUp(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
|
@ -2067,8 +2058,7 @@ static void ClassicWoodenRCTrackDiag25DegUpToLeftBank(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
|
@ -2183,8 +2173,7 @@ static void ClassicWoodenRCTrackDiag25DegUpToRightBank(
|
|||
|
||||
if (supportType[direction][trackSequence] != -1)
|
||||
{
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
WoodenRCTrackPaintBb<true>(session, &imageIds[direction][trackSequence][0], height);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -29,22 +29,22 @@ static void InvertedHairpinRCTrackFlat(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17030), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17030), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17031), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17031), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17032), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17032), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17033), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17033), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
}
|
||||
|
@ -56,13 +56,13 @@ static void InvertedHairpinRCTrackFlat(
|
|||
case 0:
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17026), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17026), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
case 1:
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17027), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17027), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
}
|
||||
|
@ -73,8 +73,7 @@ static void InvertedHairpinRCTrackFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
|
@ -97,12 +96,12 @@ static void InvertedHairpinRCTrackStation(
|
|||
session, direction, GetStationColourScheme(session, trackElement).WithIndex(imageIds[direction][0]), { 0, 0, height },
|
||||
{ { 0, 2, height }, { 32, 28, 1 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(imageIds[direction][1]), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 24 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, session.TrackColours[SCHEME_SUPPORTS].WithIndex(imageIds[direction][2]), { 0, 6, height + 24 },
|
||||
session, direction, session.SupportColours.WithIndex(imageIds[direction][2]), { 0, 6, height + 24 },
|
||||
{ { 0, 6, height + 24 }, { 32, 20, 1 } });
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::TubesInverted);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::TubesInverted);
|
||||
TrackPaintUtilDrawStationInverted(session, ride, direction, height, trackElement, STATION_VARIANT_1);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -120,22 +119,22 @@ static void InvertedHairpinRCTrack25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17070), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17070), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17071), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17071), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17072), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17072), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17073), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17073), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -146,22 +145,22 @@ static void InvertedHairpinRCTrack25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17042), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17042), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17043), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17043), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17044), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17044), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17045), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17045), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 40 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -176,22 +175,22 @@ static void InvertedHairpinRCTrack25DegUp(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 48,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 48,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 48,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 48,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -218,22 +217,22 @@ static void InvertedHairpinRCTrack60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17086), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17086), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 88 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17087), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17087), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 81 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17088), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17088), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 81 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17089), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17089), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 88 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -244,22 +243,22 @@ static void InvertedHairpinRCTrack60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17058), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17058), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 88 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17059), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17059), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 81 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17060), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17060), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 81 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17061), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17061), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 88 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -288,22 +287,22 @@ static void InvertedHairpinRCTrackFlatTo25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17062), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17062), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17063), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17063), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17064), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17064), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17065), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17065), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -314,22 +313,22 @@ static void InvertedHairpinRCTrackFlatTo25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17034), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17034), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17035), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17035), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17036), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17036), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17037), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17037), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -344,22 +343,22 @@ static void InvertedHairpinRCTrackFlatTo25DegUp(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 40,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 40,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 40,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 40,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -386,28 +385,28 @@ static void InvertedHairpinRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17074), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17074), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17078), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17078), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17075), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17075), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17079), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17079), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17076), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17076), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17077), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17077), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -418,28 +417,28 @@ static void InvertedHairpinRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17046), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17046), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17050), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17050), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17047), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17047), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17051), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17051), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17048), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17048), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17049), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17049), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -468,28 +467,28 @@ static void InvertedHairpinRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17080), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17080), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17084), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17084), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17081), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17081), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17085), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17085), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17082), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17082), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17083), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17083), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -500,28 +499,28 @@ static void InvertedHairpinRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17052), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17052), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17056), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17056), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17053), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17053), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17057), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17057), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17054), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17054), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17055), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17055), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -536,22 +535,22 @@ static void InvertedHairpinRCTrack60DegUpTo25DegUp(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -578,22 +577,22 @@ static void InvertedHairpinRCTrack25DegUpToFlat(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17066), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17066), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17067), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17067), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17068), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17068), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17069), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17069), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -604,22 +603,22 @@ static void InvertedHairpinRCTrack25DegUpToFlat(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17038), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17038), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17039), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17039), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17040), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17040), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17041), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17041), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 32 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -634,22 +633,22 @@ static void InvertedHairpinRCTrack25DegUpToFlat(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -725,22 +724,22 @@ static void InvertedHairpinRCTrackLeftQuarterTurn3(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17123), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17123), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17126), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17126), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17129), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17129), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17120), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17120), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -749,8 +748,7 @@ static void InvertedHairpinRCTrackLeftQuarterTurn3(
|
|||
session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction),
|
||||
0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -766,22 +764,22 @@ static void InvertedHairpinRCTrackLeftQuarterTurn3(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17122), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17122), { 0, 0, height + 24 },
|
||||
{ { 16, 0, height + 22 }, { 16, 16, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17125), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17125), { 0, 0, height + 24 },
|
||||
{ { 0, 0, height + 22 }, { 16, 16, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17128), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17128), { 0, 0, height + 24 },
|
||||
{ { 0, 16, height + 22 }, { 16, 16, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17119), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17119), { 0, 0, height + 24 },
|
||||
{ { 16, 16, height + 22 }, { 16, 16, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -794,22 +792,22 @@ static void InvertedHairpinRCTrackLeftQuarterTurn3(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17121), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17121), { 0, 0, height + 24 },
|
||||
{ { 6, 0, height + 22 }, { 20, 32, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17124), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17124), { 0, 0, height + 24 },
|
||||
{ { 6, 0, height + 22 }, { 20, 32, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17127), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17127), { 0, 0, height + 24 },
|
||||
{ { 6, 0, height + 22 }, { 20, 32, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17118), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17118), { 0, 0, height + 24 },
|
||||
{ { 6, 0, height + 22 }, { 20, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -818,8 +816,7 @@ static void InvertedHairpinRCTrackLeftQuarterTurn3(
|
|||
session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction),
|
||||
0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30, session.SupportColours);
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
|
@ -856,23 +853,19 @@ static void InvertedHairpinRCTrackLeftQuarterTurn325DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17141), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17141), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17143), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17143), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17145), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17145), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17139), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17139), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -880,8 +873,7 @@ static void InvertedHairpinRCTrackLeftQuarterTurn325DegUp(
|
|||
session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction),
|
||||
0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -900,23 +892,19 @@ static void InvertedHairpinRCTrackLeftQuarterTurn325DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17140), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17140), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17142), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17142), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17144), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17144), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17138), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17138), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -924,8 +912,7 @@ static void InvertedHairpinRCTrackLeftQuarterTurn325DegUp(
|
|||
session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction),
|
||||
0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38, session.SupportColours);
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
|
@ -953,23 +940,19 @@ static void InvertedHairpinRCTrackRightQuarterTurn325DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17130), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17130), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17132), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17132), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17134), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17134), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17136), { 0, 6, height + 24 },
|
||||
{ 32, 20, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17136), { 0, 6, height + 24 }, { 32, 20, 3 });
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -977,8 +960,7 @@ static void InvertedHairpinRCTrackRightQuarterTurn325DegUp(
|
|||
session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction),
|
||||
0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -997,23 +979,19 @@ static void InvertedHairpinRCTrackRightQuarterTurn325DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17131), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17131), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17133), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17133), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17135), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17135), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17137), { 6, 0, height + 24 },
|
||||
{ 20, 32, 3 });
|
||||
session, direction, session.TrackColours.WithIndex(17137), { 6, 0, height + 24 }, { 20, 32, 3 });
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1021,8 +999,7 @@ static void InvertedHairpinRCTrackRightQuarterTurn325DegUp(
|
|||
session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D4, direction),
|
||||
0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38, session.SupportColours);
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
|
@ -1065,22 +1042,22 @@ static void InvertedHairpinRCTrackLeftQuarterTurn1(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17114), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17114), { 0, 0, height + 24 },
|
||||
{ { 6, 2, height + 24 }, { 26, 24, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17115), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17115), { 0, 0, height + 24 },
|
||||
{ { 0, 0, height + 24 }, { 26, 26, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17116), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17116), { 0, 0, height + 24 },
|
||||
{ { 2, 6, height + 24 }, { 24, 26, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17117), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17117), { 0, 0, height + 24 },
|
||||
{ { 6, 6, height + 24 }, { 24, 24, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -1088,8 +1065,7 @@ static void InvertedHairpinRCTrackLeftQuarterTurn1(
|
|||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30, session.SupportColours);
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
|
@ -1126,28 +1102,28 @@ static void InvertedHairpinRCTrackFlatTo60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17102), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17102), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 30, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17106), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17106), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17103), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17103), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17107), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17107), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17104), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17104), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17105), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17105), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 30, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -1158,28 +1134,28 @@ static void InvertedHairpinRCTrackFlatTo60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17090), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17090), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 30, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17094), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17094), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17091), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17091), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17095), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17095), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17092), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17092), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17093), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17093), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 56 }, { 30, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -1208,28 +1184,28 @@ static void InvertedHairpinRCTrack60DegUpToFlat(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17108), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17108), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 48 }, { 30, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17112), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17112), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 41 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17109), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17109), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 41 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17113), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17113), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 41 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17110), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17110), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 41 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17111), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17111), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 48 }, { 30, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -1240,28 +1216,28 @@ static void InvertedHairpinRCTrack60DegUpToFlat(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17096), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17096), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 48 }, { 30, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17100), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17100), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 41 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17097), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17097), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 41 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17101), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17101), { 0, 0, height + 24 },
|
||||
{ { 0, 10, height + 6 }, { 32, 10, 41 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17098), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17098), { 0, 0, height + 24 },
|
||||
{ { 0, 4, height + 6 }, { 32, 2, 41 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17099), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17099), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 48 }, { 30, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -1274,22 +1250,22 @@ static void InvertedHairpinRCTrack60DegUpToFlat(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1330,13 +1306,13 @@ static void InvertedHairpinRCTrackBrakes(
|
|||
case 0:
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17028), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17028), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
case 1:
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17029), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17029), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
}
|
||||
|
@ -1346,8 +1322,7 @@ static void InvertedHairpinRCTrackBrakes(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
|
@ -1364,13 +1339,13 @@ static void InvertedHairpinRCTrackBlockBrakes(
|
|||
case 0:
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17028), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17028), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
case 1:
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(17029), { 0, 0, height + 24 },
|
||||
session, direction, session.TrackColours.WithIndex(17029), { 0, 0, height + 24 },
|
||||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
break;
|
||||
}
|
||||
|
@ -1380,8 +1355,7 @@ static void InvertedHairpinRCTrackBlockBrakes(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 30, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
|
|
|
@ -28,13 +28,13 @@ static void InvertedImpulseRCTrackFlat(
|
|||
case 0:
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19662), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19662), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 29 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19663), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19663), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 29 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -44,8 +44,7 @@ static void InvertedImpulseRCTrackFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 44,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 44, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_INVERTED_3);
|
||||
|
@ -68,12 +67,12 @@ static void InvertedImpulseRCTrackStation(
|
|||
session, direction, GetStationColourScheme(session, trackElement).WithIndex(imageIds[direction][0]), { 0, 0, height },
|
||||
{ { 0, 2, height }, { 32, 28, 1 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(imageIds[direction][1]), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 29 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, session.TrackColours[SCHEME_SUPPORTS].WithIndex(imageIds[direction][2]), { 0, 6, height + 29 },
|
||||
session, direction, session.SupportColours.WithIndex(imageIds[direction][2]), { 0, 6, height + 29 },
|
||||
{ { 0, 6, height + 29 }, { 32, 20, 3 } });
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::TubesInverted);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::TubesInverted);
|
||||
TrackPaintUtilDrawStationInverted(session, ride, direction, height, trackElement, STATION_VARIANT_TALL);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_INVERTED_9);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -89,22 +88,22 @@ static void InvertedImpulseRCTrack25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19672), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19672), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 45 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19673), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19673), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 45 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19674), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19674), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 45 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19675), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19675), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 45 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -118,22 +117,22 @@ static void InvertedImpulseRCTrack25DegUp(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 62,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -158,22 +157,22 @@ static void InvertedImpulseRCTrack60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19688), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19688), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 93 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19689), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19689), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 81 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19690), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19690), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 81 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19691), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19691), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 93 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -199,22 +198,22 @@ static void InvertedImpulseRCTrackFlatTo25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19664), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19664), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19665), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19665), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19666), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19666), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19667), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19667), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -226,22 +225,22 @@ static void InvertedImpulseRCTrackFlatTo25DegUp(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 54,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -265,28 +264,28 @@ static void InvertedImpulseRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19676), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19676), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 61 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19680), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19680), { 0, 0, height + 29 },
|
||||
{ { 0, 10, height + 11 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19677), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19677), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19681), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19681), { 0, 0, height + 29 },
|
||||
{ { 0, 10, height + 11 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19678), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19678), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19679), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19679), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 61 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -312,28 +311,28 @@ static void InvertedImpulseRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19682), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19682), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 61 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19686), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19686), { 0, 0, height + 29 },
|
||||
{ { 0, 10, height + 11 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19683), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19683), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19687), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19687), { 0, 0, height + 29 },
|
||||
{ { 0, 10, height + 11 }, { 32, 10, 49 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19684), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19684), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 49 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19685), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19685), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 61 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -359,22 +358,22 @@ static void InvertedImpulseRCTrack25DegUpToFlat(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19668), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19668), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19669), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19669), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19670), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19670), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19671), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19671), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 37 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -386,22 +385,22 @@ static void InvertedImpulseRCTrack25DegUpToFlat(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopRightSide, 0, height + 52,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomRightSide, 0, height + 52,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomLeftSide, 0, height + 52,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopLeftSide, 0, height + 52,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -476,22 +475,22 @@ static void InvertedImpulseRCTrack90DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19700), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19700), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 61 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19701), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19701), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 31 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19702), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19702), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 31 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19703), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19703), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 61 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -525,22 +524,22 @@ static void InvertedImpulseRCTrack60DegUpTo90DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19692), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19692), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 85 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19693), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19693), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 55 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19694), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19694), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 55 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19695), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19695), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 85 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -575,22 +574,22 @@ static void InvertedImpulseRCTrack90DegUpTo60DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19696), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19696), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 85 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19697), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19697), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 55 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19698), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19698), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 55 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19699), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19699), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 85 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
@ -620,22 +619,22 @@ static void InvertedImpulseRCTrack60DegDownTo90DegDown(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19698), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19698), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 55 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19699), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19699), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 85 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19696), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19696), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 85 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19697), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19697), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 55 } });
|
||||
break;
|
||||
}
|
||||
|
@ -664,31 +663,31 @@ static void InvertedImpulseRCTrackLeftQuarterTurn190DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19708), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19708), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19709), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19709), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19717), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19717), { 0, 0, height + 29 },
|
||||
{ { 4, 0, height + 11 }, { 2, 32, 31 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19710), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19710), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19718), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19718), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 31 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19711), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19711), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19719), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19719), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 31 } });
|
||||
break;
|
||||
}
|
||||
|
@ -714,31 +713,31 @@ static void InvertedImpulseRCTrackRightQuarterTurn190DegUp(
|
|||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19704), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19704), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19712), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19712), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 31 } });
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19705), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19705), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19713), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19713), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 31 } });
|
||||
break;
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19706), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19706), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19714), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19714), { 0, 0, height + 29 },
|
||||
{ { 0, 4, height + 11 }, { 32, 2, 31 } });
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(19707), { 0, 0, height + 29 },
|
||||
session, direction, session.TrackColours.WithIndex(19707), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 125 }, { 32, 20, 3 } });
|
||||
break;
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -201,18 +201,18 @@ static void PaintReverseFreefallRCFlat(
|
|||
{
|
||||
if (direction & 1)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 1 } });
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -230,10 +230,10 @@ static void PaintReverseFreefallRCStation(
|
|||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
// height += 2 (height)
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(reverse_freefall_rc_track_pieces_station[direction]);
|
||||
imageId = session.TrackColours.WithIndex(reverse_freefall_rc_track_pieces_station[direction]);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
else if (direction == 1 || direction == 3)
|
||||
|
@ -243,10 +243,10 @@ static void PaintReverseFreefallRCStation(
|
|||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
// height += 2 (height)
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(reverse_freefall_rc_track_pieces_station[direction]);
|
||||
imageId = session.TrackColours.WithIndex(reverse_freefall_rc_track_pieces_station[direction]);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, (direction & 1) ? 1 : 0, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
|
@ -265,10 +265,9 @@ static void PaintReverseFreefallRCSlope(
|
|||
static constexpr int32_t supportHeights[] = { 48, 64, 128, 176, 208, 240, 240 };
|
||||
static constexpr int32_t tunnelOffsets03[] = { 0, 0, 0, 16, 64 };
|
||||
|
||||
auto supportsImageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
auto supportsImageId = session.SupportColours.WithIndex(
|
||||
reverse_freefall_rc_track_pieces_slope_supports[trackSequence][direction]);
|
||||
auto trackImageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
reverse_freefall_rc_track_pieces_slope[trackSequence][direction]);
|
||||
auto trackImageId = session.TrackColours.WithIndex(reverse_freefall_rc_track_pieces_slope[trackSequence][direction]);
|
||||
int8_t bbHeight;
|
||||
bool isDirection03 = (direction == 0 || direction == 3);
|
||||
switch (trackSequence)
|
||||
|
@ -305,21 +304,21 @@ static void PaintReverseFreefallRCSlope(
|
|||
session, direction, supportsImageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, bbHeight } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + supportHeights[trackSequence], 0x20);
|
||||
break;
|
||||
case 5:
|
||||
if (WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]))
|
||||
if (WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours))
|
||||
{
|
||||
ImageId floorImageId;
|
||||
if (direction & 1)
|
||||
{
|
||||
floorImageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_FLOOR_PLANKS_90_DEG);
|
||||
floorImageId = session.SupportColours.WithIndex(SPR_FLOOR_PLANKS_90_DEG);
|
||||
}
|
||||
else
|
||||
{
|
||||
floorImageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_FLOOR_PLANKS);
|
||||
floorImageId = session.SupportColours.WithIndex(SPR_FLOOR_PLANKS);
|
||||
}
|
||||
PaintAddImageAsParent(session, floorImageId, { 0, 0, height }, { { 3, 3, height }, { 26, 26, 126 } });
|
||||
PaintAddImageAsChildRotated(
|
||||
|
@ -350,7 +349,7 @@ static void PaintReverseFreefallRCSlope(
|
|||
PaintAddImageAsChildRotated(
|
||||
session, direction, supportsImageId, { 0, 0, height }, { { 27, 6, height }, { 1, 20, 126 } });
|
||||
}
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + supportHeights[trackSequence], 0x20);
|
||||
break;
|
||||
|
@ -365,14 +364,13 @@ static void PaintReverseFreefallRCVertical(
|
|||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
supportsImageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
reverse_freefall_rc_track_pieces_vertical_supports[direction]);
|
||||
supportsImageId = session.SupportColours.WithIndex(reverse_freefall_rc_track_pieces_vertical_supports[direction]);
|
||||
PaintAddImageAsParent(session, supportsImageId, { 0, 0, height }, { { 3, 3, height }, { 26, 26, 79 } });
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
trackImageId = session.TrackColours[SCHEME_TRACK].WithIndex(reverse_freefall_rc_track_pieces_vertical[direction]);
|
||||
trackImageId = session.TrackColours.WithIndex(reverse_freefall_rc_track_pieces_vertical[direction]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(
|
||||
|
@ -403,7 +401,7 @@ static void PaintReverseFreefallRCOnridePhoto(
|
|||
|
||||
// The straight track without booster is borrowed from the APVC.
|
||||
// It has one track colour, instead of the two that the Reverse Freefall Colour has.
|
||||
auto colour = session.TrackColours[SCHEME_TRACK];
|
||||
auto colour = session.TrackColours;
|
||||
if (!trackElement.IsGhost() && !trackElement.IsHighlighted())
|
||||
{
|
||||
colour = colour.WithPrimary(colour.GetSecondary());
|
||||
|
@ -412,7 +410,7 @@ static void PaintReverseFreefallRCOnridePhoto(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, colour.WithIndex(imageIds[direction]), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
TrackPaintUtilOnridePhotoPaint(session, direction, height + 3, trackElement);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -230,7 +230,7 @@ static void PaintVirginiaReelTrackFlat(
|
|||
sprites = virginia_reel_track_pieces_flat_lift_hill;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(sprites[direction]);
|
||||
if (direction & 1)
|
||||
{
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 27, 32, 2 } });
|
||||
|
@ -242,7 +242,7 @@ static void PaintVirginiaReelTrackFlat(
|
|||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -259,7 +259,7 @@ static void PaintVirginiaReelTrack25DegUp(
|
|||
sprites = virginia_reel_track_pieces_25_deg_up_lift_hill;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(sprites[direction]);
|
||||
PaintStruct* ps;
|
||||
|
||||
if (direction & 1)
|
||||
|
@ -279,19 +279,19 @@ static void PaintVirginiaReelTrack25DegUp(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
WoodenASupportsPaintSetup(session, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 0, 9, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_SQUARE_7);
|
||||
break;
|
||||
case 1:
|
||||
WoodenASupportsPaintSetup(session, 1, 10, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 1, 10, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
case 2:
|
||||
WoodenASupportsPaintSetup(session, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 0, 11, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
case 3:
|
||||
WoodenASupportsPaintSetup(session, 1, 12, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 1, 12, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_SQUARE_7);
|
||||
break;
|
||||
}
|
||||
|
@ -311,34 +311,34 @@ static void PaintVirginiaReelTrackFlatTo25DegUp(
|
|||
sprites = virginia_reel_track_pieces_flat_to_25_deg_up_lift_hill;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(sprites[direction]);
|
||||
PaintStruct* ps;
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 27, 2 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, 0, 1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 0, 1, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
case 1:
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 27, 32, 2 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
WoodenASupportsPaintSetup(session, 1, 2, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 1, 2, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
case 2:
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 27, 2 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
WoodenASupportsPaintSetup(session, 0, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 0, 3, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 27, 32, 2 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 1, 4, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
}
|
||||
|
@ -358,7 +358,7 @@ static void PaintVirginiaReelTrack25DegUpToFlat(
|
|||
sprites = virginia_reel_track_pieces_25_deg_up_to_flat_lift_hill;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(sprites[direction]);
|
||||
PaintStruct* ps;
|
||||
|
||||
if (direction & 1)
|
||||
|
@ -378,19 +378,19 @@ static void PaintVirginiaReelTrack25DegUpToFlat(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
WoodenASupportsPaintSetup(session, 0, 5, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 0, 5, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
case 1:
|
||||
WoodenASupportsPaintSetup(session, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 1, 6, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_14);
|
||||
break;
|
||||
case 2:
|
||||
WoodenASupportsPaintSetup(session, 0, 7, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 0, 7, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_14);
|
||||
break;
|
||||
case 3:
|
||||
WoodenASupportsPaintSetup(session, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 1, 8, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
}
|
||||
|
@ -435,7 +435,7 @@ static void PaintVirginiaReelStation(
|
|||
imageId = GetStationColourScheme(session, trackElement).WithIndex(SPR_STATION_BASE_B_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_VIRGINIA_REEL_FLAT_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_VIRGINIA_REEL_FLAT_SW_NE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 20, 2 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -445,13 +445,13 @@ static void PaintVirginiaReelStation(
|
|||
imageId = GetStationColourScheme(session, trackElement).WithIndex(SPR_STATION_BASE_B_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 2, 0, height }, { 28, 32, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_VIRGINIA_REEL_FLAT_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_VIRGINIA_REEL_FLAT_NW_SE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 20, 32, 2 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.SupportColours);
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -471,7 +471,7 @@ static void PaintVirginiaReelTrackLeftQuarterTurn3Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilLeftQuarterTurn3TilesPaint(
|
||||
session, 2, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
session, 2, height, direction, trackSequence, session.TrackColours,
|
||||
virginia_reel_track_pieces_flat_quarter_turn_3_tiles);
|
||||
TrackPaintUtilLeftQuarterTurn3TilesTunnel(session, height, TUNNEL_SQUARE_FLAT, direction, trackSequence);
|
||||
|
||||
|
@ -484,7 +484,7 @@ static void PaintVirginiaReelTrackLeftQuarterTurn3Tiles(
|
|||
case 0:
|
||||
case 3:
|
||||
WoodenASupportsPaintSetup(
|
||||
session, virginia_reel_left_quarter_turn_supports[direction], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, virginia_reel_left_quarter_turn_supports[direction], 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0);
|
||||
break;
|
||||
}
|
||||
|
@ -514,24 +514,23 @@ static void PaintVirginiaReelTrackLeftQuarterTurn1Tile(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilLeftQuarterTurn1TilePaint(
|
||||
session, 2, height, 0, direction, session.TrackColours[SCHEME_TRACK],
|
||||
virginia_reel_track_pieces_flat_quarter_turn_1_tile);
|
||||
session, 2, height, 0, direction, session.TrackColours, virginia_reel_track_pieces_flat_quarter_turn_1_tile);
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
WoodenASupportsPaintSetup(session, 5, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 5, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
case 1:
|
||||
WoodenASupportsPaintSetup(session, 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 2, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
WoodenASupportsPaintSetup(session, 3, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 3, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
case 3:
|
||||
WoodenASupportsPaintSetup(session, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, 4, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
|
|
@ -176,12 +176,12 @@ static void WildMouseTrackFlat(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -208,17 +208,16 @@ static void WildMouseTrackStation(
|
|||
{
|
||||
bool isClosed = trackElement.IsBrakeClosed();
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction,
|
||||
session.TrackColours[SCHEME_TRACK].WithIndex(_wild_mouse_block_brakes_image_ids[direction][isClosed]),
|
||||
session, direction, session.TrackColours.WithIndex(_wild_mouse_block_brakes_image_ids[direction][isClosed]),
|
||||
{ 0, 0, height }, { { 0, 0, height }, { 32, 20, 2 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(_wild_mouse_brakes_image_ids[direction]),
|
||||
{ 0, 0, height }, { { 0, 0, height }, { 32, 20, 2 } });
|
||||
session, direction, session.TrackColours.WithIndex(_wild_mouse_brakes_image_ids[direction]), { 0, 0, height },
|
||||
{ { 0, 0, height }, { 32, 20, 2 } });
|
||||
}
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Boxed);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Boxed);
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -238,12 +237,12 @@ static void WildMouseTrack25DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height, session.SupportColours);
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -271,7 +270,7 @@ static void WildMouseTrack60DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
@ -285,13 +284,12 @@ static void WildMouseTrack60DegUp(
|
|||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -33, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -33, height, session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 32, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 32, height, session.SupportColours);
|
||||
}
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -320,12 +318,12 @@ static void WildMouseTrackFlatTo25DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -4, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -4, height, session.SupportColours);
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -359,8 +357,8 @@ static void WildMouseTrack25DegUpTo60DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(frontImageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(frontImageIds[direction][isChained]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
@ -373,7 +371,7 @@ static void WildMouseTrack25DegUpTo60DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -13, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -13, height, session.SupportColours);
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -407,8 +405,8 @@ static void WildMouseTrack60DegUpTo25DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(frontImageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(frontImageIds[direction][isChained]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
@ -421,7 +419,7 @@ static void WildMouseTrack60DegUpTo25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -21, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -21, height, session.SupportColours);
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -449,12 +447,12 @@ static void WildMouseTrack25DegUpToFlat(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -7, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -7, height, session.SupportColours);
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -544,8 +542,7 @@ static void WildMouseTrackRightQuarterTurn3(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesTunnel(session, height, direction, trackSequence, TUNNEL_0);
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -553,7 +550,7 @@ static void WildMouseTrackRightQuarterTurn3(
|
|||
case 0:
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -604,8 +601,7 @@ static void WildMouseTrackRightQuarterTurn325DegDown(
|
|||
const SpriteBb* sbb = &imageIds[direction][part];
|
||||
const auto& offset = sbb->offset;
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(sbb->sprite_id), { offset.x, offset.y, height + offset.z },
|
||||
sbb->bb_size);
|
||||
session, session.TrackColours.WithIndex(sbb->sprite_id), { offset.x, offset.y, height + offset.z }, sbb->bb_size);
|
||||
}
|
||||
|
||||
TrackPaintUtilRightQuarterTurn3Tiles25DegDownTunnel(session, height, direction, trackSequence, TUNNEL_2, TUNNEL_1);
|
||||
|
@ -615,7 +611,7 @@ static void WildMouseTrackRightQuarterTurn325DegDown(
|
|||
case 0:
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -671,8 +667,8 @@ static void WildMouseTrackRightQuarterTurn325DegUp(
|
|||
int32_t part = trackSequence == 0 ? 0 : 1;
|
||||
const SpriteBb* sbb = &imageIds[direction][part];
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(sbb->sprite_id),
|
||||
{ sbb->offset.x, sbb->offset.y, height + sbb->offset.z }, sbb->bb_size);
|
||||
session, session.TrackColours.WithIndex(sbb->sprite_id), { sbb->offset.x, sbb->offset.y, height + sbb->offset.z },
|
||||
sbb->bb_size);
|
||||
}
|
||||
|
||||
TrackPaintUtilRightQuarterTurn3Tiles25DegUpTunnel(session, height, direction, trackSequence, TUNNEL_1, TUNNEL_2);
|
||||
|
@ -681,20 +677,18 @@ static void WildMouseTrackRightQuarterTurn325DegUp(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
if (direction == 2)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -11, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -11, height, session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -9, height, session.SupportColours);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -742,7 +736,7 @@ static void WildMouseTrackLeftQuarterTurn1(
|
|||
SPR_WILD_MOUSE_QUARTER_TURN_1_SE_NW,
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -758,8 +752,7 @@ static void WildMouseTrackLeftQuarterTurn1(
|
|||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 6, height }, { 24, 24, 2 } });
|
||||
break;
|
||||
}
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
TrackPaintUtilLeftQuarterTurn1TileTunnel(session, direction, height, 0, TUNNEL_0, 0, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
|
@ -793,8 +786,8 @@ static void WildMouseTrackFlatTo60DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(frontImageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(frontImageIds[direction][isChained]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 27, 2 } });
|
||||
|
@ -807,7 +800,7 @@ static void WildMouseTrackFlatTo60DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -5, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -5, height, session.SupportColours);
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -841,8 +834,8 @@ static void WildMouseTrack60DegUpToFlat(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(frontImageIds[direction][isChained]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][isChained]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(frontImageIds[direction][isChained]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 27, 2 } });
|
||||
|
@ -857,13 +850,12 @@ static void WildMouseTrack60DegUpToFlat(
|
|||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -17, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -17, height, session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 16, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 16, height, session.SupportColours);
|
||||
}
|
||||
}
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -900,12 +892,12 @@ static void WildMouseTrackBrakes(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(_wild_mouse_brakes_image_ids[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(_wild_mouse_brakes_image_ids[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -925,12 +917,12 @@ static void WildMouseTrackRotationControlToggle(
|
|||
SPR_WILD_MOUSE_ROTATION_CONTROL_TOGGLE_NW_SE,
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -944,12 +936,12 @@ static void WildMouseTrackBlockBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
bool isClosed = trackElement.IsBrakeClosed();
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(_wild_mouse_block_brakes_image_ids[direction][isClosed]);
|
||||
auto imageId = session.TrackColours.WithIndex(_wild_mouse_block_brakes_image_ids[direction][isClosed]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -36,11 +36,10 @@ static constexpr const int8_t WoodenRCDiagonalSupports[4][NumOrthogonalDirection
|
|||
template<bool isClassic> ImageId WoodenRCGetTrackColour(const PaintSession& session)
|
||||
{
|
||||
if (isClassic)
|
||||
return session.TrackColours[SCHEME_TRACK];
|
||||
return session.TrackColours;
|
||||
else
|
||||
return session.TrackColours[SCHEME_TRACK].IsRemap()
|
||||
? session.TrackColours[SCHEME_TRACK]
|
||||
: session.TrackColours[SCHEME_TRACK].WithPrimary(session.TrackColours[SCHEME_SUPPORTS].GetPrimary());
|
||||
return session.TrackColours.IsRemap() ? session.TrackColours
|
||||
: session.TrackColours.WithPrimary(session.SupportColours.GetPrimary());
|
||||
}
|
||||
|
||||
ImageId WoodenRCGetRailsColour(PaintSession& session);
|
||||
|
|
|
@ -132,9 +132,9 @@ static void WoodenWildMouseTrackFlat(
|
|||
SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE,
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { 32, 20, 1 });
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -160,9 +160,9 @@ static void WoodenWildMouseTrackStation(
|
|||
session, direction, GetStationColourScheme(session, trackElement).WithIndex(imageIds[direction][1]),
|
||||
{ 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]), { 0, 6, height },
|
||||
session, direction, session.TrackColours.WithIndex(imageIds[direction][0]), { 0, 6, height },
|
||||
{ { 0, 0, height }, { 32, 20, 1 } });
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -190,10 +190,10 @@ static void WoodenWildMouseTrack25DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -229,7 +229,7 @@ static void WoodenWildMouseTrack60DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction]);
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
|
@ -240,7 +240,7 @@ static void WoodenWildMouseTrack60DegUp(
|
|||
session, direction, imageId, { 0, 6, height }, { { 28, 4, height - 16 }, { 2, 24, 93 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 21 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 21 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -276,10 +276,10 @@ static void WoodenWildMouseTrackFlatTo25DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 1 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 1 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -318,19 +318,19 @@ static void WoodenWildMouseTrack25DegUpTo60DegUp(
|
|||
ImageId imageId;
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
session.WoodenSupportsPrependTo = PaintAddImageAsParentRotated(
|
||||
session, direction, imageId, { 0, 6, height }, { { 28, 4, height + 2 }, { 2, 24, 43 } });
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { { 0, 4, height }, { 32, 2, 43 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 13 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 13 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -368,19 +368,19 @@ static void WoodenWildMouseTrack60DegTo25DegUp(
|
|||
ImageId imageId;
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
session.WoodenSupportsPrependTo = PaintAddImageAsParentRotated(
|
||||
session, direction, imageId, { 0, 6, height }, { { 28, 4, height + 2 }, { 2, 24, 43 } });
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { { 0, 4, height }, { 32, 2, 43 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 17 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 17 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -416,10 +416,10 @@ static void WoodenWildMouseTrack25DegUpToFlat(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 5 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 5 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -510,15 +510,14 @@ static void WoodenWildMouseTrackRightQuarterTurn3(
|
|||
};
|
||||
static uint8_t supportType[] = { 4, 5, 2, 3 };
|
||||
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint4(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint4(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesTunnel(session, height, direction, trackSequence, TUNNEL_0);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
WoodenASupportsPaintSetup(session, supportType[direction], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction], 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -559,7 +558,7 @@ static void WoodenWildMouseTrackLeftQuarterTurn1(
|
|||
};
|
||||
static uint8_t supportType[] = { 5, 2, 3, 4 };
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction]);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -575,7 +574,7 @@ static void WoodenWildMouseTrackLeftQuarterTurn1(
|
|||
PaintAddImageAsParent(session, imageId, { 6, 6, height }, { 24, 24, 1 });
|
||||
break;
|
||||
}
|
||||
WoodenASupportsPaintSetup(session, supportType[direction], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, supportType[direction], 0, height, session.SupportColours);
|
||||
TrackPaintUtilLeftQuarterTurn1TileTunnel(session, direction, height, 0, TUNNEL_0, 0, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -613,18 +612,18 @@ static void WoodenWildMouseTrackFlatTo60DegUp(
|
|||
ImageId imageId;
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { { 28, 4, height + 2 }, { 2, 24, 43 } });
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { { 0, 4, height }, { 32, 2, 43 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 29 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 29 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -663,18 +662,18 @@ static void WoodenWildMouseTrack60DegUpToFlat(
|
|||
ImageId imageId;
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 1 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { { 28, 4, height + 2 }, { 2, 24, 43 } });
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { { 0, 4, height }, { 32, 2, 43 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 33 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 33 + direction, height, session.SupportColours);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
|
|
@ -160,7 +160,7 @@ static void PaintCarRideTrackFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPiecesFlat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPiecesFlat[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -180,8 +180,7 @@ static void PaintCarRideTrackFlat(
|
|||
PaintUtilPushTunnelRight(session, height, TUNNEL_0);
|
||||
}
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -192,7 +191,7 @@ static void PaintCarRideTrack25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPieces25DegUp[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPieces25DegUp[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -219,8 +218,7 @@ static void PaintCarRideTrack25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
|
@ -231,7 +229,7 @@ static void PaintCarRideTrackFlatTo25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPiecesFlatTo25DegUp[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPiecesFlatTo25DegUp[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -258,8 +256,7 @@ static void PaintCarRideTrackFlatTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
|
@ -270,7 +267,7 @@ static void PaintCarRideTrack25DegUpToFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPieces25DegUpToFlat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPieces25DegUpToFlat[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -297,8 +294,7 @@ static void PaintCarRideTrack25DegUpToFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
|
@ -346,7 +342,7 @@ static void PaintCarRideStation(
|
|||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPiecesFlat[direction]);
|
||||
imageId = session.TrackColours.WithIndex(CarRideTrackPiecesFlat[direction]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
PaintAddImageAsChild(session, imageId, { 0, 6, height }, { { 0, 0, height }, { 32, 20, 1 } });
|
||||
|
@ -365,7 +361,7 @@ static void PaintCarRideStation(
|
|||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Boxed);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Boxed);
|
||||
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
||||
|
@ -379,7 +375,7 @@ static void PaintCarRideTrackRightQuarterTurn3Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], CarRideTrackPiecesQuarterTurn3Tiles,
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, CarRideTrackPiecesQuarterTurn3Tiles,
|
||||
defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, nullptr);
|
||||
TrackPaintUtilRightQuarterTurn3TilesTunnel(session, height, direction, trackSequence, TUNNEL_0);
|
||||
|
||||
|
@ -388,7 +384,7 @@ static void PaintCarRideTrackRightQuarterTurn3Tiles(
|
|||
case 0:
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -424,7 +420,7 @@ static void PaintCarRideTrackLeftQuarterTurn1Tile(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPiecesLeftQuarterTurn1Tile[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPiecesLeftQuarterTurn1Tile[direction]);
|
||||
|
||||
CoordsXYZ offset;
|
||||
switch (direction)
|
||||
|
@ -445,8 +441,7 @@ static void PaintCarRideTrackLeftQuarterTurn1Tile(
|
|||
break;
|
||||
}
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
|
||||
TrackPaintUtilLeftQuarterTurn1TileTunnel(session, direction, height, 0, TUNNEL_0, 0, TUNNEL_0);
|
||||
|
||||
|
@ -467,7 +462,7 @@ static void PaintCarRideTrackSpinningTunnel(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPiecesFlat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPiecesFlat[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -500,7 +495,7 @@ static void PaintCarRideTrack60DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPieces60DegUp[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPieces60DegUp[direction]);
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
|
@ -537,7 +532,7 @@ static void PaintCarRideTrack60DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 32, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 32, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -550,7 +545,7 @@ static void PaintCarRideTrack25DegUpTo60DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPieces25DegUpTo60DegUp[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPieces25DegUpTo60DegUp[direction][0]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -563,7 +558,7 @@ static void PaintCarRideTrack25DegUpTo60DegUp(
|
|||
|
||||
if (CarRideTrackPieces25DegUpTo60DegUp[direction][1] != 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPieces25DegUpTo60DegUp[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(CarRideTrackPieces25DegUpTo60DegUp[direction][1]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -594,7 +589,7 @@ static void PaintCarRideTrack25DegUpTo60DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 12, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 12, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -607,7 +602,7 @@ static void PaintCarRideTrack60DegUpTo25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPieces60DegUpTo25DegUp[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPieces60DegUpTo25DegUp[direction][0]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -620,7 +615,7 @@ static void PaintCarRideTrack60DegUpTo25DegUp(
|
|||
|
||||
if (CarRideTrackPieces60DegUpTo25DegUp[direction][1] != 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPieces60DegUpTo25DegUp[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(CarRideTrackPieces60DegUpTo25DegUp[direction][1]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -651,7 +646,7 @@ static void PaintCarRideTrack60DegUpTo25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 20, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 20, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -688,7 +683,7 @@ static void PaintCarRideTrackLogBumps(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(CarRideTrackPiecesLogBumps[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(CarRideTrackPiecesLogBumps[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -708,8 +703,7 @@ static void PaintCarRideTrackLogBumps(
|
|||
PaintUtilPushTunnelRight(session, height, TUNNEL_0);
|
||||
}
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
|
|
@ -58,11 +58,11 @@ static void PaintCircus(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_SUPPORTS], height,
|
||||
fenceSpritesRope, session.CurrentRotation);
|
||||
session, edges, session.MapPosition, trackElement, ride, session.SupportColours, height, fenceSpritesRope,
|
||||
session.CurrentRotation);
|
||||
|
||||
auto stationColour = GetStationColourScheme(session, trackElement);
|
||||
switch (trackSequence)
|
||||
|
|
|
@ -92,7 +92,7 @@ static void PaintCrookedHouse(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, GetStationColourScheme(session, trackElement), height,
|
||||
|
|
|
@ -36,7 +36,7 @@ static constexpr uint32_t DodgemsFenceSprites[] = {
|
|||
|
||||
static void PaintDodgemsRoof(PaintSession& session, int32_t height, int32_t offset)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SprDodgemsRoofFrame + offset));
|
||||
auto imageId = session.TrackColours.WithIndex((SprDodgemsRoofFrame + offset));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 2 });
|
||||
|
||||
imageId = ImageId(SprDodgemsRoofGlass + offset).WithTransparency(FilterPaletteID::PaletteDarken3);
|
||||
|
@ -57,12 +57,12 @@ static void PaintDodgems(
|
|||
|
||||
if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS))
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SprDodgemsFloor);
|
||||
auto imageId = session.SupportColours.WithIndex(SprDodgemsFloor);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 1, height }, { 30, 30, 1 } });
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_SUPPORTS], height,
|
||||
DodgemsFenceSprites, session.CurrentRotation);
|
||||
session, edges, session.MapPosition, trackElement, ride, session.SupportColours, height, DodgemsFenceSprites,
|
||||
session.CurrentRotation);
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
|
|
|
@ -76,7 +76,7 @@ static void PaintFerrisWheelStructure(
|
|||
CoordsXYZ offset((direction & 1) ? 0 : axisOffset, (direction & 1) ? axisOffset : 0, height + 7);
|
||||
BoundBoxXYZ bb = { { boundBox.offset, height + 7 }, { boundBox.length, 127 } };
|
||||
|
||||
auto supportsImageTemplate = session.TrackColours[SCHEME_TRACK];
|
||||
auto supportsImageTemplate = session.TrackColours;
|
||||
auto wheelImageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim);
|
||||
if (stationColour != TrackStationColour)
|
||||
{
|
||||
|
@ -121,7 +121,7 @@ static void PaintFerrisWheel(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
ImageId imageId;
|
||||
uint8_t rotation = session.CurrentRotation;
|
||||
|
|
|
@ -48,13 +48,13 @@ static void PaintFlyingSaucers(
|
|||
|
||||
if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS))
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprFlyingSaucersFloor);
|
||||
auto imageId = session.TrackColours.WithIndex(SprFlyingSaucersFloor);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 1, height }, { 30, 30, 1 } });
|
||||
}
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_TRACK], height,
|
||||
FlyingSaucersFenceSprites, session.CurrentRotation);
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours, height, FlyingSaucersFenceSprites,
|
||||
session.CurrentRotation);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
|
|
|
@ -180,7 +180,7 @@ static void PaintGhostTrainTrackFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPiecesFlat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(GhostTrainTrackPiecesFlat[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
|
@ -190,7 +190,7 @@ static void PaintGhostTrainTrackFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -203,16 +203,16 @@ static void PaintGhostTrainTrack25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPieces25DegUp[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(GhostTrainTrackPieces25DegUp[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPieces25DegUp[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(GhostTrainTrackPieces25DegUp[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 23 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
switch (direction)
|
||||
|
@ -252,16 +252,16 @@ static void PaintGhostTrainTrackFlatTo25DegUp(
|
|||
doorImage = DoorOpeningOutwardsToImage[trackElement.GetDoorBState()];
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPiecesFlatTo25DegUp[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(GhostTrainTrackPiecesFlatTo25DegUp[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPiecesFlatTo25DegUp[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(GhostTrainTrackPiecesFlatTo25DegUp[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 15 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.SupportColours);
|
||||
}
|
||||
|
||||
switch (direction)
|
||||
|
@ -289,16 +289,16 @@ static void PaintGhostTrainTrack25DegUpToFlatShared(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPieces25DegUpToFlat[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(GhostTrainTrackPieces25DegUpToFlat[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPieces25DegUpToFlat[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(GhostTrainTrackPieces25DegUpToFlat[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 15 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -387,12 +387,12 @@ static void PaintGhostTrainStation(
|
|||
imageId = GetStationColourScheme(session, trackElement).WithIndex(imageIds[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPiecesFlat[direction]);
|
||||
imageId = session.TrackColours.WithIndex(GhostTrainTrackPiecesFlat[direction]);
|
||||
PaintAddImageAsChildRotated(session, direction, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 20, 3 } });
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Boxed);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Boxed);
|
||||
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
||||
|
@ -406,9 +406,8 @@ static void PaintGhostTrainTrackRightQuarterTurn3Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
GhostTrainTrackPiecesQuarterTurn3Tiles, nullptr, defaultRightQuarterTurn3TilesBoundLengths,
|
||||
defaultRightQuarterTurn3TilesBoundOffsets);
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, GhostTrainTrackPiecesQuarterTurn3Tiles, nullptr,
|
||||
defaultRightQuarterTurn3TilesBoundLengths, defaultRightQuarterTurn3TilesBoundOffsets);
|
||||
bool isBackwards = trackElement.GetTrackType() == TrackElemType::LeftQuarterTurn3Tiles;
|
||||
bool isDoorA = (!isBackwards && trackSequence == 0) || (isBackwards && trackSequence == 3);
|
||||
auto tunnelType = isDoorA ? DoorOpeningInwardsToImage[trackElement.GetDoorAState()]
|
||||
|
@ -420,7 +419,7 @@ static void PaintGhostTrainTrackRightQuarterTurn3Tiles(
|
|||
case 0:
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -470,11 +469,10 @@ static void PaintGhostTrainTrackLeftQuarterTurn1Tile(
|
|||
}
|
||||
|
||||
TrackPaintUtilLeftQuarterTurn1TilePaint(
|
||||
session, 3, height, 0, direction, session.TrackColours[SCHEME_TRACK], GhostTrainTrackPiecesQuarterTurn1Tile);
|
||||
session, 3, height, 0, direction, session.TrackColours, GhostTrainTrackPiecesQuarterTurn1Tile);
|
||||
TrackPaintUtilLeftQuarterTurn1TileTunnel(session, direction, height, 0, tunnelStartImage, 0, tunnelEndImage);
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -492,7 +490,7 @@ static void PaintGhostTrainTrackSpinningTunnel(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(ghost_train_track_pieces_spinning_tunnel_track[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(ghost_train_track_pieces_spinning_tunnel_track[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 2, 6, height }, { 28, 20, 3 } });
|
||||
|
||||
|
@ -512,7 +510,7 @@ static void PaintGhostTrainTrackBrakes(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(GhostTrainTrackPiecesBrakes[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(GhostTrainTrackPiecesBrakes[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
|
@ -522,7 +520,7 @@ static void PaintGhostTrainTrackBrakes(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
|
|
@ -72,7 +72,7 @@ static void PaintHauntedHouse(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, GetStationColourScheme(session, trackElement), height,
|
||||
|
|
|
@ -113,7 +113,7 @@ static void PaintMerryGoRound(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, GetStationColourScheme(session, trackElement), height,
|
||||
|
|
|
@ -475,19 +475,18 @@ static void PaintMiniGolfTrackFlat(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprMiniGolfFlatNwSe);
|
||||
imageId = session.TrackColours.WithIndex(SprMiniGolfFlatNwSe);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 1 } });
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_PATH_AND_MINI_GOLF);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprMiniGolfFlatSwNe);
|
||||
imageId = session.TrackColours.WithIndex(SprMiniGolfFlatSwNe);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_PATH_AND_MINI_GOLF);
|
||||
}
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
|
||||
|
@ -521,11 +520,10 @@ static void PaintMiniGolfTrack25DegUp(
|
|||
{
|
||||
ImageId imageId;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSprites25DegUp[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSprites25DegUp[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { 32, 20, 1 });
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
|
||||
|
@ -561,11 +559,10 @@ static void PaintMiniGolfTrackFlatTo25DegUp(
|
|||
{
|
||||
ImageId imageId;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesFlatTo25DegUp[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesFlatTo25DegUp[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
|
||||
|
@ -601,11 +598,10 @@ static void PaintMiniGolfTrack25DegUpToFlat(
|
|||
{
|
||||
ImageId imageId;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSprites25DegUpToFlat[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSprites25DegUpToFlat[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
|
||||
|
@ -667,7 +663,7 @@ static void PaintMiniGolfStation(
|
|||
ImageId imageId;
|
||||
bool hasFence;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprMiniGolfStationFloor);
|
||||
imageId = session.TrackColours.WithIndex(SprMiniGolfStationFloor);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 28, 1 } });
|
||||
|
||||
if (direction & 1)
|
||||
|
@ -716,7 +712,7 @@ static void PaintMiniGolfStation(
|
|||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -730,10 +726,9 @@ static void PaintMiniGolfTrackLeftQuarterTurn1Tile(
|
|||
ImageId imageId;
|
||||
|
||||
TrackPaintUtilLeftQuarterTurn1TilePaint(
|
||||
session, 1, height, 0, direction, session.TrackColours[SCHEME_TRACK], MiniGolfTrackSpritesQuarterTurn1Tile);
|
||||
session, 1, height, 0, direction, session.TrackColours, MiniGolfTrackSpritesQuarterTurn1Tile);
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
|
@ -817,7 +812,7 @@ static void PaintMiniGolfHoleAb(
|
|||
ImageId imageId;
|
||||
CoordsXY boundBox, boundBoxOffset;
|
||||
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -844,7 +839,7 @@ static void PaintMiniGolfHoleAb(
|
|||
|
||||
auto bb = BoundBoxXYZ{ { boundBoxOffset, height + 24 }, { boundBox, 0 } };
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][trackSequence][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][trackSequence][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
bb.offset.z = height;
|
||||
|
@ -852,16 +847,15 @@ static void PaintMiniGolfHoleAb(
|
|||
|
||||
if (drewSupports)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
imageId = session.SupportColours.WithIndex(((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][trackSequence][0]);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, bb);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][trackSequence][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
}
|
||||
}
|
||||
|
@ -890,7 +884,7 @@ static void PaintMiniGolfHoleC(
|
|||
ImageId imageId;
|
||||
CoordsXY boundBox, boundBoxOffset;
|
||||
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, (direction & 1), 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -915,7 +909,7 @@ static void PaintMiniGolfHoleC(
|
|||
boundBoxOffset = { 0, 3 };
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleC[direction][trackSequence][1]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleC[direction][trackSequence][1]);
|
||||
|
||||
switch ((direction << 4) | trackSequence)
|
||||
{
|
||||
|
@ -937,16 +931,15 @@ static void PaintMiniGolfHoleC(
|
|||
auto bb = BoundBoxXYZ{ { boundBoxOffset, height }, { boundBox.x, boundBox.y, 1 } };
|
||||
if (drewSupports)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
imageId = session.SupportColours.WithIndex(((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleC[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleC[direction][trackSequence][0]);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, bb);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleC[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleC[direction][trackSequence][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
}
|
||||
}
|
||||
|
@ -962,7 +955,7 @@ static void PaintMiniGolfHoleD(
|
|||
int32_t supportType = (direction & 1);
|
||||
if (trackSequence == 2)
|
||||
supportType = 1 - supportType;
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, supportType, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, supportType, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -991,7 +984,7 @@ static void PaintMiniGolfHoleD(
|
|||
boundBoxOffset = { 0, 3 };
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleD[direction][trackSequence][1]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleD[direction][trackSequence][1]);
|
||||
|
||||
switch ((direction << 4) | trackSequence)
|
||||
{
|
||||
|
@ -1030,16 +1023,15 @@ static void PaintMiniGolfHoleD(
|
|||
auto offset = CoordsXYZ{ 0, 0, height };
|
||||
if (drewSupports)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
imageId = session.SupportColours.WithIndex(((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
PaintAddImageAsParent(session, imageId, offset, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleD[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleD[direction][trackSequence][0]);
|
||||
PaintAddImageAsChild(session, imageId, offset, bb);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleD[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleD[direction][trackSequence][0]);
|
||||
PaintAddImageAsParent(session, imageId, offset, bb);
|
||||
}
|
||||
}
|
||||
|
@ -1055,7 +1047,7 @@ static void PaintMiniGolfHoleE(
|
|||
int32_t supportType = (direction & 1);
|
||||
if (trackSequence == 2)
|
||||
supportType = 1 - supportType;
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, supportType, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
bool drewSupports = WoodenASupportsPaintSetup(session, supportType, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -1084,7 +1076,7 @@ static void PaintMiniGolfHoleE(
|
|||
boundBoxOffset = { 0, 3 };
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleE[direction][trackSequence][1]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleE[direction][trackSequence][1]);
|
||||
|
||||
switch ((direction << 4) | trackSequence)
|
||||
{
|
||||
|
@ -1123,16 +1115,15 @@ static void PaintMiniGolfHoleE(
|
|||
auto offset = CoordsXYZ{ 0, 0, height };
|
||||
if (drewSupports)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
imageId = session.SupportColours.WithIndex(((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS));
|
||||
PaintAddImageAsParent(session, imageId, offset, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleE[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleE[direction][trackSequence][0]);
|
||||
PaintAddImageAsChild(session, imageId, offset, bb);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MiniGolfTrackSpritesHoleE[direction][trackSequence][0]);
|
||||
imageId = session.TrackColours.WithIndex(MiniGolfTrackSpritesHoleE[direction][trackSequence][0]);
|
||||
PaintAddImageAsParent(session, imageId, offset, bb);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ static void PaintMiniHelicoptersTrackStation(
|
|||
imageId = GetStationColourScheme(session, trackElement).WithIndex(SPR_STATION_BASE_B_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 20, 1 } });
|
||||
}
|
||||
else if (direction == 1 || direction == 3)
|
||||
|
@ -36,11 +36,11 @@ static void PaintMiniHelicoptersTrackStation(
|
|||
imageId = GetStationColourScheme(session, trackElement).WithIndex(SPR_STATION_BASE_B_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 20, 32, 1 } });
|
||||
}
|
||||
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Boxed);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Boxed);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
@ -58,13 +58,13 @@ static void PaintMiniHelicoptersTrackFlat(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_0);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_0);
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ static void PaintMiniHelicoptersTrackFlat(
|
|||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick, MetalSupportPlace::Centre, -1,
|
||||
height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -91,26 +91,22 @@ static void PaintMiniHelicoptersTrackFlatTo25DegUp(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_0);
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_2);
|
||||
break;
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_2);
|
||||
break;
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_0);
|
||||
break;
|
||||
|
@ -119,7 +115,7 @@ static void PaintMiniHelicoptersTrackFlatTo25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -4, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -4, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -137,22 +133,22 @@ static void PaintMiniHelicoptersTrack25DegUp(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_1);
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_2);
|
||||
break;
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_2);
|
||||
break;
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_1);
|
||||
break;
|
||||
|
@ -161,7 +157,7 @@ static void PaintMiniHelicoptersTrack25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -9, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -9, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -179,26 +175,22 @@ static void PaintMiniHelicoptersTrack25DegUpToFlat(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_0);
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_12);
|
||||
break;
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_12);
|
||||
break;
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_0);
|
||||
break;
|
||||
|
@ -207,7 +199,7 @@ static void PaintMiniHelicoptersTrack25DegUpToFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -7, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -7, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -245,7 +237,7 @@ static void PaintMiniHelicoptersTrackLeftQuarterTurn3Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilLeftQuarterTurn3TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles);
|
||||
TrackPaintUtilLeftQuarterTurn3TilesTunnel(session, height, TUNNEL_0, direction, trackSequence);
|
||||
|
||||
|
@ -253,7 +245,7 @@ static void PaintMiniHelicoptersTrackLeftQuarterTurn3Tiles(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -263,7 +255,7 @@ static void PaintMiniHelicoptersTrackLeftQuarterTurn3Tiles(
|
|||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -294,8 +286,7 @@ static void PaintMiniHelicoptersTrackLeftQuarterTurn1Tile(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilLeftQuarterTurn1TilePaint(
|
||||
session, 1, height, 0, direction, session.TrackColours[SCHEME_TRACK],
|
||||
trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile);
|
||||
session, 1, height, 0, direction, session.TrackColours, trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile);
|
||||
TrackPaintUtilLeftQuarterTurn1TileTunnel(session, direction, height, 0, TUNNEL_0, 0, TUNNEL_0);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -322,8 +313,8 @@ static void PaintMiniHelicoptersTrackSpinningTunnel(
|
|||
{ SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW, 28774 },
|
||||
};
|
||||
|
||||
ImageId imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
ImageId underlay = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
ImageId imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
ImageId underlay = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, underlay, { 0, 6, height - 2 }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
PaintAddImageAsChildRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
|
|
@ -164,7 +164,7 @@ static void PaintMonorailCyclesTrackFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(MonorailCyclesTrackPiecesFlat[(direction & 1)]);
|
||||
auto imageId = session.TrackColours.WithIndex(MonorailCyclesTrackPiecesFlat[(direction & 1)]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } });
|
||||
|
||||
if (direction & 1)
|
||||
|
@ -178,7 +178,7 @@ static void PaintMonorailCyclesTrackFlat(
|
|||
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
|
||||
|
@ -197,7 +197,7 @@ static void PaintMonorailCyclesStation(
|
|||
imageId = GetStationColourScheme(session, trackElement).WithIndex(SPR_STATION_BASE_B_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprMonorailCyclesFlatSwNe);
|
||||
imageId = session.TrackColours.WithIndex(SprMonorailCyclesFlatSwNe);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 20, 1 } });
|
||||
}
|
||||
else if (direction == 1 || direction == 3)
|
||||
|
@ -205,11 +205,11 @@ static void PaintMonorailCyclesStation(
|
|||
imageId = GetStationColourScheme(session, trackElement).WithIndex(SPR_STATION_BASE_B_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprMonorailCyclesFlatNwSe);
|
||||
imageId = session.TrackColours.WithIndex(SprMonorailCyclesFlatNwSe);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 20, 32, 1 } });
|
||||
}
|
||||
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Boxed);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Boxed);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
@ -224,15 +224,14 @@ static void PaintMonorailCyclesTrackLeftQuarterTurn3Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilLeftQuarterTurn3TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
MonorailCyclesTrackPiecesFlatQuarterTurn3Tiles);
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, MonorailCyclesTrackPiecesFlatQuarterTurn3Tiles);
|
||||
TrackPaintUtilLeftQuarterTurn3TilesTunnel(session, height, TUNNEL_0, direction, trackSequence);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -242,7 +241,7 @@ static void PaintMonorailCyclesTrackLeftQuarterTurn3Tiles(
|
|||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -287,9 +286,8 @@ static void PaintMonorailCyclesTrackRightQuarterTurn5Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
MonorailCyclesTrackPiecesFlatQuarterTurn5Tiles, nullptr, defaultRightQuarterTurn5TilesBoundLengths,
|
||||
defaultRightQuarterTurn5TilesBoundOffsets);
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, MonorailCyclesTrackPiecesFlatQuarterTurn5Tiles,
|
||||
nullptr, defaultRightQuarterTurn5TilesBoundLengths, defaultRightQuarterTurn5TilesBoundOffsets);
|
||||
|
||||
int32_t supportHeight = height + MonorailCyclesTrackRightQuarterTurn5TilesSupportHeightOffset[direction][trackSequence];
|
||||
int32_t supportSpecial = MonorailCyclesTrackRightQuarterTurn5TilesSupportSpecial[direction][trackSequence];
|
||||
|
@ -298,48 +296,48 @@ static void PaintMonorailCyclesTrackRightQuarterTurn5Tiles(
|
|||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick, MetalSupportPlace::Centre,
|
||||
supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
supportSpecial, supportHeight, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
if (direction == 0)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick,
|
||||
MetalSupportPlace::BottomRightSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::BottomRightSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
if (direction == 1)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick,
|
||||
MetalSupportPlace::BottomLeftSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::BottomLeftSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
if (direction == 2)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick,
|
||||
MetalSupportPlace::TopLeftSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::TopLeftSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
if (direction == 3)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick,
|
||||
MetalSupportPlace::TopRightSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::TopRightSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
break;
|
||||
case 5:
|
||||
if (direction == 0)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::Stick : MetalSupportType::StickAlt,
|
||||
MetalSupportPlace::BottomLeftSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::BottomLeftSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
if (direction == 1)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::Stick : MetalSupportType::StickAlt,
|
||||
MetalSupportPlace::TopLeftSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::TopLeftSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
if (direction == 2)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::Stick : MetalSupportType::StickAlt,
|
||||
MetalSupportPlace::TopRightSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::TopRightSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
if (direction == 3)
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::Stick : MetalSupportType::StickAlt,
|
||||
MetalSupportPlace::BottomRightSide, supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalSupportPlace::BottomRightSide, supportSpecial, supportHeight, session.SupportColours);
|
||||
break;
|
||||
case 6:
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::Stick : MetalSupportType::StickAlt, MetalSupportPlace::Centre,
|
||||
supportSpecial, supportHeight, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
supportSpecial, supportHeight, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -413,8 +411,7 @@ static void PaintMonorailCyclesTrackSBendLeft(
|
|||
trackSequence = 3 - trackSequence;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
MonorailCyclesTrackPiecesSBendLeft[direction & 1][trackSequence]);
|
||||
auto imageId = session.TrackColours.WithIndex(MonorailCyclesTrackPiecesSBendLeft[direction & 1][trackSequence]);
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
|
@ -442,18 +439,15 @@ static void PaintMonorailCyclesTrackSBendLeft(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::TopLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::TopLeftSide, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -468,18 +462,15 @@ static void PaintMonorailCyclesTrackSBendLeft(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::TopRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::TopRightSide, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height - 2,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height - 2, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -522,8 +513,7 @@ static void PaintMonorailCyclesTrackSBendRight(
|
|||
trackSequence = 3 - trackSequence;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
MonorailCyclesTrackPiecesSBendRight[direction & 1][trackSequence]);
|
||||
auto imageId = session.TrackColours.WithIndex(MonorailCyclesTrackPiecesSBendRight[direction & 1][trackSequence]);
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
|
@ -551,18 +541,16 @@ static void PaintMonorailCyclesTrackSBendRight(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::BottomRightSide, 0, height - 2,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -577,18 +565,15 @@ static void PaintMonorailCyclesTrackSBendRight(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::BottomLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::BottomLeftSide, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -92,21 +92,21 @@ static void PaintObservationTowerBase(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_SUPPORTS], height, floorSpritesMetalB, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.SupportColours, height, floorSpritesMetalB, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, position, trackElement, ride, session.TrackColours[SCHEME_TRACK], height, fenceSpritesMetalB,
|
||||
session, edges, position, trackElement, ride, session.TrackColours, height, fenceSpritesMetalB,
|
||||
session.CurrentRotation);
|
||||
|
||||
if (trackSequence == 0)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprObservationTowerSegmentBase);
|
||||
auto imageId = session.TrackColours.WithIndex(SprObservationTowerSegmentBase);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height + 3 }, { 2, 2, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprObservationTowerSegment);
|
||||
imageId = session.TrackColours.WithIndex(SprObservationTowerSegment);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + 32 }, { { 8, 8, height + 32 }, { 2, 2, 30 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprObservationTowerSegment);
|
||||
imageId = session.TrackColours.WithIndex(SprObservationTowerSegment);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + 64 }, { { 8, 8, height + 64 }, { 2, 2, 30 } });
|
||||
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
|
@ -160,13 +160,13 @@ static void PaintObservationTowerSection(
|
|||
return;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprObservationTowerSegment);
|
||||
auto imageId = session.TrackColours.WithIndex(SprObservationTowerSegment);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
|
||||
const TileElement* nextTileElement = reinterpret_cast<const TileElement*>(&trackElement) + 1;
|
||||
if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ())
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SprObservationTowerSegmentTop);
|
||||
imageId = session.TrackColours.WithIndex(SprObservationTowerSegmentTop);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
}
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ static void PaintSpaceRings(
|
|||
WoodenASupportsPaintSetup(session, (direction & 1), 0, height, stationColour);
|
||||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
|
|
|
@ -59,13 +59,13 @@ static void SpiralSlidePaintTileRight(
|
|||
ImageId imageId;
|
||||
|
||||
if (direction == 0)
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR0));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR0));
|
||||
else if (direction == 1)
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR1));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR1));
|
||||
else if (direction == 2)
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR2));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR2));
|
||||
else
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR3));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideRightR3));
|
||||
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { 16, 0, height + 3 }, { 16, 16, 108 } });
|
||||
}
|
||||
|
@ -81,13 +81,13 @@ static void SpiralSlidePaintTileLeft(
|
|||
ImageId imageId;
|
||||
|
||||
if (direction == 0)
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR0));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR0));
|
||||
else if (direction == 1)
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR1));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR1));
|
||||
else if (direction == 2)
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR2));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR2));
|
||||
else
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR3));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideLeftR3));
|
||||
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { 0, 16, height + 3 }, { 16, 16, 108 } });
|
||||
}
|
||||
|
@ -104,33 +104,33 @@ static void SpiralSlidePaintTileFront(
|
|||
|
||||
if (direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideInsideR1));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideInsideR1));
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { -12, 0, height + 3 }, { 2, 16, 108 } });
|
||||
}
|
||||
else if (direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideInsideR2));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideInsideR2));
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { 0, -12, height + 3 }, { 16, 2, 108 } });
|
||||
}
|
||||
|
||||
if (direction == 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR0));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR0));
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { 0, 8, height + 3 }, { 16, 8, 108 } });
|
||||
}
|
||||
else if (direction == 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR1));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR1));
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { 14, 0, height + 3 }, { 2, 16, 108 } });
|
||||
}
|
||||
else if (direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR2));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR2));
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { 0, 14, height + 3 }, { 16, 2, 108 } });
|
||||
}
|
||||
else if (direction == 3)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR3));
|
||||
imageId = session.TrackColours.WithIndex((rideEntry->Cars[0].base_image_id + SpiralSlideCentreR3));
|
||||
PaintAddImageAsParent(session, imageId, { 16, 16, height }, { { 8, 0, height + 3 }, { 8, 16, 108 } });
|
||||
}
|
||||
|
||||
|
@ -211,7 +211,7 @@ static void PaintSpiralSlide(
|
|||
|
||||
if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS))
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
auto imageId = session.SupportColours.WithIndex(
|
||||
rideEntry->Cars[0].base_image_id + ((direction & 1) ? SpiralSlideBaseB : SpiralSlideBaseA));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 32, 1 } });
|
||||
}
|
||||
|
@ -224,8 +224,8 @@ static void PaintSpiralSlide(
|
|||
};
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_TRACK], height,
|
||||
spiral_slide_fence_sprites, session.CurrentRotation);
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours, height, spiral_slide_fence_sprites,
|
||||
session.CurrentRotation);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
|
|
|
@ -40,7 +40,7 @@ static void PaintFacility(
|
|||
BoundBoxXYZ bb = { { direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height },
|
||||
{ lengthX, lengthY, trackElement.GetClearanceZ() - trackElement.GetBaseZ() - 3 } };
|
||||
|
||||
auto imageTemplate = session.TrackColours[SCHEME_TRACK];
|
||||
auto imageTemplate = session.TrackColours;
|
||||
auto imageIndex = firstCarEntry->base_image_id + ((direction + 2) & 3);
|
||||
auto imageId = imageTemplate.WithIndex(imageIndex);
|
||||
if (hasSupports)
|
||||
|
|
|
@ -37,7 +37,7 @@ static void PaintShop(
|
|||
CoordsXYZ offset(0, 0, height);
|
||||
BoundBoxXYZ bb = { { 2, 2, height }, { 28, 28, trackElement.GetClearanceZ() - trackElement.GetBaseZ() - 3 } };
|
||||
|
||||
auto imageFlags = session.TrackColours[SCHEME_TRACK].WithoutSecondary();
|
||||
auto imageFlags = session.TrackColours.WithoutSecondary();
|
||||
auto imageIndex = firstCarEntry->base_image_id + direction;
|
||||
if (hasSupports)
|
||||
{
|
||||
|
|
|
@ -62,7 +62,7 @@ static void Paint3dCinema(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, stationColour, height, fenceSpritesRope,
|
||||
|
|
|
@ -100,10 +100,10 @@ static void PaintEnterprise(
|
|||
GetStationColourScheme(session, trackElement));
|
||||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_TRACK], height, fenceSpritesRope,
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours, height, fenceSpritesRope,
|
||||
session.CurrentRotation);
|
||||
|
||||
switch (trackSequence)
|
||||
|
|
|
@ -132,28 +132,27 @@ static void PaintGoKartsTrackFlat(
|
|||
ImageId imageId;
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_FRONT_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_FRONT_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 29, height + 2 }, { 32, 1, 3 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_FRONT_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_FRONT_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 29, 0, height + 2 }, { 1, 32, 3 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -167,7 +166,7 @@ static void PaintGoKartsTrack25DegUp(
|
|||
ImageId imageId;
|
||||
PaintStruct* ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(go_karts_track_pieces_25_deg_up[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(go_karts_track_pieces_25_deg_up[direction][0]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
@ -177,7 +176,7 @@ static void PaintGoKartsTrack25DegUp(
|
|||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(go_karts_track_pieces_25_deg_up[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(go_karts_track_pieces_25_deg_up[direction][1]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 29, height + 2 }, { 32, 1, 11 } });
|
||||
|
@ -190,7 +189,7 @@ static void PaintGoKartsTrack25DegUp(
|
|||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
|
||||
switch (direction)
|
||||
|
@ -221,7 +220,7 @@ static void PaintGoKartsTrackFlatTo25DegUp(
|
|||
ImageId imageId;
|
||||
PaintStruct* ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(go_karts_track_pieces_flat_to_25_deg_up[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(go_karts_track_pieces_flat_to_25_deg_up[direction][0]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
@ -231,7 +230,7 @@ static void PaintGoKartsTrackFlatTo25DegUp(
|
|||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(go_karts_track_pieces_flat_to_25_deg_up[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(go_karts_track_pieces_flat_to_25_deg_up[direction][1]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 29, height + 2 }, { 32, 1, 11 } });
|
||||
|
@ -244,7 +243,7 @@ static void PaintGoKartsTrackFlatTo25DegUp(
|
|||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
|
||||
switch (direction)
|
||||
|
@ -275,7 +274,7 @@ static void PaintGoKartsTrack25DegUpToFlat(
|
|||
ImageId imageId;
|
||||
PaintStruct* ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(go_karts_track_pieces_25_deg_up_to_flat[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(go_karts_track_pieces_25_deg_up_to_flat[direction][0]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
@ -285,7 +284,7 @@ static void PaintGoKartsTrack25DegUpToFlat(
|
|||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(go_karts_track_pieces_25_deg_up_to_flat[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(go_karts_track_pieces_25_deg_up_to_flat[direction][1]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 29, height + 2 }, { 32, 1, 11 } });
|
||||
|
@ -298,7 +297,7 @@ static void PaintGoKartsTrack25DegUpToFlat(
|
|||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
|
||||
switch (direction)
|
||||
|
@ -362,7 +361,7 @@ static void PaintGoKartsStation(
|
|||
sprites = go_karts_track_pieces_starting_grid_end;
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
@ -384,7 +383,7 @@ static void PaintGoKartsStation(
|
|||
TrackPaintUtilDrawStationCovers(session, EDGE_NE, hasFence, stationObj, height, stationColour);
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 29, height + 2 }, { 32, 1, 3 } });
|
||||
|
@ -416,34 +415,34 @@ static void PaintGoKartsStation(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SW_NE : SPR_GO_KARTS_START_POLE_RED_SW_NE));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 1, height + 4 }, { 3, 3, 13 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SW_NE : SPR_GO_KARTS_START_LIGHTS_RED_SW_NE));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 28, height + 4 }, { 3, 3, 13 } });
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_START_POLE_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_START_POLE_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 28, height + 4 }, { 3, 3, 13 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_START_LIGHTS_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_START_LIGHTS_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 28, height + 4 }, { 3, 3, 13 } });
|
||||
break;
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_START_POLE_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_START_POLE_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 1, height + 4 }, { 3, 3, 13 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_START_LIGHTS_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_START_LIGHTS_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 28, height + 4 }, { 3, 3, 13 } });
|
||||
break;
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SE_NW : SPR_GO_KARTS_START_POLE_RED_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 1, height + 4 }, { 3, 3, 13 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SE_NW : SPR_GO_KARTS_START_LIGHTS_RED_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 1, height + 4 }, { 3, 3, 13 } });
|
||||
break;
|
||||
|
@ -451,8 +450,7 @@ static void PaintGoKartsStation(
|
|||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -468,40 +466,40 @@ static void PaintGoKartsTrackLeftQuarterTurn1Tile(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 28, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 29, 2, height + 2 }, { 1, 1, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 29, height + 2 }, { 16, 1, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NE_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 30, 30, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NE_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 29, height + 2 }, { 16, 1, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NE_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 29, 2, height + 2 }, { 1, 16, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 28, 32, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 2, height + 2 }, { 1, 1, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 29, 14, height + 2 }, { 1, 16, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 32, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 29, 29, height + 2 }, { 1, 1, 3 } });
|
||||
|
||||
// The empty sprite isn't drawn
|
||||
|
@ -523,8 +521,7 @@ static void PaintGoKartsTrackLeftQuarterTurn1Tile(
|
|||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
|
|
@ -101,23 +101,23 @@ static void PaintLaunchedFreefallBase(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_SUPPORTS], height, floorSpritesMetal, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.SupportColours, height, floorSpritesMetal, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_TRACK], height, fenceSpritesMetal,
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours, height, fenceSpritesMetal,
|
||||
session.CurrentRotation);
|
||||
|
||||
if (trackSequence == 0)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_BASE);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_BASE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height + 3 }, { 2, 2, 27 } });
|
||||
|
||||
height += 32;
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT);
|
||||
imageId = session.TrackColours.WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
|
||||
height += 32;
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT);
|
||||
imageId = session.TrackColours.WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
|
@ -171,13 +171,13 @@ static void PaintLaunchedFreefallTowerSection(
|
|||
return;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
|
||||
const TileElement* nextTileElement = reinterpret_cast<const TileElement*>(&trackElement) + 1;
|
||||
if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ())
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT_TOP);
|
||||
imageId = session.TrackColours.WithIndex(SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT_TOP);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
}
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ static void PaintMagicCarpetFrame(
|
|||
PaintSession& session, Plane plane, Direction direction, const CoordsXYZ& offset, const BoundBoxXYZ& bb)
|
||||
{
|
||||
auto imageIndex = GetMagicCarpetFrameImage(plane, direction);
|
||||
auto imageTemplate = session.TrackColours[SCHEME_TRACK];
|
||||
auto imageTemplate = session.TrackColours;
|
||||
auto imageId = imageTemplate.WithIndex(imageIndex);
|
||||
if (plane == Plane::Back)
|
||||
{
|
||||
|
@ -133,7 +133,7 @@ static void PaintMagicCarpetPendulum(
|
|||
PaintSession& session, Plane plane, int32_t swing, Direction direction, const CoordsXYZ& offset, const BoundBoxXYZ& bb)
|
||||
{
|
||||
auto imageIndex = GetMagicCarpetPendulumImage(plane, direction, swing);
|
||||
auto imageTemplate = session.TrackColours[SCHEME_TRACK];
|
||||
auto imageTemplate = session.TrackColours;
|
||||
auto imageId = imageTemplate.WithIndex(imageIndex);
|
||||
PaintAddImageAsChild(session, imageId, offset, bb);
|
||||
}
|
||||
|
@ -223,26 +223,22 @@ static void PaintMagicCarpet(
|
|||
if (direction & 1)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopRightSide, 0, height, session.SupportColours);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomLeftSide, 0, height, session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopLeftSide, 0, height, session.SupportColours);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomRightSide, 0, height, session.SupportColours);
|
||||
}
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS))
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_BASE_D);
|
||||
auto imageId = session.SupportColours.WithIndex(SPR_STATION_BASE_D);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 });
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -114,11 +114,11 @@ static void PaintMotionSimulator(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_SUPPORTS], height,
|
||||
fenceSpritesRope, session.CurrentRotation);
|
||||
session, edges, session.MapPosition, trackElement, ride, session.SupportColours, height, fenceSpritesRope,
|
||||
session.CurrentRotation);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
|
|
|
@ -113,23 +113,23 @@ static void PaintRotoDropBase(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_SUPPORTS], height, floorSpritesMetalB, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.SupportColours, height, floorSpritesMetalB, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_TRACK], height, fenceSpritesMetalB,
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours, height, fenceSpritesMetalB,
|
||||
session.CurrentRotation);
|
||||
|
||||
if (trackSequence == 0)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
auto imageId = session.TrackColours.WithIndex(
|
||||
(direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_90_DEG : SPR_ROTO_DROP_TOWER_BASE));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height + 3 }, { 2, 2, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + 32 }, { { 8, 8, height + 32 }, { 2, 2, 30 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height + 64 }, { { 8, 8, height + 64 }, { 2, 2, 30 } });
|
||||
|
||||
|
@ -184,7 +184,7 @@ static void PaintRotoDropTowerSection(
|
|||
return;
|
||||
}
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_ROTO_DROP_TOWER_SEGMENT);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_ROTO_DROP_TOWER_SEGMENT);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
|
||||
// The top segment of the Roto drop is only drawn when there is no tile element right above it
|
||||
|
@ -198,7 +198,7 @@ static void PaintRotoDropTowerSection(
|
|||
|
||||
if (paintTopSegment)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_ROTO_DROP_TOWER_SEGMENT_TOP);
|
||||
imageId = session.TrackColours.WithIndex(SPR_ROTO_DROP_TOWER_SEGMENT_TOP);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } });
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ static void PaintSwingingInverterShipStructure(
|
|||
{
|
||||
vehicleImageTemplate = stationColour;
|
||||
}
|
||||
auto frameImageTemplate = session.TrackColours[SCHEME_TRACK];
|
||||
auto frameImageTemplate = session.TrackColours;
|
||||
auto vehicleImageId = vehicleImageTemplate.WithIndex(vehicleImageIndex);
|
||||
auto frameImageId = frameImageTemplate.WithIndex(SwingingInverterShipFrameSprites[direction]);
|
||||
|
||||
|
@ -137,43 +137,39 @@ static void PaintSwingingInverterShip(
|
|||
if (direction & 1)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopRightSide, 0, height, session.SupportColours);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomLeftSide, 0, height, session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopLeftSide, 0, height, session.SupportColours);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomRightSide, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_BASE_D);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_BASE_D);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 });
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 24, height + 9 }, { 32, 8, 1 });
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 24, 0, height + 9 }, { 8, 32, 1 });
|
||||
break;
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_PLATFORM_SW_NE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height + 9 }, { { -2, 0, height }, { 32, 8, 1 } });
|
||||
break;
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_PLATFORM_NW_SE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height + 9 }, { { 0, -2, height }, { 8, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -121,7 +121,7 @@ static void PaintSwingingShipStructure(
|
|||
}
|
||||
}
|
||||
|
||||
auto supportsImageTemplate = session.TrackColours[SCHEME_TRACK];
|
||||
auto supportsImageTemplate = session.TrackColours;
|
||||
auto vehicleImageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim);
|
||||
if (stationColour != TrackStationColour)
|
||||
{
|
||||
|
@ -163,35 +163,31 @@ static void PaintSwingingShip(
|
|||
if (relativeTrackSequence == 1 || relativeTrackSequence == 4)
|
||||
{
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
}
|
||||
else if (direction & 1)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopRightSide, 0, height, session.SupportColours);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomLeftSide, 0, height, session.SupportColours);
|
||||
|
||||
if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_BASE_A_NW_SE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_BASE_A_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopLeftSide, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopLeftSide, 0, height, session.SupportColours);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomRightSide, 0, height, session.SupportColours);
|
||||
|
||||
if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_STATION_BASE_A_SW_NE);
|
||||
imageId = session.SupportColours.WithIndex(SPR_STATION_BASE_A_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 });
|
||||
}
|
||||
}
|
||||
|
@ -207,17 +203,17 @@ static void PaintSwingingShip(
|
|||
hasFence = TrackPaintUtilHasFence(EDGE_NE, session.MapPosition, trackElement, ride, session.CurrentRotation);
|
||||
if (relativeTrackSequence == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_NW_SE : SPR_STATION_PLATFORM_BEGIN_NW_SE));
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE));
|
||||
}
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height + 9 }, { { 0, -2, height + 9 }, { 8, 32, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE));
|
||||
PaintAddImageAsParent(session, imageId, { 24, 0, height + 9 }, { 8, 32, 1 });
|
||||
|
||||
|
@ -226,21 +222,21 @@ static void PaintSwingingShip(
|
|||
{
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 32, 7 });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 23, 31, height + 11 }, { 8, 1, 7 });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_FENCE_SMALL_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 8, 1, 7 });
|
||||
}
|
||||
else if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_FENCE_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_FENCE_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 32, 7 });
|
||||
}
|
||||
}
|
||||
|
@ -252,17 +248,17 @@ static void PaintSwingingShip(
|
|||
hasFence = TrackPaintUtilHasFence(EDGE_NW, session.MapPosition, trackElement, ride, session.CurrentRotation);
|
||||
if (relativeTrackSequence == 2)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_BEGIN_FENCED_SW_NE : SPR_STATION_PLATFORM_BEGIN_SW_NE));
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE));
|
||||
}
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height + 9 }, { { -2, 0, height + 9 }, { 32, 8, 1 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 24, height + 9 }, { 32, 8, 1 });
|
||||
|
||||
|
@ -271,21 +267,21 @@ static void PaintSwingingShip(
|
|||
{
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 32, 1, 7 });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 23, height + 11 }, { 1, 8, 7 });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_FENCE_SMALL_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 8, 7 });
|
||||
}
|
||||
else if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_STATION_FENCE_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_STATION_FENCE_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 32, 1, 7 });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -192,7 +192,7 @@ static void PaintTopSpin(
|
|||
|
||||
const StationObject* stationObject = ride.GetStationObject();
|
||||
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject);
|
||||
TrackPaintUtilPaintFloor(session, edges, session.TrackColours, height, floorSpritesCork, stationObject);
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, stationColour, height, fenceSpritesRope,
|
||||
|
|
|
@ -89,8 +89,7 @@ static void ChairliftPaintUtilDrawSupports(PaintSession& session, int32_t segmen
|
|||
}
|
||||
|
||||
if (MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Truss, static_cast<MetalSupportPlace>(s), 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]))
|
||||
session, MetalSupportType::Truss, static_cast<MetalSupportPlace>(s), 0, height, session.SupportColours))
|
||||
{
|
||||
success = true;
|
||||
}
|
||||
|
@ -111,8 +110,7 @@ static void ChairliftPaintUtilDrawSupports(PaintSession& session, int32_t segmen
|
|||
uint16_t temp = supportSegments[s].height;
|
||||
supportSegments[s].height = session.Support.height;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Truss, static_cast<MetalSupportPlace>(s), 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Truss, static_cast<MetalSupportPlace>(s), 0, height, session.SupportColours);
|
||||
supportSegments[s].height = temp;
|
||||
}
|
||||
}
|
||||
|
@ -198,31 +196,31 @@ static void ChairliftPaintStationNeSw(
|
|||
|
||||
if (!isStart && !isEnd)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(((direction == 0) ? SPR_20502 : SPR_20504));
|
||||
imageId = session.TrackColours.WithIndex(((direction == 0) ? SPR_20502 : SPR_20504));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_FLOOR_METAL);
|
||||
imageId = session.SupportColours.WithIndex(SPR_FLOOR_METAL);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 32, 1 } });
|
||||
|
||||
bool hasFence = TrackPaintUtilHasFence(EDGE_NW, pos, trackElement, ride, session.CurrentRotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_NW);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 2, height + 2 }, { 32, 1, 7 } });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_NW, hasFence, stationObj, height, stationColour);
|
||||
|
||||
if ((direction == 2 && isStart) || (direction == 0 && isEnd))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_NE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 2, 2, height + 4 }, { 1, 28, 7 } });
|
||||
}
|
||||
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_SE, pos, trackElement, ride, session.CurrentRotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 30, height + 2 }, { 32, 1, 27 } });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_SE, hasFence, stationObj, height, stationColour);
|
||||
|
@ -231,25 +229,23 @@ static void ChairliftPaintStationNeSw(
|
|||
bool drawBackColumn = true;
|
||||
if ((direction == 0 && isStart) || (direction == 2 && isEnd))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 30, 2, height + 4 }, { 1, 28, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
imageId = session.TrackColours.WithIndex(chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 4 }, { 4, 4, 26 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_NE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 14, 14, height + 4 }, { 4, 4, 26 } });
|
||||
|
||||
drawFrontColumn = false;
|
||||
}
|
||||
else if ((direction == 2 && isStart) || (direction == 0 && isEnd))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
imageId = session.TrackColours.WithIndex(chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 4 }, { 4, 4, 26 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_SW);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 14, 14, height + 4 }, { 4, 4, 26 } });
|
||||
|
||||
drawBackColumn = false;
|
||||
|
@ -257,13 +253,13 @@ static void ChairliftPaintStationNeSw(
|
|||
|
||||
if (drawBackColumn)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 16, height + 2 }, { { 1, 16, height + 2 }, { 1, 1, 7 } });
|
||||
}
|
||||
|
||||
if (drawFrontColumn)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_NE_SW);
|
||||
PaintAddImageAsParent(
|
||||
session, imageId, { 30, 16, height + 2 }, { { 1, 16, height + 2 }, { 1, 1, 7 } }); // bound offset x is wrong?
|
||||
}
|
||||
|
@ -291,31 +287,31 @@ static void ChairliftPaintStationSeNw(
|
|||
|
||||
if (!isStart && !isEnd)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(((direction == 1) ? SPR_20503 : SPR_20505));
|
||||
imageId = session.TrackColours.WithIndex(((direction == 1) ? SPR_20503 : SPR_20505));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_FLOOR_METAL);
|
||||
imageId = session.SupportColours.WithIndex(SPR_FLOOR_METAL);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 32, 1 } });
|
||||
|
||||
bool hasFence = TrackPaintUtilHasFence(EDGE_NE, pos, trackElement, ride, session.CurrentRotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_NE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 2, 0, height + 2 }, { 1, 32, 7 } });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_NE, hasFence, stationObj, height, stationColour);
|
||||
|
||||
if ((direction == 1 && isStart) || (direction == 3 && isEnd))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_NW);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 2, 2, height + 4 }, { 28, 1, 7 } });
|
||||
}
|
||||
|
||||
hasFence = TrackPaintUtilHasFence(EDGE_SW, pos, trackElement, ride, session.CurrentRotation);
|
||||
if (hasFence)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 30, 0, height + 2 }, { 1, 32, 27 } });
|
||||
}
|
||||
TrackPaintUtilDrawStationCovers(session, EDGE_SW, hasFence, stationObj, height, stationColour);
|
||||
|
@ -324,27 +320,25 @@ static void ChairliftPaintStationSeNw(
|
|||
bool drawLeftColumn = true;
|
||||
if ((direction == 1 && isStart) || (direction == 3 && isEnd))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
imageId = session.TrackColours.WithIndex(chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 4 }, { 4, 4, 26 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_SE);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 14, 14, height + 4 }, { 4, 4, 26 } });
|
||||
|
||||
drawLeftColumn = false;
|
||||
}
|
||||
else if ((direction == 3 && isStart) || (direction == 1 && isEnd))
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_FENCE_METAL_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_FENCE_METAL_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 30, height + 4 }, { 28, 1, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
imageId = session.TrackColours.WithIndex(chairlift_bullwheel_frames[ride.chairlift_bullwheel_rotation / 16384]);
|
||||
|
||||
auto bb = BoundBoxXYZ{ { 14, 14, height + 4 }, { 4, 4, 26 } };
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_END_CAP_NW);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
drawRightColumn = false;
|
||||
|
@ -352,13 +346,13 @@ static void ChairliftPaintStationSeNw(
|
|||
|
||||
if (drawLeftColumn)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 16, 0, height + 2 }, { { 16, 1, height + 2 }, { 1, 1, 7 } });
|
||||
}
|
||||
|
||||
if (drawRightColumn)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_STATION_COLUMN_SE_NW);
|
||||
PaintAddImageAsParent(
|
||||
session, imageId, { 16, 30, height + 2 }, { { 16, 1, height + 2 }, { 1, 1, 7 } }); // bound offset x is wrong?
|
||||
|
||||
|
@ -391,13 +385,13 @@ static void ChairliftPaintFlat(
|
|||
ImageId imageId;
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CABLE_FLAT_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CABLE_FLAT_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CABLE_FLAT_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CABLE_FLAT_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
@ -416,25 +410,25 @@ static void ChairliftPaint25DegUp(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CABLE_UP_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CABLE_UP_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_SQUARE_7);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CABLE_UP_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CABLE_UP_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CABLE_UP_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CABLE_UP_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CABLE_UP_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CABLE_UP_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_SQUARE_7);
|
||||
break;
|
||||
|
@ -454,40 +448,40 @@ static void ChairliftPaintFlatTo25DegUp(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20508);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20508);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20520);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20520);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20509);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20509);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20521);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20521);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20510);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20510);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20522);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20522);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20511);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20511);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20523);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20523);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -509,40 +503,40 @@ static void ChairliftPaint25DegUpToFlat(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20512);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20512);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20524);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20524);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20513);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20513);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20525);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20525);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_14);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20514);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20514);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 13, height + 28 }, { 32, 6, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20526);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20526);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_14);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_20515);
|
||||
imageId = session.TrackColours.WithIndex(SPR_20515);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 13, 0, height + 28 }, { 6, 32, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20527);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20527);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 14, 14, height + 1 }, { 4, 4, 25 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -588,50 +582,50 @@ static void ChairliftPaintLeftQuarterTurn1Tile(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CORNER_NW_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CORNER_NW_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 16, 0, height + 28 }, { 16, 16, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20532);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20532);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 16, 4, height }, { 2, 2, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20536);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20536);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 4, height }, { 2, 2, 27 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CORNER_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CORNER_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height + 28 }, { 16, 16, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20533);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20533);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 16, 4, height }, { 2, 2, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20537);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20537);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 16, height }, { 2, 2, 27 } });
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CORNER_SE_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CORNER_SE_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 16, height + 28 }, { 16, 16, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20534);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20534);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 16, height }, { 2, 2, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20538);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20538);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 16, 28, height }, { 2, 2, 27 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_CHAIRLIFT_CORNER_SW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_CHAIRLIFT_CORNER_SW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 16, 16, height + 28 }, { 16, 16, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20535);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20535);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 16, height }, { 2, 2, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_20539);
|
||||
imageId = session.SupportColours.WithIndex(SPR_20539);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 16, 28, height }, { 2, 2, 27 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
|
|
@ -54,11 +54,11 @@ static void PaintLiftBase(
|
|||
|
||||
if (trackSequence == 0)
|
||||
{
|
||||
PaintLiftCage(session, direction, session.TrackColours[SCHEME_TRACK], height, session.CurrentRotation);
|
||||
PaintLiftCage(session, direction, session.TrackColours, height, session.CurrentRotation);
|
||||
|
||||
PaintLiftCage(session, -1, session.TrackColours[SCHEME_TRACK], height + 32, session.CurrentRotation);
|
||||
PaintLiftCage(session, -1, session.TrackColours, height + 32, session.CurrentRotation);
|
||||
|
||||
PaintLiftCage(session, -1, session.TrackColours[SCHEME_TRACK], height + 64, session.CurrentRotation);
|
||||
PaintLiftCage(session, -1, session.TrackColours, height + 64, session.CurrentRotation);
|
||||
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -70,11 +70,11 @@ static void PaintLiftBase(
|
|||
|
||||
int32_t edges = edges_3x3[trackSequence];
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(SPR_FLOOR_METAL_B);
|
||||
auto imageId = session.SupportColours.WithIndex(SPR_FLOOR_METAL_B);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 32, 32, 1 } });
|
||||
|
||||
TrackPaintUtilPaintFences(
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours[SCHEME_TRACK], height, fenceSpritesMetalB,
|
||||
session, edges, session.MapPosition, trackElement, ride, session.TrackColours, height, fenceSpritesMetalB,
|
||||
session.CurrentRotation);
|
||||
|
||||
int32_t blockedSegments = 0;
|
||||
|
@ -120,7 +120,7 @@ static void PaintLiftTowerSection(
|
|||
return;
|
||||
}
|
||||
|
||||
PaintLiftCage(session, -1, session.TrackColours[SCHEME_TRACK], height, session.CurrentRotation);
|
||||
PaintLiftCage(session, -1, session.TrackColours, height, session.CurrentRotation);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
||||
|
|
|
@ -635,17 +635,17 @@ static void PaintMiniatureRailwayTrackFlat(
|
|||
paintGrooved = true;
|
||||
}
|
||||
|
||||
bool isSupported = WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
bool isSupported = WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
ImageId imageId, imageIdAlt;
|
||||
|
||||
// In the following 3 calls to PaintAddImageAsParentRotated/PaintAddImageAsChildRotated, we add 1 to the
|
||||
// bound_box_offset_z argument to make straight tracks draw above footpaths
|
||||
if (isSupported)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(miniature_railway_track_floor[direction]);
|
||||
imageId = session.SupportColours.WithIndex(miniature_railway_track_floor[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(miniature_railway_track_pieces_flat[direction]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_flat[direction]);
|
||||
if (!paintAsGravel)
|
||||
{
|
||||
PaintAddImageAsChildRotated(session, direction, imageId, { 0, 6, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
@ -669,7 +669,7 @@ static void PaintMiniatureRailwayTrackFlat(
|
|||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(miniature_railway_track_pieces_flat[direction]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_flat[direction]);
|
||||
if (!paintAsGravel)
|
||||
{
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 6, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
@ -705,12 +705,12 @@ static void PaintMiniatureRailwayStation(
|
|||
{
|
||||
ImageId imageId;
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 0, height, session.SupportColours);
|
||||
|
||||
imageId = GetStationColourScheme(session, trackElement).WithIndex(miniature_railway_station_floor[direction]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height - 2 }, { { 0, 2, height }, { 32, 28, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(miniature_railway_track_pieces_flat_station[direction]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_flat_station[direction]);
|
||||
PaintAddImageAsChildRotated(session, direction, imageId, { 0, 6, height }, { { 0, 0, height }, { 32, 20, 2 } });
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -727,7 +727,7 @@ static void PaintMiniatureRailwayTrack25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(miniature_railway_track_pieces_25_deg_up[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_25_deg_up[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 2 } });
|
||||
|
||||
|
@ -747,7 +747,7 @@ static void PaintMiniatureRailwayTrack25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 45 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 45 + direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
|
@ -758,7 +758,7 @@ static void PaintMiniatureRailwayTrackFlatTo25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(miniature_railway_track_pieces_flat_to_25_deg_up[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_flat_to_25_deg_up[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 2 } });
|
||||
|
||||
|
@ -778,7 +778,7 @@ static void PaintMiniatureRailwayTrackFlatTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 37 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 37 + direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
|
@ -789,7 +789,7 @@ static void PaintMiniatureRailwayTrack25DegUpToFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(miniature_railway_track_pieces_25_deg_up_to_flat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_25_deg_up_to_flat[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 2, height }, { { 0, 3, height }, { 32, 25, 2 } });
|
||||
|
||||
|
@ -809,7 +809,7 @@ static void PaintMiniatureRailwayTrack25DegUpToFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 41 + direction, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
WoodenASupportsPaintSetup(session, direction & 1, 41 + direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
|
@ -982,26 +982,25 @@ static void PaintMiniatureRailwayTrackRightQuarterTurn5Tiles(
|
|||
if (right_quarter_turn_5_supports_type[direction][trackSequence] != -1)
|
||||
{
|
||||
bool isSupported = WoodenASupportsPaintSetup(
|
||||
session, right_quarter_turn_5_supports_type[direction][trackSequence], 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, right_quarter_turn_5_supports_type[direction][trackSequence], 0, height, session.SupportColours);
|
||||
|
||||
if (!isSupported || (trackSequence == 3 && direction == 2))
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint(
|
||||
session, 2, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
session, 2, height, direction, trackSequence, session.TrackColours,
|
||||
miniature_railway_track_pieces_flat_quarter_turn_5_tiles, miniature_railway_right_quarter_turn_5_tiles_offsets,
|
||||
miniature_railway_right_quarter_turn_5_tiles_bound_lengths, nullptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint(
|
||||
session, 2, height, direction, trackSequence, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, 2, height, direction, trackSequence, session.SupportColours,
|
||||
miniature_railway_right_quarter_turn_5_tiles_track_floor, nullptr,
|
||||
miniature_railway_right_quarter_turn_5_tiles_bound_lengths,
|
||||
miniature_railway_right_quarter_turn_5_tiles_bound_offsets);
|
||||
|
||||
int32_t index = miniature_railway_right_quarter_turn_5_tiles_sprite_map[trackSequence];
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
auto imageId = session.TrackColours.WithIndex(
|
||||
miniature_railway_track_pieces_flat_quarter_turn_5_tiles[direction][index]);
|
||||
CoordsXY offset = miniature_railway_right_quarter_turn_5_tiles_offsets[direction][index];
|
||||
CoordsXY boundsLength = miniature_railway_right_quarter_turn_5_tiles_bound_lengths[direction][index];
|
||||
|
@ -1105,7 +1104,7 @@ static void PaintMiniatureRailwayTrackSBendLeft(
|
|||
}
|
||||
|
||||
bool isSupported = WoodenASupportsPaintSetup(
|
||||
session, s_bend_left_supports_type[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, s_bend_left_supports_type[direction][trackSequence], 0, height, session.SupportColours);
|
||||
|
||||
static constexpr CoordsXY offsetList[] = {
|
||||
{ 0, 2 },
|
||||
|
@ -1121,8 +1120,7 @@ static void PaintMiniatureRailwayTrackSBendLeft(
|
|||
{ 32, 27 },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence]);
|
||||
auto imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence]);
|
||||
CoordsXY offset = offsetList[trackSequence];
|
||||
CoordsXY bounds = boundsList[trackSequence];
|
||||
|
||||
|
@ -1134,13 +1132,12 @@ static void PaintMiniatureRailwayTrackSBendLeft(
|
|||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
miniature_railway_s_bend_left_tiles_track_floor[direction & 1][trackSequence]);
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, imageId, { 0, 0, height }, { { offset.x, offset.y, height }, { bounds.x, bounds.y, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_s_bend_left[direction & 1][trackSequence]);
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, imageId, { offset.x, offset.y, height },
|
||||
{ { offset.x, offset.y, height }, { bounds.x, bounds.y, 2 } });
|
||||
|
@ -1214,7 +1211,7 @@ static void PaintMiniatureRailwayTrackSBendRight(
|
|||
}
|
||||
|
||||
bool isSupported = WoodenASupportsPaintSetup(
|
||||
session, s_bend_right_supports_type[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, s_bend_right_supports_type[direction][trackSequence], 0, height, session.SupportColours);
|
||||
|
||||
static constexpr CoordsXY offsetList[] = {
|
||||
{ 0, 2 },
|
||||
|
@ -1230,8 +1227,7 @@ static void PaintMiniatureRailwayTrackSBendRight(
|
|||
{ 32, 27 },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_s_bend_right[direction & 1][trackSequence]);
|
||||
auto imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_s_bend_right[direction & 1][trackSequence]);
|
||||
CoordsXY offset = offsetList[trackSequence];
|
||||
CoordsXY bounds = boundsList[trackSequence];
|
||||
if (!isSupported)
|
||||
|
@ -1242,13 +1238,12 @@ static void PaintMiniatureRailwayTrackSBendRight(
|
|||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
miniature_railway_s_bend_right_tiles_track_floor[direction & 1][trackSequence]);
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, imageId, { 0, 0, height }, { { offset.x, offset.y, height }, { bounds.x, bounds.y, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_s_bend_right[direction & 1][trackSequence]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_s_bend_right[direction & 1][trackSequence]);
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, imageId, { offset.x, offset.y, height },
|
||||
{ { offset.x, offset.y, height }, { bounds.x, bounds.y, 2 } });
|
||||
|
@ -1345,28 +1340,26 @@ static void PaintMiniatureRailwayTrackRightQuarterTurn3Tiles(
|
|||
if (trackSequence != 1 && trackSequence != 2)
|
||||
{
|
||||
static constexpr uint8_t supportType[] = { 4, 5, 2, 3 };
|
||||
isSupported = WoodenASupportsPaintSetup(
|
||||
session, supportType[direction], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
isSupported = WoodenASupportsPaintSetup(session, supportType[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
if (!isSupported)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
miniature_railway_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets,
|
||||
defaultRightQuarterTurn3TilesBoundLengths, nullptr);
|
||||
|
||||
// The following piece was missing in vanilla RCT2
|
||||
if (trackSequence == 1 && direction == 0)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
SPR_G2_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_3);
|
||||
auto imageId = session.TrackColours.WithIndex(SPR_G2_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_3);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 8, 8, 2 } });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, 3, height, direction, trackSequence, session.SupportColours,
|
||||
miniature_railway_right_quarter_turn_3_tile_track_floor, nullptr, defaultRightQuarterTurn3TilesBoundLengths,
|
||||
miniature_railway_right_quarter_turn_3_tile_bound_offsets);
|
||||
|
||||
|
@ -1374,7 +1367,7 @@ static void PaintMiniatureRailwayTrackRightQuarterTurn3Tiles(
|
|||
|
||||
int32_t index = _right_quarter_turn_3_tiles_sprite_map[trackSequence];
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
auto imageId = session.TrackColours.WithIndex(
|
||||
miniature_railway_track_pieces_flat_quarter_turn_3_tiles[direction][index]);
|
||||
CoordsXY offset = defaultRightQuarterTurn3TilesOffsets[direction][index];
|
||||
CoordsXY boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][index];
|
||||
|
@ -1528,7 +1521,7 @@ static void PaintMiniatureRailwayTrackLeftEighthToDiag(
|
|||
if (trackSequence != 4 || !isRightEighthToOrthog)
|
||||
{
|
||||
isSupported = WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
ImageId imageId;
|
||||
if (!isSupported)
|
||||
|
@ -1536,8 +1529,7 @@ static void PaintMiniatureRailwayTrackLeftEighthToDiag(
|
|||
int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence];
|
||||
if (index >= 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_left_eight_to_diag[direction][index]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_left_eight_to_diag[direction][index]);
|
||||
CoordsXY offset = miniature_railway_track_pieces_left_eight_to_diag_offset[direction][index];
|
||||
CoordsXYZ bounds = miniature_railway_track_pieces_left_eight_to_diag_bounds[direction][index];
|
||||
if (isRightEighthToOrthog)
|
||||
|
@ -1550,7 +1542,7 @@ static void PaintMiniatureRailwayTrackLeftEighthToDiag(
|
|||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
miniature_railway_floor_track_pieces_left_eight_to_diag[direction][trackSequence]);
|
||||
CoordsXY offset = miniature_railway_track_floor_pieces_left_eight_to_diag_offset[direction][trackSequence];
|
||||
CoordsXYZ bounds = miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[direction][trackSequence];
|
||||
|
@ -1559,8 +1551,7 @@ static void PaintMiniatureRailwayTrackLeftEighthToDiag(
|
|||
int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence];
|
||||
if (index >= 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_left_eight_to_diag[direction][index]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_left_eight_to_diag[direction][index]);
|
||||
offset = miniature_railway_track_pieces_left_eight_to_diag_offset[direction][index];
|
||||
bounds = miniature_railway_track_pieces_left_eight_to_diag_bounds[direction][index];
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { offset, height }, bounds });
|
||||
|
@ -1692,7 +1683,7 @@ static void PaintMiniatureRailwayTrackRightEighthToDiag(
|
|||
if (trackSequence != 4 || !isLeftEighthToOrthog)
|
||||
{
|
||||
isSupported = WoodenASupportsPaintSetup(
|
||||
session, supportType[direction][trackSequence], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, supportType[direction][trackSequence], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
ImageId imageId;
|
||||
|
@ -1701,8 +1692,7 @@ static void PaintMiniatureRailwayTrackRightEighthToDiag(
|
|||
int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence];
|
||||
if (index >= 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_right_eight_to_diag[direction][index]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_right_eight_to_diag[direction][index]);
|
||||
CoordsXY offset = miniature_railway_track_pieces_right_eight_to_diag_offset[direction][index];
|
||||
CoordsXYZ bounds = miniature_railway_track_pieces_right_eight_to_diag_bounds[direction][index];
|
||||
if (isLeftEighthToOrthog)
|
||||
|
@ -1715,7 +1705,7 @@ static void PaintMiniatureRailwayTrackRightEighthToDiag(
|
|||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_SUPPORTS].WithIndex(
|
||||
imageId = session.SupportColours.WithIndex(
|
||||
miniature_railway_floor_track_pieces_right_eight_to_diag[direction][trackSequence]);
|
||||
CoordsXY offset = miniature_railway_track_floor_pieces_right_eight_to_diag_offset[direction][trackSequence];
|
||||
CoordsXYZ bounds = miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[direction][trackSequence];
|
||||
|
@ -1724,8 +1714,7 @@ static void PaintMiniatureRailwayTrackRightEighthToDiag(
|
|||
int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence];
|
||||
if (index >= 0)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
miniature_railway_track_pieces_right_eight_to_diag[direction][index]);
|
||||
imageId = session.TrackColours.WithIndex(miniature_railway_track_pieces_right_eight_to_diag[direction][index]);
|
||||
offset = miniature_railway_track_pieces_right_eight_to_diag_offset[direction][index];
|
||||
bounds = miniature_railway_track_pieces_right_eight_to_diag_bounds[direction][index];
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { offset, height }, bounds });
|
||||
|
@ -1812,7 +1801,7 @@ static void MiniatureRailwayTrackDiagFlat(
|
|||
floorBoundSize = floors[enumValue].bound_size;
|
||||
floorBoundOffset = floors[enumValue].bound_offset;
|
||||
isSupported = WoodenASupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType.value(), height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, supportType.value(), height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 1 && trackSequence == 3)
|
||||
|
@ -1826,20 +1815,19 @@ static void MiniatureRailwayTrackDiagFlat(
|
|||
if (isSupported)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_SUPPORTS].WithIndex(floorImage), { 0, 0, height },
|
||||
session, session.SupportColours.WithIndex(floorImage), { 0, 0, height },
|
||||
{ { floorBoundOffset, height }, { floorBoundSize, (drawRail ? 2 : 0) } });
|
||||
if (drawRail)
|
||||
{
|
||||
PaintAddImageAsChild(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
}
|
||||
else if (drawRail)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 2 } });
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -1874,14 +1862,12 @@ static void MiniatureRailwayTrackDiag25DegUp(
|
|||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
hasSupports = WoodenASupportsPaintSetup(
|
||||
session, enumValue, 0, height + heightDiff, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
hasSupports = WoodenASupportsPaintSetup(session, enumValue, 0, height + heightDiff, session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
hasSupports = WoodenBSupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType.value(), height + heightDiff,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, supportType.value(), height + heightDiff, session.SupportColours);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1908,20 +1894,19 @@ static void MiniatureRailwayTrackDiag25DegUp(
|
|||
if (hasSupports)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_SUPPORTS].WithIndex(floorImage),
|
||||
{ 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
session, session.SupportColours.WithIndex(floorImage), { 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
{ { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }, { floorBoundSize, (drawRail ? 2 : 0) } });
|
||||
if (drawRail)
|
||||
{
|
||||
PaintAddImageAsChild(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + offsetB[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
}
|
||||
else if (drawRail)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + offsetB[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
|
@ -1948,7 +1933,7 @@ static void MiniatureRailwayTrackDiagFlatTo25DegUp(
|
|||
floorBoundSize = floors[enumValue].bound_size;
|
||||
floorBoundOffset = floors[enumValue].bound_offset;
|
||||
hasSupports = WoodenASupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType.value(), height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, supportType.value(), height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 1 && trackSequence == 3)
|
||||
|
@ -1962,20 +1947,19 @@ static void MiniatureRailwayTrackDiagFlatTo25DegUp(
|
|||
if (hasSupports)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_SUPPORTS].WithIndex(floorImage), { 0, 0, height },
|
||||
session, session.SupportColours.WithIndex(floorImage), { 0, 0, height },
|
||||
{ { floorBoundOffset, height }, { floorBoundSize, (drawRail ? 2 : 0) } });
|
||||
if (drawRail)
|
||||
{
|
||||
PaintAddImageAsChild(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
}
|
||||
else if (drawRail)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 2 } });
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
@ -2010,14 +1994,13 @@ static void MiniatureRailwayTrackDiag25DegUpToFlat(
|
|||
if (trackSequence == 3)
|
||||
{
|
||||
hasSupports = WoodenASupportsPaintSetup(
|
||||
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, enumValue, 0, height + supportOffsets[direction][trackSequence], session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
hasSupports = WoodenBSupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType.value(), height + supportOffsets[direction][trackSequence],
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2041,20 +2024,19 @@ static void MiniatureRailwayTrackDiag25DegUpToFlat(
|
|||
if (hasSupports)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_SUPPORTS].WithIndex(floorImage),
|
||||
{ 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
session, session.SupportColours.WithIndex(floorImage), { 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
{ { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }, { floorBoundSize, (drawRail ? 2 : 0) } });
|
||||
if (drawRail)
|
||||
{
|
||||
PaintAddImageAsChild(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + railOffsets[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
}
|
||||
else if (drawRail)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + railOffsets[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
|
@ -2090,14 +2072,13 @@ static void MiniatureRailwayTrackDiag25DegDown(
|
|||
if (trackSequence == 3)
|
||||
{
|
||||
hasSupports = WoodenASupportsPaintSetup(
|
||||
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, enumValue, 0, height + supportOffsets[direction][trackSequence], session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
hasSupports = WoodenBSupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType.value(), height + supportOffsets[direction][trackSequence],
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2120,20 +2101,19 @@ static void MiniatureRailwayTrackDiag25DegDown(
|
|||
if (hasSupports)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_SUPPORTS].WithIndex(floorImage),
|
||||
{ 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
session, session.SupportColours.WithIndex(floorImage), { 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
{ { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }, { floorBoundSize, (drawRail ? 2 : 0) } });
|
||||
if (drawRail)
|
||||
{
|
||||
PaintAddImageAsChild(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + railOffsets[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
}
|
||||
else if (drawRail)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + railOffsets[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
|
@ -2168,14 +2148,13 @@ static void MiniatureRailwayTrackDiagFlatTo25DegDown(
|
|||
if (trackSequence == 3)
|
||||
{
|
||||
hasSupports = WoodenASupportsPaintSetup(
|
||||
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, enumValue, 0, height + supportOffsets[direction][trackSequence], session.SupportColours);
|
||||
}
|
||||
else
|
||||
{
|
||||
hasSupports = WoodenBSupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType.value(), height + supportOffsets[direction][trackSequence],
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session.SupportColours);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2198,20 +2177,19 @@ static void MiniatureRailwayTrackDiagFlatTo25DegDown(
|
|||
if (hasSupports)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_SUPPORTS].WithIndex(floorImage),
|
||||
{ 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
session, session.SupportColours.WithIndex(floorImage), { 0, 0, height + offsetsB[direction][trackSequence][0] },
|
||||
{ { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }, { floorBoundSize, (drawRail ? 2 : 0) } });
|
||||
if (drawRail)
|
||||
{
|
||||
PaintAddImageAsChild(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + railOffsets[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
}
|
||||
else if (drawRail)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height + railOffsets[direction] }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
|
@ -2236,7 +2214,7 @@ static void MiniatureRailwayTrackDiag25DegDownToFlat(
|
|||
floorBoundSize = floors[enumValue].bound_size;
|
||||
floorBoundOffset = floors[enumValue].bound_offset;
|
||||
hasSupports = WoodenASupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportType.value(), height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, supportType.value(), height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 1 && trackSequence == 3)
|
||||
|
@ -2250,20 +2228,19 @@ static void MiniatureRailwayTrackDiag25DegDownToFlat(
|
|||
if (hasSupports)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_SUPPORTS].WithIndex(floorImage), { 0, 0, height },
|
||||
session, session.SupportColours.WithIndex(floorImage), { 0, 0, height },
|
||||
{ { floorBoundOffset, height }, { floorBoundSize, (drawRail ? 2 : 0) } });
|
||||
if (drawRail)
|
||||
{
|
||||
PaintAddImageAsChild(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
}
|
||||
else if (drawRail)
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 2 } });
|
||||
session, session.TrackColours.WithIndex(imageId), { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
|
|
|
@ -388,7 +388,7 @@ static void PaintMonorailTrackFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_flat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_flat[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -411,7 +411,7 @@ static void PaintMonorailTrackFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -443,7 +443,7 @@ static void PaintMonorailStation(
|
|||
}
|
||||
}
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_flat[direction]);
|
||||
imageId = session.TrackColours.WithIndex(monorail_track_pieces_flat[direction]);
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
PaintAddImageAsChild(session, imageId, { 0, 6, height }, { { 0, 0, height }, { 32, 20, 2 } });
|
||||
|
@ -462,7 +462,7 @@ static void PaintMonorailStation(
|
|||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Boxed);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Boxed);
|
||||
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
||||
|
@ -475,7 +475,7 @@ static void PaintMonorailTrack25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_25_deg_up[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_25_deg_up[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -505,7 +505,7 @@ static void PaintMonorailTrack25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -518,7 +518,7 @@ static void PaintMonorailTrackFlatTo25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_flat_to_25_deg_up[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_flat_to_25_deg_up[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -548,7 +548,7 @@ static void PaintMonorailTrackFlatTo25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -561,7 +561,7 @@ static void PaintMonorailTrack25DegUpToFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_25_deg_up_to_flat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_25_deg_up_to_flat[direction]);
|
||||
|
||||
if (direction == 0 || direction == 2)
|
||||
{
|
||||
|
@ -591,7 +591,7 @@ static void PaintMonorailTrack25DegUpToFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -629,16 +629,15 @@ static void PaintMonorailTrackRightQuarterTurn5Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
monorail_track_pieces_flat_quarter_turn_5_tiles, defaultRightQuarterTurn5TilesOffsets,
|
||||
defaultRightQuarterTurn5TilesBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, monorail_track_pieces_flat_quarter_turn_5_tiles,
|
||||
defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, nullptr);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
case 6:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -713,8 +712,7 @@ static void PaintMonorailTrackSBendLeft(
|
|||
{ { 0, 6 }, { 32, 20 } },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
monorail_track_pieces_s_bend_left[direction & 1][trackSequence]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_s_bend_left[direction & 1][trackSequence]);
|
||||
const CoordsXY& offset = boxList[trackSequence].offset;
|
||||
const CoordsXY& bounds = boxList[trackSequence].length;
|
||||
if (direction == 0 || direction == 2)
|
||||
|
@ -737,18 +735,15 @@ static void PaintMonorailTrackSBendLeft(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopLeftSide, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -763,18 +758,15 @@ static void PaintMonorailTrackSBendLeft(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopRightSide, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -814,8 +806,7 @@ static void PaintMonorailTrackSBendRight(
|
|||
{ { 0, 6 }, { 32, 20 } }, { { 0, 6 }, { 32, 26 } }, { { 0, 0 }, { 32, 26 } }, { { 0, 6 }, { 32, 20 } }
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
monorail_track_pieces_s_bend_right[direction & 1][trackSequence]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_s_bend_right[direction & 1][trackSequence]);
|
||||
const CoordsXY& offset = boxList[trackSequence].offset;
|
||||
const CoordsXY& bounds = boxList[trackSequence].length;
|
||||
if (direction == 0 || direction == 2)
|
||||
|
@ -838,18 +829,15 @@ static void PaintMonorailTrackSBendRight(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomRightSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomRightSide, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -864,18 +852,15 @@ static void PaintMonorailTrackSBendRight(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomLeftSide, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomLeftSide, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -907,9 +892,8 @@ static void PaintMonorailTrackRightQuarterTurn3Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
monorail_track_pieces_flat_quarter_turn_3_tiles, defaultRightQuarterTurn3TilesOffsets,
|
||||
defaultRightQuarterTurn3TilesBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, monorail_track_pieces_flat_quarter_turn_3_tiles,
|
||||
defaultRightQuarterTurn3TilesOffsets, defaultRightQuarterTurn3TilesBoundLengths, nullptr);
|
||||
TrackPaintUtilRightQuarterTurn3TilesTunnel(session, height, direction, trackSequence, TUNNEL_SQUARE_FLAT);
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -917,7 +901,7 @@ static void PaintMonorailTrackRightQuarterTurn3Tiles(
|
|||
case 0:
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -960,8 +944,7 @@ static void PaintMonorailTrackLeftEighthToDiag(
|
|||
int8_t index = paint_monorail_eighth_to_diag_index[trackSequence];
|
||||
if (index >= 0)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
ghost_train_track_pieces_left_eight_to_diag[direction][index]);
|
||||
auto imageId = session.TrackColours.WithIndex(ghost_train_track_pieces_left_eight_to_diag[direction][index]);
|
||||
const CoordsXY& offset = GhostTrainTrackPiecesLeftEightToDiagBoxes[direction][index].offset;
|
||||
const CoordsXY& bounds = GhostTrainTrackPiecesLeftEightToDiagBoxes[direction][index].length;
|
||||
PaintAddImageAsParent(
|
||||
|
@ -972,25 +955,21 @@ static void PaintMonorailTrackLeftEighthToDiag(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 4:
|
||||
if (direction == 0)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomCorner, 0, height, session.SupportColours);
|
||||
if (direction == 1)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::LeftCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::LeftCorner, 0, height, session.SupportColours);
|
||||
if (direction == 2)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopCorner, 0, height, session.SupportColours);
|
||||
if (direction == 3)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::RightCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::RightCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1035,8 +1014,7 @@ static void PaintMonorailTrackRightEighthToDiag(
|
|||
int8_t index = paint_monorail_eighth_to_diag_index[trackSequence];
|
||||
if (index >= 0)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
ghost_train_track_pieces_right_eight_to_diag[direction][index]);
|
||||
auto imageId = session.TrackColours.WithIndex(ghost_train_track_pieces_right_eight_to_diag[direction][index]);
|
||||
const CoordsXY offset = GhostTrainTrackPiecesRightEightToDiagBoxes[direction][index].offset;
|
||||
const CoordsXY bounds = GhostTrainTrackPiecesRightEightToDiagBoxes[direction][index].length;
|
||||
PaintAddImageAsParent(
|
||||
|
@ -1047,25 +1025,21 @@ static void PaintMonorailTrackRightEighthToDiag(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 4:
|
||||
if (direction == 0)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::LeftCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::LeftCorner, 0, height, session.SupportColours);
|
||||
if (direction == 1)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopCorner, 0, height, session.SupportColours);
|
||||
if (direction == 2)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::RightCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::RightCorner, 0, height, session.SupportColours);
|
||||
if (direction == 3)
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomCorner, 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1136,15 +1110,14 @@ static void PaintMonorailTrackDiagFlat(
|
|||
{
|
||||
if (monorail_diag_image_segment[direction][trackSequence])
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_diag_flat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_diag_flat[direction]);
|
||||
PaintAddImageAsParent(session, imageId, { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = DiagBlockedSegments[trackSequence];
|
||||
|
@ -1159,15 +1132,14 @@ static void PaintMonorailTrackDiag25DegUp(
|
|||
{
|
||||
if (monorail_diag_image_segment[direction][trackSequence])
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_diag_25_deg_up[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_diag_25_deg_up[direction]);
|
||||
PaintAddImageAsParent(session, imageId, { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalBSupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 8, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = DiagBlockedSegments[trackSequence];
|
||||
|
@ -1182,15 +1154,14 @@ static void PaintMonorailTrackDiagFlatTo25DegUp(
|
|||
{
|
||||
if (monorail_diag_image_segment[direction][trackSequence])
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_diag_flat_to_25_deg_up[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_diag_flat_to_25_deg_up[direction]);
|
||||
PaintAddImageAsParent(session, imageId, { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalBSupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = DiagBlockedSegments[trackSequence];
|
||||
|
@ -1205,15 +1176,14 @@ static void PaintMonorailTrackDiag25DegUpToFlat(
|
|||
{
|
||||
if (monorail_diag_image_segment[direction][trackSequence])
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_diag_25_deg_up_to_flat[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_diag_25_deg_up_to_flat[direction]);
|
||||
PaintAddImageAsParent(session, imageId, { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalBSupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 4, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 4, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = DiagBlockedSegments[trackSequence];
|
||||
|
@ -1228,15 +1198,14 @@ static void PaintMonorailTrackDiag25DegDown(
|
|||
{
|
||||
if (monorail_diag_image_segment[direction][trackSequence])
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(monorail_track_pieces_diag_25_deg_up[(direction + 2) % 4]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_diag_25_deg_up[(direction + 2) % 4]);
|
||||
PaintAddImageAsParent(session, imageId, { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalBSupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 8, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = DiagBlockedSegments[trackSequence];
|
||||
|
@ -1251,16 +1220,14 @@ static void PaintMonorailTrackDiagFlatTo25DegDown(
|
|||
{
|
||||
if (monorail_diag_image_segment[direction][trackSequence])
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
monorail_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4]);
|
||||
PaintAddImageAsParent(session, imageId, { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalBSupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 4, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 4, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = DiagBlockedSegments[trackSequence];
|
||||
|
@ -1275,16 +1242,14 @@ static void PaintMonorailTrackDiag25DegDownToFlat(
|
|||
{
|
||||
if (monorail_diag_image_segment[direction][trackSequence])
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
monorail_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4]);
|
||||
auto imageId = session.TrackColours.WithIndex(monorail_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4]);
|
||||
PaintAddImageAsParent(session, imageId, { -16, -16, height }, { { -16, -16, height }, { 32, 32, 2 } });
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalBSupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = DiagBlockedSegments[trackSequence];
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
/*****************************************************************************
|
||||
/*****************************************************************************
|
||||
* Copyright (c) 2014-2023 OpenRCT2 developers
|
||||
*
|
||||
|
@ -40,18 +41,18 @@ static void PaintBoatHireTrackFlat(
|
|||
const auto offset = CoordsXYZ{ 0, 0, height };
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_BACK_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_BACK_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 4, 0, height }, { 1, 32, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_FRONT_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_FRONT_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 28, 0, height }, { 1, 32, 3 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_BACK_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_BACK_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 0, 4, height }, { 32, 1, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_FRONT_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_FRONT_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 0, 28, height }, { 32, 1, 3 } });
|
||||
}
|
||||
|
||||
|
@ -94,31 +95,31 @@ static void PaintBoatHireTrackLeftQuarterTurn1Tile(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_SW_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_SW_NW);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 0, 0, height }, { 32, 32, 0 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_SW_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_SW_NW);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 28, 28, height + 2 }, { 3, 3, 3 } });
|
||||
break;
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 0, 0, height }, { 32, 32, 0 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 28, 28, height + 2 }, { 3, 3, 3 } });
|
||||
break;
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_NE_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_NE_SE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 0, 0, height }, { 32, 32, 0 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_NE_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_NE_SE);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 28, 28, height + 2 }, { 3, 3, 3 } });
|
||||
break;
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_SE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_SE_SW);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 28, 28, height + 2 }, { 3, 3, 3 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_SE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_SE_SW);
|
||||
PaintAddImageAsParent(session, imageId, offset, { { 0, 0, height }, { 32, 32, 0 } });
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -223,16 +223,16 @@ static void DinghySlideTrackFlat(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
|
@ -254,13 +254,13 @@ static void DinghySlideTrackStation(
|
|||
};
|
||||
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]), { 0, 0, height },
|
||||
session, direction, session.TrackColours.WithIndex(imageIds[direction][0]), { 0, 0, height },
|
||||
{ { 0, 6, height + 3 }, { 32, 20, 1 } });
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, GetStationColourScheme(session, trackElement).WithIndex(imageIds[direction][1]), { 0, 0, height },
|
||||
{ 32, 32, 1 });
|
||||
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Tubes);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Tubes);
|
||||
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
||||
|
@ -290,16 +290,16 @@ static void DinghySlideTrack25DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 50 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -327,16 +327,16 @@ static void DinghySlideTrack60DegUp(
|
|||
{ SPR_DINGHY_SLIDE_60_DEG_SE_NW, SPR_DINGHY_SLIDE_60_DEG_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 98 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 32, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 32, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -373,16 +373,16 @@ static void DinghySlideTrackFlatTo25DegUp(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 42 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 3, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -410,16 +410,16 @@ static void DinghySlideTrack25DegUpTo60DegUp(
|
|||
{ SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 66 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 12, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 12, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -447,16 +447,16 @@ static void DinghySlideTrack60DegUpTo25DegUp(
|
|||
{ SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_SE_NW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 66 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 20, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 20, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -493,16 +493,16 @@ static void DinghySlideTrack25DegUpToFlat(
|
|||
};
|
||||
|
||||
uint8_t isChained = trackElement.HasChain() ? 1 : 0;
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[isChained][direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[isChained][direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 34 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 6, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -619,17 +619,15 @@ static void DinghySlideTrackRightQuarterTurn5(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], frontImageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(session, height, direction, trackSequence, session.TrackColours, frontImageIds);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
case 6:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -727,8 +725,8 @@ static void DinghySlideTrackSBendLeft(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -738,7 +736,7 @@ static void DinghySlideTrackSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -751,8 +749,7 @@ static void DinghySlideTrackSBendLeft(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::TopRightSide : MetalSupportPlace::TopLeftSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -768,8 +765,7 @@ static void DinghySlideTrackSBendLeft(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::TopRightSide : MetalSupportPlace::TopLeftSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -781,7 +777,7 @@ static void DinghySlideTrackSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -836,8 +832,8 @@ static void DinghySlideTrackSBendRight(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -847,7 +843,7 @@ static void DinghySlideTrackSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -860,8 +856,7 @@ static void DinghySlideTrackSBendRight(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::BottomLeftSide
|
||||
: MetalSupportPlace::BottomRightSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Tubes, supportPlace, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -877,8 +872,7 @@ static void DinghySlideTrackSBendRight(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::BottomLeftSide
|
||||
: MetalSupportPlace::BottomRightSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Tubes, supportPlace, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -890,7 +884,7 @@ static void DinghySlideTrackSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -963,10 +957,8 @@ static void DinghySlideTrackRightQuarterTurn3(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], frontImageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(session, height, direction, trackSequence, session.TrackColours, frontImageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesTunnel(session, height, direction, trackSequence, TUNNEL_0);
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -974,7 +966,7 @@ static void DinghySlideTrackRightQuarterTurn3(
|
|||
case 0:
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -179,16 +179,16 @@ static void DinghySlideTrackCoveredFlat(
|
|||
{ SPR_DINGHY_SLIDE_FLAT_COVERED_NW_SE, SPR_DINGHY_SLIDE_FLAT_COVERED_FRONT_NW_SE },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
|
@ -209,16 +209,16 @@ static void DinghySlideTrackCovered25DegUp(
|
|||
{ SPR_DINGHY_SLIDE_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_COVERED_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 50 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -246,16 +246,16 @@ static void DinghySlideTrackCovered60DegUp(
|
|||
{ SPR_DINGHY_SLIDE_60_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_60_DEG_COVERED_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 98 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 32, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 32, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -283,16 +283,16 @@ static void DinghySlideTrackCoveredFlatTo25DegUp(
|
|||
{ SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_FLAT_TO_25_DEG_COVERED_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 42 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 3, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -320,16 +320,16 @@ static void DinghySlideTrackCovered25DegUpTo60DegUp(
|
|||
{ SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_60_DEG_COVERED_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 66 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 12, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 12, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -357,16 +357,16 @@ static void DinghySlideTrackCovered60DegUpTo25DegUp(
|
|||
{ SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_SE_NW, SPR_DINGHY_SLIDE_60_DEG_TO_25_DEG_COVERED_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 66 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 20, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 20, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -394,16 +394,16 @@ static void DinghySlideTrackCovered25DegUpToFlat(
|
|||
{ SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_SE_NW, SPR_DINGHY_SLIDE_25_DEG_TO_FLAT_COVERED_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 34 } });
|
||||
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 6, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -520,17 +520,15 @@ static void DinghySlideTrackCoveredRightQuarterTurn5(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], frontImageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(session, height, direction, trackSequence, session.TrackColours, frontImageIds);
|
||||
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
case 6:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -621,8 +619,8 @@ static void DinghySlideTrackCoveredSBendLeft(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -632,7 +630,7 @@ static void DinghySlideTrackCoveredSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -645,8 +643,7 @@ static void DinghySlideTrackCoveredSBendLeft(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::TopRightSide : MetalSupportPlace::TopLeftSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -662,8 +659,7 @@ static void DinghySlideTrackCoveredSBendLeft(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::TopRightSide : MetalSupportPlace::TopLeftSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, supportPlace, (direction & 1), height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -675,7 +671,7 @@ static void DinghySlideTrackCoveredSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -730,8 +726,8 @@ static void DinghySlideTrackCoveredSBendRight(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -741,7 +737,7 @@ static void DinghySlideTrackCoveredSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -754,8 +750,7 @@ static void DinghySlideTrackCoveredSBendRight(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::BottomLeftSide
|
||||
: MetalSupportPlace::BottomRightSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Tubes, supportPlace, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -771,8 +766,7 @@ static void DinghySlideTrackCoveredSBendRight(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::BottomLeftSide
|
||||
: MetalSupportPlace::BottomRightSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, supportPlace, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Tubes, supportPlace, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -784,7 +778,7 @@ static void DinghySlideTrackCoveredSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -857,10 +851,8 @@ static void DinghySlideTrackCoveredRightQuarterTurn3(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], frontImageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(session, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint3(session, height, direction, trackSequence, session.TrackColours, frontImageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesTunnel(session, height, direction, trackSequence, TUNNEL_0);
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -868,7 +860,7 @@ static void DinghySlideTrackCoveredRightQuarterTurn3(
|
|||
case 0:
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -165,8 +165,8 @@ static void PaintLogFlumeTrackFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(LogFlumeTrackFlatImageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(LogFlumeTrackFlatImageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(LogFlumeTrackFlatImageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(LogFlumeTrackFlatImageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
|
@ -174,7 +174,7 @@ static void PaintLogFlumeTrackFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
|
@ -187,7 +187,7 @@ static void PaintLogFlumeTrackStation(
|
|||
PaintSession& session, const Ride& ride, [[maybe_unused]] uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(LogFlumeTrackFlatImageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(LogFlumeTrackFlatImageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height + 3 }, { 32, 20, 1 } });
|
||||
|
||||
if (direction & 1)
|
||||
|
@ -200,7 +200,7 @@ static void PaintLogFlumeTrackStation(
|
|||
}
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 });
|
||||
|
||||
DrawSupportsSideBySide(session, direction, height, session.TrackColours[SCHEME_SUPPORTS], MetalSupportType::Boxed);
|
||||
DrawSupportsSideBySide(session, direction, height, session.SupportColours, MetalSupportType::Boxed);
|
||||
|
||||
TrackPaintUtilDrawStation3(session, ride, direction, height + 2, height, trackElement);
|
||||
// Covers shouldn't be offset by +2
|
||||
|
@ -222,8 +222,8 @@ static void PaintLogFlumeTrack25DegUp(
|
|||
{ SPR_LOG_FLUME_25_DEG_UP_SE_NW, SPR_LOG_FLUME_25_DEG_UP_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 50 } });
|
||||
|
@ -231,7 +231,7 @@ static void PaintLogFlumeTrack25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -258,8 +258,8 @@ static void PaintLogFlumeTrackFlatTo25DegUp(
|
|||
{ SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_SE_NW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 42 } });
|
||||
|
@ -267,7 +267,7 @@ static void PaintLogFlumeTrackFlatTo25DegUp(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -294,8 +294,8 @@ static void PaintLogFlumeTrack25DegUpToFlat(
|
|||
{ SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_SE_NW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 34 } });
|
||||
|
@ -303,7 +303,7 @@ static void PaintLogFlumeTrack25DegUpToFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -330,8 +330,8 @@ static void PaintLogFlumeTrack25DegDown(
|
|||
{ SPR_LOG_FLUME_25_DEG_DOWN_SE_NW, SPR_LOG_FLUME_25_DEG_UP_FRONT_NW_SE },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 50 } });
|
||||
|
@ -339,7 +339,7 @@ static void PaintLogFlumeTrack25DegDown(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -366,8 +366,8 @@ static void PaintLogFlumeTrackFlatTo25DegDown(
|
|||
{ SPR_LOG_FLUME_FLAT_TO_25_DEG_DOWN_SE_NW, SPR_LOG_FLUME_25_DEG_UP_TO_FLAT_FRONT_NW_SE },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 34 } });
|
||||
|
@ -375,7 +375,7 @@ static void PaintLogFlumeTrackFlatTo25DegDown(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 6, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -402,8 +402,8 @@ static void PaintLogFlumeTrack25DegDownToFlat(
|
|||
{ SPR_LOG_FLUME_25_DEG_DOWN_TO_FLAT_SE_NW, SPR_LOG_FLUME_FLAT_TO_25_DEG_UP_FRONT_NW_SE },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 42 } });
|
||||
|
@ -411,7 +411,7 @@ static void PaintLogFlumeTrack25DegDownToFlat(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 3, height, session.SupportColours);
|
||||
}
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -458,8 +458,8 @@ static void PaintLogFlumeTrackSBendLeft(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -469,7 +469,7 @@ static void PaintLogFlumeTrackSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -482,8 +482,7 @@ static void PaintLogFlumeTrackSBendLeft(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::TopRightSide : MetalSupportPlace::TopLeftSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, supportPlace, (direction & 1), height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, supportPlace, (direction & 1), height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -499,8 +498,7 @@ static void PaintLogFlumeTrackSBendLeft(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::TopRightSide : MetalSupportPlace::TopLeftSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, supportPlace, (direction & 1), height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, supportPlace, (direction & 1), height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -512,7 +510,7 @@ static void PaintLogFlumeTrackSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -567,8 +565,8 @@ static void PaintLogFlumeTrackSBendRight(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -578,7 +576,7 @@ static void PaintLogFlumeTrackSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -591,8 +589,7 @@ static void PaintLogFlumeTrackSBendRight(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::BottomLeftSide
|
||||
: MetalSupportPlace::BottomRightSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, supportPlace, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, supportPlace, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -608,8 +605,7 @@ static void PaintLogFlumeTrackSBendRight(
|
|||
{
|
||||
const auto supportPlace = (direction & 1) ? MetalSupportPlace::BottomLeftSide
|
||||
: MetalSupportPlace::BottomRightSide;
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, supportPlace, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, supportPlace, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -621,7 +617,7 @@ static void PaintLogFlumeTrackSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -679,15 +675,14 @@ static void PaintLogFlumeTrackLeftQuarterTurn3Tiles(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilLeftQuarterTurn3TilesPaint(
|
||||
session, 2, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilLeftQuarterTurn3TilesPaint(session, 2, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilLeftQuarterTurn3TilesPaintWithHeightOffset(
|
||||
session, 0, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIdsFront, 27);
|
||||
session, 0, height, direction, trackSequence, session.TrackColours, imageIdsFront, 27);
|
||||
|
||||
if (trackSequence != 1 && trackSequence != 2)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -759,15 +754,14 @@ static void PaintLogFlumeTrackRightQuarterTurn3Tiles(
|
|||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint2(
|
||||
session, 2, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint2(session, 2, height, direction, trackSequence, session.TrackColours, imageIds);
|
||||
TrackPaintUtilRightQuarterTurn3TilesPaint2WithHeightOffset(
|
||||
session, 0, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], imageIdsFront, 27);
|
||||
session, 0, height, direction, trackSequence, session.TrackColours, imageIdsFront, 27);
|
||||
|
||||
if (trackSequence != 1 && trackSequence != 2)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -811,10 +805,10 @@ static void PaintLogFlumeTrackOnRidePhoto(
|
|||
{
|
||||
TrackPaintUtilOnridePhotoPlatformPaint(session, direction, height, MetalSupportType::Boxed);
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(LogFlumeTrackFlatImageIds[direction][0]);
|
||||
auto imageId = session.TrackColours.WithIndex(LogFlumeTrackFlatImageIds[direction][0]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height + 3 }, { 32, 20, 0 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(LogFlumeTrackFlatImageIds[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(LogFlumeTrackFlatImageIds[direction][1]);
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height + 5 }, { 32, 1, 21 } });
|
||||
|
||||
TrackPaintUtilOnridePhotoPaint(session, direction, height + 3, trackElement);
|
||||
|
@ -835,14 +829,13 @@ static void PaintLogFlumeTrackReverser(
|
|||
{ SPR_LOG_FLUME_REVERSER_SE_NW, SPR_LOG_FLUME_REVERSER_FRONT_SE_NW },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -863,8 +856,8 @@ static void LogFlumeTrack25Down60(
|
|||
{ SPR_G2_FLUME_25_60_NE_SW_BACK, SPR_G2_FLUME_25_60_NE_SW_BACK_WATER },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height + 4 }, { 32, 1, 42 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 0 } });
|
||||
|
@ -874,7 +867,7 @@ static void LogFlumeTrack25Down60(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_14);
|
||||
|
@ -884,8 +877,7 @@ static void LogFlumeTrack25Down60(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height + 12,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height + 12, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
|
@ -906,8 +898,8 @@ static void LogFlumeTrack60Down(
|
|||
{ SPR_G2_FLUME_60_NE_SW_BACK, SPR_G2_EMPTY },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height + 4 }, { 32, 1, 98 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
@ -917,7 +909,7 @@ static void LogFlumeTrack60Down(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
|
@ -927,8 +919,7 @@ static void LogFlumeTrack60Down(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height + 12,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height + 12, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
|
@ -949,8 +940,8 @@ static void LogFlumeTrack60Down25(
|
|||
{ SPR_G2_FLUME_60_25_NE_SW_BACK, SPR_G2_FLUME_60_25_NE_SW_BACK_WATER },
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][1]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 27, height + 4 }, { 32, 1, 42 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 0 } });
|
||||
|
@ -962,7 +953,7 @@ static void LogFlumeTrack60Down25(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height, session.SupportColours);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -972,8 +963,7 @@ static void LogFlumeTrack60Down25(
|
|||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height + 8,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height + 8, session.SupportColours);
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
|
|
@ -276,28 +276,25 @@ static void PaintRiverRapidsTrackFlat(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
(direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW));
|
||||
imageId = session.TrackColours.WithIndex((direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 10, 10, height }, { 1, 2, 5 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
(direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW));
|
||||
imageId = session.TrackColours.WithIndex((direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 10, 10, height }, { 1, 2, 5 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
if (direction & 1)
|
||||
{
|
||||
|
@ -330,56 +327,56 @@ static void PaintRiverRapidsTrack25Deg(PaintSession& session, uint8_t direction,
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 4 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height + 16 }, { 32, 1, 34 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_SQUARE_7);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 4 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 16 }, { 1, 32, 34 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 4 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height + 16 }, { 32, 1, 34 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 4 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 16 }, { 1, 32, 34 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_SQUARE_7);
|
||||
break;
|
||||
}
|
||||
|
@ -397,57 +394,57 @@ static void PaintRiverRapidsTrack25DegToFlatA(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 4 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height + 16 }, { 32, 1, 18 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25DegToFlat);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelLeft(session, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 4 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 16 }, { 1, 32, 18 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25DegToFlat);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelRight(session, height + 8, TUNNEL_14);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 4 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 18 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25DegToFlat);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelLeft(session, height + 8, TUNNEL_14);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 4 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 16 }, { 1, 32, 18 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25DegToFlat);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelRight(session, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
}
|
||||
|
@ -465,56 +462,56 @@ static void PaintRiverRapidsTrack25DegToFlatB(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height + 16 }, { 32, 1, 26 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 11 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 16 }, { 1, 32, 26 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 11 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height + 16 }, { 32, 1, 26 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][0]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][0]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(sprites[direction][1]);
|
||||
imageId = session.TrackColours.WithIndex(sprites[direction][1]);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 16 }, { 1, 32, 26 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
}
|
||||
|
@ -580,41 +577,41 @@ static void PaintRiverRapidsTrackLeftQuarterTurn1Tile(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SW_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SW_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 2, height }, { 28, 26, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SW_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SW_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 27, height }, { 2, 1, 7 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 25, 25, 5 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 1, height }, { 1, 30, 7 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 27, height }, { 30, 1, 7 } });
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NE_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 4, height }, { 26, 28, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_NE_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_NE_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 10, 10, height }, { 1, 2, 5 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 4, height }, { 28, 28, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 28, height }, { 1, 1, 7 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -623,8 +620,7 @@ static void PaintRiverRapidsTrackLeftQuarterTurn1Tile(
|
|||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -639,10 +635,10 @@ static void PaintRiverRapidsTrackRightQuarterTurn1Tile(
|
|||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 4, height }, { 28, 28, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 28, height + 2 }, { 1, 1, 7 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -650,31 +646,31 @@ static void PaintRiverRapidsTrackRightQuarterTurn1Tile(
|
|||
break;
|
||||
|
||||
case 1:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SE_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SE_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 2, height }, { 28, 26, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SE_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SE_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 28, 27, height }, { 2, 1, 7 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 0, height }, { 28, 28, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 1, height }, { 1, 22, 7 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 1, 27, height }, { 22, 1, 7 } });
|
||||
break;
|
||||
|
||||
case 3:
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NW_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NW_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 4, height }, { 26, 28, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_NW_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_NW_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 2, height }, { 1, 28, 7 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -682,8 +678,7 @@ static void PaintRiverRapidsTrackRightQuarterTurn1Tile(
|
|||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NwSe, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NwSe, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -699,53 +694,52 @@ static void PaintRiverRapidsTrackWaterfall(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 + frameNum));
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 + frameNum));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height + 17 }, { 1, 32, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 17 }, { 1, 32, 27 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 + frameNum));
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 27, 0, height + 17 }, { 1, 32, 27 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_NE_SW));
|
||||
|
||||
auto bb = BoundBoxXYZ{ { 0, 4, height }, { 32, 24, 11 } };
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 + frameNum));
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
bb.offset = { 0, 4, height + 17 };
|
||||
bb.length = { 32, 1, 27 };
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 + frameNum));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
bb.offset = { 0, 27, height + 17 };
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_NE_SW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 + frameNum));
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, bb);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
if (direction & 1)
|
||||
{
|
||||
|
@ -771,24 +765,23 @@ static void PaintRiverRapidsTrackRapids(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_RAPIDS_NW_SE_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_RAPIDS_NW_SE_FRAME_0 + frameNum));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 4, 0, height }, { 24, 32, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RAPIDS_FRONT_NW_SE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RAPIDS_FRONT_NW_SE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height + 17 }, { 1, 32, 11 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_RAPIDS_SW_NE_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_RAPIDS_SW_NE_FRAME_0 + frameNum));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 4, height }, { 32, 24, 11 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_RIVER_RAPIDS_RAPIDS_FRONT_SW_NE);
|
||||
imageId = session.TrackColours.WithIndex(SPR_RIVER_RAPIDS_RAPIDS_FRONT_SW_NE);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height + 17 }, { 32, 1, 11 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
if (direction & 1)
|
||||
{
|
||||
|
@ -824,44 +817,41 @@ static void PaintRiverRapidsTrackWhirlpool(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
(direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW));
|
||||
imageId = session.TrackColours.WithIndex((direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW));
|
||||
|
||||
auto bb = BoundBoxXYZ{ { 4, 0, height }, { 24, 32, 11 } };
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum));
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
bb.offset = { 10, 10, height };
|
||||
bb.length = { 1, 2, 5 };
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
(direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW));
|
||||
imageId = session.TrackColours.WithIndex((direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW));
|
||||
|
||||
auto bb = BoundBoxXYZ{ { 0, 4, height }, { 32, 24, 11 } };
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex((SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum));
|
||||
imageId = session.TrackColours.WithIndex((SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum));
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, bb);
|
||||
|
||||
bb.offset = { 10, 10, height };
|
||||
bb.length = { 1, 2, 5 };
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, bb);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
if (direction & 1)
|
||||
{
|
||||
|
|
|
@ -478,14 +478,14 @@ static void PaintSplashBoatsTrack25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegUpFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoats25DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoats25DegUpFrontImageId[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 50 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -504,15 +504,15 @@ static void PaintSplashBoatsTrack60DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats60DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats60DegUpFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoats60DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoats60DegUpFrontImageId[direction]);
|
||||
|
||||
session.WoodenSupportsPrependTo = PaintAddImageAsParentRotated(
|
||||
session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 98 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up60Deg);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -531,14 +531,14 @@ static void PaintSplashBoatsTrackFlatTo25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoatsFlatTo25DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoatsFlatTo25DegUpFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoatsFlatTo25DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoatsFlatTo25DegUpFrontImageId[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 42 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -557,14 +557,14 @@ static void PaintSplashBoatsTrack25DegUpToFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegUpToFlatImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegUpToFlatFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoats25DegUpToFlatImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoats25DegUpToFlatFrontImageId[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 34 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -583,15 +583,15 @@ static void PaintSplashBoatsTrack25DegUpTo60DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegUpTo60DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegUpTo60DegUpFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoats25DegUpTo60DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoats25DegUpTo60DegUpFrontImageId[direction]);
|
||||
|
||||
session.WoodenSupportsPrependTo = PaintAddImageAsParentRotated(
|
||||
session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 66 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToUp60Deg);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -610,15 +610,15 @@ static void PaintSplashBoatsTrack60DegUpTo25DegUp(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats60DegUpTo25DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats60DegUpTo25DegUpFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoats60DegUpTo25DegUpImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoats60DegUpTo25DegUpFrontImageId[direction]);
|
||||
|
||||
session.WoodenSupportsPrependTo = PaintAddImageAsParentRotated(
|
||||
session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 66 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.TrackColours[SCHEME_SUPPORTS],
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up60DegToUp25Deg);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
|
@ -637,15 +637,15 @@ static void PaintSplashBoatsTrack25DegDown(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegDownImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegDownFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoats25DegDownImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoats25DegDownFrontImageId[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 50 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, (direction + 2) % NumOrthogonalDirections, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25Deg);
|
||||
session.SupportColours, WoodenSupportTransitionType::Up25Deg);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -670,15 +670,15 @@ static void PaintSplashBoatsTrackFlatTo25DegDown(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoatsFlatTo25DegDownImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoatsFlatTo25DegDownFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoatsFlatTo25DegDownImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoatsFlatTo25DegDownFrontImageId[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 34 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, (direction + 2) % NumOrthogonalDirections, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::Up25DegToFlat);
|
||||
session.SupportColours, WoodenSupportTransitionType::Up25DegToFlat);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -710,15 +710,15 @@ static void PaintSplashBoatsTrack25DegDownToFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegDownToFlatImageId[direction]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(SplashBoats25DegDownToFlatFrontImageId[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(SplashBoats25DegDownToFlatImageId[direction]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(SplashBoats25DegDownToFlatFrontImageId[direction]);
|
||||
|
||||
PaintAddImageAsParentRotated(session, direction, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
PaintAddImageAsParentRotated(session, direction, frontImageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 42 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, (direction + 2) % NumOrthogonalDirections, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS], WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
session.SupportColours, WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
|
||||
if (direction == 0 || direction == 3)
|
||||
{
|
||||
|
@ -742,28 +742,27 @@ static void PaintSplashBoatsTrackFlat(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 1 ? SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE : SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 27, 0, height }, { 1, 32, 26 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 2 } });
|
||||
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
imageId = session.TrackColours.WithIndex(
|
||||
(direction == 0 ? SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE : SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 27, height }, { 32, 1, 26 } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
if (direction & 1)
|
||||
{
|
||||
|
@ -785,7 +784,7 @@ static void PaintSplashBoatsStation(
|
|||
{
|
||||
if (direction & 1)
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
auto imageId = session.TrackColours.WithIndex(
|
||||
(direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 6, 0, height + 3 }, { 20, 32, 1 } });
|
||||
|
||||
|
@ -794,7 +793,7 @@ static void PaintSplashBoatsStation(
|
|||
}
|
||||
else
|
||||
{
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(
|
||||
auto imageId = session.TrackColours.WithIndex(
|
||||
(direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW));
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 6, height + 3 }, { 32, 20, 1 } });
|
||||
|
||||
|
@ -803,8 +802,7 @@ static void PaintSplashBoatsStation(
|
|||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
|
||||
TrackPaintUtilDrawNarrowStationPlatform(session, ride, direction, height, 7, trackElement);
|
||||
|
||||
|
@ -820,9 +818,9 @@ static void PaintSplashBoatsTrackLeftQuarterTurn5Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], RiverRaftsLeftQuarterTurn5_Top);
|
||||
session, height, direction, trackSequence, session.TrackColours, RiverRaftsLeftQuarterTurn5_Top);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], RiverRaftsLeftQuarterTurn5_Side);
|
||||
session, height, direction, trackSequence, session.TrackColours, RiverRaftsLeftQuarterTurn5_Side);
|
||||
|
||||
if (trackSequence != 1 && trackSequence != 4)
|
||||
{
|
||||
|
@ -866,8 +864,7 @@ static void PaintSplashBoatsTrackLeftQuarterTurn5Tiles(
|
|||
};
|
||||
|
||||
WoodenASupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportTypes[direction][trackSequence], height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, supportTypes[direction][trackSequence], height, session.SupportColours);
|
||||
}
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -933,9 +930,9 @@ static void PaintSplashBoatsTrackRightQuarterTurn5Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], RiverRaftsRightQuarterTurn5_Top);
|
||||
session, height, direction, trackSequence, session.TrackColours, RiverRaftsRightQuarterTurn5_Top);
|
||||
TrackPaintUtilRightQuarterTurn5TilesPaint2(
|
||||
session, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK], RiverRaftsRightQuarterTurn5_Side);
|
||||
session, height, direction, trackSequence, session.TrackColours, RiverRaftsRightQuarterTurn5_Side);
|
||||
|
||||
if (trackSequence != 1 && trackSequence != 4)
|
||||
{
|
||||
|
@ -979,8 +976,7 @@ static void PaintSplashBoatsTrackRightQuarterTurn5Tiles(
|
|||
};
|
||||
|
||||
WoodenASupportsPaintSetup(
|
||||
session, WoodenSupportType::Truss, supportTypes[direction][trackSequence], height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, supportTypes[direction][trackSequence], height, session.SupportColours);
|
||||
}
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -1072,8 +1068,8 @@ static void PaintSplashBoatsTrackSBendLeft(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -1083,8 +1079,7 @@ static void PaintSplashBoatsTrackSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1094,8 +1089,7 @@ static void PaintSplashBoatsTrackSBendLeft(
|
|||
session, direction, frontImageId, { 0, 0, height }, { { 0, bboy, height + 27 }, { 32, 26, 0 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner3, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner3, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -1109,8 +1103,7 @@ static void PaintSplashBoatsTrackSBendLeft(
|
|||
session, direction, frontImageId, { 0, 0, height }, { { 0, bboy, height + 27 }, { 32, 26, 0 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner1, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner1, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -1122,8 +1115,7 @@ static void PaintSplashBoatsTrackSBendLeft(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
break;
|
||||
}
|
||||
|
@ -1178,8 +1170,8 @@ static void PaintSplashBoatsTrackSBendRight(
|
|||
},
|
||||
};
|
||||
|
||||
auto imageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours[SCHEME_TRACK].WithIndex(imageIds[direction][trackSequence][1]);
|
||||
auto imageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][0]);
|
||||
auto frontImageId = session.TrackColours.WithIndex(imageIds[direction][trackSequence][1]);
|
||||
int16_t bboy;
|
||||
|
||||
switch (trackSequence)
|
||||
|
@ -1189,8 +1181,7 @@ static void PaintSplashBoatsTrackSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1200,8 +1191,7 @@ static void PaintSplashBoatsTrackSBendRight(
|
|||
session, direction, frontImageId, { 0, 0, height }, { { 0, bboy, height + 27 }, { 32, 26, 0 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner2, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner2, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -1215,8 +1205,7 @@ static void PaintSplashBoatsTrackSBendRight(
|
|||
session, direction, frontImageId, { 0, 0, height }, { { 0, bboy, height + 27 }, { 32, 26, 0 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner0, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::Corner0, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
|
@ -1228,8 +1217,7 @@ static void PaintSplashBoatsTrackSBendRight(
|
|||
PaintAddImageAsParentRotated(
|
||||
session, direction, frontImageId, { 0, 0, height }, { { 0, 2, height + 27 }, { 32, 27, 0 } });
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ static void SubmarineRidePaintTrackStation(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { { 6, 0, heightLower }, { 20, 32, 3 } });
|
||||
|
||||
PaintUtilPushTunnelRight(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -83,7 +83,7 @@ static void SubmarineRidePaintTrackStation(
|
|||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { { 0, 6, heightLower }, { 32, 20, 3 } });
|
||||
|
||||
PaintUtilPushTunnelLeft(session, height, TUNNEL_SQUARE_FLAT);
|
||||
|
@ -104,13 +104,13 @@ static void SubmarineRidePaintTrackFlat(
|
|||
|
||||
if (direction & 1)
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { { 6, 0, heightLower }, { 20, 32, 3 } });
|
||||
PaintUtilPushTunnelRight(session, heightLower, TUNNEL_0);
|
||||
}
|
||||
else
|
||||
{
|
||||
imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
imageId = session.TrackColours.WithIndex(SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW);
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { { 0, 6, heightLower }, { 32, 20, 3 } });
|
||||
PaintUtilPushTunnelLeft(session, heightLower, TUNNEL_0);
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ static void SubmarineRidePaintTrackFlat(
|
|||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, (direction & 1) ? MetalSupportType::StickAlt : MetalSupportType::Stick, MetalSupportPlace::Centre, -1,
|
||||
heightLower, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
heightLower, session.SupportColours);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
@ -132,7 +132,7 @@ static void SubmarineRidePaintTrackLeftQuarterTurn3Tiles(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilLeftQuarterTurn3TilesPaint(
|
||||
session, 3, height - 16, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
session, 3, height - 16, direction, trackSequence, session.TrackColours,
|
||||
trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles);
|
||||
TrackPaintUtilLeftQuarterTurn3TilesTunnel(session, height - 16, TUNNEL_0, direction, trackSequence);
|
||||
|
||||
|
@ -140,8 +140,7 @@ static void SubmarineRidePaintTrackLeftQuarterTurn3Tiles(
|
|||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height - 16,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height - 16, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -151,8 +150,7 @@ static void SubmarineRidePaintTrackLeftQuarterTurn3Tiles(
|
|||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height - 16,
|
||||
session.TrackColours[SCHEME_SUPPORTS]);
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::Centre, -1, height - 16, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0);
|
||||
break;
|
||||
|
@ -180,8 +178,7 @@ static void SubmarineRidePaintTrackLeftQuarterTurn1Tile(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilLeftQuarterTurn1TilePaint(
|
||||
session, 1, height - 16, 0, direction, session.TrackColours[SCHEME_TRACK],
|
||||
trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile);
|
||||
session, 1, height - 16, 0, direction, session.TrackColours, trackSpritesSubmarineRideMiniHelicoptersQuarterTurn1Tile);
|
||||
TrackPaintUtilLeftQuarterTurn1TileTunnel(session, direction, height - 16, 0, TUNNEL_0, 0, TUNNEL_0);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
|
|
Loading…
Reference in New Issue