From 9e9770df8b2fb7b5755779107556bd6c9ba99609 Mon Sep 17 00:00:00 2001 From: T1ti <40864460+T1ti@users.noreply.github.com> Date: Tue, 6 Aug 2024 23:37:51 +0200 Subject: [PATCH] merge layers by default again when swappnig textures --- src/noggit/texture_set.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/noggit/texture_set.cpp b/src/noggit/texture_set.cpp index f2f32a58..47f9f39f 100755 --- a/src/noggit/texture_set.cpp +++ b/src/noggit/texture_set.cpp @@ -117,19 +117,27 @@ bool TextureSet::replace_texture (scoped_blp_texture_reference const& texture_to { textures[texture_to_replace_level] = std::move (replacement_texture); + QSettings settings; + bool do_merge_layers = settings.value("texture_merge_layers", true).toBool(); + // prevent texture duplication if (replacement_texture_level != -1 && replacement_texture_level != texture_to_replace_level) { + if (!do_merge_layers) + { auto sstream = std::stringstream(); sstream << "error_" << replacement_texture_level << ".blp"; - std::string fallback_tex_name = sstream.str(); - auto fallback = scoped_blp_texture_reference(fallback_tex_name, _context); + std::string fallback_tex_name = sstream.str(); + auto fallback = scoped_blp_texture_reference(fallback_tex_name, _context); - textures[replacement_texture_level] = std::move(fallback); - - // temp alphamap changes are applied in here - // merge_layers(texture_to_replace_level, replacement_texture_level); + textures[replacement_texture_level] = std::move(fallback); + } + else + { + // temp alphamap changes are applied in here + merge_layers(texture_to_replace_level, replacement_texture_level); + } } }