From f77611dcd2a1d148f56c7fb4daf05deee116a571 Mon Sep 17 00:00:00 2001 From: jazzysoggy <39224097+jazzysoggy@users.noreply.github.com> Date: Sat, 25 Jun 2022 02:04:40 -0400 Subject: [PATCH] Fix #17229: Rename G1_FLAG_BMP to G1_FLAG_HAS_TRANSPARENCY (#17441) * Renamed All Instance of G1_FLAG_BMP Renamed all instances of G1_FLAG_BMP to GA_FLAG_HAS_TRANSPARENCY * Fixed comments and labels Fixed comments and labels to be more in line with new definitions --- src/openrct2-ui/scripting/CustomImages.cpp | 2 +- src/openrct2-ui/windows/InstallTrack.cpp | 2 +- src/openrct2-ui/windows/TrackList.cpp | 2 +- src/openrct2/drawing/Drawing.Sprite.BMP.cpp | 2 +- src/openrct2/drawing/Drawing.Sprite.cpp | 4 ++-- src/openrct2/drawing/Drawing.h | 2 +- src/openrct2/drawing/ImageImporter.cpp | 2 +- src/openrct2/drawing/ScrollingText.cpp | 2 +- src/openrct2/interface/Viewport.cpp | 4 ++-- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/openrct2-ui/scripting/CustomImages.cpp b/src/openrct2-ui/scripting/CustomImages.cpp index 06eb998e17..0383f31324 100644 --- a/src/openrct2-ui/scripting/CustomImages.cpp +++ b/src/openrct2-ui/scripting/CustomImages.cpp @@ -155,7 +155,7 @@ namespace OpenRCT2::Scripting obj.Set("width", g1->width); obj.Set("height", g1->height); - obj.Set("isBMP", (g1->flags & G1_FLAG_BMP) != 0); + obj.Set("hasTransparent", (g1->flags & G1_FLAG_HAS_TRANSPARENCY) != 0); obj.Set("isRLE", (g1->flags & G1_FLAG_RLE_COMPRESSION) != 0); obj.Set("isPalette", (g1->flags & G1_FLAG_PALETTE) != 0); obj.Set("noZoom", (g1->flags & G1_FLAG_NO_ZOOM_DRAW) != 0); diff --git a/src/openrct2-ui/windows/InstallTrack.cpp b/src/openrct2-ui/windows/InstallTrack.cpp index 47305a54a5..eeae4b09be 100644 --- a/src/openrct2-ui/windows/InstallTrack.cpp +++ b/src/openrct2-ui/windows/InstallTrack.cpp @@ -208,7 +208,7 @@ static void WindowInstallTrackPaint(rct_window* w, rct_drawpixelinfo* dpi) g1temp.offset = _trackDesignPreviewPixels.data() + (_currentTrackPieceDirection * TRACK_PREVIEW_IMAGE_SIZE); g1temp.width = 370; g1temp.height = 217; - g1temp.flags = G1_FLAG_BMP; + g1temp.flags = G1_FLAG_HAS_TRANSPARENCY; gfx_set_g1_element(SPR_TEMP, &g1temp); drawing_engine_invalidate_image(SPR_TEMP); gfx_draw_sprite(dpi, ImageId(SPR_TEMP), screenPos); diff --git a/src/openrct2-ui/windows/TrackList.cpp b/src/openrct2-ui/windows/TrackList.cpp index f110366282..4d098b572d 100644 --- a/src/openrct2-ui/windows/TrackList.cpp +++ b/src/openrct2-ui/windows/TrackList.cpp @@ -504,7 +504,7 @@ public: g1temp.offset = _trackDesignPreviewPixels.data() + (_currentTrackPieceDirection * TRACK_PREVIEW_IMAGE_SIZE); g1temp.width = 370; g1temp.height = 217; - g1temp.flags = G1_FLAG_BMP; + g1temp.flags = G1_FLAG_HAS_TRANSPARENCY; gfx_set_g1_element(SPR_TEMP, &g1temp); drawing_engine_invalidate_image(SPR_TEMP); gfx_draw_sprite(&dpi, ImageId(SPR_TEMP), trackPreview); diff --git a/src/openrct2/drawing/Drawing.Sprite.BMP.cpp b/src/openrct2/drawing/Drawing.Sprite.BMP.cpp index 24aaeddf2b..df23d4feb9 100644 --- a/src/openrct2/drawing/Drawing.Sprite.BMP.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.BMP.cpp @@ -102,7 +102,7 @@ void FASTCALL gfx_bmp_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteA // Used for glass. DrawBMPSprite(dpi, args); } - else if (!(args.SourceImage.flags & G1_FLAG_BMP)) + else if (!(args.SourceImage.flags & G1_FLAG_HAS_TRANSPARENCY)) { // Copy raw bitmap data to target DrawBMPSprite(dpi, args); diff --git a/src/openrct2/drawing/Drawing.Sprite.cpp b/src/openrct2/drawing/Drawing.Sprite.cpp index bc9fd6a29f..b35022e685 100644 --- a/src/openrct2/drawing/Drawing.Sprite.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.cpp @@ -633,8 +633,8 @@ void FASTCALL gfx_draw_sprite_raw_masked_software( return; } - // Only BMP format is supported for masking - if (!(imgMask->flags & G1_FLAG_BMP) || !(imgColour->flags & G1_FLAG_BMP)) + // Must have transparency in order to pass check + if (!(imgMask->flags & G1_FLAG_HAS_TRANSPARENCY) || !(imgColour->flags & G1_FLAG_HAS_TRANSPARENCY)) { gfx_draw_sprite_software(dpi, colourImage, scrCoords); return; diff --git a/src/openrct2/drawing/Drawing.h b/src/openrct2/drawing/Drawing.h index cd85e9c197..35f0c4c0e5 100644 --- a/src/openrct2/drawing/Drawing.h +++ b/src/openrct2/drawing/Drawing.h @@ -146,7 +146,7 @@ assert_struct_size(rct_g1_element_32bit, 0x10); enum { - G1_FLAG_BMP = (1 << 0), // Image data is encoded as raw pixels (no transparency) + G1_FLAG_HAS_TRANSPARENCY = (1 << 0), // Image data contains transparent pixels (0XFF) which will not be rendered G1_FLAG_1 = (1 << 1), G1_FLAG_RLE_COMPRESSION = (1 << 2), // Image data is encoded using RCT2's form of run length encoding G1_FLAG_PALETTE = (1 << 3), // Image data is a sequence of palette entries R8G8B8 diff --git a/src/openrct2/drawing/ImageImporter.cpp b/src/openrct2/drawing/ImageImporter.cpp index 271f093eba..71cadbd671 100644 --- a/src/openrct2/drawing/ImageImporter.cpp +++ b/src/openrct2/drawing/ImageImporter.cpp @@ -46,7 +46,7 @@ ImportResult ImageImporter::Import( rct_g1_element outElement; outElement.width = width; outElement.height = height; - outElement.flags = (flags & ImportFlags::RLE ? G1_FLAG_RLE_COMPRESSION : G1_FLAG_BMP); + outElement.flags = (flags & ImportFlags::RLE ? G1_FLAG_RLE_COMPRESSION : G1_FLAG_HAS_TRANSPARENCY); outElement.x_offset = offsetX; outElement.y_offset = offsetY; outElement.zoomed_offset = 0; diff --git a/src/openrct2/drawing/ScrollingText.cpp b/src/openrct2/drawing/ScrollingText.cpp index 1f9870680a..5f43ab3f86 100644 --- a/src/openrct2/drawing/ScrollingText.cpp +++ b/src/openrct2/drawing/ScrollingText.cpp @@ -108,7 +108,7 @@ void scrolling_text_initialise_bitmaps() g1.offset = _drawScrollTextList[i].bitmap; g1.x_offset = -32; g1.y_offset = 0; - g1.flags = G1_FLAG_BMP; + g1.flags = G1_FLAG_HAS_TRANSPARENCY; g1.width = 64; g1.height = 40; g1.offset[0] = 0xFF; diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index 75565a94c9..c3e1acf335 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -1508,8 +1508,8 @@ static bool is_pixel_present_bmp( { PROFILED_FUNCTION(); - // Probably used to check for corruption - if (!(g1->flags & G1_FLAG_BMP)) + // Needs investigation as it has no consideration for pure BMP maps. + if (!(g1->flags & G1_FLAG_HAS_TRANSPARENCY)) { return false; }