diff --git a/plugins/dig-now.cpp b/plugins/dig-now.cpp index 15842557d..78b2b1522 100644 --- a/plugins/dig-now.cpp +++ b/plugins/dig-now.cpp @@ -497,8 +497,19 @@ static bool smooth_tile(color_ostream &out, MapExtras::MapCache &map, const DFCoord &pos) { df::tiletype tt = map.tiletypeAt(pos); + df::tiletype_shape shape = tileShape(tt); + df::tiletype_variant variant = tileVariant(tt); + df::tiletype_special special = df::tiletype_special::SMOOTH; + TileDirection tdir; - if (tileShape(tt) == df::tiletype_shape::WALL) { + if (is_smooth_wall(map, pos)) { + // engraving is filtered out at a higher level, so this is a + // fortification designation + shape = tiletype_shape::FORTIFICATION; + variant = df::tiletype_variant::NONE; + special = df::tiletype_special::NONE; + } + else if (shape == df::tiletype_shape::WALL) { if (adjust_smooth_wall_dir(map, DFCoord(pos.x, pos.y-1, pos.z), TileDirection(0, 1, 0, 0))) tdir.north = 1; @@ -514,8 +525,7 @@ static bool smooth_tile(color_ostream &out, MapExtras::MapCache &map, tdir = ensure_valid_tdir(tdir); } - tt = findTileType(tileShape(tt), tileMaterial(tt), tileVariant(tt), - df::tiletype_special::SMOOTH, tdir); + tt = findTileType(shape, tileMaterial(tt), variant, special, tdir); if (tt == df::tiletype::Void) return false;