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