1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-18 12:33:17 +01:00

Add small medium and large turns, diagonals and s-bends to Boat Hire

This commit is contained in:
mix
2024-11-26 12:41:05 +00:00
committed by Gymnasiast
parent 962358974f
commit 2fd52c82bc
174 changed files with 2160 additions and 4 deletions

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 = 5;
constexpr uint8_t kNetworkStreamVersion = 6;
const std::string kNetworkStreamID = std::string(OPENRCT2_VERSION) + "-" + std::to_string(kNetworkStreamVersion);

File diff suppressed because it is too large Load Diff

View File

@@ -2635,6 +2635,26 @@ bool TrackTypeMustBeMadeInvisible(ride_type_t rideType, OpenRCT2::TrackElemType
break;
}
}
else if (rideType == RIDE_TYPE_BOAT_HIRE && parkFileVersion < kExtendedBoatHireVersion)
{
switch (trackType)
{
case TrackElemType::LeftQuarterTurn3Tiles:
case TrackElemType::RightQuarterTurn3Tiles:
case TrackElemType::LeftQuarterTurn5Tiles:
case TrackElemType::RightQuarterTurn5Tiles:
case TrackElemType::LeftEighthToDiag:
case TrackElemType::RightEighthToDiag:
case TrackElemType::LeftEighthToOrthogonal:
case TrackElemType::RightEighthToOrthogonal:
case TrackElemType::DiagFlat:
case TrackElemType::SBendLeft:
case TrackElemType::SBendRight:
return true;
default:
break;
}
}
return false;
}

View File

@@ -11,7 +11,7 @@ namespace OpenRCT2
struct GameState_t;
// Current version that is saved.
constexpr uint32_t PARK_FILE_CURRENT_VERSION = 45;
constexpr uint32_t PARK_FILE_CURRENT_VERSION = 46;
// The minimum version that is forwards compatible with the current version.
constexpr uint32_t PARK_FILE_MIN_VERSION = 45;
@@ -34,6 +34,7 @@ namespace OpenRCT2
constexpr uint16_t kWoodenRollerCoasterMediumLargeHalfLoopsVersion = 41;
constexpr uint16_t kExtendedCorkscrewCoasterVersion = 42;
constexpr uint16_t kExtendedTwisterCoasterVersion = 43;
constexpr uint16_t kExtendedBoatHireVersion = 46;
} // namespace OpenRCT2
class ParkFileExporter

View File

@@ -22,7 +22,7 @@ constexpr RideTypeDescriptor BoatHireRTD =
.StartTrackPiece = OpenRCT2::TrackElemType::EndStation,
.TrackPaintFunctions = TrackDrawerDescriptor({
.Drawer = GetTrackPaintFunctionBoatHire,
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::curveVerySmall},
.enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::curveVerySmall, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::sBend},
.extraTrackGroups = {},
}),
.InvertedTrackPaintFunctions = {},

View File

@@ -1494,9 +1494,17 @@ enum : ImageIndex
SPR_G2_FLUME_60_25_NW_SE_BACK_WATER,
SPR_G2_FLUME_60_25_NW_SE_BACK,
SPR_G2_BOAT_HIRE_BEGIN,
SPR_G2_BOAT_HIRE_TRACK_SMALL_CURVE = SPR_G2_BOAT_HIRE_BEGIN,
SPR_G2_BOAT_HIRE_TRACK_MEDIUM_CURVE = SPR_G2_BOAT_HIRE_TRACK_SMALL_CURVE + 24,
SPR_G2_BOAT_HIRE_TRACK_LARGE_CURVE = SPR_G2_BOAT_HIRE_TRACK_MEDIUM_CURVE + 40,
SPR_G2_BOAT_HIRE_TRACK_FLAT_DIAGONAL = SPR_G2_BOAT_HIRE_TRACK_LARGE_CURVE + 68,
SPR_G2_BOAT_HIRE_TRACK_S_BEND = SPR_G2_BOAT_HIRE_TRACK_FLAT_DIAGONAL + 3,
SPR_G2_BOAT_HIRE_END = SPR_G2_BOAT_HIRE_TRACK_S_BEND + 32,
// G2 Supports
SPR_G2_SUPPORT_WOODEN_TRUSS,
SPR_G2_SUPPORT_WOODEN_TRUSS = SPR_G2_BOAT_HIRE_END,
SPR_G2_SUPPORT_WOODEN_MINE = SPR_G2_SUPPORT_WOODEN_TRUSS + 32,
SPR_G2_SUPPORT_END = SPR_G2_SUPPORT_WOODEN_MINE + 32,