mirror of https://github.com/OpenRCT2/OpenRCT2.git
Allow Inverted RC to draw boosters
This commit is contained in:
parent
a9a92c4fb9
commit
4c218ba443
|
@ -4,6 +4,7 @@
|
|||
- Improved: [#18192] Tycoon Park has been added Extras tab.
|
||||
- Improved: [#18214] Competition scenarios have received their own section.
|
||||
- Improved: [#18250] Added modern style file and folder pickers on Windows.
|
||||
- Improved: [#18332] Allow Inverted Roller Coaster to draw boosters.
|
||||
- Improved: [#18422] Allow adding images to music objects.
|
||||
- Improved: [#18428] [Plugin] Add widget description interfaces to documentation.
|
||||
- Change: [#17998] Show cursor when using inverted mouse dragging.
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
// It is used for making sure only compatible builds get connected, even within
|
||||
// single OpenRCT2 version.
|
||||
|
||||
#define NETWORK_STREAM_VERSION "8"
|
||||
#define NETWORK_STREAM_VERSION "9"
|
||||
|
||||
#define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION
|
||||
|
||||
|
|
|
@ -10499,6 +10499,28 @@ static void inverted_rc_track_right_banked_25_deg_down_to_flat(
|
|||
inverted_rc_track_flat_to_left_banked_25_deg_up(session, ride, trackSequence, (direction + 2) & 3, height, trackElement);
|
||||
}
|
||||
|
||||
// Added by OpenRCT2
|
||||
|
||||
static void inverted_rc_track_booster(
|
||||
PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height,
|
||||
const TrackElement& trackElement)
|
||||
{
|
||||
const auto imageId = (direction & 1) ? SPR_G2_BM_INVERT_BOOSTER_2 : SPR_G2_BM_INVERT_BOOSTER_1;
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, session.TrackColours[SCHEME_TRACK].WithIndex(imageId), { 0, 0, height + 29 }, { 32, 20, 1 },
|
||||
{ 0, 6, height + 29 });
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(
|
||||
session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
|
||||
if (track_paint_util_should_paint_supports(session.MapPosition))
|
||||
{
|
||||
MetalASupportsPaintSetup(session, METAL_SUPPORTS_BOXED, 4, 0, height + 44, session.TrackColours[SCHEME_SUPPORTS]);
|
||||
}
|
||||
|
||||
PaintUtilPushTunnelRotated(session, direction, height, TUNNEL_INVERTED_3);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20);
|
||||
}
|
||||
|
||||
TRACK_PAINT_FUNCTION get_track_paint_function_inverted_rc(int32_t trackType)
|
||||
{
|
||||
switch (trackType)
|
||||
|
@ -10793,6 +10815,9 @@ TRACK_PAINT_FUNCTION get_track_paint_function_inverted_rc(int32_t trackType)
|
|||
return inverted_rc_track_left_banked_25_deg_down_to_flat;
|
||||
case TrackElemType::RightBankedDown25ToFlat:
|
||||
return inverted_rc_track_right_banked_25_deg_down_to_flat;
|
||||
|
||||
case TrackElemType::Booster:
|
||||
return inverted_rc_track_booster;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD =
|
|||
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_VERTICAL_LOOP, 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_TWIST, TRACK_HALF_LOOP, TRACK_CORKSCREW, TRACK_HELIX_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_HALF_LOOP_LARGE, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING}),
|
||||
SET_FIELD(ExtraTrackPieces, {}),
|
||||
SET_FIELD(ExtraTrackPieces, {TRACK_BOOSTER}),
|
||||
SET_FIELD(CoveredTrackPieces, {}),
|
||||
SET_FIELD(StartTrackPiece, TrackElemType::EndStation),
|
||||
SET_FIELD(TrackPaintFunction, get_track_paint_function_inverted_rc),
|
||||
|
@ -29,7 +29,7 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD =
|
|||
RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED),
|
||||
SET_FIELD(RideModes, EnumsToFlags(RideMode::ContinuousCircuit, RideMode::ContinuousCircuitBlockSectioned, RideMode::PoweredLaunchPasstrough, RideMode::PoweredLaunch)),
|
||||
SET_FIELD(DefaultMode, RideMode::ContinuousCircuit),
|
||||
SET_FIELD(OperatingSettings, { 7, 27, 0, 0, 0, 0 }),
|
||||
SET_FIELD(OperatingSettings, { 7, 27, 0, 0, 38, 0 }),
|
||||
SET_FIELD(Naming, { STR_RIDE_NAME_INVERTED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_INVERTED_ROLLER_COASTER }),
|
||||
SET_FIELD(NameConvention, { RideComponentType::Train, RideComponentType::Track, RideComponentType::Station }),
|
||||
SET_FIELD(EnumName, nameof(RIDE_TYPE_INVERTED_ROLLER_COASTER)),
|
||||
|
|
Loading…
Reference in New Issue