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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user