mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-19 13:03:11 +01:00
Use wooden support table for Reverse Freefall and Virginia Reel
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#include "../../../world/Map.h"
|
||||
#include "../../Paint.h"
|
||||
#include "../../support/WoodenSupports.h"
|
||||
#include "../../support/WoodenSupports.hpp"
|
||||
#include "../../tile_element/Paint.TileElement.h"
|
||||
#include "../../tile_element/Segment.h"
|
||||
#include "../../track/Segment.h"
|
||||
@@ -219,8 +220,8 @@ static void PaintReverseFreefallRCFlat(
|
||||
PaintUtilPushTunnelLeft(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
DrawSupportForSequenceA<TrackElemType::Flat>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight);
|
||||
}
|
||||
@@ -240,9 +241,6 @@ static void PaintReverseFreefallRCStation(
|
||||
|
||||
imageId = session.TrackColours.WithIndex(reverse_freefall_rc_track_pieces_station[direction]);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
}
|
||||
else if (direction == 1 || direction == 3)
|
||||
{
|
||||
@@ -253,10 +251,9 @@ static void PaintReverseFreefallRCStation(
|
||||
|
||||
imageId = session.TrackColours.WithIndex(reverse_freefall_rc_track_pieces_station[direction]);
|
||||
PaintAddImageAsChild(session, imageId, { 0, 0, height }, { { 6, 0, height }, { 20, 32, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
}
|
||||
DrawSupportForSequenceA<TrackElemType::EndStation>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
TrackPaintUtilDrawStationTunnel(session, direction, height);
|
||||
|
||||
TrackPaintUtilDrawNarrowStationPlatform(session, ride, direction, height, 5, trackElement);
|
||||
@@ -313,14 +310,14 @@ static void PaintReverseFreefallRCSlope(
|
||||
session, direction, supportsImageId, { 0, 0, height }, { { 0, 6, height }, { 32, 20, bbHeight } });
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
DrawSupportForSequenceA<TrackElemType::ReverseFreefallSlope>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + supportHeights[trackSequence]);
|
||||
break;
|
||||
case 5:
|
||||
if (WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours))
|
||||
if (DrawSupportForSequenceA<TrackElemType::ReverseFreefallSlope>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours))
|
||||
{
|
||||
ImageId floorImageId;
|
||||
if (direction & 1)
|
||||
@@ -360,8 +357,8 @@ static void PaintReverseFreefallRCSlope(
|
||||
PaintAddImageAsChildRotated(
|
||||
session, direction, supportsImageId, { 0, 0, height }, { { 27, 6, height }, { 1, 20, 126 } });
|
||||
}
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
DrawSupportForSequenceA<TrackElemType::ReverseFreefallSlope>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + supportHeights[trackSequence]);
|
||||
break;
|
||||
@@ -422,8 +419,9 @@ static void PaintReverseFreefallRCOnridePhoto(
|
||||
PaintAddImageAsParentRotated(
|
||||
session, direction, colour.WithIndex(imageIds[direction]), { 0, 0, height }, { { 0, 6, height }, { 32, 20, 1 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
DrawSupportForSequenceA<TrackElemType::OnRidePhoto>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
;
|
||||
|
||||
TrackPaintUtilOnridePhotoPaint2(session, direction, trackElement, height);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "../../../ride/Vehicle.h"
|
||||
#include "../../Paint.h"
|
||||
#include "../../support/WoodenSupports.h"
|
||||
#include "../../support/WoodenSupports.hpp"
|
||||
#include "../../tile_element/Segment.h"
|
||||
#include "../../track/Segment.h"
|
||||
#include "../../track/Support.h"
|
||||
@@ -182,8 +183,8 @@ static void PaintVirginiaReelTrackFlat(
|
||||
PaintUtilPushTunnelLeft(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
DrawSupportForSequenceA<TrackElemType::Flat>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight);
|
||||
@@ -217,30 +218,20 @@ static void PaintVirginiaReelTrack25DegUp(
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
}
|
||||
|
||||
DrawSupportForSequenceA<TrackElemType::Up25>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height - 8, kTunnelGroup, TunnelSubType::SlopeStart);
|
||||
break;
|
||||
case 1:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelRight(session, height + 8, kTunnelGroup, TunnelSubType::SlopeEnd);
|
||||
break;
|
||||
case 2:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height + 8, kTunnelGroup, TunnelSubType::SlopeEnd);
|
||||
break;
|
||||
case 3:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25Deg);
|
||||
PaintUtilPushTunnelRight(session, height - 8, kTunnelGroup, TunnelSubType::SlopeStart);
|
||||
break;
|
||||
}
|
||||
@@ -267,39 +258,24 @@ static void PaintVirginiaReelTrackFlatTo25DegUp(
|
||||
case 0:
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 27, 2 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
break;
|
||||
case 1:
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 27, 32, 2 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelRight(session, height, kTunnelGroup, TunnelSubType::SlopeEnd);
|
||||
break;
|
||||
case 2:
|
||||
ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 0, 2, height }, { 32, 27, 2 } });
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelLeft(session, height, kTunnelGroup, TunnelSubType::SlopeEnd);
|
||||
break;
|
||||
case 3:
|
||||
PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 2, 0, height }, { 27, 32, 2 } });
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::FlatToUp25Deg);
|
||||
PaintUtilPushTunnelRight(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
break;
|
||||
}
|
||||
|
||||
DrawSupportForSequenceA<TrackElemType::FlatToUp25>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0);
|
||||
PaintUtilSetGeneralSupportHeight(session, height + 48);
|
||||
}
|
||||
@@ -332,30 +308,20 @@ static void PaintVirginiaReelTrack25DegUpToFlat(
|
||||
session.WoodenSupportsPrependTo = ps;
|
||||
}
|
||||
|
||||
DrawSupportForSequenceA<TrackElemType::Up25ToFlat>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelLeft(session, height - 8, kTunnelGroup, TunnelSubType::Flat);
|
||||
break;
|
||||
case 1:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelRight(session, height + 8, kTunnelGroup, TunnelSubType::FlatTo25Deg);
|
||||
break;
|
||||
case 2:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelLeft(session, height + 8, kTunnelGroup, TunnelSubType::FlatTo25Deg);
|
||||
break;
|
||||
case 3:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours,
|
||||
WoodenSupportTransitionType::Up25DegToFlat);
|
||||
PaintUtilPushTunnelRight(session, height - 8, kTunnelGroup, TunnelSubType::Flat);
|
||||
break;
|
||||
}
|
||||
@@ -416,8 +382,8 @@ static void PaintVirginiaReelStation(
|
||||
PaintUtilPushTunnelRight(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
}
|
||||
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours);
|
||||
DrawSupportForSequenceA<TrackElemType::EndStation>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
TrackPaintUtilDrawStation(session, ride, direction, height, trackElement);
|
||||
|
||||
PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0);
|
||||
@@ -448,8 +414,8 @@ static void PaintVirginiaReelTrackLeftQuarterTurn3Tiles(
|
||||
break;
|
||||
case 0:
|
||||
case 3:
|
||||
WoodenASupportsPaintSetupRotated(
|
||||
session, supportType.wooden, WoodenSupportSubType::Corner3, direction, height, session.SupportColours);
|
||||
DrawSupportForSequenceA<TrackElemType::LeftQuarterTurn3Tiles>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0);
|
||||
break;
|
||||
}
|
||||
@@ -482,25 +448,17 @@ static void PaintVirginiaReelTrackLeftQuarterTurn1Tile(
|
||||
TrackPaintUtilLeftQuarterTurn1TilePaint(
|
||||
session, 2, height, 0, direction, session.TrackColours, virginia_reel_track_pieces_flat_quarter_turn_1_tile);
|
||||
|
||||
DrawSupportForSequenceA<TrackElemType::LeftQuarterTurn1Tile>(
|
||||
session, supportType.wooden, trackSequence, direction, height, session.SupportColours);
|
||||
switch (direction)
|
||||
{
|
||||
case 0:
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType.wooden, WoodenSupportSubType::Corner3, height, session.SupportColours);
|
||||
PaintUtilPushTunnelLeft(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
break;
|
||||
case 1:
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType.wooden, WoodenSupportSubType::Corner0, height, session.SupportColours);
|
||||
break;
|
||||
case 2:
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType.wooden, WoodenSupportSubType::Corner1, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
break;
|
||||
case 3:
|
||||
WoodenASupportsPaintSetup(
|
||||
session, supportType.wooden, WoodenSupportSubType::Corner2, height, session.SupportColours);
|
||||
PaintUtilPushTunnelRight(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
PaintUtilPushTunnelLeft(session, height, kTunnelGroup, TunnelSubType::Flat);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user