mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge pull request #21889 from Gymnasiast/refactor/segments
Refactor blocked segments
This commit is contained in:
commit
46b356047c
|
@ -363,6 +363,8 @@
|
|||
<ClInclude Include="paint\tile_element\Paint.PathAddition.h" />
|
||||
<ClInclude Include="paint\tile_element\Paint.Surface.h" />
|
||||
<ClInclude Include="paint\tile_element\Paint.TileElement.h" />
|
||||
<ClInclude Include="paint\tile_element\Segment.h" />
|
||||
<ClInclude Include="paint\track\Segment.h" />
|
||||
<ClInclude Include="paint\VirtualFloor.h" />
|
||||
<ClInclude Include="ParkImporter.h" />
|
||||
<ClInclude Include="park\Legacy.h" />
|
||||
|
|
|
@ -198,6 +198,25 @@ static constexpr MetalSupportPlace kMetalSupportPlacementRotated[][NumOrthogonal
|
|||
MetalSupportPlace::TopRightSide },
|
||||
};
|
||||
|
||||
constexpr uint8_t MetalSupportTypeCount = 13;
|
||||
constexpr MetalSupportType kMetalSupportTypeRotated[MetalSupportTypeCount][NumOrthogonalDirections] = {
|
||||
{ MetalSupportType::Tubes, MetalSupportType::Tubes, MetalSupportType::Tubes, MetalSupportType::Tubes },
|
||||
{ MetalSupportType::Fork, MetalSupportType::ForkAlt, MetalSupportType::Fork, MetalSupportType::ForkAlt },
|
||||
{ MetalSupportType::ForkAlt, MetalSupportType::Fork, MetalSupportType::ForkAlt, MetalSupportType::Fork },
|
||||
{ MetalSupportType::Boxed, MetalSupportType::Boxed, MetalSupportType::Boxed, MetalSupportType::Boxed },
|
||||
{ MetalSupportType::Stick, MetalSupportType::StickAlt, MetalSupportType::Stick, MetalSupportType::StickAlt },
|
||||
{ MetalSupportType::StickAlt, MetalSupportType::Stick, MetalSupportType::StickAlt, MetalSupportType::Stick },
|
||||
{ MetalSupportType::ThickCentred, MetalSupportType::ThickAltCentred, MetalSupportType::Thick, MetalSupportType::ThickAlt },
|
||||
{ MetalSupportType::Thick, MetalSupportType::ThickAlt, MetalSupportType::ThickCentred, MetalSupportType::ThickAltCentred },
|
||||
{ MetalSupportType::ThickAlt, MetalSupportType::ThickCentred, MetalSupportType::ThickAltCentred, MetalSupportType::Thick },
|
||||
{ MetalSupportType::ThickAltCentred, MetalSupportType::Thick, MetalSupportType::ThickAlt, MetalSupportType::ThickCentred },
|
||||
{ MetalSupportType::Truss, MetalSupportType::Truss, MetalSupportType::Truss, MetalSupportType::Truss },
|
||||
{ MetalSupportType::TubesInverted, MetalSupportType::TubesInverted, MetalSupportType::TubesInverted,
|
||||
MetalSupportType::TubesInverted },
|
||||
{ MetalSupportType::BoxedCoated, MetalSupportType::BoxedCoated, MetalSupportType::BoxedCoated,
|
||||
MetalSupportType::BoxedCoated },
|
||||
};
|
||||
|
||||
/**
|
||||
* Metal pole supports
|
||||
* @param supportType (edi)
|
||||
|
@ -398,6 +417,7 @@ bool MetalASupportsPaintSetupRotated(
|
|||
PaintSession& session, MetalSupportType supportTypeMember, MetalSupportPlace placement, Direction direction,
|
||||
int32_t special, int32_t height, ImageId imageTemplate)
|
||||
{
|
||||
supportTypeMember = kMetalSupportTypeRotated[EnumValue(supportTypeMember)][direction];
|
||||
placement = kMetalSupportPlacementRotated[EnumValue(placement)][direction];
|
||||
return MetalASupportsPaintSetup(session, supportTypeMember, placement, special, height, imageTemplate);
|
||||
}
|
||||
|
@ -591,33 +611,15 @@ bool MetalBSupportsPaintSetupRotated(
|
|||
PaintSession& session, MetalSupportType supportTypeMember, MetalSupportPlace placement, Direction direction,
|
||||
int32_t special, int32_t height, ImageId imageTemplate)
|
||||
{
|
||||
supportTypeMember = kMetalSupportTypeRotated[EnumValue(supportTypeMember)][direction];
|
||||
placement = kMetalSupportPlacementRotated[EnumValue(placement)][direction];
|
||||
return MetalBSupportsPaintSetup(session, supportTypeMember, placement, special, height, imageTemplate);
|
||||
}
|
||||
|
||||
constexpr uint8_t MetalSupportTypeCount = 13;
|
||||
constexpr MetalSupportType RotatedMetalSupports[MetalSupportTypeCount][NumOrthogonalDirections] = {
|
||||
{ MetalSupportType::Tubes, MetalSupportType::Tubes, MetalSupportType::Tubes, MetalSupportType::Tubes },
|
||||
{ MetalSupportType::Fork, MetalSupportType::ForkAlt, MetalSupportType::Fork, MetalSupportType::ForkAlt },
|
||||
{ MetalSupportType::ForkAlt, MetalSupportType::Fork, MetalSupportType::ForkAlt, MetalSupportType::Fork },
|
||||
{ MetalSupportType::Boxed, MetalSupportType::Boxed, MetalSupportType::Boxed, MetalSupportType::Boxed },
|
||||
{ MetalSupportType::Stick, MetalSupportType::StickAlt, MetalSupportType::Stick, MetalSupportType::StickAlt },
|
||||
{ MetalSupportType::StickAlt, MetalSupportType::Stick, MetalSupportType::StickAlt, MetalSupportType::Stick },
|
||||
{ MetalSupportType::ThickCentred, MetalSupportType::ThickAltCentred, MetalSupportType::Thick, MetalSupportType::ThickAlt },
|
||||
{ MetalSupportType::Thick, MetalSupportType::ThickAlt, MetalSupportType::ThickCentred, MetalSupportType::ThickAltCentred },
|
||||
{ MetalSupportType::ThickAlt, MetalSupportType::ThickCentred, MetalSupportType::ThickAltCentred, MetalSupportType::Thick },
|
||||
{ MetalSupportType::ThickAltCentred, MetalSupportType::Thick, MetalSupportType::ThickAlt, MetalSupportType::ThickCentred },
|
||||
{ MetalSupportType::Truss, MetalSupportType::Truss, MetalSupportType::Truss, MetalSupportType::Truss },
|
||||
{ MetalSupportType::TubesInverted, MetalSupportType::TubesInverted, MetalSupportType::TubesInverted,
|
||||
MetalSupportType::TubesInverted },
|
||||
{ MetalSupportType::BoxedCoated, MetalSupportType::BoxedCoated, MetalSupportType::BoxedCoated,
|
||||
MetalSupportType::BoxedCoated },
|
||||
};
|
||||
|
||||
void DrawSupportsSideBySide(
|
||||
PaintSession& session, Direction direction, uint16_t height, ImageId colour, MetalSupportType type, int32_t special)
|
||||
{
|
||||
type = RotatedMetalSupports[EnumValue(type)][direction];
|
||||
type = kMetalSupportTypeRotated[EnumValue(type)][direction];
|
||||
|
||||
if (direction & 1)
|
||||
{
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include "../../world/TileInspector.h"
|
||||
#include "../support/WoodenSupports.h"
|
||||
#include "Paint.TileElement.h"
|
||||
#include "Segment.h"
|
||||
|
||||
using namespace OpenRCT2;
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "../Boundbox.h"
|
||||
#include "../support/WoodenSupports.h"
|
||||
#include "Paint.TileElement.h"
|
||||
#include "Segment.h"
|
||||
|
||||
using namespace OpenRCT2;
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include "Paint.PathAddition.h"
|
||||
#include "Paint.Surface.h"
|
||||
#include "Paint.TileElement.h"
|
||||
#include "Segment.h"
|
||||
|
||||
using namespace OpenRCT2;
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "../../world/TileInspector.h"
|
||||
#include "../support/WoodenSupports.h"
|
||||
#include "Paint.TileElement.h"
|
||||
#include "Segment.h"
|
||||
|
||||
using namespace OpenRCT2;
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include "../Boundbox.h"
|
||||
#include "../Paint.SessionFlags.h"
|
||||
#include "Paint.TileElement.h"
|
||||
#include "Segment.h"
|
||||
|
||||
#include <cstring>
|
||||
#include <iterator>
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "../VirtualFloor.h"
|
||||
#include "../support/WoodenSupports.h"
|
||||
#include "Paint.Surface.h"
|
||||
#include "Segment.h"
|
||||
|
||||
static void BlankTilesPaint(PaintSession& session, int32_t x, int32_t y);
|
||||
static void PaintTileElementBase(PaintSession& session, const CoordsXY& origCoords);
|
||||
|
|
|
@ -26,25 +26,6 @@ enum edge_t
|
|||
EDGE_TOPRIGHT = EDGE_NE
|
||||
};
|
||||
|
||||
// This controls in which segment of a tile something is drawn.
|
||||
// This is from a screen perspective, e.g. topCorner will always represent the part of top of the screen.
|
||||
enum class PaintSegment : uint16_t
|
||||
{
|
||||
topCorner = 0,
|
||||
topRightSide = 1,
|
||||
rightCorner = 2,
|
||||
bottomRightSide = 3,
|
||||
bottomCorner = 4,
|
||||
bottomLeftSide = 5,
|
||||
leftCorner = 6,
|
||||
topLeftSide = 7,
|
||||
centre = 8,
|
||||
};
|
||||
constexpr int32_t kSegmentsAll = EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::leftCorner, PaintSegment::rightCorner, PaintSegment::bottomCorner,
|
||||
PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide);
|
||||
|
||||
enum
|
||||
{
|
||||
TUNNEL_0 = 0,
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (c) 2014-2024 OpenRCT2 developers
|
||||
*
|
||||
* For a complete list of all authors, please refer to contributors.md
|
||||
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
||||
*
|
||||
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
||||
*****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../util/Util.h"
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
// This controls in which segment of a tile something is drawn.
|
||||
// This is from a screen perspective, e.g. topCorner will always represent the part of top of the screen.
|
||||
enum class PaintSegment : uint16_t
|
||||
{
|
||||
topCorner = 0,
|
||||
topRightSide = 1,
|
||||
rightCorner = 2,
|
||||
bottomRightSide = 3,
|
||||
bottomCorner = 4,
|
||||
bottomLeftSide = 5,
|
||||
leftCorner = 6,
|
||||
topLeftSide = 7,
|
||||
centre = 8,
|
||||
};
|
||||
constexpr int32_t kSegmentsAll = EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::leftCorner, PaintSegment::rightCorner, PaintSegment::bottomCorner,
|
||||
PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide);
|
|
@ -0,0 +1,28 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (c) 2014-2024 OpenRCT2 developers
|
||||
*
|
||||
* For a complete list of all authors, please refer to contributors.md
|
||||
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
||||
*
|
||||
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
||||
*****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../tile_element/Segment.h"
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace BlockedSegments
|
||||
{
|
||||
constexpr uint16_t kStraightFlat = EnumsToFlags(
|
||||
PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide);
|
||||
constexpr uint16_t kDiagStraightFlat[] = {
|
||||
EnumsToFlags(
|
||||
PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomRightSide, PaintSegment::rightCorner),
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::topLeftSide, PaintSegment::topCorner),
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomLeftSide, PaintSegment::centre, PaintSegment::bottomCorner, PaintSegment::bottomRightSide),
|
||||
EnumsToFlags(PaintSegment::bottomLeftSide, PaintSegment::centre, PaintSegment::leftCorner, PaintSegment::topLeftSide),
|
||||
};
|
||||
} // namespace BlockedSegments
|
|
@ -23,6 +23,7 @@
|
|||
#include "../paint/support/MetalSupports.h"
|
||||
#include "../paint/support/WoodenSupports.h"
|
||||
#include "../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../paint/tile_element/Segment.h"
|
||||
#include "../scenario/Scenario.h"
|
||||
#include "../sprites.h"
|
||||
#include "../world/Map.h"
|
||||
|
@ -1247,8 +1248,7 @@ static constexpr int8_t diag_sprite_map[4][4] = {
|
|||
|
||||
void TrackPaintUtilDiagTilesPaint(
|
||||
PaintSession& session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence,
|
||||
const ImageId colourFlags, const uint32_t sprites[4], const CoordsXY offsets[4], const CoordsXY boundsLengths[4],
|
||||
const CoordsXYZ boundsOffsets[4])
|
||||
const uint32_t sprites[4], const CoordsXY offsets[4], const CoordsXY boundsLengths[4], const CoordsXYZ boundsOffsets[4])
|
||||
{
|
||||
int32_t index = diag_sprite_map[direction][trackSequence];
|
||||
if (index < 0)
|
||||
|
@ -1256,7 +1256,7 @@ void TrackPaintUtilDiagTilesPaint(
|
|||
return;
|
||||
}
|
||||
|
||||
auto imageId = colourFlags.WithIndex(sprites[direction]);
|
||||
auto imageId = session.TrackColours.WithIndex(sprites[direction]);
|
||||
CoordsXY offset = (offsets == nullptr ? CoordsXY() : offsets[direction]);
|
||||
CoordsXY boundsLength = boundsLengths[direction];
|
||||
CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction]);
|
||||
|
|
|
@ -84,12 +84,6 @@ constexpr uint8_t kTrackMap1x4[][4] = {
|
|||
{ 0, 1, 2, 3 },
|
||||
};
|
||||
|
||||
constexpr int32_t kDiagBlockedSegments[] = {
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomRightSide, PaintSegment::rightCorner),
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::topLeftSide, PaintSegment::topCorner),
|
||||
EnumsToFlags(PaintSegment::bottomLeftSide, PaintSegment::centre, PaintSegment::bottomCorner, PaintSegment::bottomRightSide),
|
||||
EnumsToFlags(PaintSegment::bottomLeftSide, PaintSegment::centre, PaintSegment::leftCorner, PaintSegment::topLeftSide),
|
||||
};
|
||||
extern const MetalSupportPlace DiagSupportPlacement[];
|
||||
|
||||
enum
|
||||
|
@ -456,8 +450,7 @@ void TrackPaintUtilEighthToDiagTilesPaint(
|
|||
const CoordsXYZ boundsOffsets[4][4]);
|
||||
void TrackPaintUtilDiagTilesPaint(
|
||||
PaintSession& session, int8_t thickness, int16_t height, Direction direction, uint8_t trackSequence,
|
||||
const ImageId colourFlags, const uint32_t sprites[4], const CoordsXY offsets[4], const CoordsXY boundsLengths[4],
|
||||
const CoordsXYZ boundsOffsets[4]);
|
||||
const uint32_t sprites[4], const CoordsXY offsets[4], const CoordsXY boundsLengths[4], const CoordsXYZ boundsOffsets[4]);
|
||||
|
||||
void TrackPaintUtilLeftQuarterTurn1TileTunnel(
|
||||
PaintSession& session, Direction direction, uint16_t baseHeight, int8_t startOffset, uint8_t startTunnel, int8_t endOffset,
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -88,10 +90,7 @@ namespace AlpineRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -205,10 +204,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -289,10 +285,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -373,10 +366,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -792,11 +782,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -963,11 +949,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -2419,10 +2401,7 @@ namespace AlpineRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -2467,10 +2446,7 @@ namespace AlpineRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -2536,10 +2512,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -2591,10 +2564,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -2646,10 +2616,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -2701,10 +2668,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -2771,10 +2735,7 @@ namespace AlpineRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4702,11 +4663,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4873,11 +4830,7 @@ namespace AlpineRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -7470,10 +7423,7 @@ namespace AlpineRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -94,11 +96,7 @@ static void BobsleighRCTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -225,11 +223,7 @@ static void BobsleighRCTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -332,11 +326,7 @@ static void BobsleighRCTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -439,11 +429,7 @@ static void BobsleighRCTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -789,11 +775,7 @@ static void BobsleighRCTrackFlatToLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -843,11 +825,7 @@ static void BobsleighRCTrackFlatToRightBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -897,11 +875,7 @@ static void BobsleighRCTrackLeftBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -951,11 +925,7 @@ static void BobsleighRCTrackRightBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1284,11 +1254,7 @@ static void BobsleighRCTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1345,11 +1311,7 @@ static void BobsleighRCTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1406,11 +1368,7 @@ static void BobsleighRCTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1467,11 +1425,7 @@ static void BobsleighRCTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1553,11 +1507,7 @@ static void BobsleighRCTrackLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4133,11 +4083,7 @@ static void BobsleighRCTrackBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4174,11 +4120,7 @@ static void BobsleighRCTrackBlockBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -95,11 +97,7 @@ static void BolligerMabillardTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -213,11 +211,7 @@ static void BolligerMabillardTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -294,11 +288,7 @@ static void BolligerMabillardTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -375,11 +365,7 @@ static void BolligerMabillardTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -468,11 +454,7 @@ static void BolligerMabillardTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -561,11 +543,7 @@ static void BolligerMabillardTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -642,11 +620,7 @@ static void BolligerMabillardTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -950,11 +924,7 @@ static void BolligerMabillardTrackFlatToLeftBank(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -997,11 +967,7 @@ static void BolligerMabillardTrackFlatToRightBank(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1044,11 +1010,7 @@ static void BolligerMabillardTrackLeftBankToFlat(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1091,11 +1053,7 @@ static void BolligerMabillardTrackRightBankToFlat(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1369,11 +1327,7 @@ static void BolligerMabillardTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1423,11 +1377,7 @@ static void BolligerMabillardTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1477,11 +1427,7 @@ static void BolligerMabillardTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1531,11 +1477,7 @@ static void BolligerMabillardTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1608,11 +1550,7 @@ static void BolligerMabillardTrackLeftBank(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4939,11 +4877,7 @@ static void BolligerMabillardTrackBrakes(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4987,11 +4921,7 @@ static void BolligerMabillardTrack25DegUpLeftBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5035,11 +4965,7 @@ static void BolligerMabillardTrack25DegUpRightBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5130,10 +5056,7 @@ static void BolligerMabillardTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5186,10 +5109,7 @@ static void BolligerMabillardTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5243,11 +5163,7 @@ static void BolligerMabillardTrack90DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5287,10 +5203,7 @@ static void BolligerMabillardTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5335,10 +5248,7 @@ static void BolligerMabillardTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5502,10 +5412,7 @@ static void BolligerMabillardTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5689,10 +5596,7 @@ static void BolligerMabillardTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5856,10 +5760,7 @@ static void BolligerMabillardTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6036,15 +5937,6 @@ static void BolligerMabillardTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6069,14 +5961,6 @@ static void BolligerMabillardTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6101,15 +5985,6 @@ static void BolligerMabillardTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6162,17 +6037,12 @@ static void BolligerMabillardTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
template<MetalSupportType supportType>
|
||||
|
@ -10711,11 +10581,7 @@ static void BolligerMabillardTrackBlockBrakes(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11394,11 +11260,7 @@ static void BolligerMabillardTrack25DegUpToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11445,11 +11307,7 @@ static void BolligerMabillardTrack25DegUpToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11496,11 +11354,7 @@ static void BolligerMabillardTrackLeftBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11547,11 +11401,7 @@ static void BolligerMabillardTrackRightBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11631,11 +11481,7 @@ static void BolligerMabillardTrackLeftBankedFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11679,11 +11525,7 @@ static void BolligerMabillardTrackRightBankedFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11727,11 +11569,7 @@ static void BolligerMabillardTrackLeftBanked25DegUpToLeftBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11775,11 +11613,7 @@ static void BolligerMabillardTrackRightBanked25DegUpToRightBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11862,11 +11696,7 @@ static void BolligerMabillardTrackFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11913,11 +11743,7 @@ static void BolligerMabillardTrackFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11964,11 +11790,7 @@ static void BolligerMabillardTrackLeftBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -12015,11 +11837,7 @@ static void BolligerMabillardTrackRightBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -12098,10 +11916,7 @@ static void BolligerMabillardTrackLeftQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -12148,10 +11963,7 @@ static void BolligerMabillardTrackRightQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -12257,11 +12069,7 @@ static void BolligerMabillardTrackFlatTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
||||
|
@ -12344,11 +12152,7 @@ static void BolligerMabillardTrack60DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -12411,11 +12215,7 @@ static void BolligerMabillardTrackBrakeForDrop(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -12453,10 +12253,7 @@ static void BolligerMabillardTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -12550,10 +12347,7 @@ static void BolligerMabillardTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -12863,10 +12657,7 @@ static void BolligerMabillardTrackFlatTo60DegUpLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -12898,10 +12689,7 @@ static void BolligerMabillardTrackFlatTo60DegUpLongBase(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 7, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -12933,10 +12721,7 @@ static void BolligerMabillardTrackFlatTo60DegUpLongBase(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 9, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -12977,10 +12762,7 @@ static void BolligerMabillardTrackFlatTo60DegUpLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -13027,10 +12809,7 @@ static void BolligerMabillardTrack60DegUpToFlatLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13062,10 +12841,7 @@ static void BolligerMabillardTrack60DegUpToFlatLongBase(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 16, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -13097,10 +12873,7 @@ static void BolligerMabillardTrack60DegUpToFlatLongBase(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 13, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -13141,10 +12914,7 @@ static void BolligerMabillardTrack60DegUpToFlatLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -13561,11 +13331,7 @@ static void BolligerMabillardTrackPoweredLift(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -13606,10 +13372,7 @@ static void BolligerMabillardTrackLeftLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13638,10 +13401,7 @@ static void BolligerMabillardTrackLeftLargeHalfLoopUp(
|
|||
}
|
||||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 9, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -13866,10 +13626,7 @@ static void BolligerMabillardTrackRightLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13898,10 +13655,7 @@ static void BolligerMabillardTrackRightLargeHalfLoopUp(
|
|||
}
|
||||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 9, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -14246,11 +14000,7 @@ void BolligerMabillardTrackBooster(
|
|||
MetalASupportsPaintSetup(session, supportType, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -14740,15 +14490,15 @@ static void BolligerMabillardTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, BolligerMabillardDiagBrakeImages,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, BolligerMabillardDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(session, supportType, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -14759,16 +14509,15 @@ static void BolligerMabillardTrackDiagBlockBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
BolligerMabillardDiagBlockBrakeImages[trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 3, height, direction, trackSequence, BolligerMabillardDiagBlockBrakeImages[trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(session, supportType, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
||||
*****************************************************************************/
|
||||
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
@ -159,11 +161,7 @@ static void classicStandUpRCTrackFlatToLeftBank(
|
|||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -188,11 +186,7 @@ static void classicStandUpRCTrackFlatToRightBank(
|
|||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -428,11 +422,7 @@ static void classicStandUpRCTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -464,11 +454,7 @@ static void classicStandUpRCTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -500,11 +486,7 @@ static void classicStandUpRCTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -536,11 +518,7 @@ static void classicStandUpRCTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -597,11 +575,7 @@ static void classicStandUpRCTrackLeftBank(
|
|||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -645,10 +619,7 @@ static void classicStandUpRCTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -803,10 +774,7 @@ static void classicStandUpRCTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1068,14 +1036,7 @@ static inline void classicStandUpRCTrackDiagFlatWithBank(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
switch (direction)
|
||||
|
@ -1086,13 +1047,7 @@ static inline void classicStandUpRCTrackDiagFlatWithBank(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
switch (direction)
|
||||
|
@ -1103,14 +1058,7 @@ static inline void classicStandUpRCTrackDiagFlatWithBank(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
switch (direction)
|
||||
|
@ -1124,17 +1072,11 @@ static inline void classicStandUpRCTrackDiagFlatWithBank(
|
|||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::LeftCorner, direction, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -12,20 +12,27 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../TrackData.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
static constexpr const uint32_t CompactInvertedDiagBrakeImages[NumOrthogonalDirections] = {
|
||||
static constexpr ImageIndex kCompactInvertedDiagFlatImages[2][NumOrthogonalDirections] = {
|
||||
{ 26781, 26782, 26783, 26784 },
|
||||
{ 26809, 26810, 26811, 26812 },
|
||||
};
|
||||
|
||||
static constexpr ImageIndex kCompactInvertedDiagBrakeImages[NumOrthogonalDirections] = {
|
||||
SPR_G2_SLC_DIAG_BRAKES,
|
||||
SPR_G2_SLC_DIAG_BRAKES + 1,
|
||||
SPR_G2_SLC_DIAG_BRAKES,
|
||||
SPR_G2_SLC_DIAG_BRAKES + 1,
|
||||
};
|
||||
|
||||
static constexpr const uint32_t CompactInvertedDiagBlockBrakeImages[2][NumOrthogonalDirections] = {
|
||||
static constexpr ImageIndex kCompactInvertedDiagBlockBrakeImages[2][NumOrthogonalDirections] = {
|
||||
{
|
||||
SPR_G2_SLC_DIAG_BRAKES,
|
||||
SPR_G2_SLC_DIAG_BRAKES + 1,
|
||||
|
@ -82,11 +89,7 @@ static void CompactInvertedRCTrackFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -183,11 +186,7 @@ static void CompactInvertedRCTrack25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -291,11 +290,7 @@ static void CompactInvertedRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 120, 0x20);
|
||||
}
|
||||
|
||||
|
@ -357,11 +352,7 @@ static void CompactInvertedRCTrackFlatTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -477,11 +468,7 @@ static void CompactInvertedRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
}
|
||||
|
||||
|
@ -555,11 +542,7 @@ static void CompactInvertedRCTrack60DegUpTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -656,11 +639,7 @@ static void CompactInvertedRCTrack25DegUpToFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -4208,10 +4187,7 @@ static void CompactInvertedRCTrackHalfLoopUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -4332,10 +4308,7 @@ static void CompactInvertedRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 32, TUNNEL_INVERTED_3);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -4740,11 +4713,7 @@ static void CompactInvertedRCTrackBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -5679,10 +5648,7 @@ static void CompactInvertedRCTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5764,10 +5730,7 @@ static void CompactInvertedRCTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5849,11 +5812,7 @@ static void CompactInvertedRCTrack90DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_INVERTED_5);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5922,10 +5881,7 @@ static void CompactInvertedRCTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5966,10 +5922,7 @@ static void CompactInvertedRCTrackLeftEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38, session.SupportColours);
|
||||
|
||||
|
@ -6153,10 +6106,7 @@ static void CompactInvertedRCTrackRightEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 38, session.SupportColours);
|
||||
|
||||
|
@ -6723,209 +6673,45 @@ static void CompactInvertedRCTrackRightEighthBankToOrthogonal(
|
|||
CompactInvertedRCTrackLeftEighthBankToDiag(session, ride, trackSequence, (direction + 3) & 3, height, trackElement);
|
||||
}
|
||||
|
||||
inline void CompactInvertedRCTrackDiagFlatBase(
|
||||
PaintSession& session, uint8_t trackSequence, const ImageIndex* images, uint8_t direction, int32_t height)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height + 29, direction, trackSequence, images, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, DiagSupportPlacement[direction], 0, height + 38, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x008AEB80 */
|
||||
static void CompactInvertedRCTrackDiagFlat(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26812), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26784), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26809), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26781), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26811), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26783), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26810), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26782), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::LeftCorner, 0, height + 38,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopCorner, 0, height + 38,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::RightCorner, 0, height + 38,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomCorner, 0, height + 38,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
const auto* images = kCompactInvertedDiagFlatImages[trackElement.HasChain()];
|
||||
CompactInvertedRCTrackDiagFlatBase(session, trackSequence, images, direction, height);
|
||||
}
|
||||
|
||||
static void CompactInvertedRCTrackDiagBrakes(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height + 29, direction, trackSequence, session.TrackColours, CompactInvertedDiagBrakeImages,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, DiagSupportPlacement[direction], 0, height + 38, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
CompactInvertedRCTrackDiagFlatBase(session, trackSequence, kCompactInvertedDiagBrakeImages, direction, height);
|
||||
}
|
||||
|
||||
static void CompactInvertedRCTrackDiagBlockBrakes(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height + 29, direction, trackSequence, session.TrackColours,
|
||||
CompactInvertedDiagBlockBrakeImages[trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, DiagSupportPlacement[direction], 0, height + 38, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
const auto* images = kCompactInvertedDiagBlockBrakeImages[trackElement.IsBrakeClosed()];
|
||||
CompactInvertedRCTrackDiagFlatBase(session, trackSequence, images, direction, height);
|
||||
}
|
||||
|
||||
/** rct2: 0x008AEBB0 */
|
||||
|
@ -10136,11 +9922,7 @@ static void CompactInvertedRCTrackBlockBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -112,11 +114,7 @@ static void CorkscrewRCTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -230,11 +228,7 @@ static void CorkscrewRCTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -313,11 +307,7 @@ static void CorkscrewRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -396,11 +386,7 @@ static void CorkscrewRCTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -491,11 +477,7 @@ static void CorkscrewRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -586,11 +568,7 @@ static void CorkscrewRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -669,11 +647,7 @@ static void CorkscrewRCTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -977,11 +951,7 @@ static void CorkscrewRCTrackFlatToLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1025,11 +995,7 @@ static void CorkscrewRCTrackFlatToRightBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1073,11 +1039,7 @@ static void CorkscrewRCTrackLeftBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1121,11 +1083,7 @@ static void CorkscrewRCTrackRightBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1394,11 +1352,7 @@ static void CorkscrewRCTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1449,11 +1403,7 @@ static void CorkscrewRCTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1504,11 +1454,7 @@ static void CorkscrewRCTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1559,11 +1505,7 @@ static void CorkscrewRCTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1633,11 +1575,7 @@ static void CorkscrewRCTrackLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -3474,10 +3412,7 @@ static void CorkscrewRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -3571,10 +3506,7 @@ static void CorkscrewRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -5379,11 +5311,7 @@ static void CorkscrewRCTrackBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5464,10 +5392,7 @@ static void CorkscrewRCTrackFlatTo60DegUpLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5500,10 +5425,7 @@ static void CorkscrewRCTrackFlatTo60DegUpLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 7, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -5536,10 +5458,7 @@ static void CorkscrewRCTrackFlatTo60DegUpLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 9, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -5581,10 +5500,7 @@ static void CorkscrewRCTrackFlatTo60DegUpLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -5631,10 +5547,7 @@ static void CorkscrewRCTrack60DegUpToFlatLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5667,10 +5580,7 @@ static void CorkscrewRCTrack60DegUpToFlatLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 16, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -5703,10 +5613,7 @@ static void CorkscrewRCTrack60DegUpToFlatLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 13, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -5748,10 +5655,7 @@ static void CorkscrewRCTrack60DegUpToFlatLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -5811,10 +5715,7 @@ static void CorkscrewRCTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5979,10 +5880,7 @@ static void CorkscrewRCTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6165,10 +6063,7 @@ static void CorkscrewRCTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6333,10 +6228,7 @@ static void CorkscrewRCTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6511,15 +6403,6 @@ static void CorkscrewRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6544,14 +6427,6 @@ static void CorkscrewRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6576,15 +6451,6 @@ static void CorkscrewRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6641,17 +6507,12 @@ static void CorkscrewRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
static void CorkscrewRCTrackDiagBrakes(
|
||||
|
@ -6659,7 +6520,7 @@ static void CorkscrewRCTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, CorkscrewRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
session, 3, height, direction, trackSequence, CorkscrewRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
|
@ -6668,7 +6529,7 @@ static void CorkscrewRCTrackDiagBrakes(
|
|||
session, MetalSupportType::Tubes, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -6678,9 +6539,8 @@ static void CorkscrewRCTrackDiagBlockBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
CorkscrewRCDiagBlockBrakeImages[trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 3, height, direction, trackSequence, CorkscrewRCDiagBlockBrakeImages[trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -6688,7 +6548,7 @@ static void CorkscrewRCTrackDiagBlockBrakes(
|
|||
session, MetalSupportType::Tubes, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -10206,11 +10066,7 @@ static void CorkscrewRCTrackBlockBrakes(
|
|||
{ { 0, 6, height }, { 32, 20, 3 } });
|
||||
MetalASupportsPaintSetup(session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10256,11 +10112,7 @@ static void CorkscrewRCTrackBooster(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11006,10 +10858,7 @@ static void LayDownRCTrackFlyerHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11107,10 +10956,7 @@ static void LayDownRCTrackFlyerHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -89,10 +91,7 @@ static void FlyingRCTrackFlat(
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -135,10 +134,7 @@ static void FlyingRCTrackFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -281,10 +277,7 @@ static void FlyingRCTrack25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -343,10 +336,7 @@ static void FlyingRCTrack25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -430,10 +420,7 @@ static void FlyingRCTrack60DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -470,10 +457,7 @@ static void FlyingRCTrack60DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
}
|
||||
|
@ -551,10 +535,7 @@ static void FlyingRCTrackFlatTo25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -613,10 +594,7 @@ static void FlyingRCTrackFlatTo25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -706,10 +684,7 @@ static void FlyingRCTrack25DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -752,10 +727,7 @@ static void FlyingRCTrack25DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
}
|
||||
|
@ -810,10 +782,7 @@ static void FlyingRCTrack60DegUpTo25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -849,10 +818,7 @@ static void FlyingRCTrack60DegUpTo25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -965,10 +931,7 @@ static void FlyingRCTrack25DegUpToFlat(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -1027,10 +990,7 @@ static void FlyingRCTrack25DegUpToFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -1581,10 +1541,7 @@ static void FlyingRCTrackFlatToLeftBank(
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -1675,10 +1632,7 @@ static void FlyingRCTrackFlatToRightBank(
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -1769,10 +1723,7 @@ static void FlyingRCTrackLeftBankToFlat(
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -1863,10 +1814,7 @@ static void FlyingRCTrackRightBankToFlat(
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -2385,10 +2333,7 @@ static void FlyingRCTrackLeftBankTo25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -2514,10 +2459,7 @@ static void FlyingRCTrackRightBankTo25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -2643,10 +2585,7 @@ static void FlyingRCTrack25DegUpToLeftBank(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -2772,10 +2711,7 @@ static void FlyingRCTrack25DegUpToRightBank(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -2920,10 +2856,7 @@ static void FlyingRCTrackLeftBank(
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -7099,10 +7032,7 @@ static void FlyingRCTrackBrakes(
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -7124,10 +7054,7 @@ static void FlyingRCTrackBrakes(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -7156,10 +7083,7 @@ static void FlyingRCTrackBooster(
|
|||
{ { 0, 6, height + 22 }, { 32, 20, 1 } });
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -8041,10 +7965,7 @@ static void FlyingRCTrack25DegUpLeftBanked(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -8074,10 +7995,7 @@ static void FlyingRCTrack25DegUpLeftBanked(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -8161,10 +8079,7 @@ static void FlyingRCTrack25DegUpRightBanked(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -8194,10 +8109,7 @@ static void FlyingRCTrack25DegUpRightBanked(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -8364,11 +8276,7 @@ static void FlyingRCTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -8528,11 +8436,7 @@ static void FlyingRCTrackLeftEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 39,
|
||||
session.SupportColours);
|
||||
|
@ -8725,11 +8629,7 @@ static void FlyingRCTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -8889,11 +8789,7 @@ static void FlyingRCTrackRightEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 39,
|
||||
session.SupportColours);
|
||||
|
@ -9104,11 +9000,7 @@ static void FlyingRCTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -9468,11 +9360,7 @@ static void FlyingRCTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10158,10 +10046,10 @@ static void FlyingRCTrackDiagBrakesInverted(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height + 24, direction, trackSequence, session.TrackColours, InvertedRCDiagBrakeImages,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height + 24, direction, trackSequence, InvertedRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
|
||||
if (trackSequence == 3)
|
||||
|
@ -17362,10 +17250,7 @@ static void FlyingRCTrackFlyerHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -17463,10 +17348,7 @@ static void FlyingRCTrackFlyerHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -17504,10 +17386,7 @@ static void FlyingRCTrackFlyerHalfLoopDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -17607,10 +17486,7 @@ static void FlyingRCTrackFlyerHalfLoopDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -17642,10 +17518,7 @@ static void FlyingRCTrackBlockBrakes(
|
|||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -17667,10 +17540,7 @@ static void FlyingRCTrackBlockBrakes(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -18941,10 +18811,7 @@ static void FlyingRCTrack25DegUpToLeftBanked25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -18974,10 +18841,7 @@ static void FlyingRCTrack25DegUpToLeftBanked25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19064,10 +18928,7 @@ static void FlyingRCTrack25DegUpToRightBanked25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -19097,10 +18958,7 @@ static void FlyingRCTrack25DegUpToRightBanked25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19187,10 +19045,7 @@ static void FlyingRCTrackLeftBanked25DegUpTo25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -19220,10 +19075,7 @@ static void FlyingRCTrackLeftBanked25DegUpTo25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19310,10 +19162,7 @@ static void FlyingRCTrackRightBanked25DegUpTo25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -19343,10 +19192,7 @@ static void FlyingRCTrackRightBanked25DegUpTo25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19462,10 +19308,7 @@ static void FlyingRCTrackLeftBankedFlatToLeftBanked25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -19495,10 +19338,7 @@ static void FlyingRCTrackLeftBankedFlatToLeftBanked25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19582,10 +19422,7 @@ static void FlyingRCTrackRightBankedFlatToRightBanked25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -19615,10 +19452,7 @@ static void FlyingRCTrackRightBankedFlatToRightBanked25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19702,10 +19536,7 @@ static void FlyingRCTrackLeftBanked25DegUpToLeftBankedFlat(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -19735,10 +19566,7 @@ static void FlyingRCTrackLeftBanked25DegUpToLeftBankedFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19822,10 +19650,7 @@ static void FlyingRCTrackRightBanked25DegUpToRightBankedFlat(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -19855,10 +19680,7 @@ static void FlyingRCTrackRightBanked25DegUpToRightBankedFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -19977,10 +19799,7 @@ static void FlyingRCTrackFlatToLeftBanked25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -20010,10 +19829,7 @@ static void FlyingRCTrackFlatToLeftBanked25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -20100,10 +19916,7 @@ static void FlyingRCTrackFlatToRightBanked25DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -20133,10 +19946,7 @@ static void FlyingRCTrackFlatToRightBanked25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -20223,10 +20033,7 @@ static void FlyingRCTrackLeftBanked25DegUpToFlat(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -20256,10 +20063,7 @@ static void FlyingRCTrackLeftBanked25DegUpToFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -20346,10 +20150,7 @@ static void FlyingRCTrackRightBanked25DegUpToFlat(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -20379,10 +20180,7 @@ static void FlyingRCTrackRightBanked25DegUpToFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -20490,10 +20288,7 @@ static void FlyingRCTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -20546,10 +20341,7 @@ static void FlyingRCTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -20602,11 +20394,7 @@ static void FlyingRCTrack90DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_SQUARE_8);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
}
|
||||
|
||||
|
@ -20647,10 +20435,7 @@ static void FlyingRCTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -20842,10 +20627,7 @@ static void FlyingRCTrackHalfLoopInvertedUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -20966,10 +20748,7 @@ static void FlyingRCTrackHalfLoopInvertedUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 32, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -21017,10 +20796,7 @@ static void FlyingRCTrackLeftFlyingLargeHalfLoopInvertedUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -21048,10 +20824,7 @@ static void FlyingRCTrackLeftFlyingLargeHalfLoopInvertedUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -21278,10 +21051,7 @@ static void FlyingRCTrackRightFlyingLargeHalfLoopInvertedUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -21309,10 +21079,7 @@ static void FlyingRCTrackRightFlyingLargeHalfLoopInvertedUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -163,11 +165,7 @@ static void GigaRCTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -311,11 +309,7 @@ static void GigaRCTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -394,11 +388,7 @@ static void GigaRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -508,11 +498,7 @@ static void GigaRCTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -603,11 +589,7 @@ static void GigaRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -698,11 +680,7 @@ static void GigaRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -812,11 +790,7 @@ static void GigaRCTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1120,11 +1094,7 @@ static void GigaRCTrackFlatToLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1168,11 +1138,7 @@ static void GigaRCTrackFlatToRightBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1216,11 +1182,7 @@ static void GigaRCTrackLeftBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1264,11 +1226,7 @@ static void GigaRCTrackRightBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1537,11 +1495,7 @@ static void GigaRCTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1592,11 +1546,7 @@ static void GigaRCTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1647,11 +1597,7 @@ static void GigaRCTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1702,11 +1648,7 @@ static void GigaRCTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1776,11 +1718,7 @@ static void GigaRCTrackLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4591,11 +4529,7 @@ static void GigaRCTrackBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4640,11 +4574,7 @@ static void GigaRCTrack25DegUpLeftBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4689,11 +4619,7 @@ static void GigaRCTrack25DegUpRightBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4824,10 +4750,7 @@ static void GigaRCTrackFlatTo60DegUpLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4894,10 +4817,7 @@ static void GigaRCTrackFlatTo60DegUpLongBase(
|
|||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -4964,10 +4884,7 @@ static void GigaRCTrackFlatTo60DegUpLongBase(
|
|||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -5043,10 +4960,7 @@ static void GigaRCTrackFlatTo60DegUpLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -5093,10 +5007,7 @@ static void GigaRCTrack60DegUpToFlatLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5129,10 +5040,7 @@ static void GigaRCTrack60DegUpToFlatLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 12, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -5165,10 +5073,7 @@ static void GigaRCTrack60DegUpToFlatLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 9, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -5210,10 +5115,7 @@ static void GigaRCTrack60DegUpToFlatLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -5280,10 +5182,7 @@ static void GigaRCTrackCableLiftHill(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5324,10 +5223,7 @@ static void GigaRCTrackCableLiftHill(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -5374,10 +5270,7 @@ static void GigaRCTrackCableLiftHill(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -5418,10 +5311,7 @@ static void GigaRCTrackCableLiftHill(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_SQUARE_7);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -5465,10 +5355,7 @@ static void GigaRCTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5633,10 +5520,7 @@ static void GigaRCTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5819,10 +5703,7 @@ static void GigaRCTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5987,10 +5868,7 @@ static void GigaRCTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6165,15 +6043,7 @@ static void GigaRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6198,14 +6068,7 @@ static void GigaRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6230,15 +6093,7 @@ static void GigaRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6295,17 +6150,13 @@ static void GigaRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x008ADB04 */
|
||||
|
@ -9375,11 +9226,7 @@ static void GigaRCTrackBlockBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10062,11 +9909,7 @@ static void GigaRCTrack25DegUpToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10114,11 +9957,7 @@ static void GigaRCTrack25DegUpToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10166,11 +10005,7 @@ static void GigaRCTrackLeftBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10218,11 +10053,7 @@ static void GigaRCTrackRightBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10299,11 +10130,7 @@ static void GigaRCTrackLeftBankedFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10348,11 +10175,7 @@ static void GigaRCTrackRightBankedFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10397,11 +10220,7 @@ static void GigaRCTrackLeftBanked25DegUpToLeftBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10446,11 +10265,7 @@ static void GigaRCTrackRightBanked25DegUpToRightBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10530,11 +10345,7 @@ static void GigaRCTrackFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10582,11 +10393,7 @@ static void GigaRCTrackFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10634,11 +10441,7 @@ static void GigaRCTrackLeftBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10686,11 +10489,7 @@ static void GigaRCTrackRightBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10751,11 +10550,7 @@ static void GigaRCTrackBooster(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10780,11 +10575,7 @@ static void GigaRCTrackPoweredLift(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10820,10 +10611,7 @@ static void GigaRCTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10879,10 +10667,7 @@ static void GigaRCTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10933,11 +10718,7 @@ static void GigaRCTrack90DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_2);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10976,10 +10757,7 @@ static void GigaRCTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11025,10 +10803,7 @@ static void GigaRCTrackLeftQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11074,10 +10849,7 @@ static void GigaRCTrackRightQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11490,10 +11262,7 @@ static void GigaRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11594,10 +11363,7 @@ static void GigaRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -12969,10 +12735,7 @@ static void GigaRCTrackLeftMediumHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13170,10 +12933,7 @@ static void GigaRCTrackRightMediumHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13396,10 +13156,7 @@ static void GigaRCTrackLeftZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13539,10 +13296,7 @@ static void GigaRCTrackRightZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13687,10 +13441,7 @@ static void GigaRCTrackLeftLargeZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13721,10 +13472,7 @@ static void GigaRCTrackLeftLargeZeroGRollUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -13865,10 +13613,7 @@ static void GigaRCTrackRightLargeZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13899,10 +13644,7 @@ static void GigaRCTrackRightLargeZeroGRollUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -14580,10 +14322,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -14619,10 +14358,7 @@ static void GigaRCTrackLeftLargeHalfLoopUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -14851,10 +14587,7 @@ static void GigaRCTrackRightLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -14890,10 +14623,7 @@ static void GigaRCTrackRightLargeHalfLoopUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -15141,11 +14871,7 @@ static void GigaRCTrackFlatTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
||||
|
@ -15191,11 +14917,7 @@ static void GigaRCTrack60DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -15642,10 +15364,7 @@ static void GigaRCTrackLeftEighthToDiagUp25(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -15809,10 +15528,7 @@ static void GigaRCTrackRightEighthToDiagUp25(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -16098,10 +15814,7 @@ static void GigaRCTrackLeftEighthToOrthogonalUp25(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -17847,10 +17560,7 @@ static void GigaRCTrackLeftEighthBankToDiagUp25(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -18020,10 +17730,7 @@ static void GigaRCTrackRightEighthBankToDiagUp25(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -18313,10 +18020,7 @@ static void GigaRCTrackLeftEighthBankToOrthogonalUp25(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -18541,13 +18245,12 @@ static void GigaRCTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
GigaDiagBrakeImages[trackElement.IsBrakeClosed()][0], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, GigaDiagBrakeImages[trackElement.IsBrakeClosed()][0],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
GigaDiagBrakeImages[trackElement.IsBrakeClosed()][1], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
diagBrakeBoundsOffsets);
|
||||
session, 3, height, direction, trackSequence, GigaDiagBrakeImages[trackElement.IsBrakeClosed()][1],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, diagBrakeBoundsOffsets);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -10337,11 +10339,7 @@ namespace HybridRC
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10489,11 +10487,7 @@ namespace HybridRC
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10655,11 +10649,7 @@ namespace HybridRC
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10698,11 +10688,7 @@ namespace HybridRC
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -10858,11 +10844,7 @@ namespace HybridRC
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10901,11 +10883,7 @@ namespace HybridRC
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Truss, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -68,11 +70,7 @@ static void InvertedHairpinRCTrackFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -169,11 +167,7 @@ static void InvertedHairpinRCTrack25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -277,11 +271,7 @@ static void InvertedHairpinRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -343,11 +333,7 @@ static void InvertedHairpinRCTrackFlatTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -463,11 +449,7 @@ static void InvertedHairpinRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -541,11 +523,7 @@ static void InvertedHairpinRCTrack60DegUpTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -642,11 +620,7 @@ static void InvertedHairpinRCTrack25DegUpToFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -1230,11 +1204,7 @@ static void InvertedHairpinRCTrackFlatTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1308,11 +1278,7 @@ static void InvertedHairpinRCTrack60DegUpToFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -1385,11 +1351,7 @@ static void InvertedHairpinRCTrackBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -1421,11 +1383,7 @@ static void InvertedHairpinRCTrackBlockBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -39,11 +41,7 @@ static void InvertedImpulseRCTrackFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -111,11 +109,7 @@ static void InvertedImpulseRCTrack25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -190,11 +184,7 @@ static void InvertedImpulseRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 120, 0x20);
|
||||
}
|
||||
|
||||
|
@ -227,11 +217,7 @@ static void InvertedImpulseRCTrackFlatTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -309,11 +295,7 @@ static void InvertedImpulseRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
}
|
||||
|
||||
|
@ -359,11 +341,7 @@ static void InvertedImpulseRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
}
|
||||
|
||||
|
@ -396,11 +374,7 @@ static void InvertedImpulseRCTrack25DegUpToFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -517,10 +491,7 @@ static void InvertedImpulseRCTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -573,10 +544,7 @@ static void InvertedImpulseRCTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -629,11 +597,7 @@ static void InvertedImpulseRCTrack90DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_INVERTED_5);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
}
|
||||
|
||||
|
@ -673,10 +637,7 @@ static void InvertedImpulseRCTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -726,10 +687,7 @@ static void InvertedImpulseRCTrackLeftQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -779,10 +737,7 @@ static void InvertedImpulseRCTrackRightQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
|
|
@ -12,13 +12,20 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../TrackData.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
static constexpr const uint32_t InvertedRCDiagBrakeImages[NumOrthogonalDirections] = {
|
||||
static constexpr ImageIndex kInvertedRCDiagFlatImages[2][NumOrthogonalDirections] = {
|
||||
{ 27555, 27556, 27557, 27558 },
|
||||
{ 27611, 27612, 27613, 27614 },
|
||||
};
|
||||
|
||||
static constexpr ImageIndex kInvertedRCDiagBrakeImages[NumOrthogonalDirections] = {
|
||||
SPR_G2_BM_INVERT_DIAG_BRAKES,
|
||||
SPR_G2_BM_INVERT_DIAG_BRAKES + 1,
|
||||
SPR_G2_BM_INVERT_DIAG_BRAKES,
|
||||
|
@ -67,11 +74,7 @@ static void InvertedRCTrackFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -168,11 +171,7 @@ static void InvertedRCTrack25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -245,11 +244,7 @@ static void InvertedRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 120, 0x20);
|
||||
}
|
||||
|
||||
|
@ -311,11 +306,7 @@ static void InvertedRCTrackFlatTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -394,11 +385,7 @@ static void InvertedRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
}
|
||||
|
||||
|
@ -437,11 +424,7 @@ static void InvertedRCTrack60DegUpTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -536,11 +519,7 @@ static void InvertedRCTrack25DegUpToFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -4078,10 +4057,7 @@ static void InvertedRCTrackHalfLoopUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -4202,10 +4178,7 @@ static void InvertedRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 32, TUNNEL_INVERTED_3);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -4610,11 +4583,7 @@ static void InvertedRCTrackBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -5480,11 +5449,7 @@ static void InvertedRCTrack25DegUpLeftBanked(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -5550,11 +5515,7 @@ static void InvertedRCTrack25DegUpRightBanked(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -5676,10 +5637,7 @@ static void InvertedRCTrackLeftEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height + 44, session.SupportColours);
|
||||
|
||||
|
@ -5862,10 +5820,7 @@ static void InvertedRCTrackRightEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height + 44, session.SupportColours);
|
||||
|
||||
|
@ -6429,180 +6384,13 @@ static void InvertedRCTrackRightEighthBankToOrthogonal(
|
|||
InvertedRCTrackLeftEighthBankToDiag(session, ride, trackSequence, (direction + 3) & 3, height, trackElement);
|
||||
}
|
||||
|
||||
/** rct2: 0x008A9788 */
|
||||
static void InvertedRCTrackDiagFlat(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27614), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27558), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27611), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27555), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27613), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27557), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27612), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(27556), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::LeftCorner, 0, height + 44,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopCorner, 0, height + 44, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::RightCorner, 0, height + 44,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomCorner, 0, height + 44,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void inverted_rc_track_diag_brakes(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
inline void InvertedRCTrackDiagFlatBase(
|
||||
PaintSession& session, uint8_t trackSequence, const ImageIndex* images, uint8_t direction, int32_t height)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height + 29, direction, trackSequence, session.TrackColours, InvertedRCDiagBrakeImages,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height + 29, direction, trackSequence, images, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
|
||||
if (trackSequence == 3)
|
||||
|
@ -6613,6 +6401,22 @@ static void inverted_rc_track_diag_brakes(
|
|||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x008A9788 */
|
||||
static void InvertedRCTrackDiagFlat(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
const auto* images = kInvertedRCDiagFlatImages[trackElement.HasChain()];
|
||||
InvertedRCTrackDiagFlatBase(session, trackSequence, images, direction, height);
|
||||
}
|
||||
|
||||
static void InvertedRCTrackDiagBrakes(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
InvertedRCTrackDiagFlatBase(session, trackSequence, kInvertedRCDiagBrakeImages, direction, height);
|
||||
}
|
||||
|
||||
/** rct2: 0x008A97B8 */
|
||||
static void InvertedRCTrackDiag25DegUp(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
|
@ -9815,10 +9619,7 @@ static void InvertedRCTrackLeftLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_INVERTED_4);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -9846,10 +9647,7 @@ static void InvertedRCTrackLeftLargeHalfLoopUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -10073,10 +9871,7 @@ static void InvertedRCTrackRightLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_INVERTED_4);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -10104,10 +9899,7 @@ static void InvertedRCTrackRightLargeHalfLoopUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -10332,11 +10124,7 @@ static void InvertedRCTrackBlockBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -10979,11 +10767,7 @@ static void InvertedRCTrack25DegUpToLeftBanked25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11049,11 +10833,7 @@ static void InvertedRCTrack25DegUpToRightBanked25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11119,11 +10899,7 @@ static void InvertedRCTrackLeftBanked25DegUpTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11189,11 +10965,7 @@ static void InvertedRCTrackRightBanked25DegUpTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11291,11 +11063,7 @@ static void InvertedRCTrackLeftBankedFlatToLeftBanked25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11361,11 +11129,7 @@ static void InvertedRCTrackRightBankedFlatToRightBanked25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11431,11 +11195,7 @@ static void InvertedRCTrackLeftBanked25DegUpToLeftBankedFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11501,11 +11261,7 @@ static void InvertedRCTrackRightBanked25DegUpToRightBankedFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11603,11 +11359,7 @@ static void InvertedRCTrackFlatToLeftBanked25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11673,11 +11425,7 @@ static void InvertedRCTrackFlatToRightBanked25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11743,11 +11491,7 @@ static void InvertedRCTrackLeftBanked25DegUpToFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11813,11 +11557,7 @@ static void InvertedRCTrackRightBanked25DegUpToFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -11897,11 +11637,7 @@ static void InvertedRCTrackBooster(
|
|||
session, direction, session.TrackColours.WithIndex(imageId), { 0, 0, height + 29 },
|
||||
{ { 0, 6, height + 29 }, { 32, 20, 1 } });
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -12209,7 +11945,7 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionInvertedRC(int32_t trackType)
|
|||
|
||||
case TrackElemType::DiagBrakes:
|
||||
case TrackElemType::DiagBlockBrakes:
|
||||
return inverted_rc_track_diag_brakes;
|
||||
return InvertedRCTrackDiagBrakes;
|
||||
|
||||
case TrackElemType::Booster:
|
||||
return InvertedRCTrackBooster;
|
||||
|
|
|
@ -13,12 +13,16 @@
|
|||
#include "../../object/StationObject.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../TrackData.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
enum class JuniorRCSubType : uint8_t
|
||||
{
|
||||
Junior = 1,
|
||||
|
@ -4630,8 +4634,8 @@ static void JuniorRCPaintTrackDiagFlat(
|
|||
{
|
||||
auto subTypeOffset = JuniorRCGetSubTypeOffset<TSubType>(trackElement);
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_flat[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_flat[subTypeOffset], defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4640,7 +4644,7 @@ static void JuniorRCPaintTrackDiagFlat(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -4650,8 +4654,8 @@ static void JuniorRCTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_brakes,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_brakes, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4660,7 +4664,7 @@ static void JuniorRCTrackDiagBrakes(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -4670,9 +4674,8 @@ static void JuniorRCTrackDiagBlockBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_blockbrakes[trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_blockbrakes[trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4681,7 +4684,7 @@ static void JuniorRCTrackDiagBlockBrakes(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -4693,8 +4696,8 @@ static void JuniorRCPaintTrackDiag25DegUp(
|
|||
{
|
||||
auto subTypeOffset = JuniorRCGetSubTypeOffset<TSubType>(trackElement);
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_up[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_up[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4703,7 +4706,7 @@ static void JuniorRCPaintTrackDiag25DegUp(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -4715,8 +4718,8 @@ static void JuniorRCPaintTrackDiagFlatTo25DegUp(
|
|||
{
|
||||
auto subTypeOffset = JuniorRCGetSubTypeOffset<TSubType>(trackElement);
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_flat_to_25_deg_up[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_flat_to_25_deg_up[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4725,7 +4728,7 @@ static void JuniorRCPaintTrackDiagFlatTo25DegUp(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -4738,8 +4741,8 @@ static void JuniorRCPaintTrackDiagFlatTo60DegUp(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_flat_to_60_deg_up[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_flat_to_60_deg_up[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4748,7 +4751,7 @@ static void JuniorRCPaintTrackDiagFlatTo60DegUp(
|
|||
height + 6, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
@ -4760,8 +4763,8 @@ static void JuniorRCPaintTrackDiag25DegUpToFlat(
|
|||
{
|
||||
auto subTypeOffset = JuniorRCGetSubTypeOffset<TSubType>(trackElement);
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_up_to_flat[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_up_to_flat[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4770,7 +4773,7 @@ static void JuniorRCPaintTrackDiag25DegUpToFlat(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -4783,8 +4786,8 @@ static void JuniorRCPaintTrackDiag60DegUpToFlat(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_60_deg_up_to_flat[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_60_deg_up_to_flat[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4793,7 +4796,7 @@ static void JuniorRCPaintTrackDiag60DegUpToFlat(
|
|||
height + 13, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
@ -4805,8 +4808,8 @@ static void JuniorRCPaintTrackDiag25DegDown(
|
|||
{
|
||||
auto subTypeOffset = JuniorRCGetSubTypeOffset<TSubType>(trackElement);
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_down[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_down[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4815,7 +4818,7 @@ static void JuniorRCPaintTrackDiag25DegDown(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -4827,9 +4830,8 @@ static void JuniorRCPaintTrackDiagFlatTo25DegDown(
|
|||
{
|
||||
auto subTypeOffset = JuniorRCGetSubTypeOffset<TSubType>(trackElement);
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_flat_to_25_deg_down[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_flat_to_25_deg_down[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4838,7 +4840,7 @@ static void JuniorRCPaintTrackDiagFlatTo25DegDown(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -4851,9 +4853,8 @@ static void JuniorRCPaintTrackDiagFlatTo60DegDown(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_flat_to_60_deg_down[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_flat_to_60_deg_down[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4862,7 +4863,7 @@ static void JuniorRCPaintTrackDiagFlatTo60DegDown(
|
|||
height + 7, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -4874,9 +4875,8 @@ static void JuniorRCPaintTrackDiag25DegDownToFlat(
|
|||
{
|
||||
auto subTypeOffset = JuniorRCGetSubTypeOffset<TSubType>(trackElement);
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_down_to_flat[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_down_to_flat[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4885,7 +4885,7 @@ static void JuniorRCPaintTrackDiag25DegDownToFlat(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -4898,9 +4898,8 @@ static void JuniorRCPaintTrackDiag60DegDownToFlat(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_60_deg_down_to_flat[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_60_deg_down_to_flat[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -4909,7 +4908,7 @@ static void JuniorRCPaintTrackDiag60DegDownToFlat(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -4920,8 +4919,8 @@ static void JuniorRCDiagFlatToLeftBankPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_flat_to_left_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_flat_to_left_bank, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 0 && trackSequence == 1)
|
||||
{
|
||||
|
@ -4936,7 +4935,7 @@ static void JuniorRCDiagFlatToLeftBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -4947,8 +4946,8 @@ static void JuniorRCDiagFlatToRightBankPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_flat_to_right_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_flat_to_right_bank, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 2 && trackSequence == 2)
|
||||
{
|
||||
|
@ -4963,7 +4962,7 @@ static void JuniorRCDiagFlatToRightBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -4974,8 +4973,8 @@ static void JuniorRCDiagLeftBankToFlatPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_left_bank_to_flat,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_left_bank_to_flat, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 0 && trackSequence == 1)
|
||||
{
|
||||
|
@ -4990,7 +4989,7 @@ static void JuniorRCDiagLeftBankToFlatPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -5001,8 +5000,8 @@ static void JuniorRCDiagRightBankToFlatPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_right_bank_to_flat,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_right_bank_to_flat, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 2 && trackSequence == 2)
|
||||
{
|
||||
|
@ -5017,7 +5016,7 @@ static void JuniorRCDiagRightBankToFlatPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -5028,7 +5027,7 @@ static void JuniorRCDiagLeftBankTo25DegUpPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_left_bank_to_25_deg_up,
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_left_bank_to_25_deg_up,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 0 && trackSequence == 1)
|
||||
|
@ -5044,7 +5043,7 @@ static void JuniorRCDiagLeftBankTo25DegUpPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -5055,7 +5054,7 @@ static void JuniorRCDiagRightBankTo25DegUpPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_right_bank_to_25_deg_up,
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_right_bank_to_25_deg_up,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 2 && trackSequence == 2)
|
||||
|
@ -5071,7 +5070,7 @@ static void JuniorRCDiagRightBankTo25DegUpPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -5082,7 +5081,7 @@ static void JuniorRCDiag25DegUpToLeftBankPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_25_deg_up_to_left_bank,
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_up_to_left_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 0 && trackSequence == 1)
|
||||
|
@ -5098,7 +5097,7 @@ static void JuniorRCDiag25DegUpToLeftBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -5109,7 +5108,7 @@ static void JuniorRCDiag25DegUpToRightBankPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_25_deg_up_to_right_bank,
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_up_to_right_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 2 && trackSequence == 2)
|
||||
|
@ -5125,7 +5124,7 @@ static void JuniorRCDiag25DegUpToRightBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -5136,8 +5135,8 @@ static void JuniorRCDiagLeftBankTo25DegDownPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_left_bank_to_25_deg_down, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_left_bank_to_25_deg_down,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 0 && trackSequence == 1)
|
||||
{
|
||||
|
@ -5152,7 +5151,7 @@ static void JuniorRCDiagLeftBankTo25DegDownPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -5163,8 +5162,8 @@ static void JuniorRCDiagRightBankTo25DegDownPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_right_bank_to_25_deg_down, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_right_bank_to_25_deg_down,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 2 && trackSequence == 2)
|
||||
{
|
||||
|
@ -5179,7 +5178,7 @@ static void JuniorRCDiagRightBankTo25DegDownPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -5190,8 +5189,8 @@ static void JuniorRCDiag25DegDownToLeftBankPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_down_to_left_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_down_to_left_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 0 && trackSequence == 1)
|
||||
{
|
||||
|
@ -5206,7 +5205,7 @@ static void JuniorRCDiag25DegDownToLeftBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -5217,8 +5216,8 @@ static void JuniorRCDiag25DegDownToRightBankPaintSetup(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_down_to_right_bank, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_down_to_right_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (direction == 2 && trackSequence == 2)
|
||||
{
|
||||
|
@ -5233,7 +5232,7 @@ static void JuniorRCDiag25DegDownToRightBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -5259,8 +5258,8 @@ static void JuniorRCDiagLeftBankPaintSetup(
|
|||
{
|
||||
uint8_t thickness = direction == 0 ? 0 : 1;
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, thickness, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_left_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, junior_rc_diag_left_bank_bound_offsets);
|
||||
session, thickness, height, direction, trackSequence, junior_rc_track_pieces_diag_left_bank, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, junior_rc_diag_left_bank_bound_offsets);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -5269,7 +5268,7 @@ static void JuniorRCDiagLeftBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -5281,8 +5280,8 @@ static void JuniorRCDiagRightBankPaintSetup(
|
|||
{
|
||||
uint8_t thickness = direction == 2 ? 0 : 1;
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, thickness, height, direction, trackSequence, session.TrackColours, junior_rc_track_pieces_diag_right_bank,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, junior_rc_diag_right_bank_bound_offsets);
|
||||
session, thickness, height, direction, trackSequence, junior_rc_track_pieces_diag_right_bank, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, junior_rc_diag_right_bank_bound_offsets);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -5291,7 +5290,7 @@ static void JuniorRCDiagRightBankPaintSetup(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -5535,8 +5534,8 @@ static void JuniorRCPaintTrackDiag60DegUp(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_60_deg_up[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_60_deg_up[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -5545,7 +5544,7 @@ static void JuniorRCPaintTrackDiag60DegUp(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
@ -5558,8 +5557,8 @@ static void JuniorRCPaintTrackDiag60DegDown(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_60_deg_down[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_60_deg_down[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -5568,7 +5567,7 @@ static void JuniorRCPaintTrackDiag60DegDown(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
@ -5581,9 +5580,8 @@ static void JuniorRCPaintTrackDiag25DegUpTo60DegUp(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_up_to_60_deg_up[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_up_to_60_deg_up[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -5592,7 +5590,7 @@ static void JuniorRCPaintTrackDiag25DegUpTo60DegUp(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
@ -5614,9 +5612,8 @@ static void JuniorRCPaintTrackDiag60DegUpTo25DegUp(
|
|||
else
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
|
@ -5626,7 +5623,7 @@ static void JuniorRCPaintTrackDiag60DegUpTo25DegUp(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
@ -5648,9 +5645,8 @@ static void JuniorRCPaintTrackDiag25DegDownTo60DegDown(
|
|||
else
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[subTypeOffset], defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
}
|
||||
|
||||
if (trackSequence == 3)
|
||||
|
@ -5660,7 +5656,7 @@ static void JuniorRCPaintTrackDiag25DegDownTo60DegDown(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
@ -5673,9 +5669,8 @@ static void JuniorRCPaintTrackDiag60DegDownTo25DegDown(
|
|||
auto subTypeOffset = JuniorRCGetSubTypeOffset<JuniorRCSubType::Junior>(trackElement);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours,
|
||||
junior_rc_track_pieces_diag_60_deg_down_to_25_deg_down[subTypeOffset], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 1, height, direction, trackSequence, junior_rc_track_pieces_diag_60_deg_down_to_25_deg_down[subTypeOffset],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -5684,7 +5679,7 @@ static void JuniorRCPaintTrackDiag60DegDownTo25DegDown(
|
|||
height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
|
|
@ -12,19 +12,26 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../TrackData.h"
|
||||
#include "../TrackPaint.h"
|
||||
static constexpr const uint32_t LaydownDiagBrakeImages[NumOrthogonalDirections] = {
|
||||
static constexpr ImageIndex kLaydownDiagFlatImages[2][NumOrthogonalDirections] = {
|
||||
{ 26781, 26782, 26783, 26784 },
|
||||
{ 26809, 26810, 26811, 26812 },
|
||||
};
|
||||
|
||||
static constexpr ImageIndex kLaydownDiagBrakeImages[NumOrthogonalDirections] = {
|
||||
SPR_G2_SLC_DIAG_BRAKES,
|
||||
SPR_G2_SLC_DIAG_BRAKES + 2,
|
||||
SPR_G2_SLC_DIAG_BRAKES,
|
||||
SPR_G2_SLC_DIAG_BRAKES + 2,
|
||||
};
|
||||
|
||||
static constexpr const uint32_t LaydownDiagBlockBrakeImages[2][NumOrthogonalDirections] = {
|
||||
static constexpr ImageIndex kLaydownDiagBlockBrakeImages[2][NumOrthogonalDirections] = {
|
||||
{
|
||||
SPR_G2_SLC_DIAG_BRAKES,
|
||||
SPR_G2_SLC_DIAG_BRAKES + 2,
|
||||
|
@ -81,11 +88,7 @@ static void LayDownRCTrackFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -182,11 +185,7 @@ static void LayDownRCTrack25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -261,11 +260,7 @@ static void LayDownRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -327,11 +322,7 @@ static void LayDownRCTrackFlatTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -412,11 +403,7 @@ static void LayDownRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -455,11 +442,7 @@ static void LayDownRCTrack60DegUpTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -556,11 +539,7 @@ static void LayDownRCTrack25DegUpToFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -3065,11 +3044,7 @@ static void LayDownRCTrackBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -3149,10 +3124,7 @@ static void LayDownRCTrackLeftEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 33, session.SupportColours);
|
||||
|
||||
|
@ -3336,10 +3308,7 @@ static void LayDownRCTrackRightEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 33, session.SupportColours);
|
||||
|
||||
|
@ -3911,176 +3880,37 @@ static void LayDownRCTrackDiagFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26812), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26784), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26809), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26781), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26811), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26783), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26810), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26782), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 22 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
constexpr CoordsXYZ boundsOffsets[NumOrthogonalDirections] = {
|
||||
{ -16, -16, -2 },
|
||||
{ -16, -16, -2 },
|
||||
{ -16, -16, -2 },
|
||||
{ -16, -16, -2 },
|
||||
};
|
||||
const auto* images = kLaydownDiagFlatImages[trackElement.HasChain()];
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height + 24, direction, trackSequence, images, defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
boundsOffsets);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::LeftCorner, 0, height + 33,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::TopCorner, 0, height + 33,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::RightCorner, 0, height + 33,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::BottomCorner, 0, height + 33,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
}
|
||||
if (trackSequence == 3)
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::LeftCorner, direction, 0, height + 33,
|
||||
session.SupportColours);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
static void LayDownRCTrackDiagBrakes(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, -3, height + 24, direction, trackSequence, session.TrackColours, LaydownDiagBrakeImages,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, -3, height + 24, direction, trackSequence, kLaydownDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
|
||||
|
@ -4096,11 +3926,11 @@ static void LayDownRCTrackDiagBlockBrakes(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, -3, height + 24, direction, trackSequence, session.TrackColours,
|
||||
LaydownDiagBlockBrakeImages[trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, -3, height + 24, direction, trackSequence, kLaydownDiagBlockBrakeImages[trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
|
||||
|
@ -7403,10 +7233,7 @@ static void LayDownRCTrackFlyerHalfLoopDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -7506,10 +7333,7 @@ static void LayDownRCTrackFlyerHalfLoopDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -7670,11 +7494,7 @@ static void LayDownRCTrackBlockBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -8539,10 +8359,7 @@ static void LayDownRCTrackHalfLoopInvertedUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
|
@ -8663,10 +8480,7 @@ static void LayDownRCTrackHalfLoopInvertedUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 32, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -1512,11 +1514,7 @@ static void LimLaunchedRCTrackBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1553,10 +1551,7 @@ static void LimLaunchedRCTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1609,10 +1604,7 @@ static void LimLaunchedRCTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1665,11 +1657,7 @@ static void LimLaunchedRCTrack90DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelLeft(session, height + 48, TUNNEL_2);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1709,10 +1697,7 @@ static void LimLaunchedRCTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1851,11 +1836,7 @@ static void LimLaunchedRCTrackBlockBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1897,10 +1878,7 @@ static void LimLaunchedRCTrackLeftQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1947,10 +1925,7 @@ static void LimLaunchedRCTrackRightQuarterTurn190DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -2365,10 +2340,7 @@ static void LimLaunchedRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -2469,10 +2441,7 @@ static void LimLaunchedRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -2525,10 +2494,7 @@ static void LimLaunchedRCTrackFlatTo60DegUpLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -2561,10 +2527,7 @@ static void LimLaunchedRCTrackFlatTo60DegUpLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 9, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -2597,10 +2560,7 @@ static void LimLaunchedRCTrackFlatTo60DegUpLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 10, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -2642,10 +2602,7 @@ static void LimLaunchedRCTrackFlatTo60DegUpLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -2690,10 +2647,7 @@ static void LimLaunchedRCTrack60DegUpToFlatLongBase(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -2726,10 +2680,7 @@ static void LimLaunchedRCTrack60DegUpToFlatLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 18, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -2762,10 +2713,7 @@ static void LimLaunchedRCTrack60DegUpToFlatLongBase(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 13, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -2807,10 +2755,7 @@ static void LimLaunchedRCTrack60DegUpToFlatLongBase(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -3328,10 +3273,7 @@ static void LimLaunchedRCTrackLeftMediumHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -3529,10 +3471,7 @@ static void LimLaunchedRCTrackRightMediumHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -3755,10 +3694,7 @@ static void LimLaunchedRCTrackLeftZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -3898,10 +3834,7 @@ static void LimLaunchedRCTrackRightZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4046,10 +3979,7 @@ static void LimLaunchedRCTrackLeftLargeZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4080,10 +4010,7 @@ static void LimLaunchedRCTrackLeftLargeZeroGRollUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -4224,10 +4151,7 @@ static void LimLaunchedRCTrackRightLargeZeroGRollUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4258,10 +4182,7 @@ static void LimLaunchedRCTrackRightLargeZeroGRollUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -4826,10 +4747,7 @@ static void LimLaunchedRCTrackLeftLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4865,10 +4783,7 @@ static void LimLaunchedRCTrackLeftLargeHalfLoopUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -5095,10 +5010,7 @@ static void LimLaunchedRCTrackRightLargeHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5134,10 +5046,7 @@ static void LimLaunchedRCTrackRightLargeHalfLoopUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -5390,11 +5299,7 @@ static void LimLaunchedRCTrackFlatTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5440,11 +5345,7 @@ static void LimLaunchedRCTrack60DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5885,11 +5786,7 @@ static void LimLaunchedRCTrackBooster(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -90,11 +92,7 @@ static void LoopingRCTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -204,11 +202,7 @@ static void LoopingRCTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -287,11 +281,7 @@ static void LoopingRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -370,11 +360,7 @@ static void LoopingRCTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -465,11 +451,7 @@ static void LoopingRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -560,11 +542,7 @@ static void LoopingRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -643,11 +621,7 @@ static void LoopingRCTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -951,11 +925,7 @@ static void LoopingRCTrackFlatToLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -999,11 +969,7 @@ static void LoopingRCTrackFlatToRightBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1047,11 +1013,7 @@ static void LoopingRCTrackLeftBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1095,11 +1057,7 @@ static void LoopingRCTrackRightBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1368,11 +1326,7 @@ static void LoopingRCTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1423,11 +1377,7 @@ static void LoopingRCTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1478,11 +1428,7 @@ static void LoopingRCTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1533,11 +1479,7 @@ static void LoopingRCTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1607,11 +1549,7 @@ static void LoopingRCTrackLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4994,11 +4932,7 @@ static void LoopingRCTrackBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5043,11 +4977,7 @@ static void LoopingRCTrack25DegUpLeftBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5092,11 +5022,7 @@ static void LoopingRCTrack25DegUpRightBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5190,10 +5116,7 @@ static void LoopingRCTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5358,10 +5281,7 @@ static void LoopingRCTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5544,10 +5464,7 @@ static void LoopingRCTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5712,10 +5629,7 @@ static void LoopingRCTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5890,15 +5804,7 @@ static void LoopingRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -5923,14 +5829,7 @@ static void LoopingRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -5955,15 +5854,7 @@ static void LoopingRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6020,17 +5911,13 @@ static void LoopingRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
static constexpr CoordsXYZ diagBrakeBoundsOffsets[4] = {
|
||||
|
@ -6045,12 +5932,12 @@ static void LoopingRCTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, LoopingRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, LoopingRCDiagBrakeImages, defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, LoopingRCDiagBrakeImages + 4,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, diagBrakeBoundsOffsets);
|
||||
session, 3, height, direction, trackSequence, LoopingRCDiagBrakeImages + 4, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, diagBrakeBoundsOffsets);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -9596,11 +9483,7 @@ static void LoopingRCTrackBlockBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10283,11 +10166,7 @@ static void LoopingRCTrack25DegUpToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10335,11 +10214,7 @@ static void LoopingRCTrack25DegUpToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10387,11 +10262,7 @@ static void LoopingRCTrackLeftBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10439,11 +10310,7 @@ static void LoopingRCTrackRightBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10520,11 +10387,7 @@ static void LoopingRCTrackLeftBankedFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10569,11 +10432,7 @@ static void LoopingRCTrackRightBankedFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10618,11 +10477,7 @@ static void LoopingRCTrackLeftBanked25DegUpToLeftBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10667,11 +10522,7 @@ static void LoopingRCTrackRightBanked25DegUpToRightBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10751,11 +10602,7 @@ static void LoopingRCTrackFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10803,11 +10650,7 @@ static void LoopingRCTrackFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10855,11 +10698,7 @@ static void LoopingRCTrackLeftBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10907,11 +10746,7 @@ static void LoopingRCTrackRightBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10972,11 +10807,7 @@ static void LoopingRCTrackBooster(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -49,11 +51,7 @@ static void MineRideTrackFlat(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -137,11 +135,7 @@ static void MineRideTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -201,11 +195,7 @@ static void MineRideTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -265,11 +255,7 @@ static void MineRideTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -576,11 +562,7 @@ static void MineRideTrackFlatToLeftBank(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -639,11 +621,7 @@ static void MineRideTrackFlatToRightBank(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -702,11 +680,7 @@ static void MineRideTrackLeftBankToFlat(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -765,11 +739,7 @@ static void MineRideTrackRightBankToFlat(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1065,11 +1035,7 @@ static void MineRideTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1135,11 +1101,7 @@ static void MineRideTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1205,11 +1167,7 @@ static void MineRideTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1275,11 +1233,7 @@ static void MineRideTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1364,11 +1318,7 @@ static void MineRideTrackLeftBank(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -3632,10 +3582,7 @@ static void MineRideTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -3806,10 +3753,7 @@ static void MineRideTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -3998,10 +3942,7 @@ static void MineRideTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4172,10 +4113,7 @@ static void MineRideTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4336,15 +4274,7 @@ static void MineRideTrackDiagFlat(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
switch (direction)
|
||||
|
@ -4355,14 +4285,7 @@ static void MineRideTrackDiagFlat(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
switch (direction)
|
||||
|
@ -4373,50 +4296,26 @@ static void MineRideTrackDiagFlat(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::LeftCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(19613), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::TopCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::RightCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::BottomCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::LeftCorner, direction, 6, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x008B0C30 */
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -5508,7 +5510,7 @@ static void MineTrainRCTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height, direction, trackSequence, session.TrackColours, MinetrainRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
session, 1, height, direction, trackSequence, MinetrainRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (MineTrainRCDiagonalSupports[trackSequence][direction] != WoodenSupportSubType::Null)
|
||||
|
@ -5526,9 +5528,8 @@ static void MineTrainRCTrackDiagBlockBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 13, height, direction, trackSequence, session.TrackColours,
|
||||
MinetrainRCDiagBlockBrakeImages[trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 13, height, direction, trackSequence, MinetrainRCDiagBlockBrakeImages[trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (MineTrainRCDiagonalSupports[trackSequence][direction] != WoodenSupportSubType::Null)
|
||||
{
|
||||
|
@ -7074,15 +7075,6 @@ static void MineTrainRCTrackDiagLeftBank(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (direction == 0)
|
||||
|
@ -7095,14 +7087,6 @@ static void MineTrainRCTrackDiagLeftBank(
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Mine, WoodenSupportSubType::Corner0, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (direction == 2)
|
||||
|
@ -7115,15 +7099,6 @@ static void MineTrainRCTrackDiagLeftBank(
|
|||
WoodenASupportsPaintSetupRotated(
|
||||
session, WoodenSupportType::Mine, WoodenSupportSubType::Corner2, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (direction == 1)
|
||||
|
@ -7133,17 +7108,12 @@ static void MineTrainRCTrackDiagLeftBank(
|
|||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x0071C3E4 */
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -110,11 +112,7 @@ static void MiniRCTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -257,11 +255,7 @@ static void MiniRCTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -321,11 +315,7 @@ static void MiniRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -434,11 +424,7 @@ static void MiniRCTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -504,11 +490,7 @@ static void MiniRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -574,11 +556,7 @@ static void MiniRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -687,11 +665,7 @@ static void MiniRCTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1022,11 +996,7 @@ static void MiniRCTrackFlatToLeftBank(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1085,11 +1055,7 @@ static void MiniRCTrackFlatToRightBank(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1148,11 +1114,7 @@ static void MiniRCTrackLeftBankToFlat(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1211,11 +1173,7 @@ static void MiniRCTrackRightBankToFlat(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1511,11 +1469,7 @@ static void MiniRCTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1581,11 +1535,7 @@ static void MiniRCTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1651,11 +1601,7 @@ static void MiniRCTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1721,11 +1667,7 @@ static void MiniRCTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1810,11 +1752,7 @@ static void MiniRCTrackLeftBank(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4798,11 +4736,7 @@ static void MiniRCTrackBrakes(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4862,11 +4796,7 @@ static void MiniRCTrack25DegUpLeftBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4926,11 +4856,7 @@ static void MiniRCTrack25DegUpRightBanked(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5032,10 +4958,7 @@ static void MiniRCTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5206,10 +5129,7 @@ static void MiniRCTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5398,10 +5318,7 @@ static void MiniRCTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5572,10 +5489,7 @@ static void MiniRCTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5750,15 +5664,7 @@ static void MiniRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -5783,14 +5689,7 @@ static void MiniRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -5815,41 +5714,17 @@ static void MiniRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::LeftCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(19187), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::TopCorner, 6, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::RightCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::BottomCorner, 6, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -5857,40 +5732,23 @@ static void MiniRCTrackDiagFlat(
|
|||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::LeftCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(19125), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::TopCorner, 6, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::RightCorner, 6, height, session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::BottomCorner, 6, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::LeftCorner, direction, 6, height, session.SupportColours);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x008A4F4C */
|
||||
|
@ -8988,11 +8846,7 @@ static void MiniRCTrackBlockBrakes(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -9732,11 +9586,7 @@ static void MiniRCTrack25DegUpToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -9799,11 +9649,7 @@ static void MiniRCTrack25DegUpToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -9866,11 +9712,7 @@ static void MiniRCTrackLeftBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -9933,11 +9775,7 @@ static void MiniRCTrackRightBanked25DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10029,11 +9867,7 @@ static void MiniRCTrackLeftBankedFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10093,11 +9927,7 @@ static void MiniRCTrackRightBankedFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10157,11 +9987,7 @@ static void MiniRCTrackLeftBanked25DegUpToLeftBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10221,11 +10047,7 @@ static void MiniRCTrackRightBanked25DegUpToRightBankedFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10320,11 +10142,7 @@ static void MiniRCTrackFlatToLeftBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10387,11 +10205,7 @@ static void MiniRCTrackFlatToRightBanked25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10454,11 +10268,7 @@ static void MiniRCTrackLeftBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10521,11 +10331,7 @@ static void MiniRCTrackRightBanked25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -10799,11 +10605,7 @@ static void MiniRCTrackBooster(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_SQUARE_FLAT);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,12 +12,19 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../TrackData.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
static constexpr ImageIndex kMiniSuspendedRCFlatImages[2][NumOrthogonalDirections] = {
|
||||
{ 28491, 28492, 28493, 28494 },
|
||||
{ 28507, 28508, 28509, 28510 },
|
||||
};
|
||||
|
||||
/** rct2: 0x008AFE9C */
|
||||
static void MiniSuspendedRCTrackFlat(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
|
@ -56,11 +63,7 @@ static void MiniSuspendedRCTrackFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -167,11 +170,7 @@ static void MiniSuspendedRCTrack25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -265,11 +264,7 @@ static void MiniSuspendedRCTrackFlatTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -363,11 +358,7 @@ static void MiniSuspendedRCTrack25DegUpToFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -1629,164 +1620,18 @@ static void MiniSuspendedRCTrackDiagFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28510), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28494), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28507), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28491), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28509), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28493), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28508), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28492), { -16, -16, height + 24 },
|
||||
{ { -16, -16, height + 24 }, { 32, 32, 1 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
const auto* images = kMiniSuspendedRCFlatImages[trackElement.HasChain()];
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 1, height + 24, direction, trackSequence, images, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::LeftCorner, 0, height + 30, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::TopCorner, 0, height + 30,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::RightCorner, 0, height + 30,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::ForkAlt, MetalSupportPlace::BottomCorner, 0, height + 30,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
if (trackSequence == 3)
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Fork, MetalSupportPlace::LeftCorner, direction, 0, height + 30, session.SupportColours);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x008B000C */
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -155,10 +157,7 @@ static void MultiDimensionRCTrackFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -335,10 +334,7 @@ static void MultiDimensionRCTrack25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -458,10 +454,7 @@ static void MultiDimensionRCTrack60DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
}
|
||||
|
@ -573,10 +566,7 @@ static void MultiDimensionRCTrackFlatTo25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -708,10 +698,7 @@ static void MultiDimensionRCTrack25DegUpTo60DegUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
}
|
||||
|
@ -801,10 +788,7 @@ static void MultiDimensionRCTrack60DegUpTo25DegUp(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -951,10 +935,7 @@ static void MultiDimensionRCTrack25DegUpToFlat(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -5451,10 +5432,7 @@ static void MultiDimensionRCTrackBrakes(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -5602,11 +5580,7 @@ static void MultiDimensionRCTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5643,11 +5617,7 @@ static void MultiDimensionRCTrack90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5703,11 +5673,7 @@ static void MultiDimensionRCTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5748,11 +5714,7 @@ static void MultiDimensionRCTrack60DegUpTo90DegUp(
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5809,10 +5771,7 @@ static void MultiDimensionRCTrack90DegUpTo60DegUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -5850,10 +5809,7 @@ static void MultiDimensionRCTrack90DegUpTo60DegUp(
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
}
|
||||
}
|
||||
|
@ -5896,11 +5852,7 @@ static void MultiDimensionRCTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5940,11 +5892,7 @@ static void MultiDimensionRCTrack60DegDownTo90DegDown(
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6138,11 +6086,7 @@ static void MultiDimensionRCTrackLeftEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 36,
|
||||
session.SupportColours);
|
||||
|
@ -6480,11 +6424,7 @@ static void MultiDimensionRCTrackRightEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::TubesInverted, MetalSupportPlace::Centre, 0, height + 36,
|
||||
session.SupportColours);
|
||||
|
@ -7710,12 +7650,12 @@ static void MultiDimensionRCTrackDiagBrakes(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
if (trackElement.IsInverted())
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, -3, height + 24, direction, trackSequence, session.TrackColours, MultidimDiagBrakeImages[1],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, -3, height + 24, direction, trackSequence, MultidimDiagBrakeImages[1], defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -7730,8 +7670,8 @@ static void MultiDimensionRCTrackDiagBrakes(
|
|||
else
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, MultidimDiagBrakeImages[0],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, MultidimDiagBrakeImages[0], defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -7748,13 +7688,12 @@ static void MultiDimensionRCTrackDiagBlockBrakes(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
if (trackElement.IsInverted())
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, -3, height + 24, direction, trackSequence, session.TrackColours,
|
||||
MultidimDiagBlockBrakeImages[1][trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, -3, height + 24, direction, trackSequence, MultidimDiagBlockBrakeImages[1][trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
@ -7769,9 +7708,8 @@ static void MultiDimensionRCTrackDiagBlockBrakes(
|
|||
else
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
MultidimDiagBlockBrakeImages[0][trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
session, 3, height, direction, trackSequence, MultidimDiagBlockBrakeImages[0][trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -14720,10 +14658,7 @@ static void MultiDimensionRCTrackBlockBrakes(
|
|||
{ { 0, 6, height + 24 }, { 32, 20, 3 } });
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -86,10 +88,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -201,10 +200,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -283,10 +279,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -365,10 +358,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -459,10 +449,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -553,10 +540,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -635,10 +619,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -716,11 +697,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 32);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -776,11 +753,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 56);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -832,10 +805,7 @@ namespace SingleRailRC
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
}
|
||||
|
||||
|
@ -874,11 +844,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 48, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1272,11 +1238,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1442,11 +1404,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -4240,10 +4198,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4287,10 +4242,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4355,10 +4307,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4409,10 +4358,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4463,10 +4409,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4517,10 +4460,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -4586,10 +4526,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -6552,11 +6489,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6738,11 +6671,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -7737,11 +7666,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -7787,11 +7712,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilSetVerticalTunnel(session, height + 96);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 96, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -7857,10 +7778,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -7908,10 +7826,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -7959,10 +7874,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8010,10 +7922,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8086,10 +7995,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8134,10 +8040,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8182,10 +8085,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8230,10 +8130,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8306,10 +8203,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8354,10 +8248,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8419,10 +8310,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8470,10 +8358,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8521,10 +8406,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -8572,10 +8454,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_14);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11453,11 +11332,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11558,11 +11433,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -11601,10 +11472,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -11683,11 +11551,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11720,11 +11584,7 @@ namespace SingleRailRC
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 9, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -11757,11 +11617,7 @@ namespace SingleRailRC
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 10, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -11803,11 +11659,7 @@ namespace SingleRailRC
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -11852,11 +11704,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -11889,11 +11737,7 @@ namespace SingleRailRC
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 18, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 80, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -11926,11 +11770,7 @@ namespace SingleRailRC
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 13, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
|
@ -11972,11 +11812,7 @@ namespace SingleRailRC
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -12022,10 +11858,7 @@ namespace SingleRailRC
|
|||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -12795,11 +12628,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13011,11 +12840,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13256,11 +13081,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13400,11 +13221,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13554,11 +13371,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13594,11 +13407,7 @@ namespace SingleRailRC
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -13754,11 +13563,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -13794,11 +13599,7 @@ namespace SingleRailRC
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -14525,11 +14326,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -14565,11 +14362,7 @@ namespace SingleRailRC
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -14798,11 +14591,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -14838,11 +14627,7 @@ namespace SingleRailRC
|
|||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
|
@ -15147,10 +14932,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
||||
|
@ -15241,10 +15023,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -16061,11 +15840,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -16247,11 +16022,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -16570,11 +16341,7 @@ namespace SingleRailRC
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -18443,11 +18210,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -18629,11 +18392,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -18950,11 +18709,7 @@ namespace SingleRailRC
|
|||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -106,11 +108,7 @@ static void StandUpRCTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -216,11 +214,7 @@ static void StandUpRCTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -295,11 +289,7 @@ static void StandUpRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -370,11 +360,7 @@ static void StandUpRCTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -461,11 +447,7 @@ static void StandUpRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -552,11 +534,7 @@ static void StandUpRCTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -627,11 +605,7 @@ static void StandUpRCTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -905,11 +879,7 @@ static void StandUpRCTrackFlatToLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -943,11 +913,7 @@ static void StandUpRCTrackFlatToRightBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -981,11 +947,7 @@ static void StandUpRCTrackLeftBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1019,11 +981,7 @@ static void StandUpRCTrackRightBankToFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1282,11 +1240,7 @@ static void StandUpRCTrackLeftBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1327,11 +1281,7 @@ static void StandUpRCTrackRightBankTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1372,11 +1322,7 @@ static void StandUpRCTrack25DegUpToLeftBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1417,11 +1363,7 @@ static void StandUpRCTrack25DegUpToRightBank(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1487,11 +1429,7 @@ static void StandUpRCTrackLeftBank(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -3606,10 +3544,7 @@ static void StandUpRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -3701,10 +3636,7 @@ static void StandUpRCTrackHalfLoopUp(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
|
@ -5401,11 +5333,7 @@ static void StandUpRCTrackBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -5483,10 +5411,7 @@ static void StandUpRCTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5651,10 +5576,7 @@ static void StandUpRCTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5837,10 +5759,7 @@ static void StandUpRCTrackLeftEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6005,10 +5924,7 @@ static void StandUpRCTrackRightEighthBankToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -6183,15 +6099,7 @@ static void StandUpRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6216,14 +6124,7 @@ static void StandUpRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -6248,41 +6149,17 @@ static void StandUpRCTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::LeftCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(25754), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::RightCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -6290,40 +6167,23 @@ static void StandUpRCTrackDiagFlat(
|
|||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::LeftCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(25692), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::RightCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::LeftCorner, direction, 0, height, session.SupportColours);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
static void StandUpRCTrackDiagBrakes(
|
||||
|
@ -6331,8 +6191,8 @@ static void StandUpRCTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, StandupRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, StandupRCDiagBrakeImages, defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -6340,7 +6200,7 @@ static void StandUpRCTrackDiagBrakes(
|
|||
session, MetalSupportType::Tubes, DiagSupportPlacement[direction], 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -6350,8 +6210,8 @@ static void StandUpRCTrackDiagBlockBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours,
|
||||
StandupRCDiagBlockBrakeImages[trackElement.IsBrakeClosed()], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, StandupRCDiagBlockBrakeImages[trackElement.IsBrakeClosed()],
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -6359,7 +6219,7 @@ static void StandUpRCTrackDiagBlockBrakes(
|
|||
session, MetalSupportType::Tubes, DiagSupportPlacement[direction], 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -9882,11 +9742,7 @@ static void StandUpRCTrackBlockBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -71,11 +73,7 @@ static void SteeplechaseTrackFlat(
|
|||
}
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -176,11 +174,7 @@ static void SteeplechaseTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -257,11 +251,7 @@ static void SteeplechaseTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -338,11 +328,7 @@ static void SteeplechaseTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1078,11 +1064,7 @@ static void SteeplechaseTrackBrakes(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1130,10 +1112,7 @@ static void SteeplechaseTrackLeftEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1304,10 +1283,7 @@ static void SteeplechaseTrackRightEighthToDiag(
|
|||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -1483,15 +1459,7 @@ static void SteeplechaseTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -1516,14 +1484,7 @@ static void SteeplechaseTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
|
@ -1548,42 +1509,17 @@ static void SteeplechaseTrackDiagFlat(
|
|||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::LeftCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28758), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::TopCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::RightCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::BottomCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1591,41 +1527,22 @@ static void SteeplechaseTrackDiagFlat(
|
|||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::LeftCorner, 0, height, session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(28742), { -16, -16, height },
|
||||
{ { -16, -16, height }, { 32, 32, 3 } });
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::TopCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::RightCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::StickAlt, MetalSupportPlace::BottomCorner, 0, height,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Stick, MetalSupportPlace::LeftCorner, direction, 0, height, session.SupportColours);
|
||||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
static void SteeplechaseTrackDiagBrakes(
|
||||
|
@ -1633,8 +1550,8 @@ static void SteeplechaseTrackDiagBrakes(
|
|||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours, SteeplechaseRCDiagBrakeImages,
|
||||
defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
session, 3, height, direction, trackSequence, SteeplechaseRCDiagBrakeImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
|
@ -1642,7 +1559,7 @@ static void SteeplechaseTrackDiagBrakes(
|
|||
session, MetalSupportType::Stick, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -2718,11 +2635,7 @@ static void SteeplechaseTrackBlockBrakes(
|
|||
break;
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,12 +12,19 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../TrackData.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
static constexpr ImageIndex kSuspendedSwingingRCDiagFlatImages[2][NumOrthogonalDirections] = {
|
||||
{ 26183, 26184, 26185, 26186 },
|
||||
{ 26211, 26212, 26213, 26214 },
|
||||
};
|
||||
|
||||
/** rct2: 0x008A8958 */
|
||||
static void SuspendedSwingingRCTrackFlat(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
|
@ -60,11 +67,7 @@ static void SuspendedSwingingRCTrackFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -161,11 +164,7 @@ static void SuspendedSwingingRCTrack25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -238,11 +237,7 @@ static void SuspendedSwingingRCTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 120, 0x20);
|
||||
}
|
||||
|
||||
|
@ -304,11 +299,7 @@ static void SuspendedSwingingRCTrackFlatTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -387,11 +378,7 @@ static void SuspendedSwingingRCTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_INVERTED_5);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 88, 0x20);
|
||||
}
|
||||
|
||||
|
@ -465,11 +452,7 @@ static void SuspendedSwingingRCTrack60DegUpTo25DegUp(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -564,11 +547,7 @@ static void SuspendedSwingingRCTrack25DegUpToFlat(
|
|||
}
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -1996,11 +1975,7 @@ static void SuspendedSwingingRCTrackBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -3238,164 +3213,18 @@ static void SuspendedSwingingRCTrackDiagFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26214), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26186), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26211), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26183), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26213), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26185), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
if (trackElement.HasChain())
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26212), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(26184), { -16, -16, height + 29 },
|
||||
{ { -16, -16, height + 29 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
}
|
||||
const auto* images = kSuspendedSwingingRCDiagFlatImages[trackElement.HasChain()];
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height + 29, direction, trackSequence, images, defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::LeftCorner, 0, height + 44,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::TopCorner, 0, height + 44, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::RightCorner, 0, height + 44,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::BottomCorner, 0, height + 44,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
if (trackSequence == 3)
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Tubes, MetalSupportPlace::LeftCorner, direction, 0, height + 44, session.SupportColours);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x008A8BF8 */
|
||||
|
@ -5040,11 +4869,7 @@ static void SuspendedSwingingRCTrackBlockBrakes(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
#include "../Vehicle.h"
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -184,11 +186,7 @@ static void WildMouseTrackFlat(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, -1, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -255,11 +253,7 @@ static void WildMouseTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -306,11 +300,7 @@ static void WildMouseTrack60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 104, 0x20);
|
||||
}
|
||||
|
||||
|
@ -342,11 +332,7 @@ static void WildMouseTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -393,11 +379,7 @@ static void WildMouseTrack25DegUpTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -444,11 +426,7 @@ static void WildMouseTrack60DegUpTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -480,11 +458,7 @@ static void WildMouseTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -843,11 +817,7 @@ static void WildMouseTrackFlatTo60DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 64, 0x20);
|
||||
}
|
||||
|
||||
|
@ -902,11 +872,7 @@ static void WildMouseTrack60DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20);
|
||||
}
|
||||
|
||||
|
@ -939,11 +905,7 @@ static void WildMouseTrackBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -967,11 +929,7 @@ static void WildMouseTrackRotationControlToggle(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -989,11 +947,7 @@ static void WildMouseTrackBlockBrakes(
|
|||
session, MetalSupportType::Tubes, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
}
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.Surface.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -9732,7 +9734,7 @@ static void WoodenRCTrackDiagBrakes(
|
|||
session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -10003,7 +10005,7 @@ static void WoodenRCTrackDiagBlockBrakes(
|
|||
session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Location.hpp"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
@ -145,11 +147,7 @@ static void WoodenWildMouseTrackFlat(
|
|||
PaintSegment::topLeftSide, PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
height, 0x20);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../ride/Vehicle.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../ride/Vehicle.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../object/StationObject.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../util/Util.h"
|
||||
#include "../Ride.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../object/StationObject.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Paint.Surface.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Ride.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../../world/Surface.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Ride.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../object/StationObject.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Ride.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Ride.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Ride.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideEntry.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Ride.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../paint/Boundbox.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../Track.h"
|
||||
|
@ -1168,7 +1170,7 @@ static void PaintMonorailTrackDiagFlat(
|
|||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
@ -1190,7 +1192,7 @@ static void PaintMonorailTrackDiag25DegUp(
|
|||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -1212,7 +1214,7 @@ static void PaintMonorailTrackDiagFlatTo25DegUp(
|
|||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
@ -1234,7 +1236,7 @@ static void PaintMonorailTrackDiag25DegUpToFlat(
|
|||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 4, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -1256,7 +1258,7 @@ static void PaintMonorailTrackDiag25DegDown(
|
|||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 8, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -1278,7 +1280,7 @@ static void PaintMonorailTrackDiagFlatTo25DegDown(
|
|||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 4, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
@ -1300,7 +1302,7 @@ static void PaintMonorailTrackDiag25DegDownToFlat(
|
|||
session, MetalSupportType::Boxed, DiagSupportPlacement[direction], 0, height, session.SupportColours);
|
||||
}
|
||||
|
||||
int32_t blockedSegments = kDiagBlockedSegments[trackSequence];
|
||||
int32_t blockedSegments = BlockedSegments::kDiagStraightFlat[trackSequence];
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
|
|
@ -13,12 +13,16 @@
|
|||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Paint.TileElement.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../RideData.h"
|
||||
#include "../TrackData.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
static constexpr ImageIndex kSuspendedMonorailDiagFlatImages[NumOrthogonalDirections] = { 25935, 25936, 25935, 25936 };
|
||||
|
||||
/** rct2: 0x008636F4 */
|
||||
static void SuspendedMonorailTrackFlat(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
|
@ -40,11 +44,7 @@ static void SuspendedMonorailTrackFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
|
@ -112,11 +112,7 @@ static void SuspendedMonorailTrack25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -182,11 +178,7 @@ static void SuspendedMonorailTrackFlatTo25DegUp(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -252,11 +244,7 @@ static void SuspendedMonorailTrack25DegUpToFlat(
|
|||
break;
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
if (TrackPaintUtilShouldPaintSupports(session.MapPosition))
|
||||
{
|
||||
switch (direction)
|
||||
|
@ -1091,10 +1079,7 @@ static void SuspendedMonorailTrackLeftEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height + 42, session.SupportColours);
|
||||
|
||||
|
@ -1277,10 +1262,7 @@ static void SuspendedMonorailTrackRightEighthToDiag(
|
|||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height + 42, session.SupportColours);
|
||||
|
||||
|
@ -1453,108 +1435,19 @@ static void SuspendedMonorailTrackDiagFlat(
|
|||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
switch (trackSequence)
|
||||
{
|
||||
case 0:
|
||||
switch (direction)
|
||||
{
|
||||
case 3:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(25936), { -16, -16, height + 32 },
|
||||
{ { -16, -16, height + 32 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::rightCorner, PaintSegment::centre, PaintSegment::topRightSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(25935), { -16, -16, height + 32 },
|
||||
{ { -16, -16, height + 32 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::topCorner, PaintSegment::centre, PaintSegment::topLeftSide, PaintSegment::topRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 2:
|
||||
switch (direction)
|
||||
{
|
||||
case 2:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(25935), { -16, -16, height + 32 },
|
||||
{ { -16, -16, height + 32 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::bottomCorner, PaintSegment::centre, PaintSegment::bottomLeftSide,
|
||||
PaintSegment::bottomRightSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
case 3:
|
||||
switch (direction)
|
||||
{
|
||||
case 1:
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours.WithIndex(25936), { -16, -16, height + 32 },
|
||||
{ { -16, -16, height + 32 }, { 32, 32, 3 } });
|
||||
break;
|
||||
}
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height + 32, direction, trackSequence, kSuspendedMonorailDiagFlatImages, defaultDiagTileOffsets,
|
||||
defaultDiagBoundLengths, nullptr);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(
|
||||
PaintSegment::leftCorner, PaintSegment::centre, PaintSegment::topLeftSide,
|
||||
PaintSegment::bottomLeftSide),
|
||||
direction),
|
||||
0xFFFF, 0);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::LeftCorner, 0, height + 42,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 1:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::TopCorner, 0, height + 42, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::RightCorner, 0, height + 42,
|
||||
session.SupportColours);
|
||||
break;
|
||||
case 3:
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::BottomCorner, 0, height + 42,
|
||||
session.SupportColours);
|
||||
break;
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(BlockedSegments::kDiagStraightFlat[trackSequence], direction), 0xFFFF, 0);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
break;
|
||||
}
|
||||
if (trackSequence == 3)
|
||||
|
||||
MetalASupportsPaintSetupRotated(
|
||||
session, MetalSupportType::Boxed, MetalSupportPlace::LeftCorner, direction, 0, height + 42, session.SupportColours);
|
||||
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
/** rct2: 0x00863824 */
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include "../../common.h"
|
||||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Ride.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../sprites.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
@ -178,11 +180,7 @@ static void PaintLogFlumeTrackFlat(
|
|||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -245,11 +243,7 @@ static void PaintLogFlumeTrack25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -284,11 +278,7 @@ static void PaintLogFlumeTrackFlatTo25DegUp(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -323,11 +313,7 @@ static void PaintLogFlumeTrack25DegUpToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_12);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -362,11 +348,7 @@ static void PaintLogFlumeTrack25DegDown(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -401,11 +383,7 @@ static void PaintLogFlumeTrackFlatTo25DegDown(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 40, 0x20);
|
||||
}
|
||||
|
||||
|
@ -440,11 +418,7 @@ static void PaintLogFlumeTrack25DegDownToFlat(
|
|||
{
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
|
@ -935,11 +909,7 @@ static void PaintLogFlumeTrackReverser(
|
|||
MetalASupportsPaintSetup(session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 0, height, session.SupportColours);
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_0);
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
|
@ -982,11 +952,7 @@ static void LogFlumeTrack25Down60(
|
|||
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 24, TUNNEL_2);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1027,11 +993,7 @@ static void LogFlumeTrack60Down(
|
|||
|
||||
PaintUtilPushTunnelRotated(session, direction, height + 56, TUNNEL_SQUARE_8);
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
@ -1072,11 +1034,7 @@ static void LogFlumeTrack60Down25(
|
|||
session, MetalSupportType::Boxed, MetalSupportPlace::Centre, 8, height + 8, session.SupportColours);
|
||||
}
|
||||
}
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session,
|
||||
PaintUtilRotateSegments(
|
||||
EnumsToFlags(PaintSegment::centre, PaintSegment::topRightSide, PaintSegment::bottomLeftSide), direction),
|
||||
0xFFFF, 0);
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(BlockedSegments::kStraightFlat, direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20);
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../../scenario/Scenario.h"
|
||||
#include "../../world/Map.h"
|
||||
#include "../Track.h"
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/WoodenSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
#include "../Vehicle.h"
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include "../../interface/Viewport.h"
|
||||
#include "../../paint/Paint.h"
|
||||
#include "../../paint/support/MetalSupports.h"
|
||||
#include "../../paint/tile_element/Segment.h"
|
||||
#include "../../paint/track/Segment.h"
|
||||
#include "../RideData.h"
|
||||
#include "../Track.h"
|
||||
#include "../TrackPaint.h"
|
||||
|
|
Loading…
Reference in New Issue