mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-23 15:52:55 +01:00
Merge pull request #25369 from mixiate/fix-go-karts-blocked-segments
Fix some go karts turns blocked segments
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
- Fix: [#25342] The Go-Karts medium right gentle sloped turn does not have a tunnel at the end.
|
||||
- Fix: [#25358] The Stand Up Roller Coaster left corkscrew does not block supports correctly.
|
||||
- Fix: [#25363] The Mine Train Coaster flat-to-steep track pieces do not block all metal supports.
|
||||
- Fix: [#25369] The Go-Karts medium turns and small flat and sloped turns do not block metal supports correctly.
|
||||
|
||||
0.4.27 (2025-10-04)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
@@ -1940,7 +1940,7 @@ static void TrackLeftQuarterTurn3Tiles(
|
||||
TrackPaintUtilLeftQuarterTurn3TilesTunnel(session, kTunnelGroup, TunnelSubType::Flat, height, direction, trackSequence);
|
||||
static constexpr std::array<int32_t, 4> blockedSegments = {
|
||||
kSegmentsAll,
|
||||
kSegmentsAll,
|
||||
EnumsToFlags(PaintSegment::right, PaintSegment::topRight, PaintSegment::bottomRight),
|
||||
EnumsToFlags(PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft),
|
||||
kSegmentsAll,
|
||||
};
|
||||
@@ -1982,17 +1982,19 @@ static void TrackLeftQuarterTurn5Tiles(
|
||||
PaintUtilPushTunnelRotated(session, DirectionPrev(direction), height, kTunnelGroup, TunnelSubType::Flat);
|
||||
}
|
||||
static constexpr std::array<int32_t, 7> blockedSegments = {
|
||||
EnumsToFlags(PaintSegment::top, PaintSegment::centre, PaintSegment::topRight, PaintSegment::bottomLeft),
|
||||
kSegmentsAll,
|
||||
EnumsToFlags(PaintSegment::right, PaintSegment::topRight, PaintSegment::bottomRight),
|
||||
EnumsToFlags(
|
||||
PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight,
|
||||
PaintSegment::bottomLeft),
|
||||
EnumsToFlags(PaintSegment::right, PaintSegment::centre, PaintSegment::topRight, PaintSegment::bottomRight),
|
||||
kSegmentsAll,
|
||||
EnumsToFlags(
|
||||
PaintSegment::top, PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topLeft,
|
||||
PaintSegment::topRight, PaintSegment::bottomLeft, PaintSegment::bottomRight),
|
||||
EnumsToFlags(PaintSegment::right, PaintSegment::topRight, PaintSegment::bottomRight),
|
||||
EnumsToFlags(
|
||||
PaintSegment::left, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft,
|
||||
PaintSegment::bottomRight),
|
||||
EnumsToFlags(PaintSegment::bottom, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomRight),
|
||||
kSegmentsAll,
|
||||
};
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight);
|
||||
@@ -2294,7 +2296,7 @@ static void TrackLeftQuarterTurn3TilesUp25(
|
||||
|
||||
static constexpr std::array<int32_t, 4> blockedSegments = {
|
||||
kSegmentsAll,
|
||||
kSegmentsAll,
|
||||
EnumsToFlags(PaintSegment::right, PaintSegment::topRight, PaintSegment::bottomRight),
|
||||
EnumsToFlags(PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft),
|
||||
kSegmentsAll,
|
||||
};
|
||||
@@ -2352,8 +2354,8 @@ static void TrackRightQuarterTurn3TilesUp25(
|
||||
|
||||
static constexpr std::array<int32_t, 4> blockedSegments = {
|
||||
kSegmentsAll,
|
||||
kSegmentsAll,
|
||||
EnumsToFlags(PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft),
|
||||
EnumsToFlags(PaintSegment::topLeft, PaintSegment::top, PaintSegment::topRight),
|
||||
EnumsToFlags(PaintSegment::bottom, PaintSegment::centre, PaintSegment::bottomLeft, PaintSegment::bottomRight),
|
||||
kSegmentsAll,
|
||||
};
|
||||
PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0);
|
||||
|
||||
Reference in New Issue
Block a user