1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-24 00:03:11 +01:00

Fix #16130: Crash when using see-through rides or scenery

This commit is contained in:
Ted John
2021-12-05 22:33:09 +00:00
committed by GitHub
parent c01049a500
commit bd9f7d56c5
2 changed files with 11 additions and 3 deletions

View File

@@ -271,8 +271,16 @@ public:
ImageId WithTransparancy(colour_t colour) const
{
ImageId result = this->WithBlended(true);
result._primary = static_cast<uint8_t>(GetGlassPaletteId(colour & 31));
return WithTransparancy(GetGlassPaletteId(colour & 31));
}
ImageId WithTransparancy(FilterPaletteID palette) const
{
ImageId result = *this;
result._primary = static_cast<uint8_t>(palette);
result._secondary = 0;
result._tertiary = 0;
result._flags = NEW_FLAG_BLEND;
return result;
}

View File

@@ -661,7 +661,7 @@ static void PaintPSImage(rct_drawpixelinfo* dpi, paint_struct* ps, ImageId image
static ImageId PaintPSColourifyImage(ImageId imageId, ViewportInteractionItem spriteType, uint32_t viewFlags)
{
auto seeThrough = imageId.WithPrimary(COLOUR_BRIGHT_YELLOW).WithSecondary(COLOUR_GREY).WithBlended(true);
auto seeThrough = imageId.WithTransparancy(FilterPaletteID::PaletteDarken1);
if (viewFlags & VIEWPORT_FLAG_SEETHROUGH_RIDES)
{
if (spriteType == ViewportInteractionItem::Ride)