Move table copy function out of signs lib and into init.lua, make it global.

This commit is contained in:
Vanessa Ezekowitz 2013-10-27 22:51:56 -04:00
parent 2ffd00909a
commit b483733540
3 changed files with 21 additions and 15 deletions

View File

@ -373,7 +373,7 @@ for i in ipairs(gates_list) do
minetest.register_node("homedecor:gate_"..gate.."_closed", def) minetest.register_node("homedecor:gate_"..gate.."_closed", def)
-- this is either a terrible idea or a great one -- this is either a terrible idea or a great one
def = table.copy(def) def = homedecor.table_copy(def)
def.groups.not_in_creative_inventory = 1 def.groups.not_in_creative_inventory = 1
def.selection_box.fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 } def.selection_box.fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 }
def.tiles = { def.tiles = {

View File

@ -29,18 +29,36 @@ else
end end
homedecor.gettext = S homedecor.gettext = S
-- debug
local dbg = function(s) local dbg = function(s)
if homedecor.debug == 1 then if homedecor.debug == 1 then
print('[HomeDecor] ' .. s) print('[HomeDecor] ' .. s)
end end
end end
-- infinite stacks
if minetest.get_modpath("unified_inventory") or not minetest.setting_getbool("creative_mode") then if minetest.get_modpath("unified_inventory") or not minetest.setting_getbool("creative_mode") then
homedecor.expect_infinite_stacks = false homedecor.expect_infinite_stacks = false
else else
homedecor.expect_infinite_stacks = true homedecor.expect_infinite_stacks = true
end end
--table copy
function homedecor.table_copy(t)
local nt = { };
for k, v in pairs(t) do
if type(v) == "table" then
nt[k] = homedecor.table_copy(v)
else
nt[k] = v
end
end
return nt
end
dofile(homedecor.modpath.."/ownership.lua") dofile(homedecor.modpath.."/ownership.lua")
dofile(homedecor.modpath.."/lib_6d.lua") dofile(homedecor.modpath.."/lib_6d.lua")

View File

@ -288,18 +288,6 @@ local function make_line_texture(line, lineno)
return table.concat(texture, ""), lineno return table.concat(texture, ""), lineno
end end
local function copy ( t )
local nt = { };
for k, v in pairs(t) do
if type(v) == "table" then
nt[k] = copy(v)
else
nt[k] = v
end
end
return nt
end
local function make_sign_texture(lines) local function make_sign_texture(lines)
local texture = { ("[combine:%dx%d"):format(SIGN_WIDTH, LINE_HEIGHT * NUMBER_OF_LINES * LINE_SEP) } local texture = { ("[combine:%dx%d"):format(SIGN_WIDTH, LINE_HEIGHT * NUMBER_OF_LINES * LINE_SEP) }
local lineno = 0 local lineno = 0
@ -594,8 +582,8 @@ function homedecor.register_fence_with_sign(fencename, fencewithsignname)
minetest.log("warning", "[homedecor] Attempt to register unknown node as fence") minetest.log("warning", "[homedecor] Attempt to register unknown node as fence")
return return
end end
def = copy(def) def = homedecor.table_copy(def)
def_sign = copy(def_sign) def_sign = homedecor.table_copy(def_sign)
fences_with_sign[fencename] = fencewithsignname fences_with_sign[fencename] = fencewithsignname
def.on_place = function(itemstack, placer, pointed_thing, ...) def.on_place = function(itemstack, placer, pointed_thing, ...)