summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSmallJoker <mk939@ymail.com>2021-03-24 19:47:25 +0100
committerSmallJoker <mk939@ymail.com>2021-03-24 19:47:30 +0100
commitd2954c52773faa86e3a414250b8a9f5acd04c787 (patch)
tree7228296a3181f45f9fc9756924d926b12ab3e477
parent9ad6e5d07a1600273153e561be832cfb3c5c5171 (diff)
downloadpipeworks-d2954c52773faa86e3a414250b8a9f5acd04c787.tar
pipeworks-d2954c52773faa86e3a414250b8a9f5acd04c787.tar.gz
pipeworks-d2954c52773faa86e3a414250b8a9f5acd04c787.tar.bz2
pipeworks-d2954c52773faa86e3a414250b8a9f5acd04c787.tar.xz
pipeworks-d2954c52773faa86e3a414250b8a9f5acd04c787.zip
Get rid of most 5.4.0 texture warnings
This commit also shortens the lua_tube.lua code a bit
-rw-r--r--decorative_tubes.lua5
-rw-r--r--lua_tube.lua112
-rw-r--r--tube_registration.lua6
3 files changed, 55 insertions, 68 deletions
diff --git a/decorative_tubes.lua b/decorative_tubes.lua
index 883f0cc..1a4d386 100644
--- a/decorative_tubes.lua
+++ b/decorative_tubes.lua
@@ -45,6 +45,10 @@ local pane_box = {
{ -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } -- pane
}
}
+
+local texture_alpha_mode = minetest.features.use_texture_alpha_string_modes
+ and "clip" or true
+
minetest.register_node("pipeworks:steel_pane_embedded_tube", {
drawtype = "nodebox",
description = S("Airtight panel embedded tube"),
@@ -55,6 +59,7 @@ minetest.register_node("pipeworks:steel_pane_embedded_tube", {
"pipeworks_pane_embedded_tube_sides.png",
"pipeworks_pane_embedded_tube_ends.png", "pipeworks_pane_embedded_tube_ends.png",
},
+ use_texture_alpha = texture_alpha_mode,
node_box = pane_box,
selection_box = pane_box,
collision_box = pane_box,
diff --git a/lua_tube.lua b/lua_tube.lua
index 10cdf80..d5c7f8b 100644
--- a/lua_tube.lua
+++ b/lua_tube.lua
@@ -813,82 +813,56 @@ local tiles_base = {
"pipeworks_mese_tube_plain_2.png", "pipeworks_mese_tube_plain_1.png",
"pipeworks_mese_tube_plain_6.png", "pipeworks_mese_tube_plain_5.png"}
+local tiles_on_off = {
+ R__0 = "^pipeworks_lua_tube_port_%s.png",
+ R_90 = "^(pipeworks_lua_tube_port_%s.png^[transformR90)",
+ R180 = "^(pipeworks_lua_tube_port_%s.png^[transformR180)",
+ R270 = "^(pipeworks_lua_tube_port_%s.png^[transformR270)"
+}
+
+local texture_alpha_mode = minetest.features.use_texture_alpha_string_modes
+ and "clip" or true
+
for red = 0, 1 do -- 0 = off 1 = on
for blue = 0, 1 do
for yellow = 0, 1 do
for green = 0, 1 do
for black = 0, 1 do
for white = 0, 1 do
- local cid = tostring(white)..tostring(black)..tostring(green)..
- tostring(yellow)..tostring(blue)..tostring(red)
+ local cid = white..black..green..yellow..blue..red
local node_name = BASENAME..cid
+
local tiles = table.copy(tiles_base)
- if red == 1 then
- tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
- tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
- tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
- tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
- else
- tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
- tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
- tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
- tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
- end
- if blue == 1 then
- tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
- tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
- tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
- tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
- else
- tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
- tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
- tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
- tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
- end
- if yellow == 1 then
- tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
- tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
- tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
- tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
- else
- tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
- tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
- tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
- tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
- end
- if green == 1 then
- tiles[3] = tiles[3].."^pipeworks_lua_tube_port_on.png"
- tiles[4] = tiles[4].."^pipeworks_lua_tube_port_on.png"
- tiles[5] = tiles[5].."^pipeworks_lua_tube_port_on.png"
- tiles[6] = tiles[6].."^pipeworks_lua_tube_port_on.png"
- else
- tiles[3] = tiles[3].."^pipeworks_lua_tube_port_off.png"
- tiles[4] = tiles[4].."^pipeworks_lua_tube_port_off.png"
- tiles[5] = tiles[5].."^pipeworks_lua_tube_port_off.png"
- tiles[6] = tiles[6].."^pipeworks_lua_tube_port_off.png"
- end
- if black == 1 then
- tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
- tiles[2] = tiles[2].."^pipeworks_lua_tube_port_on.png"
- tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
- tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
- else
- tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
- tiles[2] = tiles[2].."^pipeworks_lua_tube_port_off.png"
- tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
- tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
- end
- if white == 1 then
- tiles[1] = tiles[1].."^pipeworks_lua_tube_port_on.png"
- tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
- tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
- tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
- else
- tiles[1] = tiles[1].."^pipeworks_lua_tube_port_off.png"
- tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
- tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
- tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
- end
+ -- Red
+ tiles[1] = tiles[1]..tiles_on_off.R_90:format(red == 1 and "on" or "off");
+ tiles[2] = tiles[2]..tiles_on_off.R_90:format(red == 1 and "on" or "off");
+ tiles[5] = tiles[5]..tiles_on_off.R270:format(red == 1 and "on" or "off");
+ tiles[6] = tiles[6]..tiles_on_off.R_90:format(red == 1 and "on" or "off");
+ -- Blue
+ tiles[1] = tiles[1]..tiles_on_off.R270:format(blue == 1 and "on" or "off");
+ tiles[2] = tiles[2]..tiles_on_off.R270:format(blue == 1 and "on" or "off");
+ tiles[5] = tiles[5]..tiles_on_off.R_90:format(blue == 1 and "on" or "off");
+ tiles[6] = tiles[6]..tiles_on_off.R270:format(blue == 1 and "on" or "off");
+ -- Yellow
+ tiles[1] = tiles[1]..tiles_on_off.R180:format(yellow == 1 and "on" or "off");
+ tiles[2] = tiles[2]..tiles_on_off.R180:format(yellow == 1 and "on" or "off");
+ tiles[5] = tiles[5]..tiles_on_off.R180:format(yellow == 1 and "on" or "off");
+ tiles[6] = tiles[6]..tiles_on_off.R180:format(yellow == 1 and "on" or "off");
+ -- Green
+ tiles[3] = tiles[3]..tiles_on_off.R__0:format(green == 1 and "on" or "off");
+ tiles[4] = tiles[4]..tiles_on_off.R__0:format(green == 1 and "on" or "off");
+ tiles[5] = tiles[5]..tiles_on_off.R__0:format(green == 1 and "on" or "off");
+ tiles[6] = tiles[6]..tiles_on_off.R__0:format(green == 1 and "on" or "off");
+ -- Black
+ tiles[1] = tiles[1]..tiles_on_off.R180:format(black == 1 and "on" or "off");
+ tiles[2] = tiles[2]..tiles_on_off.R__0:format(black == 1 and "on" or "off");
+ tiles[3] = tiles[3]..tiles_on_off.R_90:format(black == 1 and "on" or "off");
+ tiles[4] = tiles[4]..tiles_on_off.R270:format(black == 1 and "on" or "off");
+ -- White
+ tiles[1] = tiles[1]..tiles_on_off.R__0:format(white == 1 and "on" or "off");
+ tiles[2] = tiles[2]..tiles_on_off.R180:format(white == 1 and "on" or "off");
+ tiles[3] = tiles[3]..tiles_on_off.R270:format(white == 1 and "on" or "off");
+ tiles[4] = tiles[4]..tiles_on_off.R_90:format(white == 1 and "on" or "off");
local groups = {snappy = 3, tube = 1, tubedevice = 1, overheat = 1}
if red + blue + yellow + green + black + white ~= 0 then
@@ -933,6 +907,7 @@ for white = 0, 1 do
description = "Lua controlled Tube",
drawtype = "nodebox",
tiles = tiles,
+ use_texture_alpha = texture_alpha_mode,
paramtype = "light",
is_ground_content = false,
groups = groups,
@@ -1039,6 +1014,7 @@ tiles_burnt[4] = tiles_burnt[4].."^(pipeworks_lua_tube_port_burnt.png^[transform
minetest.register_node(BASENAME .. "_burnt", {
drawtype = "nodebox",
tiles = tiles_burnt,
+ use_texture_alpha = texture_alpha_mode,
is_burnt = true,
paramtype = "light",
is_ground_content = false,
diff --git a/tube_registration.lua b/tube_registration.lua
index c530cbf..a77154a 100644
--- a/tube_registration.lua
+++ b/tube_registration.lua
@@ -26,6 +26,11 @@ local texture_mt = {
end
}
+-- This will remove any semi-transparent pixels
+-- because that is still buggy in Minetest, force this as default
+local texture_alpha_mode = minetest.features.use_texture_alpha_string_modes
+ and "clip" or true
+
local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, ends, short, inv, special, connects, style)
noctrs = noctrs or default_noctrs
setmetatable(noctrs, texture_mt)
@@ -82,6 +87,7 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e
description = tubedesc,
drawtype = "nodebox",
tiles = outimgs,
+ use_texture_alpha = texture_alpha_mode,
sunlight_propagates = true,
inventory_image = iimg,
wield_image = iimg,