From b712cc8f073d0fb84f6a7c5dc13566f58655afed Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 24 Dec 2022 15:18:14 +0100 Subject: [PATCH] Refactor checks for ghost tracks while painting --- src/openrct2/paint/Paint.h | 1 + src/openrct2/ride/TrackPaint.cpp | 3 +-- src/openrct2/ride/gentle/Circus.cpp | 2 +- src/openrct2/ride/gentle/FerrisWheel.cpp | 2 +- src/openrct2/ride/gentle/MerryGoRound.cpp | 2 +- src/openrct2/ride/gentle/SpaceRings.cpp | 2 +- src/openrct2/ride/thrill/3dCinema.cpp | 2 +- src/openrct2/ride/thrill/Enterprise.cpp | 2 +- src/openrct2/ride/thrill/MagicCarpet.cpp | 2 +- src/openrct2/ride/thrill/MotionSimulator.cpp | 2 +- src/openrct2/ride/thrill/SwingingInverterShip.cpp | 2 +- src/openrct2/ride/thrill/SwingingShip.cpp | 2 +- src/openrct2/ride/thrill/TopSpin.cpp | 4 ++-- src/openrct2/ride/thrill/Twist.cpp | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/openrct2/paint/Paint.h b/src/openrct2/paint/Paint.h index c77b4d968c..31e70f190a 100644 --- a/src/openrct2/paint/Paint.h +++ b/src/openrct2/paint/Paint.h @@ -288,6 +288,7 @@ extern CoordsXY gClipSelectionB; /** rct2: 0x00993CC4. The white ghost that indicates not-yet-built elements. */ constexpr const ImageId ConstructionMarker = ImageId(0).WithRemap(FilterPaletteID::Palette44); constexpr const ImageId HighlightMarker = ImageId(0).WithRemap(FilterPaletteID::Palette44); +constexpr const ImageId TrackGhost = ImageId(0, FilterPaletteID::PaletteNull); extern bool gShowDirtyVisuals; extern bool gPaintBoundingBoxes; diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 614b11c7e7..51a8a4ed17 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -822,8 +822,7 @@ bool track_paint_util_draw_station_covers_2( PaintAddImageAsParent(session, imageId, offset, boundBox); // Glass - if (session.TrackColours[SCHEME_MISC].ToUInt32() == IMAGE_TYPE_REMAP - && (stationObject->Flags & STATION_OBJECT_FLAGS::IS_TRANSPARENT)) + if (session.TrackColours[SCHEME_MISC] == TrackGhost && (stationObject->Flags & STATION_OBJECT_FLAGS::IS_TRANSPARENT)) { imageId = ImageId(baseImageIndex + imageOffset + 12).WithTransparency(imageTemplate.GetPrimary()); PaintAddImageAsChild(session, imageId, offset, boundBox); diff --git a/src/openrct2/ride/gentle/Circus.cpp b/src/openrct2/ride/gentle/Circus.cpp index cd8ce3d40d..e9a68ffdf2 100644 --- a/src/openrct2/ride/gentle/Circus.cpp +++ b/src/openrct2/ride/gentle/Circus.cpp @@ -32,7 +32,7 @@ static void PaintCircusTent(PaintSession& session, const Ride& ride, uint8_t dir auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; } diff --git a/src/openrct2/ride/gentle/FerrisWheel.cpp b/src/openrct2/ride/gentle/FerrisWheel.cpp index 5e10cc326f..7a44ab3f8d 100644 --- a/src/openrct2/ride/gentle/FerrisWheel.cpp +++ b/src/openrct2/ride/gentle/FerrisWheel.cpp @@ -79,7 +79,7 @@ static void PaintFerrisWheelStructure( auto supportsImageTemplate = session.TrackColours[SCHEME_TRACK]; auto wheelImageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto wheelImageFlags = session.TrackColours[SCHEME_MISC]; - if (wheelImageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (wheelImageFlags != TrackGhost) { wheelImageTemplate = wheelImageFlags; } diff --git a/src/openrct2/ride/gentle/MerryGoRound.cpp b/src/openrct2/ride/gentle/MerryGoRound.cpp index ce70de6aff..94a242b81b 100644 --- a/src/openrct2/ride/gentle/MerryGoRound.cpp +++ b/src/openrct2/ride/gentle/MerryGoRound.cpp @@ -84,7 +84,7 @@ static void PaintCarousel( auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; } diff --git a/src/openrct2/ride/gentle/SpaceRings.cpp b/src/openrct2/ride/gentle/SpaceRings.cpp index 2996a08f4b..42c18e1d28 100644 --- a/src/openrct2/ride/gentle/SpaceRings.cpp +++ b/src/openrct2/ride/gentle/SpaceRings.cpp @@ -59,7 +59,7 @@ static void PaintSpaceRingsStructure( vehicleIndex = 0; } - if (imageColourFlags.ToUInt32() == IMAGE_TYPE_REMAP) + if (imageColourFlags == TrackGhost) { imageColourFlags = ImageId(0, ride.vehicle_colours[vehicleIndex].Body, ride.vehicle_colours[vehicleIndex].Trim); } diff --git a/src/openrct2/ride/thrill/3dCinema.cpp b/src/openrct2/ride/thrill/3dCinema.cpp index 6d0bd895ed..ae365ca093 100644 --- a/src/openrct2/ride/thrill/3dCinema.cpp +++ b/src/openrct2/ride/thrill/3dCinema.cpp @@ -32,7 +32,7 @@ static void Paint3dCinemaDome( auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; } diff --git a/src/openrct2/ride/thrill/Enterprise.cpp b/src/openrct2/ride/thrill/Enterprise.cpp index ee1f37454f..6d422d3ce3 100644 --- a/src/openrct2/ride/thrill/Enterprise.cpp +++ b/src/openrct2/ride/thrill/Enterprise.cpp @@ -71,7 +71,7 @@ static void PaintEnterpriseStructure( auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; } diff --git a/src/openrct2/ride/thrill/MagicCarpet.cpp b/src/openrct2/ride/thrill/MagicCarpet.cpp index 4ab68d4930..7490c38b12 100644 --- a/src/openrct2/ride/thrill/MagicCarpet.cpp +++ b/src/openrct2/ride/thrill/MagicCarpet.cpp @@ -166,7 +166,7 @@ static void PaintMagicCarpetVehicle( // Vehicle auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; } diff --git a/src/openrct2/ride/thrill/MotionSimulator.cpp b/src/openrct2/ride/thrill/MotionSimulator.cpp index e65b3b24f9..508f97abf4 100644 --- a/src/openrct2/ride/thrill/MotionSimulator.cpp +++ b/src/openrct2/ride/thrill/MotionSimulator.cpp @@ -66,7 +66,7 @@ static void PaintMotionSimulatorVehicle( auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; } diff --git a/src/openrct2/ride/thrill/SwingingInverterShip.cpp b/src/openrct2/ride/thrill/SwingingInverterShip.cpp index 6abe1ecaaa..ffb8ce83cf 100644 --- a/src/openrct2/ride/thrill/SwingingInverterShip.cpp +++ b/src/openrct2/ride/thrill/SwingingInverterShip.cpp @@ -101,7 +101,7 @@ static void PaintSwingingInverterShipStructure( auto vehicleImageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { vehicleImageTemplate = imageFlags; } diff --git a/src/openrct2/ride/thrill/SwingingShip.cpp b/src/openrct2/ride/thrill/SwingingShip.cpp index 63f76e174e..3867b7d7c1 100644 --- a/src/openrct2/ride/thrill/SwingingShip.cpp +++ b/src/openrct2/ride/thrill/SwingingShip.cpp @@ -124,7 +124,7 @@ static void PaintSwingingShipStructure( auto supportsImageTemplate = session.TrackColours[SCHEME_TRACK]; auto vehicleImageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); auto imageFlags = session.TrackColours[SCHEME_MISC]; - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { vehicleImageTemplate = imageFlags; } diff --git a/src/openrct2/ride/thrill/TopSpin.cpp b/src/openrct2/ride/thrill/TopSpin.cpp index f6f123ff42..8a830d66ef 100644 --- a/src/openrct2/ride/thrill/TopSpin.cpp +++ b/src/openrct2/ride/thrill/TopSpin.cpp @@ -103,7 +103,7 @@ static void PaintTopSpinSeat( auto imageFlags = session.TrackColours[SCHEME_MISC]; auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; } @@ -152,7 +152,7 @@ static void PaintTopSpinVehicle( auto imageFlags = session.TrackColours[SCHEME_MISC]; auto supportImageTemplate = ImageId(0, ride.track_colour[0].main, ride.track_colour[0].supports); auto armImageTemplate = ImageId(0, ride.track_colour[0].main, ride.track_colour[0].additional); - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { supportImageTemplate = imageFlags; armImageTemplate = supportImageTemplate; diff --git a/src/openrct2/ride/thrill/Twist.cpp b/src/openrct2/ride/thrill/Twist.cpp index e20d1c1677..08a49e8bd2 100644 --- a/src/openrct2/ride/thrill/Twist.cpp +++ b/src/openrct2/ride/thrill/Twist.cpp @@ -51,7 +51,7 @@ static void paint_twist_structure( auto imageFlags = session.TrackColours[SCHEME_MISC]; auto imageTemplate = ImageId(0, ride.vehicle_colours[0].Body, ride.vehicle_colours[0].Trim); - if (imageFlags.ToUInt32() != IMAGE_TYPE_REMAP) + if (imageFlags != TrackGhost) { imageTemplate = imageFlags; }