summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2014-07-21 18:34:46 +0100
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2014-07-21 14:43:37 -0400
commitbd37e96222b85557e18410800a3d7db95122ef6b (patch)
tree48459ce17b202b720668818bbec223b3c4064fcd
parentc5ab80174199f9022b3c233c1a6e6d2225225271 (diff)
downloadpipeworks-bd37e96222b85557e18410800a3d7db95122ef6b.tar
pipeworks-bd37e96222b85557e18410800a3d7db95122ef6b.tar.gz
pipeworks-bd37e96222b85557e18410800a3d7db95122ef6b.tar.bz2
pipeworks-bd37e96222b85557e18410800a3d7db95122ef6b.tar.xz
pipeworks-bd37e96222b85557e18410800a3d7db95122ef6b.zip
Make sorting tube dialog lag-resistant
-rw-r--r--tubes.lua29
1 files changed, 16 insertions, 13 deletions
diff --git a/tubes.lua b/tubes.lua
index 5e8a009..97f0237 100644
--- a/tubes.lua
+++ b/tubes.lua
@@ -302,12 +302,12 @@ if pipeworks.enable_mese_tube then
"image[0,3;1,1;pipeworks_yellow.png]"..
"image[0,4;1,1;pipeworks_blue.png]"..
"image[0,5;1,1;pipeworks_red.png]"..
- "button[7,0;1,1;button1;On]"..
- "button[7,1;1,1;button2;On]"..
- "button[7,2;1,1;button3;On]"..
- "button[7,3;1,1;button4;On]"..
- "button[7,4;1,1;button5;On]"..
- "button[7,5;1,1;button6;On]"..
+ "button[7,0;1,1;button10;On]"..
+ "button[7,1;1,1;button20;On]"..
+ "button[7,2;1,1;button30;On]"..
+ "button[7,3;1,1;button40;On]"..
+ "button[7,4;1,1;button50;On]"..
+ "button[7,5;1,1;button60;On]"..
"list[current_player;main;0,7;8,4;]")
meta:set_string("infotext", "Sorting Pneumatic Tube Segment")
end,
@@ -315,11 +315,14 @@ if pipeworks.enable_mese_tube then
local meta = minetest.get_meta(pos)
local i
if fields.quit then return end
- for key, _ in pairs(fields) do i = key end
- if i == nil then return end
- i = string.sub(i,-1)
- newstate = 1 - meta:get_int("l"..i.."s")
- meta:set_int("l"..i.."s",newstate)
+ for key, _ in pairs(fields) do
+ if key:sub(1, 6) == "button" then
+ local i = key:sub(7, 7)
+ local s = key:sub(8, 8)
+ if s == "" then s = 1 - meta:get_int("l"..i.."s") end
+ meta:set_int("l"..i.."s", s)
+ end
+ end
local frm = "size[8,11]"..
"list[current_name;line1;1,0;6,1;]"..
"list[current_name;line2;1,1;6,1;]"..
@@ -336,9 +339,9 @@ if pipeworks.enable_mese_tube then
for i = 1, 6 do
local st = meta:get_int("l"..tostring(i).."s")
if st == 0 then
- frm = frm.."button[7,"..tostring(i-1)..";1,1;button"..tostring(i)..";Off]"
+ frm = frm.."button[7,"..tostring(i-1)..";1,1;button"..tostring(i).."1;Off]"
else
- frm = frm.."button[7,"..tostring(i-1)..";1,1;button"..tostring(i)..";On]"
+ frm = frm.."button[7,"..tostring(i-1)..";1,1;button"..tostring(i).."0;On]"
end
end
frm = frm.."list[current_player;main;0,7;8,4;]"