1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-19 13:03:11 +01:00

Use new ImageId in most object previews

This commit is contained in:
Gymnasiast
2021-11-29 14:36:36 +01:00
parent 66bf0aa1a6
commit cbdb2c03cd
10 changed files with 40 additions and 35 deletions

View File

@@ -97,13 +97,13 @@ void SmallSceneryObject::Unload()
void SmallSceneryObject::DrawPreview(rct_drawpixelinfo* dpi, int32_t width, int32_t height) const
{
uint32_t imageId = _legacyType.image;
auto imageId = ImageId(_legacyType.image);
if (_legacyType.HasFlag(SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR))
{
imageId |= 0x20D00000;
imageId = imageId.WithPrimary(COLOUR_BORDEAUX_RED);
if (_legacyType.HasFlag(SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR))
{
imageId |= 0x92000000;
imageId = imageId.WithSecondary(COLOUR_YELLOW);
}
}
@@ -115,22 +115,22 @@ void SmallSceneryObject::DrawPreview(rct_drawpixelinfo* dpi, int32_t width, int3
screenCoords.y -= 12;
}
gfx_draw_sprite(dpi, imageId, screenCoords, 0);
gfx_draw_sprite(dpi, imageId, screenCoords);
if (_legacyType.HasFlag(SMALL_SCENERY_FLAG_HAS_GLASS))
{
imageId = (_legacyType.image + 4) | IMAGE_TYPE_TRANSPARENT | (EnumValue(GlassPaletteIds[COLOUR_BORDEAUX_RED]) << 19);
gfx_draw_sprite(dpi, imageId, screenCoords, 0);
imageId = ImageId(_legacyType.image + 4, EnumValue(GlassPaletteIds[COLOUR_BORDEAUX_RED])).WithBlended(true);
gfx_draw_sprite(dpi, imageId, screenCoords);
}
if (_legacyType.HasFlag(SMALL_SCENERY_FLAG_ANIMATED_FG))
{
imageId = _legacyType.image + 4;
imageId = ImageId(_legacyType.image + 4);
if (_legacyType.HasFlag(SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR))
{
imageId |= 0x92000000;
imageId = imageId.WithSecondary(COLOUR_YELLOW);
}
gfx_draw_sprite(dpi, imageId, screenCoords, 0);
gfx_draw_sprite(dpi, imageId, screenCoords);
}
}