mirror of https://github.com/OpenRCT2/OpenRCT2.git
Call WoodenA/B functions directly in MiniatureRailway.cpp
This commit is contained in:
parent
f47cfa79c0
commit
7f458f5b46
|
@ -1846,27 +1846,6 @@ static void MiniatureRailwayTrackDiagFlat(
|
||||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||||
}
|
}
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
WOOD_A = 0,
|
|
||||||
WOOD_B = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
static bool WoodenSupportsPaintSetup(
|
|
||||||
PaintSession& session, int32_t woodType, int32_t supportType, int32_t special, int32_t height, ImageId imageColourFlags)
|
|
||||||
{
|
|
||||||
switch (woodType)
|
|
||||||
{
|
|
||||||
case WOOD_A:
|
|
||||||
return WoodenASupportsPaintSetup(session, supportType, special, height, imageColourFlags);
|
|
||||||
|
|
||||||
case WOOD_B:
|
|
||||||
return WoodenBSupportsPaintSetup(session, supportType, special, height, imageColourFlags);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** rct2: 0x008AD230 */
|
/** rct2: 0x008AD230 */
|
||||||
static void MiniatureRailwayTrackDiag25DegUp(
|
static void MiniatureRailwayTrackDiag25DegUp(
|
||||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||||
|
@ -1888,19 +1867,21 @@ static void MiniatureRailwayTrackDiag25DegUp(
|
||||||
auto supportType = _diagSupportTypes[direction][trackSequence];
|
auto supportType = _diagSupportTypes[direction][trackSequence];
|
||||||
if (supportType.has_value())
|
if (supportType.has_value())
|
||||||
{
|
{
|
||||||
// TODO: The supports are inconsistent for different rotations
|
|
||||||
int8_t supportFunction = WOOD_B;
|
|
||||||
if (supportType == WoodenSupportSubType::NeSw || supportType == WoodenSupportSubType::NwSe)
|
|
||||||
{
|
|
||||||
supportFunction = WOOD_A;
|
|
||||||
}
|
|
||||||
|
|
||||||
const auto enumValue = EnumValue(supportType.value());
|
const auto enumValue = EnumValue(supportType.value());
|
||||||
floorImage = floors[enumValue].image_id;
|
floorImage = floors[enumValue].image_id;
|
||||||
floorBoundSize = floors[enumValue].bound_size;
|
floorBoundSize = floors[enumValue].bound_size;
|
||||||
floorBoundOffset = floors[enumValue].bound_offset;
|
floorBoundOffset = floors[enumValue].bound_offset;
|
||||||
hasSupports = WoodenSupportsPaintSetup(
|
|
||||||
session, supportFunction, enumValue, 0, height + heightDiff, session.TrackColours[SCHEME_SUPPORTS]);
|
if (trackSequence == 3)
|
||||||
|
{
|
||||||
|
hasSupports = WoodenASupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + heightDiff, session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hasSupports = WoodenBSupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + heightDiff, session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 1 && trackSequence == 3)
|
if (direction == 1 && trackSequence == 3)
|
||||||
|
@ -2012,12 +1993,6 @@ static void MiniatureRailwayTrackDiag25DegUpToFlat(
|
||||||
{ 0, -8, -8, +8 },
|
{ 0, -8, -8, +8 },
|
||||||
};
|
};
|
||||||
|
|
||||||
int8_t supportFunction = WOOD_B;
|
|
||||||
if (trackSequence == 3)
|
|
||||||
{
|
|
||||||
supportFunction = WOOD_A;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool hasSupports = false;
|
bool hasSupports = false;
|
||||||
auto supportType = _diagSupportTypes[direction][trackSequence];
|
auto supportType = _diagSupportTypes[direction][trackSequence];
|
||||||
|
|
||||||
|
@ -2031,9 +2006,18 @@ static void MiniatureRailwayTrackDiag25DegUpToFlat(
|
||||||
floorImage = floors[enumValue].image_id;
|
floorImage = floors[enumValue].image_id;
|
||||||
floorBoundSize = floors[enumValue].bound_size;
|
floorBoundSize = floors[enumValue].bound_size;
|
||||||
floorBoundOffset = floors[enumValue].bound_offset;
|
floorBoundOffset = floors[enumValue].bound_offset;
|
||||||
hasSupports = WoodenSupportsPaintSetup(
|
if (trackSequence == 3)
|
||||||
session, supportFunction, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
{
|
||||||
session.TrackColours[SCHEME_SUPPORTS]);
|
hasSupports = WoodenASupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||||
|
session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hasSupports = WoodenBSupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||||
|
session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 1 && trackSequence == 3)
|
if (direction == 1 && trackSequence == 3)
|
||||||
|
@ -2089,12 +2073,6 @@ static void MiniatureRailwayTrackDiag25DegDown(
|
||||||
{ 0, -8, -8, -8 },
|
{ 0, -8, -8, -8 },
|
||||||
};
|
};
|
||||||
|
|
||||||
int8_t supportFunction = WOOD_B;
|
|
||||||
if (trackSequence == 3)
|
|
||||||
{
|
|
||||||
supportFunction = WOOD_A;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool hasSupports = false;
|
bool hasSupports = false;
|
||||||
|
|
||||||
uint32_t floorImage = 0;
|
uint32_t floorImage = 0;
|
||||||
|
@ -2108,9 +2086,18 @@ static void MiniatureRailwayTrackDiag25DegDown(
|
||||||
floorImage = floors[enumValue].image_id;
|
floorImage = floors[enumValue].image_id;
|
||||||
floorBoundSize = floors[enumValue].bound_size;
|
floorBoundSize = floors[enumValue].bound_size;
|
||||||
floorBoundOffset = floors[enumValue].bound_offset;
|
floorBoundOffset = floors[enumValue].bound_offset;
|
||||||
hasSupports = WoodenSupportsPaintSetup(
|
if (trackSequence == 3)
|
||||||
session, supportFunction, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
{
|
||||||
session.TrackColours[SCHEME_SUPPORTS]);
|
hasSupports = WoodenASupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||||
|
session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hasSupports = WoodenBSupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||||
|
session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 1 && trackSequence == 3)
|
if (direction == 1 && trackSequence == 3)
|
||||||
|
@ -2165,12 +2152,6 @@ static void MiniatureRailwayTrackDiagFlatTo25DegDown(
|
||||||
{ 0, -8, -8, -8 },
|
{ 0, -8, -8, -8 },
|
||||||
};
|
};
|
||||||
|
|
||||||
int8_t supportFunction = WOOD_B;
|
|
||||||
if (trackSequence == 3)
|
|
||||||
{
|
|
||||||
supportFunction = WOOD_A;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool hasSupports = false;
|
bool hasSupports = false;
|
||||||
uint32_t floorImage = 0;
|
uint32_t floorImage = 0;
|
||||||
CoordsXY floorBoundSize;
|
CoordsXY floorBoundSize;
|
||||||
|
@ -2183,9 +2164,18 @@ static void MiniatureRailwayTrackDiagFlatTo25DegDown(
|
||||||
floorImage = floors[enumValue].image_id;
|
floorImage = floors[enumValue].image_id;
|
||||||
floorBoundSize = floors[enumValue].bound_size;
|
floorBoundSize = floors[enumValue].bound_size;
|
||||||
floorBoundOffset = floors[enumValue].bound_offset;
|
floorBoundOffset = floors[enumValue].bound_offset;
|
||||||
hasSupports = WoodenSupportsPaintSetup(
|
if (trackSequence == 3)
|
||||||
session, supportFunction, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
{
|
||||||
session.TrackColours[SCHEME_SUPPORTS]);
|
hasSupports = WoodenASupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||||
|
session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hasSupports = WoodenBSupportsPaintSetup(
|
||||||
|
session, enumValue, 0, height + supportOffsets[direction][trackSequence],
|
||||||
|
session.TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 1 && trackSequence == 3)
|
if (direction == 1 && trackSequence == 3)
|
||||||
|
|
Loading…
Reference in New Issue