From 7f25823bd4f1a822449eb783ee555651a89ce9de Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 21 Jan 2021 00:51:24 +0100 Subject: Allow "liquid" and "flowingliquid" drawtypes even if liquidtype=none (#10737) --- src/client/content_mapblock.cpp | 4 ++-- src/nodedef.cpp | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/client/content_mapblock.cpp b/src/client/content_mapblock.cpp index df2748212..90284ecce 100644 --- a/src/client/content_mapblock.cpp +++ b/src/client/content_mapblock.cpp @@ -513,10 +513,10 @@ f32 MapblockMeshGenerator::getCornerLevel(int i, int k) count++; } else if (content == CONTENT_AIR) { air_count++; - if (air_count >= 2) - return -0.5 * BS + 0.2; } } + if (air_count >= 2) + return -0.5 * BS + 0.2; if (count > 0) return sum / count; return 0; diff --git a/src/nodedef.cpp b/src/nodedef.cpp index f9d15a9f6..1740b010a 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -788,14 +788,12 @@ void ContentFeatures::updateTextures(ITextureSource *tsrc, IShaderSource *shdsrc solidness = 0; break; case NDT_LIQUID: - assert(liquid_type == LIQUID_SOURCE); if (tsettings.opaque_water) alpha = 255; solidness = 1; is_liquid = true; break; case NDT_FLOWINGLIQUID: - assert(liquid_type == LIQUID_FLOWING); solidness = 0; if (tsettings.opaque_water) alpha = 255; @@ -1596,7 +1594,7 @@ static void removeDupes(std::vector &list) void NodeDefManager::resolveCrossrefs() { for (ContentFeatures &f : m_content_features) { - if (f.liquid_type != LIQUID_NONE) { + if (f.liquid_type != LIQUID_NONE || f.drawtype == NDT_LIQUID || f.drawtype == NDT_FLOWINGLIQUID) { f.liquid_alternative_flowing_id = getId(f.liquid_alternative_flowing); f.liquid_alternative_source_id = getId(f.liquid_alternative_source); continue; -- cgit v1.2.3