Merge pull request 'ITEMS/mcl_banners: Render preview banners with transparent patterns correctly' (#158) from banner-mask-fix-4 into master

Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/158
Reviewed-by: cora <cora@noreply.git.minetest.land>
This commit is contained in:
cora 2021-11-08 12:21:50 +00:00
commit df98db1d8c
1 changed files with 4 additions and 2 deletions

View File

@ -387,13 +387,15 @@ for colorid, colortab in pairs(mcl_banners.colors) do
-- redraw the pattern textures as low-resolution pixel
-- art and use that instead.
local layer = "(([combine:20x40:-2,-2="..pattern.."^[resize:16x24^[colorize:"..color..":"..layer_ratio.."))"
local layer = "([combine:20x40:-2,-2=" .. pattern .. "^[resize:16x24^[colorize:" .. color .. ":" .. layer_ratio .. ")"
local mask = "([combine:20x40:-2,-2=" .. pattern .. "^[resize:16x24" .. ")"
function escape(text)
return text:gsub("%^", "\\%^"):gsub(":", "\\:") -- :gsub("%(", "\\%("):gsub("%)", "\\%)")
end
finished_banner = "[combine:32x32:0,0=" .. escape(base) .. ":8,4=" .. escape(layer)
local layer_masked = layer .. "^[mask:" .. escape(mask)
finished_banner = "[combine:32x32:0,0=" .. escape(base) .. ":8,4=" .. escape(layer_masked)
end
inv = finished_banner