Add Diagonal Brakes to LSM Launched Roller Coaster
@@ -1,5 +1,6 @@
|
||||
0.4.18 (in development)
|
||||
------------------------------------------------------------------------
|
||||
- Improved: [#23260] Add diagonal (block) brakes to LSM Launched Roller Coaster.
|
||||
|
||||
0.4.17 (2024-12-08)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
@@ -2847,6 +2847,46 @@
|
||||
"y": -9,
|
||||
"palette": "keep"
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_closed_alt_0.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_closed_alt_1.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_closed_alt_2.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_closed_alt_3.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_open_alt_0.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_open_alt_1.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_open_alt_2.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_block_brake_open_alt_3.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_booster_0.png",
|
||||
"x": -32,
|
||||
@@ -2877,6 +2917,46 @@
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_closed_alt_0.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_closed_alt_1.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_closed_alt_2.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_closed_alt_3.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_open_alt_0.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_open_alt_1.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_open_alt_2.png",
|
||||
"x": -32,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/diagonal_brake_open_alt_3.png",
|
||||
"x": -8,
|
||||
"y": -9
|
||||
},
|
||||
{
|
||||
"path": "track/lattice_triangle/drive_tyre_1.png",
|
||||
"x": -22,
|
||||
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
@@ -49,7 +49,7 @@ using namespace OpenRCT2;
|
||||
// It is used for making sure only compatible builds get connected, even within
|
||||
// single OpenRCT2 version.
|
||||
|
||||
constexpr uint8_t kNetworkStreamVersion = 0;
|
||||
constexpr uint8_t kNetworkStreamVersion = 1;
|
||||
|
||||
const std::string kNetworkStreamID = std::string(OPENRCT2_VERSION) + "-" + std::to_string(kNetworkStreamVersion);
|
||||
|
||||
|
||||
@@ -206,6 +206,52 @@ static void LatticeTriangleTrackAltDiagBooster(
|
||||
TrackPaintUtilDiagTilesPaintExtra(session, 3, height, direction, trackSequence, images, supportType.metal);
|
||||
}
|
||||
|
||||
static void LatticeTriangleTrackAltDiagBlockBrake(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement, SupportType supportType)
|
||||
{
|
||||
constexpr ImageIndex images[2][kNumOrthogonalDirections] = {
|
||||
{
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_4,
|
||||
},
|
||||
{
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_4,
|
||||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilDiagTilesPaintExtra(
|
||||
session, 3, height, direction, trackSequence, images[trackElement.IsBrakeClosed()], supportType.metal);
|
||||
}
|
||||
|
||||
static void LatticeTriangleTrackAltDiagBrake(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement, SupportType supportType)
|
||||
{
|
||||
constexpr ImageIndex images[2][kNumOrthogonalDirections] = {
|
||||
{
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_4,
|
||||
},
|
||||
{
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_4,
|
||||
},
|
||||
};
|
||||
|
||||
TrackPaintUtilDiagTilesPaintExtra(
|
||||
session, 3, height, direction, trackSequence, images[trackElement.IsBrakeClosed()], supportType.metal);
|
||||
}
|
||||
|
||||
TRACK_PAINT_FUNCTION GetTrackPaintFunctionLatticeTriangleTrackAlt(TrackElemType trackType)
|
||||
{
|
||||
switch (trackType)
|
||||
@@ -224,6 +270,10 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionLatticeTriangleTrackAlt(TrackElemType
|
||||
return LatticeTriangleTrackAltPoweredLift;
|
||||
case TrackElemType::DiagBooster:
|
||||
return LatticeTriangleTrackAltDiagBooster;
|
||||
case TrackElemType::DiagBlockBrakes:
|
||||
return LatticeTriangleTrackAltDiagBlockBrake;
|
||||
case TrackElemType::DiagBrakes:
|
||||
return LatticeTriangleTrackAltDiagBrake;
|
||||
|
||||
default:
|
||||
return GetTrackPaintFunctionLatticeTriangleTrack(trackType);
|
||||
|
||||
@@ -22,7 +22,7 @@ constexpr RideTypeDescriptor LSMLaunchedRollerCoasterRTD =
|
||||
.TrackPaintFunctions = TrackDrawerDescriptor({
|
||||
.Drawer = GetTrackPaintFunctionLatticeTriangleTrackAlt,
|
||||
.supportType = MetalSupportType::Tubes,
|
||||
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::flatRollBanking, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::slopeCurveSteep, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::helixDownBankedHalf, TrackGroup::helixUpBankedHalf, TrackGroup::brakes, TrackGroup::onridePhoto, TrackGroup::blockBrakes, TrackGroup::slopeRollBanking, TrackGroup::slopeSteepLong, TrackGroup::slopeCurveBanked, TrackGroup::slopeCurveLarge, TrackGroup::slopeCurveLargeBanked, TrackGroup::booster, TrackGroup::diagBooster, TrackGroup::poweredLift, TrackGroup::slopeVertical, TrackGroup::curveVertical, TrackGroup::barrelRoll, TrackGroup::quarterLoop, TrackGroup::halfLoop, TrackGroup::halfLoopMedium, TrackGroup::halfLoopLarge, TrackGroup::verticalLoop, TrackGroup::corkscrew, TrackGroup::corkscrewLarge, TrackGroup::zeroGRoll, TrackGroup::zeroGRollLarge },
|
||||
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::flatRollBanking, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::slopeCurveSteep, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::helixDownBankedHalf, TrackGroup::helixUpBankedHalf, TrackGroup::brakes, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes, TrackGroup::onridePhoto, TrackGroup::blockBrakes, TrackGroup::slopeRollBanking, TrackGroup::slopeSteepLong, TrackGroup::slopeCurveBanked, TrackGroup::slopeCurveLarge, TrackGroup::slopeCurveLargeBanked, TrackGroup::booster, TrackGroup::diagBooster, TrackGroup::poweredLift, TrackGroup::slopeVertical, TrackGroup::curveVertical, TrackGroup::barrelRoll, TrackGroup::quarterLoop, TrackGroup::halfLoop, TrackGroup::halfLoopMedium, TrackGroup::halfLoopLarge, TrackGroup::verticalLoop, TrackGroup::corkscrew, TrackGroup::corkscrewLarge, TrackGroup::zeroGRoll, TrackGroup::zeroGRollLarge },
|
||||
.extraTrackGroups = {TrackGroup::liftHill, TrackGroup::liftHillCable},
|
||||
}),
|
||||
.InvertedTrackPaintFunctions = {},
|
||||
|
||||
@@ -1247,12 +1247,28 @@ enum : ImageIndex
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_BRAKE_ALT_OPEN_SW_NE,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_BRAKE_ALT_OPEN_SE_NW,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKES,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BOOSTER_1 = SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKES + 6,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_1 = SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKES + 6,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_CLOSED_ALT_4,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BLOCK_BRAKE_OPEN_ALT_4,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BOOSTER_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BOOSTER_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BOOSTER_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BOOSTER_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BOOSTER_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BOOSTER_ALT_4,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_CLOSED_ALT_4,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_1,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_2,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_3,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DIAG_BRAKE_OPEN_ALT_4,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DRIVE_TYRE_NE_SW,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DRIVE_TYRE_NW_SE,
|
||||
SPR_G2_LATTICE_TRIANGLE_TRACK_DRIVE_TYRE_SW_NE,
|
||||
|
||||