mirror of https://github.com/OpenRCT2/OpenRCT2.git
add giga coaster
This commit is contained in:
parent
f9527b7fff
commit
a1c6b95256
|
@ -2661,6 +2661,42 @@
|
|||
{
|
||||
"path": "track/intamin/booster_2.png"
|
||||
},
|
||||
{
|
||||
"path": "track/intamin/brake_horizontal_background_open.png",
|
||||
"x_offset": -32,
|
||||
"y_offset": -5,
|
||||
"palette": "keep"
|
||||
},
|
||||
{
|
||||
"path": "track/intamin/brake_horizontal_background_closed.png",
|
||||
"x_offset": -32,
|
||||
"y_offset": -5,
|
||||
"palette": "keep"
|
||||
},
|
||||
{
|
||||
"path": "track/intamin/brake_horizontal_foreground.png",
|
||||
"x_offset": -30,
|
||||
"y_offset": 8,
|
||||
"palette": "keep"
|
||||
},
|
||||
{
|
||||
"path": "track/intamin/brake_vertical_background.png",
|
||||
"x_offset": -14,
|
||||
"y_offset": -10,
|
||||
"palette": "keep"
|
||||
},
|
||||
{
|
||||
"path": "track/intamin/brake_vertical_foreground_open.png",
|
||||
"x_offset": -13,
|
||||
"y_offset": -9,
|
||||
"palette": "keep"
|
||||
},
|
||||
{
|
||||
"path": "track/intamin/brake_vertical_foreground_closed.png",
|
||||
"x_offset": -13,
|
||||
"y_offset": -9,
|
||||
"palette": "keep"
|
||||
},
|
||||
{
|
||||
"path": "track/intamin/liftbooster_0.png",
|
||||
"x_offset": -21,
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 978 B |
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 961 B |
Binary file not shown.
After Width: | Height: | Size: 959 B |
|
@ -39,6 +39,47 @@ static constexpr uint32_t _GigaCoasterBrakeImages[NumOrthogonalDirections][2][2]
|
|||
{ GIGA_COASTER_BRAKE_NW_SE_CLOSED_1, GIGA_COASTER_BRAKE_NW_SE_CLOSED_2 } },
|
||||
};
|
||||
|
||||
/* first level : open, closed
|
||||
* second level: background, foreground
|
||||
* third level: direction
|
||||
*/
|
||||
static constexpr uint32_t GigaDiagBrakeImages[2][2][NumOrthogonalDirections] = {
|
||||
{
|
||||
// Open
|
||||
{
|
||||
// Background
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 3,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 3,
|
||||
},
|
||||
{
|
||||
// Foreground
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 2,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 4,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 2,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 4,
|
||||
},
|
||||
},
|
||||
{
|
||||
// Closed
|
||||
{
|
||||
// Background
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 1,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 3,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 1,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 3,
|
||||
},
|
||||
{
|
||||
// Foreground
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 2,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 5,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 2,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES + 5,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
/** rct2: 0x008AD674 */
|
||||
static void GigaRCTrackFlat(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
|
@ -16563,6 +16604,36 @@ static void GigaRCTrackRightEighthBankToOrthogonalDown25(
|
|||
GigaRCTrackLeftEighthBankToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement);
|
||||
}
|
||||
|
||||
static constexpr CoordsXYZ diagBrakeBoundsOffsets[4] = {
|
||||
{ 0, 0, 24 },
|
||||
{ 0, 0, 24 },
|
||||
{ 0, 0, 24 },
|
||||
{ 0, 0, 24 },
|
||||
};
|
||||
|
||||
static void GigaRCTrackDiagBrakes(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
GigaDiagBrakeImages[trackElement.IsBrakeClosed()][0], defaultDiagTileOffsets, defaultDiagBoundLengths, nullptr);
|
||||
|
||||
TrackPaintUtilDiagTilesPaint(
|
||||
session, 3, height, direction, trackSequence, session.TrackColours[SCHEME_TRACK],
|
||||
GigaDiagBrakeImages[trackElement.IsBrakeClosed()][1], defaultDiagTileOffsets, defaultDiagBoundLengths,
|
||||
diagBrakeBoundsOffsets);
|
||||
|
||||
if (trackSequence == 3)
|
||||
{
|
||||
MetalASupportsPaintSetup(
|
||||
session, MetalSupportType::Tubes, DiagSupportSegments[direction], 0, height, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
}
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 32, 0x20);
|
||||
}
|
||||
|
||||
TRACK_PAINT_FUNCTION GetTrackPaintFunctionGigaRC(int32_t trackType)
|
||||
{
|
||||
switch (trackType)
|
||||
|
@ -17049,6 +17120,9 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionGigaRC(int32_t trackType)
|
|||
return GigaRCTrackLeftEighthBankToOrthogonalDown25;
|
||||
case TrackElemType::RightEighthBankToOrthogonalDown25:
|
||||
return GigaRCTrackRightEighthBankToOrthogonalDown25;
|
||||
case TrackElemType::DiagBlockBrakes:
|
||||
case TrackElemType::DiagBrakes:
|
||||
return GigaRCTrackDiagBrakes;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ constexpr RideTypeDescriptor GigaCoasterRTD =
|
|||
{
|
||||
SET_FIELD(AlternateType, RIDE_TYPE_NULL),
|
||||
SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER),
|
||||
SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_CURVE_LARGE}),
|
||||
SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CURVE_LARGE, TRACK_HELIX_DOWN_BANKED_HALF, TRACK_HELIX_UP_BANKED_HALF, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_LIFT_HILL_CABLE, TRACK_BOOSTER, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_SLOPE_CURVE_LARGE, TRACK_DIAG_BRAKES, TRACK_DIAG_BLOCK_BRAKES}),
|
||||
SET_FIELD(ExtraTrackPieces, {TRACK_SLOPE_VERTICAL, TRACK_CURVE_VERTICAL, TRACK_BARREL_ROLL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_HALF_LOOP_LARGE, TRACK_VERTICAL_LOOP, TRACK_CORKSCREW, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}),
|
||||
SET_FIELD(CoveredTrackPieces, {}),
|
||||
SET_FIELD(StartTrackPiece, TrackElemType::EndStation),
|
||||
|
|
|
@ -1212,7 +1212,8 @@ enum
|
|||
SPR_G2_GIGA_RC_BEGIN = SPR_G2_JUNIOR_RC_END,
|
||||
SPR_G2_GIGA_RC_BOOSTER_NE_SW = SPR_G2_GIGA_RC_BEGIN,
|
||||
SPR_G2_GIGA_RC_BOOSTER_NW_SE,
|
||||
SPR_G2_GIGA_RC_POWERED_LIFT_0,
|
||||
SPR_G2_GIGA_RC_DIAG_BRAKES,
|
||||
SPR_G2_GIGA_RC_POWERED_LIFT_0 = SPR_G2_GIGA_RC_DIAG_BRAKES + 6,
|
||||
SPR_G2_GIGA_RC_POWERED_LIFT_1,
|
||||
SPR_G2_GIGA_RC_POWERED_LIFT_2,
|
||||
SPR_G2_GIGA_RC_POWERED_LIFT_3,
|
||||
|
|
Loading…
Reference in New Issue