diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp index dd23e0940a..eabb2280fa 100644 --- a/src/effectvehicle.cpp +++ b/src/effectvehicle.cpp @@ -569,18 +569,18 @@ struct EffectProcs { /** Per-EffectVehicleType handling. */ static const std::array _effect_procs = {{ - { ChimneySmokeInit, ChimneySmokeTick, TO_INDUSTRIES }, // EV_CHIMNEY_SMOKE - { SteamSmokeInit, SteamSmokeTick, TO_INVALID }, // EV_STEAM_SMOKE - { DieselSmokeInit, DieselSmokeTick, TO_INVALID }, // EV_DIESEL_SMOKE - { ElectricSparkInit, ElectricSparkTick, TO_INVALID }, // EV_ELECTRIC_SPARK - { SmokeInit, SmokeTick, TO_INVALID }, // EV_CRASH_SMOKE - { ExplosionLargeInit, ExplosionLargeTick, TO_INVALID }, // EV_EXPLOSION_LARGE - { BreakdownSmokeInit, BreakdownSmokeTick, TO_INVALID }, // EV_BREAKDOWN_SMOKE - { ExplosionSmallInit, ExplosionSmallTick, TO_INVALID }, // EV_EXPLOSION_SMALL - { BulldozerInit, BulldozerTick, TO_INVALID }, // EV_BULLDOZER - { BubbleInit, BubbleTick, TO_INDUSTRIES }, // EV_BUBBLE - { SmokeInit, SmokeTick, TO_INVALID }, // EV_BREAKDOWN_SMOKE_AIRCRAFT - { SmokeInit, SmokeTick, TO_INDUSTRIES }, // EV_COPPER_MINE_SMOKE + { ChimneySmokeInit, ChimneySmokeTick, TransparencyOption::Industries }, // EV_CHIMNEY_SMOKE + { SteamSmokeInit, SteamSmokeTick, TransparencyOption::Invalid }, // EV_STEAM_SMOKE + { DieselSmokeInit, DieselSmokeTick, TransparencyOption::Invalid }, // EV_DIESEL_SMOKE + { ElectricSparkInit, ElectricSparkTick, TransparencyOption::Invalid }, // EV_ELECTRIC_SPARK + { SmokeInit, SmokeTick, TransparencyOption::Invalid }, // EV_CRASH_SMOKE + { ExplosionLargeInit, ExplosionLargeTick, TransparencyOption::Invalid }, // EV_EXPLOSION_LARGE + { BreakdownSmokeInit, BreakdownSmokeTick, TransparencyOption::Invalid }, // EV_BREAKDOWN_SMOKE + { ExplosionSmallInit, ExplosionSmallTick, TransparencyOption::Invalid }, // EV_EXPLOSION_SMALL + { BulldozerInit, BulldozerTick, TransparencyOption::Invalid }, // EV_BULLDOZER + { BubbleInit, BubbleTick, TransparencyOption::Industries }, // EV_BUBBLE + { SmokeInit, SmokeTick, TransparencyOption::Invalid }, // EV_BREAKDOWN_SMOKE_AIRCRAFT + { SmokeInit, SmokeTick, TransparencyOption::Industries }, // EV_COPPER_MINE_SMOKE }}; /** @@ -652,7 +652,7 @@ void EffectVehicle::UpdateDeltaXY() /** * Determines the transparency option affecting the effect. - * @return Transparency option, or TO_INVALID if none. + * @return Transparency option, or TransparencyOption::Invalid if none. */ TransparencyOption EffectVehicle::GetTransparencyOption() const { diff --git a/src/elrail.cpp b/src/elrail.cpp index dead4b87b7..bdf4dd7bb2 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -262,7 +262,7 @@ void DrawRailCatenaryOnTunnel(const TileInfo *ti) SpriteID wire_base = GetWireBase(ti->tile); const SortableSpriteStruct &sss = _rail_catenary_sprite_data_tunnel[dir]; - AddSortableSpriteToDraw(wire_base + sss.image_offset, PAL_NONE, ti->x, ti->y, GetTilePixelZ(ti->tile), sss, IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(wire_base + sss.image_offset, PAL_NONE, ti->x, ti->y, GetTilePixelZ(ti->tile), sss, IsTransparencySet(TransparencyOption::Catenary)); } /** @@ -428,7 +428,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) } AddSortableSpriteToDraw(pylon_base + _pylon_sprites[temp], PAL_NONE, x, y, elevation, - {{-1, -1, 0}, {1, 1, BB_HEIGHT_UNDER_BRIDGE}, {1, 1, 0}}, IsTransparencySet(TO_CATENARY)); + {{-1, -1, 0}, {1, 1, BB_HEIGHT_UNDER_BRIDGE}, {1, 1, 0}}, IsTransparencySet(TransparencyOption::Catenary)); break; // We already have drawn a pylon, bail out } @@ -440,7 +440,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) if (IsTunnelTile(ti->tile)) return; /* Don't draw a wire under a low bridge */ - if (IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_BRIDGES)) { + if (IsBridgeAbove(ti->tile) && !IsTransparencySet(TransparencyOption::Bridges)) { int height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile)); if (height <= GetTileMaxZ(ti->tile) + 1) return; @@ -478,7 +478,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) * down to the nearest full height change. */ int z = (GetSlopePixelZ(ti->x + sss.origin.x, ti->y + sss.origin.y, true) + 4) / 8 * 8; - AddSortableSpriteToDraw(wire_base + sss.image_offset, PAL_NONE, ti->x, ti->y, z, sss, IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(wire_base + sss.image_offset, PAL_NONE, ti->x, ti->y, z, sss, IsTransparencySet(TransparencyOption::Catenary)); } } @@ -516,7 +516,7 @@ void DrawRailCatenaryOnBridge(const TileInfo *ti) SpriteID wire_base = GetWireBase(end, TCX_ON_BRIDGE); - AddSortableSpriteToDraw(wire_base + sss->image_offset, PAL_NONE, ti->x, ti->y, height, *sss, IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(wire_base + sss->image_offset, PAL_NONE, ti->x, ti->y, height, *sss, IsTransparencySet(TransparencyOption::Catenary)); SpriteID pylon_base = GetPylonBase(end, TCX_ON_BRIDGE); @@ -530,7 +530,7 @@ void DrawRailCatenaryOnBridge(const TileInfo *ti) if (HasBit(tlg, (axis == Axis::X ? 0 : 1))) ppp_pos = ReverseDir(ppp_pos); uint x = ti->x + _x_pcp_offsets[pcp_pos] + _x_ppp_offsets[ppp_pos]; uint y = ti->y + _y_pcp_offsets[pcp_pos] + _y_ppp_offsets[ppp_pos]; - AddSortableSpriteToDraw(pylon_base + _pylon_sprites[ppp_pos], PAL_NONE, x, y, height, pylon_bounds, IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(pylon_base + _pylon_sprites[ppp_pos], PAL_NONE, x, y, height, pylon_bounds, IsTransparencySet(TransparencyOption::Catenary)); } /* need a pylon on the southern end of the bridge */ @@ -540,7 +540,7 @@ void DrawRailCatenaryOnBridge(const TileInfo *ti) if (HasBit(tlg, (axis == Axis::X ? 0 : 1))) ppp_pos = ReverseDir(ppp_pos); uint x = ti->x + _x_pcp_offsets[pcp_pos] + _x_ppp_offsets[ppp_pos]; uint y = ti->y + _y_pcp_offsets[pcp_pos] + _y_ppp_offsets[ppp_pos]; - AddSortableSpriteToDraw(pylon_base + _pylon_sprites[ppp_pos], PAL_NONE, x, y, height, pylon_bounds, IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(pylon_base + _pylon_sprites[ppp_pos], PAL_NONE, x, y, height, pylon_bounds, IsTransparencySet(TransparencyOption::Catenary)); } } @@ -559,7 +559,7 @@ void DrawRailCatenary(const TileInfo *ti) SpriteID wire_base = GetWireBase(ti->tile); /* This wire is not visible with the default depot sprites */ - AddSortableSpriteToDraw(wire_base + sss.image_offset, PAL_NONE, ti->x, ti->y, GetTileMaxPixelZ(ti->tile), sss, IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(wire_base + sss.image_offset, PAL_NONE, ti->x, ti->y, GetTileMaxPixelZ(ti->tile), sss, IsTransparencySet(TransparencyOption::Catenary)); return; } break; diff --git a/src/elrail_func.h b/src/elrail_func.h index 254e81ca3f..5d7564a8bd 100644 --- a/src/elrail_func.h +++ b/src/elrail_func.h @@ -31,7 +31,7 @@ inline bool HasRailCatenary(RailType rt) */ inline bool HasRailCatenaryDrawn(RailType rt) { - return HasRailCatenary(rt) && !IsInvisibilitySet(TO_CATENARY) && !_settings_game.vehicle.disable_elrails; + return HasRailCatenary(rt) && !IsInvisibilitySet(TransparencyOption::Catenary) && !_settings_game.vehicle.disable_elrails; } void DrawRailCatenary(const TileInfo *ti); diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 1de15e9767..5f717b454e 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -371,15 +371,15 @@ static void DrawTile_Industry(TileInfo *ti) } /* If industries are transparent and invisible, do not draw the upper part */ - if (IsInvisibilitySet(TO_INDUSTRIES)) return; + if (IsInvisibilitySet(TransparencyOption::Industries)) return; /* Add industry on top of the ground? */ image = dits->building.sprite; if (image != 0) { AddSortableSpriteToDraw(image, SpriteLayoutPaletteTransform(image, dits->building.pal, GetColourPalette(ind->random_colour)), - *ti, *dits, IsTransparencySet(TO_INDUSTRIES)); + *ti, *dits, IsTransparencySet(TransparencyOption::Industries)); - if (IsTransparencySet(TO_INDUSTRIES)) return; + if (IsTransparencySet(TransparencyOption::Industries)) return; } { diff --git a/src/newgrf_airporttiles.cpp b/src/newgrf_airporttiles.cpp index 7005913eed..79306dd690 100644 --- a/src/newgrf_airporttiles.cpp +++ b/src/newgrf_airporttiles.cpp @@ -254,7 +254,7 @@ static void AirportDrawTileLayout(const TileInfo *ti, const DrawTileSpriteSpan & } } - DrawNewGRFTileSeq(ti, &dts, TO_BUILDINGS, 0, GetColourPalette(colour)); + DrawNewGRFTileSeq(ti, &dts, TransparencyOption::Buildings, 0, GetColourPalette(colour)); } bool DrawNewAirportTile(TileInfo *ti, Station *st, const AirportTileSpec *airts) diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index ed29fe629c..03ca7e3f2d 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -496,7 +496,7 @@ static void DrawTileLayout(const TileInfo *ti, const DrawTileSpriteSpan &dts, ui DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, palette)); } - DrawNewGRFTileSeq(ti, &dts, TO_HOUSES, stage, palette); + DrawNewGRFTileSeq(ti, &dts, TransparencyOption::Houses, stage, palette); } void DrawNewHouseTile(TileInfo *ti, HouseID house_id) diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp index 77d5350a96..bd76a9a852 100644 --- a/src/newgrf_industrytiles.cpp +++ b/src/newgrf_industrytiles.cpp @@ -177,7 +177,7 @@ static void IndustryDrawTileLayout(const TileInfo *ti, const DrawTileSpriteSpan } } - DrawNewGRFTileSeq(ti, &dts, TO_INDUSTRIES, stage, GetColourPalette(rnd_colour)); + DrawNewGRFTileSeq(ti, &dts, TransparencyOption::Industries, stage, GetColourPalette(rnd_colour)); } uint16_t GetIndustryTileCallback(CallbackID callback, uint32_t param1, uint32_t param2, IndustryGfx gfx_id, Industry *industry, TileIndex tile, std::span regs100) diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index 5c303f9ad3..9d909b7e1e 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -464,7 +464,7 @@ static void DrawTileLayout(const TileInfo *ti, const DrawTileSpriteSpan &dts, co } } - DrawNewGRFTileSeq(ti, &dts, TO_STRUCTURES, 0, palette); + DrawNewGRFTileSeq(ti, &dts, TransparencyOption::Structures, 0, palette); } /** diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 7a97e428fe..d131914da2 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -483,9 +483,9 @@ static void DrawTile_Object(TileInfo *ti) DrawGroundSprite(dts->ground.sprite, palette); } - if (!IsInvisibilitySet(TO_STRUCTURES)) { + if (!IsInvisibilitySet(TransparencyOption::Structures)) { for (const DrawTileSeqStruct &dtss : dts->GetSequence()) { - AddSortableSpriteToDraw(dtss.image.sprite, palette, *ti, dtss, IsTransparencySet(TO_STRUCTURES)); + AddSortableSpriteToDraw(dtss.image.sprite, palette, *ti, dtss, IsTransparencySet(TransparencyOption::Structures)); } } } else { diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 51e4776d01..d36b665c15 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2468,7 +2468,7 @@ static void DrawTile_Rail(TileInfo *ti) if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, FOUNDATION_LEVELED); - if (IsInvisibilitySet(TO_BUILDINGS)) { + if (IsInvisibilitySet(TransparencyOption::Buildings)) { /* Draw rail instead of depot */ dts = &_depot_invisible_gfx_table[dir]; } else { @@ -2499,13 +2499,13 @@ static void DrawTile_Rail(TileInfo *ti) switch (GetRailDepotDirection(ti->tile)) { case DiagDirection::NE: - if (!IsInvisibilitySet(TO_BUILDINGS)) break; + if (!IsInvisibilitySet(TransparencyOption::Buildings)) break; [[fallthrough]]; case DiagDirection::SW: DrawGroundSprite(ground + RTO_X, PAL_NONE); break; case DiagDirection::NW: - if (!IsInvisibilitySet(TO_BUILDINGS)) break; + if (!IsInvisibilitySet(TransparencyOption::Buildings)) break; [[fallthrough]]; case DiagDirection::SE: DrawGroundSprite(ground + RTO_Y, PAL_NONE); @@ -2519,13 +2519,13 @@ static void DrawTile_Rail(TileInfo *ti) switch (GetRailDepotDirection(ti->tile)) { case DiagDirection::NE: - if (!IsInvisibilitySet(TO_BUILDINGS)) break; + if (!IsInvisibilitySet(TransparencyOption::Buildings)) break; [[fallthrough]]; case DiagDirection::SW: DrawGroundSprite(overlay + RTO_X, PALETTE_CRASH); break; case DiagDirection::NW: - if (!IsInvisibilitySet(TO_BUILDINGS)) break; + if (!IsInvisibilitySet(TransparencyOption::Buildings)) break; [[fallthrough]]; case DiagDirection::SE: DrawGroundSprite(overlay + RTO_Y, PALETTE_CRASH); @@ -2539,13 +2539,13 @@ static void DrawTile_Rail(TileInfo *ti) if (_game_mode != GameMode::Menu && _settings_client.gui.show_track_reservation && HasDepotReservation(ti->tile)) { switch (GetRailDepotDirection(ti->tile)) { case DiagDirection::NE: - if (!IsInvisibilitySet(TO_BUILDINGS)) break; + if (!IsInvisibilitySet(TransparencyOption::Buildings)) break; [[fallthrough]]; case DiagDirection::SW: DrawGroundSprite(rti->base_sprites.single_x, PALETTE_CRASH); break; case DiagDirection::NW: - if (!IsInvisibilitySet(TO_BUILDINGS)) break; + if (!IsInvisibilitySet(TransparencyOption::Buildings)) break; [[fallthrough]]; case DiagDirection::SE: DrawGroundSprite(rti->base_sprites.single_y, PALETTE_CRASH); @@ -2560,7 +2560,7 @@ static void DrawTile_Rail(TileInfo *ti) if (HasRailCatenaryDrawn(GetRailType(ti->tile))) DrawRailCatenary(ti); - DrawRailTileSeq(ti, dts, TO_BUILDINGS, relocation, 0, pal); + DrawRailTileSeq(ti, dts, TransparencyOption::Buildings, relocation, 0, pal); /* Depots can't have bridges above so no blocked pillars. */ } DrawBridgeMiddle(ti, blocked_pillars); diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index d08a2ea7aa..da0cd70239 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1367,7 +1367,7 @@ static bool DrawRoadAsSnowOrDesert(bool snow_or_desert, Roadside roadside) void DrawRoadTypeCatenary(const TileInfo *ti, RoadType rt, RoadBits rb) { /* Don't draw the catenary under a low bridge */ - if (IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_CATENARY)) { + if (IsBridgeAbove(ti->tile) && !IsTransparencySet(TransparencyOption::Catenary)) { int height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile)); if (height <= GetTileMaxZ(ti->tile) + 1) return; @@ -1425,13 +1425,13 @@ void DrawRoadTypeCatenary(const TileInfo *ti, RoadType rt, RoadBits rb) int8_t west_z = GetSlopePixelZInCorner(ti->tileh, CORNER_W); int8_t north_z = GetSlopePixelZInCorner(ti->tileh, CORNER_N); int8_t east_z = GetSlopePixelZInCorner(ti->tileh, CORNER_E); - AddSortableSpriteToDraw(back, pal, *ti, {{15, 0, west_z}, {1, 1, z_wires}, {-15, 0, static_cast(-west_z)}}, IsTransparencySet(TO_CATENARY), &west); - AddSortableSpriteToDraw(back, pal, *ti, {{0, 0, north_z}, {1, 1, z_wires}, {0, 0, static_cast(-north_z)}}, IsTransparencySet(TO_CATENARY), &north); - AddSortableSpriteToDraw(back, pal, *ti, {{0, 15, east_z}, {1, 1, z_wires}, {0, -15, static_cast(-east_z)}}, IsTransparencySet(TO_CATENARY), &east); + AddSortableSpriteToDraw(back, pal, *ti, {{15, 0, west_z}, {1, 1, z_wires}, {-15, 0, static_cast(-west_z)}}, IsTransparencySet(TransparencyOption::Catenary), &west); + AddSortableSpriteToDraw(back, pal, *ti, {{0, 0, north_z}, {1, 1, z_wires}, {0, 0, static_cast(-north_z)}}, IsTransparencySet(TransparencyOption::Catenary), &north); + AddSortableSpriteToDraw(back, pal, *ti, {{0, 15, east_z}, {1, 1, z_wires}, {0, -15, static_cast(-east_z)}}, IsTransparencySet(TransparencyOption::Catenary), &east); } if (front != 0) { /* Draw the "front" sprite (containing south pillar and wires) at a Z height that is both above the vehicles and above the "back" pillars. */ - AddSortableSpriteToDraw(front, pal, *ti, {{0, 0, static_cast(z_wires)}, {TILE_SIZE, TILE_SIZE, 1}, {0, 0, static_cast(-z_wires)}}, IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(front, pal, *ti, {{0, 0, static_cast(z_wires)}, {TILE_SIZE, TILE_SIZE, 1}, {0, 0, static_cast(-z_wires)}}, IsTransparencySet(TransparencyOption::Catenary)); } } @@ -1687,15 +1687,15 @@ static void DrawRoadBits(TileInfo *ti) if (road.Count() <= 1) return; /* Do not draw details when invisible. */ - if (roadside == Roadside::Trees && IsInvisibilitySet(TO_TREES)) return; - if (roadside == Roadside::StreetLights && IsInvisibilitySet(TO_HOUSES)) return; + if (roadside == Roadside::Trees && IsInvisibilitySet(TransparencyOption::Trees)) return; + if (roadside == Roadside::StreetLights && IsInvisibilitySet(TransparencyOption::Houses)) return; /* Check whether details should be transparent. */ bool is_transparent = false; - if (roadside == Roadside::Trees && IsTransparencySet(TO_TREES)) { + if (roadside == Roadside::Trees && IsTransparencySet(TransparencyOption::Trees)) { is_transparent = true; } - if (roadside == Roadside::StreetLights && IsTransparencySet(TO_HOUSES)) { + if (roadside == Roadside::StreetLights && IsTransparencySet(TransparencyOption::Houses)) { is_transparent = true; } @@ -1804,23 +1804,23 @@ static void DrawTile_Road(TileInfo *ti) switch (adjacent_diagdirs.base()) { case DiagDirections{}.base(): - DrawRailTileSeq(ti, &_crossing_layout, TO_CATENARY, rail, 0, PAL_NONE); + DrawRailTileSeq(ti, &_crossing_layout, TransparencyOption::Catenary, rail, 0, PAL_NONE); break; case DiagDirections{DiagDirection::NE}.base(): - DrawRailTileSeq(ti, &_crossing_layout_SW, TO_CATENARY, rail, 0, PAL_NONE); + DrawRailTileSeq(ti, &_crossing_layout_SW, TransparencyOption::Catenary, rail, 0, PAL_NONE); break; case DiagDirections{DiagDirection::SE}.base(): - DrawRailTileSeq(ti, &_crossing_layout_NW, TO_CATENARY, rail, 0, PAL_NONE); + DrawRailTileSeq(ti, &_crossing_layout_NW, TransparencyOption::Catenary, rail, 0, PAL_NONE); break; case DiagDirections{DiagDirection::SW}.base(): - DrawRailTileSeq(ti, &_crossing_layout_NE, TO_CATENARY, rail, 0, PAL_NONE); + DrawRailTileSeq(ti, &_crossing_layout_NE, TransparencyOption::Catenary, rail, 0, PAL_NONE); break; case DiagDirections{DiagDirection::NW}.base(): - DrawRailTileSeq(ti, &_crossing_layout_SE, TO_CATENARY, rail, 0, PAL_NONE); + DrawRailTileSeq(ti, &_crossing_layout_SE, TransparencyOption::Catenary, rail, 0, PAL_NONE); break; default: @@ -1884,7 +1884,7 @@ static void DrawTile_Road(TileInfo *ti) } } - DrawRailTileSeq(ti, dts, TO_BUILDINGS, relocation, 0, palette); + DrawRailTileSeq(ti, dts, TransparencyOption::Buildings, relocation, 0, palette); /* Depots can't have bridges above so no blocked pillars. */ break; } diff --git a/src/road_func.h b/src/road_func.h index 1d161e654b..40179c6fe9 100644 --- a/src/road_func.h +++ b/src/road_func.h @@ -128,7 +128,7 @@ inline bool HasRoadCatenary(RoadType roadtype) */ inline bool HasRoadCatenaryDrawn(RoadType roadtype) { - return HasRoadCatenary(roadtype) && !IsInvisibilitySet(TO_CATENARY); + return HasRoadCatenary(roadtype) && !IsInvisibilitySet(TransparencyOption::Catenary); } bool HasRoadTypeAvail(CompanyID company, RoadType roadtype); diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 1a6c6272c6..5751549355 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -3523,7 +3523,7 @@ static void DrawTile_Station(TileInfo *ti) total_offset = 0; } - DrawRailTileSeq(ti, t, TO_BUILDINGS, total_offset, relocation, palette); + DrawRailTileSeq(ti, t, TransparencyOption::Buildings, total_offset, relocation, palette); DrawBridgeMiddle(ti, GetStationBlockedPillars(bridgeable_info, GetStationGfx(ti->tile))); } diff --git a/src/texteff.cpp b/src/texteff.cpp index eee6b6bc9c..dee8c8befb 100644 --- a/src/texteff.cpp +++ b/src/texteff.cpp @@ -118,7 +118,7 @@ void DrawTextEffects(DrawPixelInfo *dpi) { /* Don't draw the text effects when zoomed out a lot */ if (dpi->zoom > ZoomLevel::TextEffect) return; - if (IsTransparencySet(TO_TEXT)) return; + if (IsTransparencySet(TransparencyOption::Text)) return; ViewportStringFlags flags{}; if (dpi->zoom >= ZoomLevel::TextEffect) flags.Set(ViewportStringFlag::Small); diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index 25feab83bd..e390477c56 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -302,8 +302,8 @@ static CallBackFunction ToolbarOptionsClick(Window *w) list.push_back(MakeDropDownListCheckedItem(_display_opt.Test(DisplayOption::ShowCompetitorSigns), STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS, OptionMenuEntries::ShowCompetitorSigns)); list.push_back(MakeDropDownListCheckedItem(_display_opt.Test(DisplayOption::FullAnimation), STR_SETTINGS_MENU_FULL_ANIMATION, OptionMenuEntries::FullAnimation)); list.push_back(MakeDropDownListCheckedItem(_display_opt.Test(DisplayOption::FullDetail), STR_SETTINGS_MENU_FULL_DETAIL, OptionMenuEntries::FullDetails)); - list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_HOUSES), STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS, OptionMenuEntries::TransparentBuildings)); - list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_SIGNS), STR_SETTINGS_MENU_TRANSPARENT_SIGNS, OptionMenuEntries::TransparentStationSigns)); + list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TransparencyOption::Houses), STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS, OptionMenuEntries::TransparentBuildings)); + list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TransparencyOption::Signs), STR_SETTINGS_MENU_TRANSPARENT_SIGNS, OptionMenuEntries::TransparentStationSigns)); ShowDropDownList(w, std::move(list), 0, WID_TN_SETTINGS, 140, GetToolbarDropDownOptions()); return CallBackFunction::None; @@ -341,8 +341,8 @@ static CallBackFunction MenuClickSettings(int index) break; case OptionMenuEntries::FullAnimation: _display_opt.Flip(DisplayOption::FullAnimation); CheckBlitter(); break; case OptionMenuEntries::FullDetails: _display_opt.Flip(DisplayOption::FullDetail); break; - case OptionMenuEntries::TransparentBuildings: ToggleTransparency(TO_HOUSES); break; - case OptionMenuEntries::TransparentStationSigns: ToggleTransparency(TO_SIGNS); break; + case OptionMenuEntries::TransparentBuildings: ToggleTransparency(TransparencyOption::Houses); break; + case OptionMenuEntries::TransparentStationSigns: ToggleTransparency(TransparencyOption::Signs); break; } MarkWholeScreenDirty(); return CallBackFunction::None; diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 3ab8284933..6f9483abc2 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -283,14 +283,14 @@ static void DrawTile_Town(TileInfo *ti) DrawGroundSprite(dcts->ground.sprite, dcts->ground.pal); /* If houses are invisible, do not draw the upper part */ - if (IsInvisibilitySet(TO_HOUSES)) return; + if (IsInvisibilitySet(TransparencyOption::Houses)) return; /* Add a house on top of the ground? */ SpriteID image = dcts->building.sprite; if (image != 0) { - AddSortableSpriteToDraw(image, dcts->building.pal, *ti, *dcts, IsTransparencySet(TO_HOUSES)); + AddSortableSpriteToDraw(image, dcts->building.pal, *ti, *dcts, IsTransparencySet(TransparencyOption::Houses)); - if (IsTransparencySet(TO_HOUSES)) return; + if (IsTransparencySet(TransparencyOption::Houses)) return; } { diff --git a/src/transparency.h b/src/transparency.h index 8c2337f0f1..4b9f76bb13 100644 --- a/src/transparency.h +++ b/src/transparency.h @@ -20,18 +20,17 @@ * If you change the order, change the order of the ShowTransparencyToolbar() stuff in transparency_gui.cpp too. * If you add or remove an option don't forget to change the transparency 'hot keys' in main_gui.cpp. */ -enum TransparencyOption : uint8_t { - TO_SIGNS = 0, ///< signs - TO_TREES, ///< trees - TO_HOUSES, ///< town buildings - TO_INDUSTRIES, ///< industries - TO_BUILDINGS, ///< company buildings - depots, stations, HQ, ... - TO_BRIDGES, ///< bridges - TO_STRUCTURES, ///< other objects such as transmitters and lighthouses - TO_CATENARY, ///< catenary - TO_TEXT, ///< loading and cost/income text - TO_END, - TO_INVALID, ///< Invalid transparency option +enum class TransparencyOption : uint8_t { + Signs = 0, ///< signs + Trees = 1, ///< trees + Houses = 2, ///< town buildings + Industries = 3, ///< industries + Buildings = 4, ///< company buildings - depots, stations, HQ, ... + Bridges = 5, ///< bridges + Structures = 6, ///< other objects such as transmitters and lighthouses + Catenary = 7, ///< catenary + Text = 8, ///< loading and cost/income text + Invalid, ///< Invalid transparency option }; /** Bitset of \c TransparencyOption elements. */ diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index 416d5b076d..bd6e19105a 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -650,7 +650,7 @@ static void DrawTile_Trees(TileInfo *ti) } /* Do not draw trees when the invisible trees setting is set */ - if (IsInvisibilitySet(TO_TREES)) return; + if (IsInvisibilitySet(TransparencyOption::Trees)) return; uint tmp = CountBits(ti->tile.base() + ti->x + ti->y); uint index = GB(tmp, 0, 2) + (GetTreeType(ti->tile) << 2); @@ -702,7 +702,7 @@ static void DrawTile_Trees(TileInfo *ti) } SpriteBounds bounds{{}, {TILE_SIZE, TILE_SIZE, 48}, {te[mi].x, te[mi].y, 0}}; - AddSortableSpriteToDraw(te[mi].sprite, te[mi].pal, ti->x, ti->y, z, bounds, IsTransparencySet(TO_TREES)); + AddSortableSpriteToDraw(te[mi].sprite, te[mi].pal, ti->x, ti->y, z, bounds, IsTransparencySet(TransparencyOption::Trees)); /* replace the removed one with the last one */ te[mi] = te[trees - 1]; diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 28545a87ef..b6b11da3b5 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -1049,7 +1049,7 @@ static CommandCost ClearTile_TunnelBridge(TileIndex tile, DoCommandFlags flags) static inline void DrawPillar(const PalSpriteID &psid, int x, int y, int z, uint8_t w, uint8_t h, const SubSprite *subsprite) { static const int PILLAR_Z_OFFSET = TILE_HEIGHT - BRIDGE_Z_START; ///< Start offset of pillar wrt. bridge (downwards) - AddSortableSpriteToDraw(psid.sprite, psid.pal, x, y, z, {{0, 0, -PILLAR_Z_OFFSET}, {w, h, BB_HEIGHT_UNDER_BRIDGE}, {0, 0, PILLAR_Z_OFFSET}}, IsTransparencySet(TO_BRIDGES), subsprite); + AddSortableSpriteToDraw(psid.sprite, psid.pal, x, y, z, {{0, 0, -PILLAR_Z_OFFSET}, {w, h, BB_HEIGHT_UNDER_BRIDGE}, {0, 0, PILLAR_Z_OFFSET}}, IsTransparencySet(TransparencyOption::Bridges), subsprite); } /** @@ -1179,9 +1179,9 @@ static void DrawBridgeRoadBits(TileIndex head_tile, int x, int y, int z, int off bool trans_front[4] = { false }; static const SpriteID overlay_offsets[6] = { 0, 1, 11, 12, 13, 14 }; - if (head || !IsInvisibilitySet(TO_BRIDGES)) { + if (head || !IsInvisibilitySet(TransparencyOption::Bridges)) { /* Road underlay takes precedence over tram */ - trans_back[0] = !head && IsTransparencySet(TO_BRIDGES); + trans_back[0] = !head && IsTransparencySet(TransparencyOption::Bridges); if (road_rti != nullptr) { if (road_rti->UsesOverlay()) { seq_back[0] = GetCustomRoadSprite(road_rti, head_tile, RoadSpriteType::Bridge, head ? TCX_NORMAL : TCX_ON_BRIDGE) + offset; @@ -1198,7 +1198,7 @@ static void DrawBridgeRoadBits(TileIndex head_tile, int x, int y, int z, int off } /* Draw road overlay */ - trans_back[1] = !head && IsTransparencySet(TO_BRIDGES); + trans_back[1] = !head && IsTransparencySet(TransparencyOption::Bridges); if (road_rti != nullptr) { if (road_rti->UsesOverlay()) { seq_back[1] = GetCustomRoadSprite(road_rti, head_tile, RoadSpriteType::Overlay, head ? TCX_NORMAL : TCX_ON_BRIDGE); @@ -1207,7 +1207,7 @@ static void DrawBridgeRoadBits(TileIndex head_tile, int x, int y, int z, int off } /* Draw tram overlay */ - trans_back[2] = !head && IsTransparencySet(TO_BRIDGES); + trans_back[2] = !head && IsTransparencySet(TransparencyOption::Bridges); if (tram_rti != nullptr) { if (tram_rti->UsesOverlay()) { seq_back[2] = GetCustomRoadSprite(tram_rti, head_tile, RoadSpriteType::Overlay, head ? TCX_NORMAL : TCX_ON_BRIDGE); @@ -1218,8 +1218,8 @@ static void DrawBridgeRoadBits(TileIndex head_tile, int x, int y, int z, int off } /* Road catenary takes precedence over tram */ - trans_back[3] = IsTransparencySet(TO_CATENARY); - trans_front[0] = IsTransparencySet(TO_CATENARY); + trans_back[3] = IsTransparencySet(TransparencyOption::Catenary); + trans_front[0] = IsTransparencySet(TransparencyOption::Catenary); if (road_rti != nullptr && HasRoadCatenaryDrawn(road_rt)) { GetBridgeRoadCatenary(road_rti, head_tile, offset, head, seq_back[3], seq_front[0]); } else if (tram_rti != nullptr && HasRoadCatenaryDrawn(tram_rt)) { @@ -1394,7 +1394,7 @@ static void DrawTile_TunnelBridge(TileInfo *ti) if (catenary_sprite_base != 0) { catenary = true; StartSpriteCombine(); - AddSortableSpriteToDraw(catenary_sprite_base + to_underlying(tunnelbridge_direction), PAL_NONE, *ti, catenary_bounds[tunnelbridge_direction], IsTransparencySet(TO_CATENARY)); + AddSortableSpriteToDraw(catenary_sprite_base + to_underlying(tunnelbridge_direction), PAL_NONE, *ti, catenary_bounds[tunnelbridge_direction], IsTransparencySet(TransparencyOption::Catenary)); } } else { const RailTypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile)); @@ -1657,11 +1657,11 @@ void DrawBridgeMiddle(const TileInfo *ti, BridgePillarFlags blocked_pillars) if (transport_type == TRANSPORT_ROAD || transport_type == TRANSPORT_RAIL) StartSpriteCombine(); /* Draw floor and far part of bridge*/ - if (!IsInvisibilitySet(TO_BRIDGES)) { + if (!IsInvisibilitySet(TransparencyOption::Bridges)) { if (axis == Axis::X) { - AddSortableSpriteToDraw(psid[0].sprite, psid[0].pal, x, y, z, {{0, 0, BRIDGE_Z_START}, {TILE_SIZE, 1, 40}, {0, 0, -BRIDGE_Z_START}}, IsTransparencySet(TO_BRIDGES)); + AddSortableSpriteToDraw(psid[0].sprite, psid[0].pal, x, y, z, {{0, 0, BRIDGE_Z_START}, {TILE_SIZE, 1, 40}, {0, 0, -BRIDGE_Z_START}}, IsTransparencySet(TransparencyOption::Bridges)); } else { - AddSortableSpriteToDraw(psid[0].sprite, psid[0].pal, x, y, z, {{0, 0, BRIDGE_Z_START}, {1, TILE_SIZE, 40}, {0, 0, -BRIDGE_Z_START}}, IsTransparencySet(TO_BRIDGES)); + AddSortableSpriteToDraw(psid[0].sprite, psid[0].pal, x, y, z, {{0, 0, BRIDGE_Z_START}, {1, TILE_SIZE, 40}, {0, 0, -BRIDGE_Z_START}}, IsTransparencySet(TransparencyOption::Bridges)); } } @@ -1670,19 +1670,19 @@ void DrawBridgeMiddle(const TileInfo *ti, BridgePillarFlags blocked_pillars) DrawBridgeRoadBits(rampsouth, x, y, bridge_z, to_underlying(OtherAxis(axis)), false, is_custom_layout); } else if (transport_type == TRANSPORT_RAIL) { const RailTypeInfo *rti = GetRailTypeInfo(GetRailType(rampsouth)); - if ((is_custom_layout || rti->UsesOverlay()) && !IsInvisibilitySet(TO_BRIDGES)) { + if ((is_custom_layout || rti->UsesOverlay()) && !IsInvisibilitySet(TransparencyOption::Bridges)) { SpriteID surface = rti->UsesOverlay() ? GetCustomRailSprite(rti, rampsouth, RailSpriteType::Bridge, TCX_ON_BRIDGE) : rti->base_sprites.bridge_deck; if (surface != 0) { - AddSortableSpriteToDraw(surface + to_underlying(axis), PAL_NONE, x, y, bridge_z, {{}, {TILE_SIZE, TILE_SIZE, 0}, {}}, IsTransparencySet(TO_BRIDGES)); + AddSortableSpriteToDraw(surface + to_underlying(axis), PAL_NONE, x, y, bridge_z, {{}, {TILE_SIZE, TILE_SIZE, 0}, {}}, IsTransparencySet(TransparencyOption::Bridges)); } } - if (_game_mode != GameMode::Menu && _settings_client.gui.show_track_reservation && !IsInvisibilitySet(TO_BRIDGES) && HasTunnelBridgeReservation(rampnorth)) { + if (_game_mode != GameMode::Menu && _settings_client.gui.show_track_reservation && !IsInvisibilitySet(TransparencyOption::Bridges) && HasTunnelBridgeReservation(rampnorth)) { if (rti->UsesOverlay()) { SpriteID overlay = GetCustomRailSprite(rti, rampnorth, RailSpriteType::Overlay, TCX_ON_BRIDGE); - AddSortableSpriteToDraw(overlay + RTO_X + to_underlying(axis), PALETTE_CRASH, ti->x, ti->y, bridge_z, {{}, {TILE_SIZE, TILE_SIZE, 0}, {}}, IsTransparencySet(TO_BRIDGES)); + AddSortableSpriteToDraw(overlay + RTO_X + to_underlying(axis), PALETTE_CRASH, ti->x, ti->y, bridge_z, {{}, {TILE_SIZE, TILE_SIZE, 0}, {}}, IsTransparencySet(TransparencyOption::Bridges)); } else { - AddSortableSpriteToDraw(axis == Axis::X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH, ti->x, ti->y, bridge_z, {{}, {TILE_SIZE, TILE_SIZE, 0}, {}}, IsTransparencySet(TO_BRIDGES)); + AddSortableSpriteToDraw(axis == Axis::X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH, ti->x, ti->y, bridge_z, {{}, {TILE_SIZE, TILE_SIZE, 0}, {}}, IsTransparencySet(TransparencyOption::Bridges)); } } @@ -1694,13 +1694,13 @@ void DrawBridgeMiddle(const TileInfo *ti, BridgePillarFlags blocked_pillars) } /* draw roof, the component of the bridge which is logically between the vehicle and the camera */ - if (!IsInvisibilitySet(TO_BRIDGES)) { + if (!IsInvisibilitySet(TransparencyOption::Bridges)) { if (axis == Axis::X) { y += 12; - if (psid[1].sprite & SPRITE_MASK) AddSortableSpriteToDraw(psid[1].sprite, psid[1].pal, x, y, z, {{0, 3, BRIDGE_Z_START}, {TILE_SIZE, 1, 40}, {0, -3, -BRIDGE_Z_START}}, IsTransparencySet(TO_BRIDGES)); + if (psid[1].sprite & SPRITE_MASK) AddSortableSpriteToDraw(psid[1].sprite, psid[1].pal, x, y, z, {{0, 3, BRIDGE_Z_START}, {TILE_SIZE, 1, 40}, {0, -3, -BRIDGE_Z_START}}, IsTransparencySet(TransparencyOption::Bridges)); } else { x += 12; - if (psid[1].sprite & SPRITE_MASK) AddSortableSpriteToDraw(psid[1].sprite, psid[1].pal, x, y, z, {{3, 0, BRIDGE_Z_START}, {1, TILE_SIZE, 40}, {-3, 0, -BRIDGE_Z_START}}, IsTransparencySet(TO_BRIDGES)); + if (psid[1].sprite & SPRITE_MASK) AddSortableSpriteToDraw(psid[1].sprite, psid[1].pal, x, y, z, {{3, 0, BRIDGE_Z_START}, {1, TILE_SIZE, 40}, {-3, 0, -BRIDGE_Z_START}}, IsTransparencySet(TransparencyOption::Bridges)); } } @@ -1708,7 +1708,7 @@ void DrawBridgeMiddle(const TileInfo *ti, BridgePillarFlags blocked_pillars) if (transport_type == TRANSPORT_ROAD) EndSpriteCombine(); /* Do not draw anything more if bridges are invisible */ - if (IsInvisibilitySet(TO_BRIDGES)) return; + if (IsInvisibilitySet(TransparencyOption::Bridges)) return; if (blocked_pillars.Any(pillars)) return; DrawBridgePillars(psid[2], ti, axis, drawfarpillar, x, y, z); diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 1041b611c9..bdb4c1665e 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1129,7 +1129,7 @@ static void DoDrawVehicle(const Vehicle *v) /* Check whether the vehicle shall be transparent/invisible due to GUI settings. * However, transparent smoke and bubbles look weird, so always hide them. */ TransparencyOption to = EffectVehicle::From(v)->GetTransparencyOption(); - if (to != TO_INVALID && (IsTransparencySet(to) || IsInvisibilitySet(to))) return; + if (to != TransparencyOption::Invalid && (IsTransparencySet(to) || IsInvisibilitySet(to))) return; } StartSpriteCombine(); diff --git a/src/viewport.cpp b/src/viewport.cpp index d210dda815..4e84ed0a55 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1403,7 +1403,7 @@ static void ViewportAddSignStrings(DrawPixelInfo *dpi, const std::vector &stations, bool small) { /* Transparent station signs have colour text instead of a colour panel. */ - ViewportStringFlags flags{IsTransparencySet(TO_SIGNS) ? ViewportStringFlag::TextColour : ViewportStringFlag::ColourRect}; + ViewportStringFlags flags{IsTransparencySet(TransparencyOption::Signs) ? ViewportStringFlag::TextColour : ViewportStringFlag::ColourRect}; if (small) flags.Set(ViewportStringFlag::Small); for (const BaseStation *st : stations) { @@ -1450,7 +1450,7 @@ static void ViewportAddKdtreeSigns(DrawPixelInfo *dpi) bool show_stations = _display_opt.Test(DisplayOption::ShowStationNames) && _game_mode != GameMode::Menu; bool show_waypoints = _display_opt.Test(DisplayOption::ShowWaypointNames) && _game_mode != GameMode::Menu; bool show_towns = _display_opt.Test(DisplayOption::ShowTownNames) && _game_mode != GameMode::Menu; - bool show_signs = _display_opt.Test(DisplayOption::ShowSigns) && !IsInvisibilitySet(TO_SIGNS); + bool show_signs = _display_opt.Test(DisplayOption::ShowSigns) && !IsInvisibilitySet(TransparencyOption::Signs); bool show_competitors = _display_opt.Test(DisplayOption::ShowCompetitorSigns); /* Collect all the items first and draw afterwards, to ensure layering */ @@ -1518,7 +1518,7 @@ static void ViewportAddKdtreeSigns(DrawPixelInfo *dpi) ViewportAddTownStrings(dpi, towns, small); /* Do not draw signs nor station names if they are set invisible */ - if (IsInvisibilitySet(TO_SIGNS)) return; + if (IsInvisibilitySet(TransparencyOption::Signs)) return; ViewportAddSignStrings(dpi, signs, small); ViewportAddStationStrings(dpi, stations, small); @@ -2294,10 +2294,10 @@ static bool CheckClickOnViewportSign(const Viewport &vp, int x, int y) Rect search_rect{ x - 1, y - 1, x + 1, y + 1 }; search_rect = ExpandRectWithViewportSignMargins(search_rect, vp.zoom); - bool show_stations = _display_opt.Test(DisplayOption::ShowStationNames) && !IsInvisibilitySet(TO_SIGNS); - bool show_waypoints = _display_opt.Test(DisplayOption::ShowWaypointNames) && !IsInvisibilitySet(TO_SIGNS); + bool show_stations = _display_opt.Test(DisplayOption::ShowStationNames) && !IsInvisibilitySet(TransparencyOption::Signs); + bool show_waypoints = _display_opt.Test(DisplayOption::ShowWaypointNames) && !IsInvisibilitySet(TransparencyOption::Signs); bool show_towns = _display_opt.Test(DisplayOption::ShowTownNames); - bool show_signs = _display_opt.Test(DisplayOption::ShowSigns) && !IsInvisibilitySet(TO_SIGNS); + bool show_signs = _display_opt.Test(DisplayOption::ShowSigns) && !IsInvisibilitySet(TransparencyOption::Signs); bool show_competitors = _display_opt.Test(DisplayOption::ShowCompetitorSigns); /* Topmost of each type that was hit */ diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 325561c1fd..b370edf89a 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -848,12 +848,12 @@ static void DrawCanalWater(TileIndex tile) static void DrawWaterTileStruct(const TileInfo *ti, std::span seq, SpriteID base, uint offset, PaletteID palette, CanalFeature feature) { /* Don't draw if buildings are invisible. */ - if (IsInvisibilitySet(TO_BUILDINGS)) return; + if (IsInvisibilitySet(TransparencyOption::Buildings)) return; for (const DrawTileSeqStruct &dtss : seq) { uint tile_offs = offset + dtss.image.sprite; if (feature < CF_END) tile_offs = GetCanalSpriteOffset(feature, ti->tile, tile_offs); - AddSortableSpriteToDraw(base + tile_offs, palette, *ti, dtss, IsTransparencySet(TO_BUILDINGS)); + AddSortableSpriteToDraw(base + tile_offs, palette, *ti, dtss, IsTransparencySet(TransparencyOption::Buildings)); } } diff --git a/src/widget.cpp b/src/widget.cpp index 710b93f81b..78bbacbe02 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -2402,7 +2402,7 @@ void NWidgetViewport::Draw(const Window *w) if (this->disp_flags.Test(NWidgetDisplayFlag::NoTransparency)) { AutoRestoreBackup to_backup(_transparency_opt); - _transparency_opt &= TransparencyOptions{TO_SIGNS, TO_TEXT}; // Disable all transparency, except textual stuff + _transparency_opt &= TransparencyOptions{TransparencyOption::Signs, TransparencyOption::Text}; // Disable all transparency, except textual stuff w->DrawViewport(); } else { w->DrawViewport();