1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-23 23:04:36 +01:00

Refactor remaining object preview to ImageId

This commit is contained in:
Ted John
2021-12-16 20:39:10 +00:00
committed by GitHub
parent 6c7d85fd70
commit efca2852c4
4 changed files with 21 additions and 24 deletions

View File

@@ -51,31 +51,29 @@ void StationObject::DrawPreview(rct_drawpixelinfo* dpi, int32_t width, int32_t h
auto colour0 = COLOUR_LIGHT_BLUE;
auto colour1 = COLOUR_BORDEAUX_RED;
auto tcolour0 = EnumValue(GlassPaletteIds[colour0]);
auto tcolour0 = colour0;
uint32_t imageId = BaseImageId;
uint32_t tImageId = BaseImageId + 16;
auto imageId = ImageId(BaseImageId);
auto tImageId = ImageId(BaseImageId + 16).WithTransparancy(tcolour0);
if (Flags & STATION_OBJECT_FLAGS::HAS_PRIMARY_COLOUR)
{
imageId |= (colour0 << 19) | IMAGE_TYPE_REMAP;
tImageId |= (EnumValue(GlassPaletteIds[tcolour0]) << 19) | IMAGE_TYPE_TRANSPARENT;
imageId = imageId.WithPrimary(colour0);
}
if (Flags & STATION_OBJECT_FLAGS::HAS_SECONDARY_COLOUR)
{
imageId |= (colour1 << 24) | IMAGE_TYPE_REMAP_2_PLUS;
tImageId |= (colour1 << 24) | IMAGE_TYPE_REMAP_2_PLUS;
imageId = imageId.WithSecondary(colour1);
}
gfx_draw_sprite(dpi, imageId + 0, screenCoords, 0);
gfx_draw_sprite(dpi, imageId, screenCoords);
if (Flags & STATION_OBJECT_FLAGS::IS_TRANSPARENT)
{
gfx_draw_sprite(dpi, tImageId, screenCoords, 0);
gfx_draw_sprite(dpi, tImageId, screenCoords);
}
gfx_draw_sprite(dpi, imageId + 4, screenCoords, 0);
gfx_draw_sprite(dpi, imageId.WithIndexOffset(4), screenCoords);
if (Flags & STATION_OBJECT_FLAGS::IS_TRANSPARENT)
{
gfx_draw_sprite(dpi, tImageId + 4, screenCoords, 0);
gfx_draw_sprite(dpi, tImageId.WithIndexOffset(4), screenCoords);
}
}