1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-22 23:33:04 +01:00

Add Diagonal Brakes to LSM Launched Roller Coaster

This commit is contained in:
AuraSpecs
2024-12-08 21:27:45 +01:00
committed by GitHub
parent 38e39f3dfc
commit c5f79dcef7
22 changed files with 150 additions and 3 deletions

View File

@@ -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)
------------------------------------------------------------------------

View File

@@ -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,

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -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);

View File

@@ -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);

View File

@@ -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 = {},

View File

@@ -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,