diff --git a/basic_materials/electrical-electronic.lua b/basic_materials/electrical-electronic.lua index 065b9217..4802bbc1 100644 --- a/basic_materials/electrical-electronic.lua +++ b/basic_materials/electrical-electronic.lua @@ -46,10 +46,14 @@ minetest.register_craft( { minetest.register_craft( { output = "basic_materials:motor 2", recipe = { - { "default:mese_crystal_fragment", "homedecor:copper_wire", "homedecor:plastic_sheeting" }, - { "default:copper_ingot", "default:steel_ingot", "default:steel_ingot" }, - { "default:mese_crystal_fragment", "homedecor:copper_wire", "homedecor:plastic_sheeting" } + { "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" }, + { "default:copper_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" } }, + replacements = { + { "basic_materials:copper_wire", "basic_materials:empty_spool" }, + { "basic_materials:copper_wire", "basic_materials:empty_spool" }, + } }) minetest.register_craft( { diff --git a/homedecor_bathroom/depends.txt b/homedecor_bathroom/depends.txt index 8cb6cfda..e778f7de 100644 --- a/homedecor_bathroom/depends.txt +++ b/homedecor_bathroom/depends.txt @@ -3,3 +3,5 @@ default basic_materials unifieddyes building_blocks +bucket? +homedecor_fences? diff --git a/homedecor_bathroom/init.lua b/homedecor_bathroom/init.lua index 0811b700..a043d899 100644 --- a/homedecor_bathroom/init.lua +++ b/homedecor_bathroom/init.lua @@ -347,7 +347,10 @@ homedecor.register("shower_head", { on_rotate = screwdriver.disallow, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z}) - if below and below.name == "homedecor:shower_tray" then + if below and ( + below.name == "homedecor:shower_tray" or + below.name == "homedecor:bathtub_clawfoot_brass_taps" or + below.name == "homedecor:bathtub_clawfoot_chrome_taps" ) then local particledef = { outlet = { x = 0, y = -0.42, z = 0.1 }, velocity_x = { min = -0.15, max = 0.15 }, @@ -364,6 +367,27 @@ homedecor.register("shower_head", { end }) +local tub_sbox = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 }, +} + +local tub_cbox = { + type = "fixed", + fixed = { + {-0.4375, -0.0625, -0.5, 1.4375, 0.5, -0.4375}, -- NodeBox1 + {-0.4375, -0.0625, 0.4375, 1.4375, 0.5, 0.5}, -- NodeBox2 + {-0.5, 0.1875, -0.4375, -0.4375, 0.5, 0.4375}, -- NodeBox3 + {1.4375, -0.0625, -0.4375, 1.5, 0.5, 0.4375}, -- NodeBox4 + {-0.3125, -0.3125, -0.4375, -0.125, -0.0625, 0.4375}, -- NodeBox5 + {1.375, -0.3125, -0.4375, 1.4375, -0.0625, 0.4375}, -- NodeBox6 + {-0.125, -0.3125, 0.375, 1.375, -0.0625, 0.4375}, -- NodeBox7 + {-0.125, -0.3125, -0.4375, 1.375, -0.0625, -0.375}, -- NodeBox8 + {-0.125, -0.5, -0.375, 1.375, -0.3125, 0.375}, -- NodeBox9 + {-0.4375, -0.0625, -0.4375, -0.3125, 0.1875, 0.4375}, -- NodeBox10 + } +} + homedecor.register("bathtub_clawfoot_brass_taps", { drawtype = "mesh", mesh = "homedecor_bathtub_clawfoot.obj", @@ -377,10 +401,8 @@ homedecor.register("bathtub_clawfoot_brass_taps", { }, description = S("Bathtub, clawfoot, with brass taps"), groups = {cracky=3}, - selection_box = { - type = "fixed", - fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 }, - }, + selection_box = tub_sbox, + node_box = tub_cbox, sounds = default.node_sound_stone_defaults(), }) @@ -397,10 +419,8 @@ homedecor.register("bathtub_clawfoot_chrome_taps", { }, description = S("Bathtub, clawfoot, with chrome taps"), groups = {cracky=3}, - selection_box = { - type = "fixed", - fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 }, - }, + selection_box = tub_sbox, + node_box = tub_cbox, sounds = default.node_sound_stone_defaults(), }) @@ -531,8 +551,8 @@ minetest.register_craft({ minetest.register_craft( { output = "homedecor:bathroom_tiles_light 4", recipe = { - { "group:marble", "group:marble", "" }, - { "group:marble", "group:marble", "dye:white" } + { "group:marble", "group:marble" }, + { "group:marble", "group:marble" } }, }) @@ -593,3 +613,67 @@ minetest.register_craft({ { "group:stick", "basic_materials:plastic_sheet", "group:stick" } }, }) + +minetest.register_craft({ + output = "homedecor:toilet", + recipe = { + { "","","bucket:bucket_water"}, + { "group:marble","group:marble", "group:marble" }, + { "", "bucket:bucket_empty", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:sink", + recipe = { + { "group:marble","bucket:bucket_empty", "group:marble" }, + { "", "group:marble", "" } + }, +}) + +minetest.register_craft({ + output = "homedecor:taps", + recipe = { + { "default:steel_ingot","bucket:bucket_water", "default:steel_ingot" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:taps_brass", + recipe = { + { "basic_materials:brass_ingot","bucket:bucket_water", "basic_materials:brass_ingot" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:shower_tray", + recipe = { + { "group:marble","bucket:bucket_empty", "group:marble" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:shower_head", + recipe = { + {"default:steel_ingot", "bucket:bucket_water"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:bathtub_clawfoot_brass_taps", + recipe = { + { "homedecor:taps_brass", "", "" }, + { "group:marble", "", "group:marble" }, + { "default:steel_ingot", "group:marble", "default:steel_ingot"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:bathtub_clawfoot_chrome_taps", + recipe = { + { "homedecor:taps", "", "" }, + { "group:marble", "", "group:marble" }, + {"default:steel_ingot", "group:marble", "default:steel_ingot"}, + }, +}) + diff --git a/homedecor_climate_control/init.lua b/homedecor_climate_control/init.lua index 5524f261..bddf8584 100644 --- a/homedecor_climate_control/init.lua +++ b/homedecor_climate_control/init.lua @@ -143,7 +143,19 @@ homedecor.register("radiator", { }) -- crafting +minetest.register_craftitem(":homedecor:fan_blades", { + description = S("Fan blades"), + inventory_image = "homedecor_fan_blades.png" +}) +minetest.register_craft( { + output = "homedecor:fan_blades 2", + recipe = { + { "", "basic_materials:plastic_sheet", "" }, + { "", "default:steel_ingot", "" }, + { "basic_materials:plastic_sheet", "", "basic_materials:plastic_sheet" } + }, +}) minetest.register_craft({ output = "homedecor:air_conditioner", diff --git a/homedecor_climate_control/textures/homedecor_fan_blades.png b/homedecor_climate_control/textures/homedecor_fan_blades.png new file mode 100644 index 00000000..efb9f7c7 Binary files /dev/null and b/homedecor_climate_control/textures/homedecor_fan_blades.png differ diff --git a/homedecor_doors_and_gates/depends.txt b/homedecor_doors_and_gates/depends.txt index b93a08fe..c897dba1 100644 --- a/homedecor_doors_and_gates/depends.txt +++ b/homedecor_doors_and_gates/depends.txt @@ -1,4 +1,5 @@ homedecor_common +homedecor_misc? default basic_materials dye diff --git a/homedecor_doors_and_gates/init.lua b/homedecor_doors_and_gates/init.lua index 1435cbe3..effc6951 100644 --- a/homedecor_doors_and_gates/init.lua +++ b/homedecor_doors_and_gates/init.lua @@ -2,293 +2,139 @@ local S = homedecor.gettext -local function N_(x) return x end +-- new doors using minetest_game doors API -local m_rules -if minetest.global_exists("mesecon") then - m_rules = mesecon and mesecon.rules and mesecon.rules.pplate -end - --- doors - -local function isSolid(pos, adjust) - local adj = {x = adjust[1], y = adjust[2], z = adjust[3]} - local node = minetest.get_node(vector.add(pos,adj)) - if node then - local idef = minetest.registered_nodes[minetest.get_node(vector.add(pos,adj)).name] - if idef then - return idef.walkable - end - end - return false -end - -local function countSolids(pos,node,level) - local solids = 0 - for x = -1, 1 do - for z = -1, 1 do - local y = (node.param2 == 5) and -level or level - -- special cases when x == z == 0 - if x == 0 and z == 0 then - if level == 1 then - -- when looking past the trap door, cannot be solid in center - if isSolid(pos,{x,y,z}) then - return false - end - -- no else. it doesn't matter if x == y == z is solid, that's us. - end - elseif isSolid(pos,{x,y,z}) then - solids = solids + 1 - end - end - end - return solids -end - -local function calculateClosed(pos) - local node = minetest.get_node(pos) - -- the door is considered closed if it is closing off something. - - local direction = node.param2 % 6 - local isTrap = direction == 0 or direction == 5 - if isTrap then - -- the trap door is considered closed when all nodes on its sides are solid - -- or all nodes in the 3x3 above/below it are solid except the center - for level = 0, 1 do - local solids = countSolids(pos,node,level) - if solids == 8 then - return true - end - end - return false - else - -- the door is considered closed when the nodes on its sides are solid - -- or the 3 nodes in its facing direction are solid nonsolid solid - -- if the door has two levels (i.e. not a gate) then this must - -- be true for the top node as well. - - -- sorry I dunno the math to figure whether to x or z - if direction == 1 or direction == 2 then - if isSolid(pos,{0,0,-1}) and isSolid(pos,{0,0,1}) then - if string.find(node.name,'_bottom_') then - return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z}) - else - return true - end - end - local x = (direction == 1) and 1 or -1 - if isSolid(pos,{x,0,-1}) and not isSolid(pos,{x,0,0}) and isSolid(pos,{x,0,1}) then - if string.find(node.name,'_bottom_') then - return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z}) - else - return true - end - end - return false - else - -- direction == 3 or 4 - if isSolid(pos,{-1,0,0}) and isSolid(pos,{1,0,0}) then - if string.find(node.name,'_bottom_') then - return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z}) - else - return true - end - end - local z = (direction == 3) and 1 or -1 - if isSolid(pos,{-1,0,z}) and not isSolid(pos,{0,0,z}) and isSolid(pos,{1,0,z}) then - if string.find(node.name,'_bottom_') then - return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z}) - else - return true - end - end - return false - end - end -end - --- isClosed flag, is 0 or 1 0 = open, 1 = closed -local function getClosed(pos) - local isClosed = minetest.get_meta(pos):get_string('closed') - if isClosed=='' then - return calculateClosed(pos) - else - isClosed = tonumber(isClosed) - -- may be closed or open (1 or 0) - return isClosed == 1 - end -end - -local function addDoorNode(pos,def,isClosed) - minetest.set_node(pos, def) - minetest.get_meta(pos):set_int('closed', isClosed and 1 or 0) -end - -local door_model_list = { - { name = "closet_mahogany", - description = N_("Mahogany Closet Door (@1 opening)"), - mesh = "homedecor_door_closet.obj" - }, - - { name = "closet_oak", - description = N_("Oak Closet Door (@1 opening)"), - mesh = "homedecor_door_closet.obj" +local door_list = { + { name = "wood_plain", + description = "Plain Wooden Door", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_wood_defaults(), + open = "homedecor_door_open", + close = "homedecor_door_close", + } }, { name = "exterior_fancy", - description = N_("Fancy Wood/Glass Door (@1 opening)"), - mesh = "homedecor_door_fancy.obj", - tiles = { - "homedecor_door_exterior_fancy.png", - "homedecor_door_exterior_fancy_insert.png" + description = "Fancy Wood/Glass Door", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_wood_defaults(), + open = "homedecor_door_open", + close = "homedecor_door_close", }, - usealpha = true + backface = true, + alpha = true }, { name = "wood_glass_oak", - description = N_("Glass and Wood, Oak-colored (@1 opening)"), - mesh = "homedecor_door_wood_glass.obj", - tiles = { - "homedecor_door_wood_glass_oak.png", - "homedecor_door_wood_glass_insert.png", - } + description = "Glass and Wood, Oak-colored", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_glass_defaults(), + }, }, { name = "wood_glass_mahogany", - description = N_("Glass and Wood, Mahogany-colored (@1 opening)"), - mesh = "homedecor_door_wood_glass.obj", - tiles = { - "homedecor_door_wood_glass_mahogany.png", - "homedecor_door_wood_glass_insert.png", - } + description = "Glass and Wood, Mahogany-colored", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_glass_defaults(), + }, }, { name = "wood_glass_white", - description = N_("Glass and Wood, White (@1 opening)"), - mesh = "homedecor_door_wood_glass.obj", - tiles = { - "homedecor_door_wood_glass_white.png", - "homedecor_door_wood_glass_insert.png", - } - }, - - { name = "wood_plain", - description = N_("Plain Wooden Door (@1 opening)"), - mesh = "homedecor_door_plain.obj" + description = "Glass and Wood, White", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_glass_defaults(), + }, }, { name = "bedroom", - description = N_("White Bedroom Door (@1 opening)"), - mesh = "homedecor_door_plain.obj" + description = "White Bedroom Door", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_wood_defaults(), + open = "homedecor_door_open", + close = "homedecor_door_close", + } }, { name = "wrought_iron", - description = N_("Wrought Iron Gate/Door (@1 opening)"), - mesh = "homedecor_door_wrought_iron.obj" + description = "Wrought Iron Gate/Door", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_metal_defaults(), + open = "doors_steel_door_open", + close = "doors_steel_door_close", + }, + backface = true, }, { name = "woodglass", - description = N_("Wooden door with glass insert (@1 opening)"), - mesh = "homedecor_door_woodglass_typea.obj", - tiles = { - "homedecor_door_woodglass_typea.png", - "homedecor_door_woodglass_typea_insert.png", + description = "Wooden door with glass insert", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_wood_defaults(), + open = "homedecor_door_open", + close = "homedecor_door_close", }, - usealpha = true + backface = true, + alpha = true }, { name = "woodglass2", - description = N_("Wooden door with glass insert, type 2 (@1 opening)"), - mesh = "homedecor_door_plain.obj", - usealpha = true + description = "Wooden door with glass insert, type 2", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_wood_defaults(), + open = "homedecor_door_open", + close = "homedecor_door_close", + }, + backface = true, + alpha = true + }, + + { name = "closet_mahogany", + description = "Mahogany Closet Door", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_wood_defaults(), + } + }, + + { name = "closet_oak", + description = "Oak Closet Door", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = { + main = default.node_sound_wood_defaults(), + } }, } -local def_selbox = { - type = "fixed", - fixed = { -0.5, -0.5, 0.375, 0.5, 1.5, 0.5 } -} +local old_doors = {} -local sides = { N_("left"), N_("right") } - -for i, side in ipairs(sides) do - - for _, door_model in ipairs(door_model_list) do - - local doorname = door_model.name - - local selbox = door_model.selectbox or def_selbox - local colbox = door_model.collisionbox or door_model.selectbox or def_selbox - local mesh = door_model.mesh - local groups = {snappy = 3} - - if side == "right" then - mesh = string.gsub(door_model.mesh, ".obj", "_right.obj") - groups = {snappy = 3, not_in_creative_inventory = 1} - end - - minetest.register_node(":homedecor:door_"..doorname.."_"..side, { - description = S(door_model.description, S(side)), - drawtype = "mesh", - mesh = mesh, - tiles = door_model.tiles or { "homedecor_door_"..doorname..".png" }, - inventory_image = "homedecor_door_"..doorname.."_inv.png", - wield_image = "homedecor_door_"..doorname.."_inv.png", - paramtype = "light", - paramtype2 = "facedir", - groups = groups, - sounds = default.node_sound_wood_defaults(), - use_texture_alpha = door_model.usealpha, - selection_box = selbox, - collision_box = colbox, - on_rotate = screwdriver.rotate_simple, - on_place = function(itemstack, placer, pointed_thing) - return homedecor.stack_wing(itemstack, placer, pointed_thing, - "homedecor:door_"..doorname.."_left", "air", - "homedecor:door_"..doorname.."_right", "air") - end, - on_construct = function(pos) - minetest.get_meta(pos):set_int("closed", 1) - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - homedecor.flip_door(pos, node, clicker, doorname, side) - return itemstack - end, - -- both left and right doors may be used for open or closed doors - -- so they have to have both action_on and action_off and just - -- check when that action is invoked if to continue - - on_punch = function(pos, node, puncher) - minetest.get_meta(pos):set_string('closed',nil) - end, - drop = "homedecor:door_"..doorname.."_left", - mesecons = { - effector = { - rules = m_rules, - action_on = function(pos,node) - local isClosed = getClosed(pos) - if isClosed then - homedecor.flip_door(pos,node,nil,doorname,side,isClosed) - end - end, - action_off = function(pos,node) - local isClosed = getClosed(pos) - if not isClosed then - homedecor.flip_door(pos,node,nil,doorname,side,isClosed) - end - end - } - } +for _, door in ipairs(door_list) do + doors.register(door.name, { + tiles = {{ name = "homedecor_door_"..door.name..".png", backface_culling = door.backface }}, + description = door.description, + inventory_image = "homedecor_door_"..door.name.."_inv.png", + groups = table.copy(door.groups), + sounds = door.sounds.main, + sound_open = door.sounds.open, + sound_close = door.sounds.close + }) + if door.alpha then + minetest.override_item("doors:"..door.name.."_a", { + use_texture_apha = true }) - - minetest.register_alias("homedecor:door_"..doorname.."_top_"..side, "air") - minetest.register_alias("homedecor:door_"..doorname.."_bottom_"..side, "homedecor:door_"..doorname.."_"..side) - - end - - minetest.register_alias("homedecor:door_wood_glass_top_"..side, "air") - minetest.register_alias("homedecor:door_wood_glass_bottom_"..side, "homedecor:door_wood_glass_oak_"..side) - + minetest.override_item("doors:"..door.name.."_b", { + use_texture_apha = true + }) + end + old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left" + old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right" end -- Gates @@ -451,56 +297,11 @@ minetest.register_alias("homedecor:fence_picket_gate_closed", "homedecor:g minetest.register_alias("homedecor:fence_picket_gate_white_open", "homedecor:gate_picket_white_open") minetest.register_alias("homedecor:fence_picket_gate_white_closed", "homedecor:gate_picket_white_closed") --- to open a door, you switch left for right and subtract from param2, or vice versa right for left --- that is to say open "right" doors become left door nodes, and open left doors right door nodes. --- also adjusting param2 so the node is at 90 degrees. - -function homedecor.flip_door(pos, node, player, name, side, isClosed) - if isClosed == nil then - isClosed = getClosed(pos) - end - -- this is where we swap the isClosed status! - -- i.e. if isClosed, we're adding an open door - -- and if not isClosed, a closed door - isClosed = not isClosed - - local rside - local nfdir - local ofdir = node.param2 or 0 - if side == "left" then - rside = "right" - nfdir=ofdir - 1 - if nfdir < 0 then nfdir = 3 end - else - rside = "left" - nfdir=ofdir + 1 - if nfdir > 3 then nfdir = 0 end - end - local sound = isClosed and 'close' or 'open' - minetest.sound_play("homedecor_door_"..sound, { - pos=pos, - max_hear_distance = 5, - gain = 2, - }) - -- XXX: does the top half have to remember open/closed too? - minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..rside, param2=nfdir}) - - addDoorNode(pos,{ name = "homedecor:door_"..name.."_bottom_"..rside, param2=nfdir },isClosed) -end - function homedecor.flip_gate(pos, node, player, gate, oc) - local isClosed = getClosed(pos); - minetest.sound_play("homedecor_gate_open_close", { - pos=pos, - max_hear_distance = 5, - gain = 2, - }) + local fdir = node.param2 or 0 - -- since right facing gates use "open" nodes for closed, we need an - -- isClosed flag to tell if it's "really" closed. - local gateresult if oc == "closed" then gateresult = "homedecor:gate_"..gate.."_open" @@ -508,12 +309,14 @@ function homedecor.flip_gate(pos, node, player, gate, oc) gateresult = "homedecor:gate_"..gate.."_closed" end - local def = {name=gateresult, param2=fdir} - - addDoorNode(pos, def, isClosed) + minetest.set_node(pos, {name = gateresult, param2 = fdir}) + minetest.sound_play("homedecor_gate_open_close", { + pos=pos, + max_hear_distance = 5, + gain = 2, + }) -- the following opens and closes gates below and above in sync with this one - -- (without three gate open/close sounds) local above = {x=pos.x, y=pos.y+1, z=pos.z} local below = {x=pos.x, y=pos.y-1, z=pos.z} @@ -521,69 +324,15 @@ function homedecor.flip_gate(pos, node, player, gate, oc) local nodebelow = minetest.get_node(below) if string.find(nodeabove.name, "homedecor:gate_"..gate) then - addDoorNode(above, def, isClosed) + minetest.set_node(above, {name = gateresult, param2 = fdir}) end if string.find(nodebelow.name, "homedecor:gate_"..gate) then - addDoorNode(below, def, isClosed) + minetest.set_node(below, {name = gateresult, param2 = fdir}) end end --- Japanese-style wood/paper wall pieces and door - -local jp_cbox = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.0625}, -} - -minetest.register_node(":homedecor:japanese_wall_top", { - description = S("Japanese wall (top)"), - drawtype = "mesh", - mesh = "homedecor_wall_japanese_top.obj", - tiles = { - homedecor.lux_wood, - "homedecor_japanese_paper.png" - }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - selection_box = jp_cbox, - collision_box = jp_cbox, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node(":homedecor:japanese_wall_middle", { - description = S("Japanese wall"), - drawtype = "mesh", - mesh = "homedecor_wall_japanese_middle.obj", - tiles = { - homedecor.lux_wood, - "homedecor_japanese_paper.png" - }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - selection_box = jp_cbox, - collision_box = jp_cbox, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node(":homedecor:japanese_wall_bottom", { - description = S("Japanese wall (bottom)"), - drawtype = "mesh", - mesh = "homedecor_wall_japanese_bottom.obj", - tiles = { - homedecor.lux_wood, - "homedecor_japanese_paper.png" - }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - selection_box = jp_cbox, - collision_box = jp_cbox, - sounds = default.node_sound_wood_defaults(), -}) - +-- Japanese-style wood/paper door homedecor.register("door_japanese_closed", { description = S("Japanese-style door"), inventory_image = "homedecor_door_japanese_inv.png", @@ -636,6 +385,44 @@ homedecor.register("door_japanese_open", { -- crafting +-- half-doors + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_half_door_closed 4", + recipe = { + "homedecor:door_wood_plain_left", + "homedecor:door_wood_plain_left" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_half_door_closed 4", + recipe = { + "homedecor:door_wood_plain_right", + "homedecor:door_wood_plain_right" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_half_door_white_closed 4", + recipe = { + "homedecor:door_bedroom_left", + "homedecor:door_bedroom_left" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_half_door_white_closed 4", + recipe = { + "homedecor:door_bedroom_right", + "homedecor:door_bedroom_right" + }, +}) + -- Gates minetest.register_craft( { @@ -882,3 +669,25 @@ minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japane minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b") minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a") + +-- flip old homedecor doors around, since they use minetest_game doors API now + +minetest.register_lbm({ + name = ":homedecor:convert_doors", + label = "Convert Homedecor doors to mtg doors API", + nodenames = old_doors, + run_at_every_load = false, + action = function(pos, node) + -- old doors param2: N=0, E=1, S=2, W=3 + local newparam2 = (node.param2 + 2) % 4 + local e = string.find(node.name, "_", -7) + local dir = string.sub(node.name, e+1) + local newname = "doors:"..string.sub(node.name, 16, e-1) + if dir == "right" then + minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 }) + else + minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 }) + end + minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"}) + end +}) diff --git a/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png b/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png index f94875fb..b2614b00 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png and b/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png index e2f51f7b..4f696d4e 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png and b/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png index 9355e850..53fd5565 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png and b/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png index 9f89482d..b4a70ba7 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png and b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_insert.png b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_insert.png deleted file mode 100644 index ddc5d228..00000000 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_insert.png and /dev/null differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_insert.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_insert.png deleted file mode 100644 index 892f3067..00000000 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_insert.png and /dev/null differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png index ca0ca15d..b61fa6d2 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png and b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png index 0f087718..b1a5254d 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png and b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png index 202e600f..85b645e3 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png and b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png index 6b12552c..574d6fba 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png and b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_woodglass.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass.png new file mode 100644 index 00000000..b3187ff4 Binary files /dev/null and b/homedecor_doors_and_gates/textures/homedecor_door_woodglass.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png index ee8ca2be..7dc3918f 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png and b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea.png deleted file mode 100644 index 2d5902ad..00000000 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea.png and /dev/null differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea_insert.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea_insert.png deleted file mode 100644 index 12fb2c64..00000000 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea_insert.png and /dev/null differ diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png b/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png index e39b46a9..c2034c32 100644 Binary files a/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png and b/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png differ diff --git a/homedecor_kitchen/init.lua b/homedecor_kitchen/init.lua index 56cc9c75..905fecc8 100644 --- a/homedecor_kitchen/init.lua +++ b/homedecor_kitchen/init.lua @@ -425,13 +425,12 @@ minetest.register_craft({ } }) - minetest.register_craft( { output = "homedecor:dishwasher", recipe = { - { "basic_materials:ic", "homedecor:fence_chainlink", "default:steel_ingot", }, - { "default:steel_ingot", "homedecor:shower_head", "basic_materials:motor" }, - { "default:steel_ingot", "basic_materials:heating_element", "bucket:bucket_water" } + { "basic_materials:ic", "building_blocks:slab_grate_1", "default:steel_ingot", }, + { "default:steel_ingot", "homedecor:shower_head", "basic_materials:motor" }, + { "default:steel_ingot", "basic_materials:heating_element", "bucket:bucket_water" } }, }) @@ -517,6 +516,15 @@ minetest.register_craft( { }, }) +minetest.register_craft( { + output = "homedecor:kitchen_faucet", + recipe = { + { "default:steel_ingot","" }, + { "", "default:steel_ingot" }, + { "", "homedecor:taps" } + }, +}) + minetest.register_craft( { output = "homedecor:cutlery_set", recipe = { diff --git a/homedecor_lighting/init.lua b/homedecor_lighting/init.lua index 53cd52cc..3650ec81 100644 --- a/homedecor_lighting/init.lua +++ b/homedecor_lighting/init.lua @@ -836,6 +836,64 @@ minetest.register_node(":homedecor:chandelier_brass", { sounds = default.node_sound_stone_defaults(), }) +minetest.register_node(":homedecor:rope_light_on_floor", { + description = "Rope lighting (on floor)", + inventory_image = "homedecor_rope_light_on_floor.png", + paramtype = "light", + light_source = default.LIGHT_MAX-3, + walkable = false, + sunlight_propagates = true, + tiles = { "homedecor_table_standing_lamp_lightbulb.png" }, + drawtype = "nodebox", + node_box = { + type = "connected", + fixed = {}, + connect_front = { -1/16, -8/16, -8/16, 1/16, -6/16, 1/16 }, + connect_left = { -8/16, -8/16, -1/16, 1/16, -6/16, 1/16 }, + connect_back = { -1/16, -8/16, -1/16, 1/16, -6/16, 8/16 }, + connect_right = { -1/16, -8/16, -1/16, 8/16, -6/16, 1/16 }, + disconnected_sides = { + { -6/16, -8/16, -6/16, -4/16, -6/16, 6/16 }, + { 4/16, -8/16, -6/16, 6/16, -6/16, 6/16 }, + { -6/16, -8/16, -6/16, 6/16, -6/16, -4/16 }, + { -6/16, -8/16, 4/16, 6/16, -6/16, 6/16 } + }, + }, + connects_to = { "homedecor:rope_light_on_floor" }, + mesh = "homedecor_chandelier.obj", + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node(":homedecor:rope_light_on_ceiling", { + description = "Rope lighting (on ceiling)", + inventory_image = "homedecor_rope_light_on_ceiling.png", + paramtype = "light", + light_source = default.LIGHT_MAX-3, + walkable = false, + sunlight_propagates = true, + tiles = { "homedecor_table_standing_lamp_lightbulb.png" }, + drawtype = "nodebox", + node_box = { + type = "connected", + fixed = {}, + connect_front = { -1/16, 8/16, -8/16, 1/16, 6/16, 1/16 }, + connect_left = { -8/16, 8/16, -1/16, 1/16, 6/16, 1/16 }, + connect_back = { -1/16, 8/16, -1/16, 1/16, 6/16, 8/16 }, + connect_right = { -1/16, 8/16, -1/16, 8/16, 6/16, 1/16 }, + disconnected_sides = { + { -6/16, 8/16, -6/16, -4/16, 6/16, 6/16 }, + { 4/16, 8/16, -6/16, 6/16, 6/16, 6/16 }, + { -6/16, 8/16, -6/16, 6/16, 6/16, -4/16 }, + { -6/16, 8/16, 4/16, 6/16, 6/16, 6/16 } + }, + }, + connects_to = { "homedecor:rope_light_on_ceiling" }, + mesh = "homedecor_chandelier.obj", + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + -- crafting minetest.register_craft({ @@ -1188,6 +1246,79 @@ minetest.register_craft({ }, }) +minetest.register_craft({ + output = "homedecor:standing_lamp_off", + recipe = { + {"homedecor:table_lamp_off"}, + {"group:stick"}, + {"group:stick"}, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:standing_lamp_off", + palette = "extended", + type = "shapeless", + neutral_node = "homedecor:standing_lamp_off", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:table_lamp_off", + burntime = 10, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "wool:white", "default:torch", "wool:white"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "cottages:wool", "default:torch", "cottages:wool"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "wool:white", "default:torch", "wool:white"}, + { "", "group:stick", ""}, + { "", "moreblocks:slab_wood", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "cottages:wool", "default:torch", "cottages:wool"}, + { "", "group:stick", ""}, + { "", "moreblocks:slab_wood", "" }, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:table_lamp_off", + palette = "extended", + type = "shapeless", + neutral_node = "homedecor:table_lamp_off", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + -- aliases minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top") diff --git a/homedecor_lighting/textures/homedecor_rope_light_on_ceiling.png b/homedecor_lighting/textures/homedecor_rope_light_on_ceiling.png new file mode 100644 index 00000000..78e6d4bc Binary files /dev/null and b/homedecor_lighting/textures/homedecor_rope_light_on_ceiling.png differ diff --git a/homedecor_lighting/textures/homedecor_rope_light_on_floor.png b/homedecor_lighting/textures/homedecor_rope_light_on_floor.png new file mode 100644 index 00000000..30bd14c0 Binary files /dev/null and b/homedecor_lighting/textures/homedecor_rope_light_on_floor.png differ diff --git a/homedecor_misc/init.lua b/homedecor_misc/init.lua index afeee27e..95135aef 100644 --- a/homedecor_misc/init.lua +++ b/homedecor_misc/init.lua @@ -999,3 +999,58 @@ unifieddyes.register_color_craft({ "MAIN_DYE", } }) + +-- Japanese-style wood/paper wall pieces and door + +local jp_cbox = { + type = "fixed", + fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.0625}, +} + +minetest.register_node(":homedecor:japanese_wall_top", { + description = S("Japanese wall (top)"), + drawtype = "mesh", + mesh = "homedecor_wall_japanese_top.obj", + tiles = { + homedecor.lux_wood, + "homedecor_japanese_paper.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3}, + selection_box = jp_cbox, + collision_box = jp_cbox, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node(":homedecor:japanese_wall_middle", { + description = S("Japanese wall"), + drawtype = "mesh", + mesh = "homedecor_wall_japanese_middle.obj", + tiles = { + homedecor.lux_wood, + "homedecor_japanese_paper.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3}, + selection_box = jp_cbox, + collision_box = jp_cbox, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node(":homedecor:japanese_wall_bottom", { + description = S("Japanese wall (bottom)"), + drawtype = "mesh", + mesh = "homedecor_wall_japanese_bottom.obj", + tiles = { + homedecor.lux_wood, + "homedecor_japanese_paper.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3}, + selection_box = jp_cbox, + collision_box = jp_cbox, + sounds = default.node_sound_wood_defaults(), +}) diff --git a/inspector/depends.txt b/inspector/depends.txt deleted file mode 100644 index b75ab620..00000000 --- a/inspector/depends.txt +++ /dev/null @@ -1 +0,0 @@ -fsc diff --git a/inspector/description.txt b/inspector/description.txt deleted file mode 100644 index a4144f2e..00000000 --- a/inspector/description.txt +++ /dev/null @@ -1 +0,0 @@ -An in-game tool to inspect node parameters and metadata. diff --git a/inspector/init.lua b/inspector/init.lua deleted file mode 100644 index 4b4b7119..00000000 --- a/inspector/init.lua +++ /dev/null @@ -1,151 +0,0 @@ - ---[[ - -Copyright (C) 2015 - Auke Kok - -"inspector" is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2.1 -of the license, or (at your option) any later version. - ---]] - -local function make_fs(title, desc) - return "size[12,8]".. - "label[0.2,0.2;"..title.."]".. - "textlist[0.2,1.0;11.5,7;;".. - desc:gsub("\n", ",").."]".. - "button_exit[11.1,0.2;0.8,0.8;close;x]" -end - -local function inspect_pos(pos) - local node = minetest.get_node(pos) - local desc = "===== node data =====\n" - desc = desc .. "name = " .. node.name .. "\n" - desc = desc .. "param1 = " .. node.param1 .. "\n" - desc = desc .. "param2 = " .. node.param2 .. "\n" - local light = minetest.get_node_light({x = pos.x, y = pos.y + 1, z = pos.x}, nil) - if light then - desc = desc .. "light = " .. light .. "\n" - end - - local timer = minetest.get_node_timer(pos) - if timer:get_timeout() ~= 0 then - desc = desc .. "==== node timer ====\n" - desc = desc .. "timeout = " .. timer:get_timeout() .. "\n" - desc = desc .. "elapsed = " .. timer:get_elapsed() .. "\n" - end - - local nodedef = minetest.registered_items[node.name] - local meta = minetest.get_meta(pos) - local table = meta:to_table() - local fields = minetest.serialize(table.fields) - desc = desc .. "==== meta ====\n" - desc = desc .. "meta.fields = " .. fields .. "\n" - desc = desc .. "\n" - local inventory = meta:get_inventory() - desc = desc .. "meta.inventory = \n" - for key, list in pairs(inventory:get_lists()) do - desc = desc .. key .. " : \n" - local size = #list - for i = 1, size do - local stack = list[i] - if not stack:is_empty() then - desc = desc .. "\"" .. stack:get_name() .. "\" - " .. stack:get_count() .. "\n" - end - end - end - - if nodedef then -- Some built in nodes have no nodedef - desc = desc .. "==== nodedef ====\n" - desc = desc .. dump(nodedef) .. "\n" - end - - return desc -end - -minetest.register_tool("inspector:inspector", { - description = "Inspector Tool", - inventory_image = "inspector.png", - liquids_pointable = true, -- makes it hard to use underwater. - - on_use = function(itemstack, user, pointed_thing) - - local desc = "" - if pointed_thing.type == "nothing" then - return - elseif pointed_thing.type == "node" then - local pos = pointed_thing.under - - if pointed_thing.type ~= "node" then - desc = "..." - else - desc = inspect_pos(pos) - end - elseif pointed_thing.type == "object" then - local ref = pointed_thing.ref - local entity = ref:get_luaentity() - desc = dump(entity) - end - - local formspec = "size[12,8]".. - "label[0.5,0.5;Node Information]".. - "textarea[0.5,1.5;11.5,7;text;Contents:;".. - minetest.formspec_escape(desc).."]".. - "button_exit[2.5,7.5;3,1;close;Close]" - - fsc.show(user:get_player_name(), formspec, {}, function() end) - end, - on_place = function(itemstack, user, pointed_thing) - - local desc = "" - if pointed_thing.type == "nothing" then - return - elseif pointed_thing.type == "node" then - local pos = pointed_thing.above - - if pointed_thing.type ~= "node" then - desc = "..." - else - desc = inspect_pos(pos) - end - elseif pointed_thing.type == "object" then - local ref = pointed_thing.ref - local entity = ref:get_luaentity() - desc = dump(entity) - end - - local formspec = "size[12,8]".. - "label[0.5,0.5;Node Information]".. - "textarea[0.5,1.5;11.5,7;text;Contents:;".. - minetest.formspec_escape(desc).."]".. - "button_exit[2.5,7.5;3,1;close;Close]" - - fsc.show(user:get_player_name(), formspec, {}, function() end) - end -}) - -minetest.register_chatcommand("inspect", { - params = "inspect", - description = "inspect a pos", - privs = {server = true}, - func = function(name, param) - local paramlist = {} - for p in string.gmatch(param, "%S+") do - paramlist[#paramlist + 1] = p - end - local pos = {x = paramlist[1], y = paramlist[2], z = paramlist[3]} - if not pos.x or not pos.y or not pos.z then - return false, "Need 3 parameters for X, Y and Z" - end - local desc = inspect_pos(pos) - local formspec = "size[12,8]".. - "label[0.5,0.5;Node Information]".. - "textarea[0.5,1.5;11.5,7;text;Contents:;".. - minetest.formspec_escape(desc).."]".. - "button_exit[2.5,7.5;3,1;close;Close]" - - fsc.show(name, formspec, {}, function() end) - return true - end, -}) diff --git a/inspector/mod.conf b/inspector/mod.conf deleted file mode 100644 index d2898c0c..00000000 --- a/inspector/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = inspector -description = An in-game tool to inspect node parameters and metadata. -depends = fsc diff --git a/inspector/screenshot.png b/inspector/screenshot.png deleted file mode 100644 index fc64fb2f..00000000 Binary files a/inspector/screenshot.png and /dev/null differ diff --git a/inspector/textures/inspector.png b/inspector/textures/inspector.png deleted file mode 100644 index 62da6adb..00000000 Binary files a/inspector/textures/inspector.png and /dev/null differ diff --git a/led_marquee/init.lua b/led_marquee/init.lua index d035f155..8760a114 100644 --- a/led_marquee/init.lua +++ b/led_marquee/init.lua @@ -369,23 +369,17 @@ for i = 31, 255 do local groups = { cracky = 2, not_in_creative_inventory = 1} local light = LIGHT_MAX-2 local description = S("LED marquee panel ("..i..")") - local tiles = { - { name="led_marquee_base.png", color="white"}, - { name="led_marquee_leds_off.png", color="white"}, - "led_marquee_char_"..i..".png", - } + local leds = "led_marquee_char_"..i..".png^[mask:led_marquee_leds_on.png" if i == 31 then - tiles = { - { name="led_marquee_base.png", color="white"}, - { name="led_marquee_leds_off.png", color="white"}, - { - name = "led_marquee_char_31.png", - animation = {type = "vertical_frames", aspect_w = 32, aspect_h = 32, length = 0.75} - } + leds ={ + name = "led_marquee_char_31.png^[mask:led_marquee_leds_on_cursor.png", + animation = {type = "vertical_frames", aspect_w = 32, aspect_h = 32, length = 0.75} } end + local wimage + if i == 32 then groups = {cracky = 2} light = nil @@ -397,7 +391,11 @@ for i = 31, 255 do description = description, drawtype = "mesh", mesh = "led_marquee.obj", - tiles = tiles, + tiles = { + { name = "led_marquee_base.png", color = "white" }, + { name = "led_marquee_leds_off.png", color = "white" } + }, + overlay_tiles = { "", leds }, inventory_image = wimage, wield_image = wimage, palette="led_marquee_palette.png", diff --git a/led_marquee/models/led_marquee.obj b/led_marquee/models/led_marquee.obj index c91fe275..b4c3c766 100644 --- a/led_marquee/models/led_marquee.obj +++ b/led_marquee/models/led_marquee.obj @@ -21,10 +21,6 @@ v -0.500000 -0.453125 0.468750 v -0.500000 -0.453125 -0.468750 v -0.500000 -0.437500 -0.484375 v -0.500000 -0.437500 -0.500000 -v 0.500000 -0.449125 -0.468750 -v -0.500000 -0.449125 -0.468750 -v -0.500000 -0.449125 0.468750 -v 0.500000 -0.449125 0.468750 vt 0.681855 0.961799 vt 0.723891 0.992824 vt 0.723891 0.000000 @@ -69,10 +65,6 @@ vt 0.000000 0.000000 vt 1.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 vn 1.0000 0.0000 0.0000 vn 0.0000 -1.0000 -0.0000 vn -1.0000 0.0000 0.0000 @@ -106,7 +98,5 @@ f 7/26/8 6/38/8 19/19/8 f 19/19/6 6/38/6 5/20/6 f 15/22/6 10/39/6 9/23/6 f 8/25/7 17/40/7 16/24/7 -g Cube_Cube_LEDs_Cube_Cube_LEDs_leds_off +g Cube_Cube_LEDs_Cube_Cube_LEDs_base_led_marquee_leds_off.png f 1/41/6 2/42/6 3/43/6 4/44/6 -g Cube_Cube_LEDs_Cube_Cube_LEDs_leds_on -f 21/45/6 22/46/6 23/47/6 24/48/6 diff --git a/led_marquee/textures/led_marquee_base.png b/led_marquee/textures/led_marquee_base.png index 0629b203..06fed314 100644 Binary files a/led_marquee/textures/led_marquee_base.png and b/led_marquee/textures/led_marquee_base.png differ diff --git a/led_marquee/textures/led_marquee_char_100.png b/led_marquee/textures/led_marquee_char_100.png index 6da1a90d..b150ab3a 100644 Binary files a/led_marquee/textures/led_marquee_char_100.png and b/led_marquee/textures/led_marquee_char_100.png differ diff --git a/led_marquee/textures/led_marquee_char_101.png b/led_marquee/textures/led_marquee_char_101.png index 9bd1cea2..8d02d7ab 100644 Binary files a/led_marquee/textures/led_marquee_char_101.png and b/led_marquee/textures/led_marquee_char_101.png differ diff --git a/led_marquee/textures/led_marquee_char_102.png b/led_marquee/textures/led_marquee_char_102.png index 7b67eb24..1085d8e6 100644 Binary files a/led_marquee/textures/led_marquee_char_102.png and b/led_marquee/textures/led_marquee_char_102.png differ diff --git a/led_marquee/textures/led_marquee_char_103.png b/led_marquee/textures/led_marquee_char_103.png index 1d1b7774..8c8fa79a 100644 Binary files a/led_marquee/textures/led_marquee_char_103.png and b/led_marquee/textures/led_marquee_char_103.png differ diff --git a/led_marquee/textures/led_marquee_char_104.png b/led_marquee/textures/led_marquee_char_104.png index 64317b69..66bf5116 100644 Binary files a/led_marquee/textures/led_marquee_char_104.png and b/led_marquee/textures/led_marquee_char_104.png differ diff --git a/led_marquee/textures/led_marquee_char_105.png b/led_marquee/textures/led_marquee_char_105.png index d2f327fa..38f66556 100644 Binary files a/led_marquee/textures/led_marquee_char_105.png and b/led_marquee/textures/led_marquee_char_105.png differ diff --git a/led_marquee/textures/led_marquee_char_106.png b/led_marquee/textures/led_marquee_char_106.png index e68d039e..50b3866f 100644 Binary files a/led_marquee/textures/led_marquee_char_106.png and b/led_marquee/textures/led_marquee_char_106.png differ diff --git a/led_marquee/textures/led_marquee_char_107.png b/led_marquee/textures/led_marquee_char_107.png index 47d7c606..4b8ec5ce 100644 Binary files a/led_marquee/textures/led_marquee_char_107.png and b/led_marquee/textures/led_marquee_char_107.png differ diff --git a/led_marquee/textures/led_marquee_char_108.png b/led_marquee/textures/led_marquee_char_108.png index 07a9e43f..37cd774a 100644 Binary files a/led_marquee/textures/led_marquee_char_108.png and b/led_marquee/textures/led_marquee_char_108.png differ diff --git a/led_marquee/textures/led_marquee_char_109.png b/led_marquee/textures/led_marquee_char_109.png index 1be972ac..d485181d 100644 Binary files a/led_marquee/textures/led_marquee_char_109.png and b/led_marquee/textures/led_marquee_char_109.png differ diff --git a/led_marquee/textures/led_marquee_char_110.png b/led_marquee/textures/led_marquee_char_110.png index b3be1371..68905048 100644 Binary files a/led_marquee/textures/led_marquee_char_110.png and b/led_marquee/textures/led_marquee_char_110.png differ diff --git a/led_marquee/textures/led_marquee_char_111.png b/led_marquee/textures/led_marquee_char_111.png index 12d9db16..02b24e2f 100644 Binary files a/led_marquee/textures/led_marquee_char_111.png and b/led_marquee/textures/led_marquee_char_111.png differ diff --git a/led_marquee/textures/led_marquee_char_112.png b/led_marquee/textures/led_marquee_char_112.png index afe6ef35..0d3acbee 100644 Binary files a/led_marquee/textures/led_marquee_char_112.png and b/led_marquee/textures/led_marquee_char_112.png differ diff --git a/led_marquee/textures/led_marquee_char_113.png b/led_marquee/textures/led_marquee_char_113.png index 62814f7a..e4e918c6 100644 Binary files a/led_marquee/textures/led_marquee_char_113.png and b/led_marquee/textures/led_marquee_char_113.png differ diff --git a/led_marquee/textures/led_marquee_char_114.png b/led_marquee/textures/led_marquee_char_114.png index 247987c5..138c9663 100644 Binary files a/led_marquee/textures/led_marquee_char_114.png and b/led_marquee/textures/led_marquee_char_114.png differ diff --git a/led_marquee/textures/led_marquee_char_115.png b/led_marquee/textures/led_marquee_char_115.png index 376a2ef9..532d29db 100644 Binary files a/led_marquee/textures/led_marquee_char_115.png and b/led_marquee/textures/led_marquee_char_115.png differ diff --git a/led_marquee/textures/led_marquee_char_116.png b/led_marquee/textures/led_marquee_char_116.png index 4f7df3a1..546ac983 100644 Binary files a/led_marquee/textures/led_marquee_char_116.png and b/led_marquee/textures/led_marquee_char_116.png differ diff --git a/led_marquee/textures/led_marquee_char_117.png b/led_marquee/textures/led_marquee_char_117.png index dcce8a86..eb587a75 100644 Binary files a/led_marquee/textures/led_marquee_char_117.png and b/led_marquee/textures/led_marquee_char_117.png differ diff --git a/led_marquee/textures/led_marquee_char_118.png b/led_marquee/textures/led_marquee_char_118.png index dd5ce183..ad2e2c40 100644 Binary files a/led_marquee/textures/led_marquee_char_118.png and b/led_marquee/textures/led_marquee_char_118.png differ diff --git a/led_marquee/textures/led_marquee_char_119.png b/led_marquee/textures/led_marquee_char_119.png index a1170cc5..cb40546a 100644 Binary files a/led_marquee/textures/led_marquee_char_119.png and b/led_marquee/textures/led_marquee_char_119.png differ diff --git a/led_marquee/textures/led_marquee_char_120.png b/led_marquee/textures/led_marquee_char_120.png index 0b331fc6..7da9c360 100644 Binary files a/led_marquee/textures/led_marquee_char_120.png and b/led_marquee/textures/led_marquee_char_120.png differ diff --git a/led_marquee/textures/led_marquee_char_121.png b/led_marquee/textures/led_marquee_char_121.png index 454818fd..daab67e5 100644 Binary files a/led_marquee/textures/led_marquee_char_121.png and b/led_marquee/textures/led_marquee_char_121.png differ diff --git a/led_marquee/textures/led_marquee_char_122.png b/led_marquee/textures/led_marquee_char_122.png index bd0b2d81..d2ca566d 100644 Binary files a/led_marquee/textures/led_marquee_char_122.png and b/led_marquee/textures/led_marquee_char_122.png differ diff --git a/led_marquee/textures/led_marquee_char_123.png b/led_marquee/textures/led_marquee_char_123.png index 94fea35e..424a7d38 100644 Binary files a/led_marquee/textures/led_marquee_char_123.png and b/led_marquee/textures/led_marquee_char_123.png differ diff --git a/led_marquee/textures/led_marquee_char_124.png b/led_marquee/textures/led_marquee_char_124.png index df689c1d..80b2bbb1 100644 Binary files a/led_marquee/textures/led_marquee_char_124.png and b/led_marquee/textures/led_marquee_char_124.png differ diff --git a/led_marquee/textures/led_marquee_char_125.png b/led_marquee/textures/led_marquee_char_125.png index 80c41e19..5e224e4a 100644 Binary files a/led_marquee/textures/led_marquee_char_125.png and b/led_marquee/textures/led_marquee_char_125.png differ diff --git a/led_marquee/textures/led_marquee_char_126.png b/led_marquee/textures/led_marquee_char_126.png index 4643e72e..ee792c17 100644 Binary files a/led_marquee/textures/led_marquee_char_126.png and b/led_marquee/textures/led_marquee_char_126.png differ diff --git a/led_marquee/textures/led_marquee_char_127.png b/led_marquee/textures/led_marquee_char_127.png index 176da208..0d633089 100644 Binary files a/led_marquee/textures/led_marquee_char_127.png and b/led_marquee/textures/led_marquee_char_127.png differ diff --git a/led_marquee/textures/led_marquee_char_128.png b/led_marquee/textures/led_marquee_char_128.png index db3f042f..ecf1b1f1 100644 Binary files a/led_marquee/textures/led_marquee_char_128.png and b/led_marquee/textures/led_marquee_char_128.png differ diff --git a/led_marquee/textures/led_marquee_char_129.png b/led_marquee/textures/led_marquee_char_129.png index 796e7772..60b22bdf 100644 Binary files a/led_marquee/textures/led_marquee_char_129.png and b/led_marquee/textures/led_marquee_char_129.png differ diff --git a/led_marquee/textures/led_marquee_char_130.png b/led_marquee/textures/led_marquee_char_130.png index 766ffe77..fb5a746a 100644 Binary files a/led_marquee/textures/led_marquee_char_130.png and b/led_marquee/textures/led_marquee_char_130.png differ diff --git a/led_marquee/textures/led_marquee_char_131.png b/led_marquee/textures/led_marquee_char_131.png index 0a53b9be..80b2bbb1 100644 Binary files a/led_marquee/textures/led_marquee_char_131.png and b/led_marquee/textures/led_marquee_char_131.png differ diff --git a/led_marquee/textures/led_marquee_char_132.png b/led_marquee/textures/led_marquee_char_132.png index 387f3ac8..5e184cfe 100644 Binary files a/led_marquee/textures/led_marquee_char_132.png and b/led_marquee/textures/led_marquee_char_132.png differ diff --git a/led_marquee/textures/led_marquee_char_133.png b/led_marquee/textures/led_marquee_char_133.png index 6c18d9c3..1a5b076d 100644 Binary files a/led_marquee/textures/led_marquee_char_133.png and b/led_marquee/textures/led_marquee_char_133.png differ diff --git a/led_marquee/textures/led_marquee_char_134.png b/led_marquee/textures/led_marquee_char_134.png index dcf5d7b8..430db65e 100644 Binary files a/led_marquee/textures/led_marquee_char_134.png and b/led_marquee/textures/led_marquee_char_134.png differ diff --git a/led_marquee/textures/led_marquee_char_135.png b/led_marquee/textures/led_marquee_char_135.png index 81b72e9a..d6dacb3c 100644 Binary files a/led_marquee/textures/led_marquee_char_135.png and b/led_marquee/textures/led_marquee_char_135.png differ diff --git a/led_marquee/textures/led_marquee_char_136.png b/led_marquee/textures/led_marquee_char_136.png index 8c789f12..e7e9b9f7 100644 Binary files a/led_marquee/textures/led_marquee_char_136.png and b/led_marquee/textures/led_marquee_char_136.png differ diff --git a/led_marquee/textures/led_marquee_char_137.png b/led_marquee/textures/led_marquee_char_137.png index 388ed390..e3bbd7ee 100644 Binary files a/led_marquee/textures/led_marquee_char_137.png and b/led_marquee/textures/led_marquee_char_137.png differ diff --git a/led_marquee/textures/led_marquee_char_138.png b/led_marquee/textures/led_marquee_char_138.png index 091a34c9..283a2c3e 100644 Binary files a/led_marquee/textures/led_marquee_char_138.png and b/led_marquee/textures/led_marquee_char_138.png differ diff --git a/led_marquee/textures/led_marquee_char_139.png b/led_marquee/textures/led_marquee_char_139.png index ce35cc2d..a5ee1660 100644 Binary files a/led_marquee/textures/led_marquee_char_139.png and b/led_marquee/textures/led_marquee_char_139.png differ diff --git a/led_marquee/textures/led_marquee_char_140.png b/led_marquee/textures/led_marquee_char_140.png index 055298d2..5d8644e1 100644 Binary files a/led_marquee/textures/led_marquee_char_140.png and b/led_marquee/textures/led_marquee_char_140.png differ diff --git a/led_marquee/textures/led_marquee_char_141.png b/led_marquee/textures/led_marquee_char_141.png index 7c112da5..8362f2eb 100644 Binary files a/led_marquee/textures/led_marquee_char_141.png and b/led_marquee/textures/led_marquee_char_141.png differ diff --git a/led_marquee/textures/led_marquee_char_142.png b/led_marquee/textures/led_marquee_char_142.png index 780e8b2f..1e39abcb 100644 Binary files a/led_marquee/textures/led_marquee_char_142.png and b/led_marquee/textures/led_marquee_char_142.png differ diff --git a/led_marquee/textures/led_marquee_char_143.png b/led_marquee/textures/led_marquee_char_143.png index 6293a971..819f351d 100644 Binary files a/led_marquee/textures/led_marquee_char_143.png and b/led_marquee/textures/led_marquee_char_143.png differ diff --git a/led_marquee/textures/led_marquee_char_144.png b/led_marquee/textures/led_marquee_char_144.png index fda87a1c..3f867198 100644 Binary files a/led_marquee/textures/led_marquee_char_144.png and b/led_marquee/textures/led_marquee_char_144.png differ diff --git a/led_marquee/textures/led_marquee_char_145.png b/led_marquee/textures/led_marquee_char_145.png index 45468377..a5c50de0 100644 Binary files a/led_marquee/textures/led_marquee_char_145.png and b/led_marquee/textures/led_marquee_char_145.png differ diff --git a/led_marquee/textures/led_marquee_char_146.png b/led_marquee/textures/led_marquee_char_146.png index 565ae537..74042b70 100644 Binary files a/led_marquee/textures/led_marquee_char_146.png and b/led_marquee/textures/led_marquee_char_146.png differ diff --git a/led_marquee/textures/led_marquee_char_147.png b/led_marquee/textures/led_marquee_char_147.png index f9c976c0..0b853f63 100644 Binary files a/led_marquee/textures/led_marquee_char_147.png and b/led_marquee/textures/led_marquee_char_147.png differ diff --git a/led_marquee/textures/led_marquee_char_148.png b/led_marquee/textures/led_marquee_char_148.png index 12aeaa3f..623becdb 100644 Binary files a/led_marquee/textures/led_marquee_char_148.png and b/led_marquee/textures/led_marquee_char_148.png differ diff --git a/led_marquee/textures/led_marquee_char_149.png b/led_marquee/textures/led_marquee_char_149.png index 1d7f3129..10111469 100644 Binary files a/led_marquee/textures/led_marquee_char_149.png and b/led_marquee/textures/led_marquee_char_149.png differ diff --git a/led_marquee/textures/led_marquee_char_150.png b/led_marquee/textures/led_marquee_char_150.png index dc4ae80f..520546c0 100644 Binary files a/led_marquee/textures/led_marquee_char_150.png and b/led_marquee/textures/led_marquee_char_150.png differ diff --git a/led_marquee/textures/led_marquee_char_151.png b/led_marquee/textures/led_marquee_char_151.png index 9c7e0e92..f532e57b 100644 Binary files a/led_marquee/textures/led_marquee_char_151.png and b/led_marquee/textures/led_marquee_char_151.png differ diff --git a/led_marquee/textures/led_marquee_char_152.png b/led_marquee/textures/led_marquee_char_152.png index 652f97a7..254d6d2b 100644 Binary files a/led_marquee/textures/led_marquee_char_152.png and b/led_marquee/textures/led_marquee_char_152.png differ diff --git a/led_marquee/textures/led_marquee_char_153.png b/led_marquee/textures/led_marquee_char_153.png index 425c2827..003c57da 100644 Binary files a/led_marquee/textures/led_marquee_char_153.png and b/led_marquee/textures/led_marquee_char_153.png differ diff --git a/led_marquee/textures/led_marquee_char_154.png b/led_marquee/textures/led_marquee_char_154.png index ac58ac01..c18a20f8 100644 Binary files a/led_marquee/textures/led_marquee_char_154.png and b/led_marquee/textures/led_marquee_char_154.png differ diff --git a/led_marquee/textures/led_marquee_char_155.png b/led_marquee/textures/led_marquee_char_155.png index a3caf9a7..0d8bda93 100644 Binary files a/led_marquee/textures/led_marquee_char_155.png and b/led_marquee/textures/led_marquee_char_155.png differ diff --git a/led_marquee/textures/led_marquee_char_156.png b/led_marquee/textures/led_marquee_char_156.png index fe216f8d..cc9c1fea 100644 Binary files a/led_marquee/textures/led_marquee_char_156.png and b/led_marquee/textures/led_marquee_char_156.png differ diff --git a/led_marquee/textures/led_marquee_char_157.png b/led_marquee/textures/led_marquee_char_157.png index dbd02214..5e1b35d4 100644 Binary files a/led_marquee/textures/led_marquee_char_157.png and b/led_marquee/textures/led_marquee_char_157.png differ diff --git a/led_marquee/textures/led_marquee_char_158.png b/led_marquee/textures/led_marquee_char_158.png index 048fa582..cba6df1f 100644 Binary files a/led_marquee/textures/led_marquee_char_158.png and b/led_marquee/textures/led_marquee_char_158.png differ diff --git a/led_marquee/textures/led_marquee_char_159.png b/led_marquee/textures/led_marquee_char_159.png index 60d4a342..b247f316 100644 Binary files a/led_marquee/textures/led_marquee_char_159.png and b/led_marquee/textures/led_marquee_char_159.png differ diff --git a/led_marquee/textures/led_marquee_char_160.png b/led_marquee/textures/led_marquee_char_160.png index da04edbd..92f14a10 100644 Binary files a/led_marquee/textures/led_marquee_char_160.png and b/led_marquee/textures/led_marquee_char_160.png differ diff --git a/led_marquee/textures/led_marquee_char_161.png b/led_marquee/textures/led_marquee_char_161.png index 55714595..c5b200c3 100644 Binary files a/led_marquee/textures/led_marquee_char_161.png and b/led_marquee/textures/led_marquee_char_161.png differ diff --git a/led_marquee/textures/led_marquee_char_162.png b/led_marquee/textures/led_marquee_char_162.png index 9f0d7840..55700f72 100644 Binary files a/led_marquee/textures/led_marquee_char_162.png and b/led_marquee/textures/led_marquee_char_162.png differ diff --git a/led_marquee/textures/led_marquee_char_163.png b/led_marquee/textures/led_marquee_char_163.png index d9585430..8055a922 100644 Binary files a/led_marquee/textures/led_marquee_char_163.png and b/led_marquee/textures/led_marquee_char_163.png differ diff --git a/led_marquee/textures/led_marquee_char_164.png b/led_marquee/textures/led_marquee_char_164.png index b9e00b9b..4c34ec39 100644 Binary files a/led_marquee/textures/led_marquee_char_164.png and b/led_marquee/textures/led_marquee_char_164.png differ diff --git a/led_marquee/textures/led_marquee_char_165.png b/led_marquee/textures/led_marquee_char_165.png index e4abbe9f..e3fd6caf 100644 Binary files a/led_marquee/textures/led_marquee_char_165.png and b/led_marquee/textures/led_marquee_char_165.png differ diff --git a/led_marquee/textures/led_marquee_char_166.png b/led_marquee/textures/led_marquee_char_166.png index 7200dd63..770d761a 100644 Binary files a/led_marquee/textures/led_marquee_char_166.png and b/led_marquee/textures/led_marquee_char_166.png differ diff --git a/led_marquee/textures/led_marquee_char_167.png b/led_marquee/textures/led_marquee_char_167.png index 7612a9ce..dd4d7320 100644 Binary files a/led_marquee/textures/led_marquee_char_167.png and b/led_marquee/textures/led_marquee_char_167.png differ diff --git a/led_marquee/textures/led_marquee_char_168.png b/led_marquee/textures/led_marquee_char_168.png index c806e936..e3e88fd4 100644 Binary files a/led_marquee/textures/led_marquee_char_168.png and b/led_marquee/textures/led_marquee_char_168.png differ diff --git a/led_marquee/textures/led_marquee_char_169.png b/led_marquee/textures/led_marquee_char_169.png index d5b5ec79..c0c7ad89 100644 Binary files a/led_marquee/textures/led_marquee_char_169.png and b/led_marquee/textures/led_marquee_char_169.png differ diff --git a/led_marquee/textures/led_marquee_char_170.png b/led_marquee/textures/led_marquee_char_170.png index 262b11e6..4d8ed9d8 100644 Binary files a/led_marquee/textures/led_marquee_char_170.png and b/led_marquee/textures/led_marquee_char_170.png differ diff --git a/led_marquee/textures/led_marquee_char_171.png b/led_marquee/textures/led_marquee_char_171.png index bcc43df2..294e86d5 100644 Binary files a/led_marquee/textures/led_marquee_char_171.png and b/led_marquee/textures/led_marquee_char_171.png differ diff --git a/led_marquee/textures/led_marquee_char_172.png b/led_marquee/textures/led_marquee_char_172.png index c3cb2fe1..c92a7bac 100644 Binary files a/led_marquee/textures/led_marquee_char_172.png and b/led_marquee/textures/led_marquee_char_172.png differ diff --git a/led_marquee/textures/led_marquee_char_173.png b/led_marquee/textures/led_marquee_char_173.png index 9881872f..212a37db 100644 Binary files a/led_marquee/textures/led_marquee_char_173.png and b/led_marquee/textures/led_marquee_char_173.png differ diff --git a/led_marquee/textures/led_marquee_char_174.png b/led_marquee/textures/led_marquee_char_174.png index d0bb5dcc..eabfdc04 100644 Binary files a/led_marquee/textures/led_marquee_char_174.png and b/led_marquee/textures/led_marquee_char_174.png differ diff --git a/led_marquee/textures/led_marquee_char_175.png b/led_marquee/textures/led_marquee_char_175.png index 932df85b..f8b8df79 100644 Binary files a/led_marquee/textures/led_marquee_char_175.png and b/led_marquee/textures/led_marquee_char_175.png differ diff --git a/led_marquee/textures/led_marquee_char_176.png b/led_marquee/textures/led_marquee_char_176.png index da53f138..489f518b 100644 Binary files a/led_marquee/textures/led_marquee_char_176.png and b/led_marquee/textures/led_marquee_char_176.png differ diff --git a/led_marquee/textures/led_marquee_char_177.png b/led_marquee/textures/led_marquee_char_177.png index 2bf3742f..a0203440 100644 Binary files a/led_marquee/textures/led_marquee_char_177.png and b/led_marquee/textures/led_marquee_char_177.png differ diff --git a/led_marquee/textures/led_marquee_char_178.png b/led_marquee/textures/led_marquee_char_178.png index 831fd0a8..1c164751 100644 Binary files a/led_marquee/textures/led_marquee_char_178.png and b/led_marquee/textures/led_marquee_char_178.png differ diff --git a/led_marquee/textures/led_marquee_char_179.png b/led_marquee/textures/led_marquee_char_179.png index d23d6175..137dd1cd 100644 Binary files a/led_marquee/textures/led_marquee_char_179.png and b/led_marquee/textures/led_marquee_char_179.png differ diff --git a/led_marquee/textures/led_marquee_char_180.png b/led_marquee/textures/led_marquee_char_180.png index e7803c4e..1de2bda7 100644 Binary files a/led_marquee/textures/led_marquee_char_180.png and b/led_marquee/textures/led_marquee_char_180.png differ diff --git a/led_marquee/textures/led_marquee_char_181.png b/led_marquee/textures/led_marquee_char_181.png index 44a558ac..c1a6df40 100644 Binary files a/led_marquee/textures/led_marquee_char_181.png and b/led_marquee/textures/led_marquee_char_181.png differ diff --git a/led_marquee/textures/led_marquee_char_182.png b/led_marquee/textures/led_marquee_char_182.png index 20b7fa58..0010f795 100644 Binary files a/led_marquee/textures/led_marquee_char_182.png and b/led_marquee/textures/led_marquee_char_182.png differ diff --git a/led_marquee/textures/led_marquee_char_183.png b/led_marquee/textures/led_marquee_char_183.png index 790b4ded..8a239929 100644 Binary files a/led_marquee/textures/led_marquee_char_183.png and b/led_marquee/textures/led_marquee_char_183.png differ diff --git a/led_marquee/textures/led_marquee_char_184.png b/led_marquee/textures/led_marquee_char_184.png index 3879c339..8d298c63 100644 Binary files a/led_marquee/textures/led_marquee_char_184.png and b/led_marquee/textures/led_marquee_char_184.png differ diff --git a/led_marquee/textures/led_marquee_char_185.png b/led_marquee/textures/led_marquee_char_185.png index 35ab196e..b8bd3d8b 100644 Binary files a/led_marquee/textures/led_marquee_char_185.png and b/led_marquee/textures/led_marquee_char_185.png differ diff --git a/led_marquee/textures/led_marquee_char_186.png b/led_marquee/textures/led_marquee_char_186.png index 816e3ec7..a7fd3b48 100644 Binary files a/led_marquee/textures/led_marquee_char_186.png and b/led_marquee/textures/led_marquee_char_186.png differ diff --git a/led_marquee/textures/led_marquee_char_187.png b/led_marquee/textures/led_marquee_char_187.png index 4c2f43b5..0444ec62 100644 Binary files a/led_marquee/textures/led_marquee_char_187.png and b/led_marquee/textures/led_marquee_char_187.png differ diff --git a/led_marquee/textures/led_marquee_char_188.png b/led_marquee/textures/led_marquee_char_188.png index 1772c9f4..a7561579 100644 Binary files a/led_marquee/textures/led_marquee_char_188.png and b/led_marquee/textures/led_marquee_char_188.png differ diff --git a/led_marquee/textures/led_marquee_char_189.png b/led_marquee/textures/led_marquee_char_189.png index 6d1ba47d..5db4143f 100644 Binary files a/led_marquee/textures/led_marquee_char_189.png and b/led_marquee/textures/led_marquee_char_189.png differ diff --git a/led_marquee/textures/led_marquee_char_190.png b/led_marquee/textures/led_marquee_char_190.png index 4593e945..0fca2382 100644 Binary files a/led_marquee/textures/led_marquee_char_190.png and b/led_marquee/textures/led_marquee_char_190.png differ diff --git a/led_marquee/textures/led_marquee_char_191.png b/led_marquee/textures/led_marquee_char_191.png index bde63e54..44c7fbbe 100644 Binary files a/led_marquee/textures/led_marquee_char_191.png and b/led_marquee/textures/led_marquee_char_191.png differ diff --git a/led_marquee/textures/led_marquee_char_192.png b/led_marquee/textures/led_marquee_char_192.png index c627ab4e..9c7df2e5 100644 Binary files a/led_marquee/textures/led_marquee_char_192.png and b/led_marquee/textures/led_marquee_char_192.png differ diff --git a/led_marquee/textures/led_marquee_char_193.png b/led_marquee/textures/led_marquee_char_193.png index 038c9f87..56e1eaec 100644 Binary files a/led_marquee/textures/led_marquee_char_193.png and b/led_marquee/textures/led_marquee_char_193.png differ diff --git a/led_marquee/textures/led_marquee_char_194.png b/led_marquee/textures/led_marquee_char_194.png index 7401be44..f99914dd 100644 Binary files a/led_marquee/textures/led_marquee_char_194.png and b/led_marquee/textures/led_marquee_char_194.png differ diff --git a/led_marquee/textures/led_marquee_char_195.png b/led_marquee/textures/led_marquee_char_195.png index 9e89648e..fde4c2c3 100644 Binary files a/led_marquee/textures/led_marquee_char_195.png and b/led_marquee/textures/led_marquee_char_195.png differ diff --git a/led_marquee/textures/led_marquee_char_196.png b/led_marquee/textures/led_marquee_char_196.png index a0400732..97b34d94 100644 Binary files a/led_marquee/textures/led_marquee_char_196.png and b/led_marquee/textures/led_marquee_char_196.png differ diff --git a/led_marquee/textures/led_marquee_char_197.png b/led_marquee/textures/led_marquee_char_197.png index 4445568f..628f63ae 100644 Binary files a/led_marquee/textures/led_marquee_char_197.png and b/led_marquee/textures/led_marquee_char_197.png differ diff --git a/led_marquee/textures/led_marquee_char_198.png b/led_marquee/textures/led_marquee_char_198.png index bf64c443..bae680ff 100644 Binary files a/led_marquee/textures/led_marquee_char_198.png and b/led_marquee/textures/led_marquee_char_198.png differ diff --git a/led_marquee/textures/led_marquee_char_199.png b/led_marquee/textures/led_marquee_char_199.png index fcdc5dbc..bef029b1 100644 Binary files a/led_marquee/textures/led_marquee_char_199.png and b/led_marquee/textures/led_marquee_char_199.png differ diff --git a/led_marquee/textures/led_marquee_char_200.png b/led_marquee/textures/led_marquee_char_200.png index 3732e972..a88b1731 100644 Binary files a/led_marquee/textures/led_marquee_char_200.png and b/led_marquee/textures/led_marquee_char_200.png differ diff --git a/led_marquee/textures/led_marquee_char_201.png b/led_marquee/textures/led_marquee_char_201.png index ce36fd99..3df25860 100644 Binary files a/led_marquee/textures/led_marquee_char_201.png and b/led_marquee/textures/led_marquee_char_201.png differ diff --git a/led_marquee/textures/led_marquee_char_202.png b/led_marquee/textures/led_marquee_char_202.png index e65878af..afd1a19d 100644 Binary files a/led_marquee/textures/led_marquee_char_202.png and b/led_marquee/textures/led_marquee_char_202.png differ diff --git a/led_marquee/textures/led_marquee_char_203.png b/led_marquee/textures/led_marquee_char_203.png index 4e78b57a..8a409826 100644 Binary files a/led_marquee/textures/led_marquee_char_203.png and b/led_marquee/textures/led_marquee_char_203.png differ diff --git a/led_marquee/textures/led_marquee_char_204.png b/led_marquee/textures/led_marquee_char_204.png index a1c2db09..982ca235 100644 Binary files a/led_marquee/textures/led_marquee_char_204.png and b/led_marquee/textures/led_marquee_char_204.png differ diff --git a/led_marquee/textures/led_marquee_char_205.png b/led_marquee/textures/led_marquee_char_205.png index 8a50c71e..7b7bcaa9 100644 Binary files a/led_marquee/textures/led_marquee_char_205.png and b/led_marquee/textures/led_marquee_char_205.png differ diff --git a/led_marquee/textures/led_marquee_char_206.png b/led_marquee/textures/led_marquee_char_206.png index 0a00f82b..9555cd92 100644 Binary files a/led_marquee/textures/led_marquee_char_206.png and b/led_marquee/textures/led_marquee_char_206.png differ diff --git a/led_marquee/textures/led_marquee_char_207.png b/led_marquee/textures/led_marquee_char_207.png index 1c6a3b61..fd9face4 100644 Binary files a/led_marquee/textures/led_marquee_char_207.png and b/led_marquee/textures/led_marquee_char_207.png differ diff --git a/led_marquee/textures/led_marquee_char_208.png b/led_marquee/textures/led_marquee_char_208.png index 3f8e39c8..4e6137e8 100644 Binary files a/led_marquee/textures/led_marquee_char_208.png and b/led_marquee/textures/led_marquee_char_208.png differ diff --git a/led_marquee/textures/led_marquee_char_209.png b/led_marquee/textures/led_marquee_char_209.png index 4d2e31de..52fbf27c 100644 Binary files a/led_marquee/textures/led_marquee_char_209.png and b/led_marquee/textures/led_marquee_char_209.png differ diff --git a/led_marquee/textures/led_marquee_char_210.png b/led_marquee/textures/led_marquee_char_210.png index d6961901..75018199 100644 Binary files a/led_marquee/textures/led_marquee_char_210.png and b/led_marquee/textures/led_marquee_char_210.png differ diff --git a/led_marquee/textures/led_marquee_char_211.png b/led_marquee/textures/led_marquee_char_211.png index bf3b7d6d..d40035bf 100644 Binary files a/led_marquee/textures/led_marquee_char_211.png and b/led_marquee/textures/led_marquee_char_211.png differ diff --git a/led_marquee/textures/led_marquee_char_212.png b/led_marquee/textures/led_marquee_char_212.png index b748c3ed..1eaf7f4b 100644 Binary files a/led_marquee/textures/led_marquee_char_212.png and b/led_marquee/textures/led_marquee_char_212.png differ diff --git a/led_marquee/textures/led_marquee_char_213.png b/led_marquee/textures/led_marquee_char_213.png index 1de8f762..50869fd8 100644 Binary files a/led_marquee/textures/led_marquee_char_213.png and b/led_marquee/textures/led_marquee_char_213.png differ diff --git a/led_marquee/textures/led_marquee_char_214.png b/led_marquee/textures/led_marquee_char_214.png index d579c289..e4cbf8d3 100644 Binary files a/led_marquee/textures/led_marquee_char_214.png and b/led_marquee/textures/led_marquee_char_214.png differ diff --git a/led_marquee/textures/led_marquee_char_215.png b/led_marquee/textures/led_marquee_char_215.png index 67ccdc3b..252aaf4f 100644 Binary files a/led_marquee/textures/led_marquee_char_215.png and b/led_marquee/textures/led_marquee_char_215.png differ diff --git a/led_marquee/textures/led_marquee_char_216.png b/led_marquee/textures/led_marquee_char_216.png index 5dfa7da5..e69e0b3d 100644 Binary files a/led_marquee/textures/led_marquee_char_216.png and b/led_marquee/textures/led_marquee_char_216.png differ diff --git a/led_marquee/textures/led_marquee_char_217.png b/led_marquee/textures/led_marquee_char_217.png index 0c719b40..bf740d0f 100644 Binary files a/led_marquee/textures/led_marquee_char_217.png and b/led_marquee/textures/led_marquee_char_217.png differ diff --git a/led_marquee/textures/led_marquee_char_218.png b/led_marquee/textures/led_marquee_char_218.png index efbfa208..62520327 100644 Binary files a/led_marquee/textures/led_marquee_char_218.png and b/led_marquee/textures/led_marquee_char_218.png differ diff --git a/led_marquee/textures/led_marquee_char_219.png b/led_marquee/textures/led_marquee_char_219.png index cbd44748..1e1d2f70 100644 Binary files a/led_marquee/textures/led_marquee_char_219.png and b/led_marquee/textures/led_marquee_char_219.png differ diff --git a/led_marquee/textures/led_marquee_char_220.png b/led_marquee/textures/led_marquee_char_220.png index 39fc098c..6de8c9f3 100644 Binary files a/led_marquee/textures/led_marquee_char_220.png and b/led_marquee/textures/led_marquee_char_220.png differ diff --git a/led_marquee/textures/led_marquee_char_221.png b/led_marquee/textures/led_marquee_char_221.png index 5aecca93..909bec79 100644 Binary files a/led_marquee/textures/led_marquee_char_221.png and b/led_marquee/textures/led_marquee_char_221.png differ diff --git a/led_marquee/textures/led_marquee_char_222.png b/led_marquee/textures/led_marquee_char_222.png index e54eecbc..6a72d34d 100644 Binary files a/led_marquee/textures/led_marquee_char_222.png and b/led_marquee/textures/led_marquee_char_222.png differ diff --git a/led_marquee/textures/led_marquee_char_223.png b/led_marquee/textures/led_marquee_char_223.png index c02b3e81..de3913eb 100644 Binary files a/led_marquee/textures/led_marquee_char_223.png and b/led_marquee/textures/led_marquee_char_223.png differ diff --git a/led_marquee/textures/led_marquee_char_224.png b/led_marquee/textures/led_marquee_char_224.png index 4e8235e9..8d680164 100644 Binary files a/led_marquee/textures/led_marquee_char_224.png and b/led_marquee/textures/led_marquee_char_224.png differ diff --git a/led_marquee/textures/led_marquee_char_225.png b/led_marquee/textures/led_marquee_char_225.png index ffa9d471..817c71d7 100644 Binary files a/led_marquee/textures/led_marquee_char_225.png and b/led_marquee/textures/led_marquee_char_225.png differ diff --git a/led_marquee/textures/led_marquee_char_226.png b/led_marquee/textures/led_marquee_char_226.png index 9a41d889..004f3515 100644 Binary files a/led_marquee/textures/led_marquee_char_226.png and b/led_marquee/textures/led_marquee_char_226.png differ diff --git a/led_marquee/textures/led_marquee_char_227.png b/led_marquee/textures/led_marquee_char_227.png index a13e6e3b..fc684940 100644 Binary files a/led_marquee/textures/led_marquee_char_227.png and b/led_marquee/textures/led_marquee_char_227.png differ diff --git a/led_marquee/textures/led_marquee_char_228.png b/led_marquee/textures/led_marquee_char_228.png index d147e402..dc81d19f 100644 Binary files a/led_marquee/textures/led_marquee_char_228.png and b/led_marquee/textures/led_marquee_char_228.png differ diff --git a/led_marquee/textures/led_marquee_char_229.png b/led_marquee/textures/led_marquee_char_229.png index c75ebe18..e756427f 100644 Binary files a/led_marquee/textures/led_marquee_char_229.png and b/led_marquee/textures/led_marquee_char_229.png differ diff --git a/led_marquee/textures/led_marquee_char_230.png b/led_marquee/textures/led_marquee_char_230.png index f985af63..fff5033c 100644 Binary files a/led_marquee/textures/led_marquee_char_230.png and b/led_marquee/textures/led_marquee_char_230.png differ diff --git a/led_marquee/textures/led_marquee_char_231.png b/led_marquee/textures/led_marquee_char_231.png index 0b5f979e..2f8e5628 100644 Binary files a/led_marquee/textures/led_marquee_char_231.png and b/led_marquee/textures/led_marquee_char_231.png differ diff --git a/led_marquee/textures/led_marquee_char_232.png b/led_marquee/textures/led_marquee_char_232.png index d77c3608..c1df0002 100644 Binary files a/led_marquee/textures/led_marquee_char_232.png and b/led_marquee/textures/led_marquee_char_232.png differ diff --git a/led_marquee/textures/led_marquee_char_233.png b/led_marquee/textures/led_marquee_char_233.png index 80e305b2..fd2a3316 100644 Binary files a/led_marquee/textures/led_marquee_char_233.png and b/led_marquee/textures/led_marquee_char_233.png differ diff --git a/led_marquee/textures/led_marquee_char_234.png b/led_marquee/textures/led_marquee_char_234.png index bad0987b..410c7c98 100644 Binary files a/led_marquee/textures/led_marquee_char_234.png and b/led_marquee/textures/led_marquee_char_234.png differ diff --git a/led_marquee/textures/led_marquee_char_235.png b/led_marquee/textures/led_marquee_char_235.png index 95b07123..cec7ab3b 100644 Binary files a/led_marquee/textures/led_marquee_char_235.png and b/led_marquee/textures/led_marquee_char_235.png differ diff --git a/led_marquee/textures/led_marquee_char_236.png b/led_marquee/textures/led_marquee_char_236.png index 255f3bcb..c98c2123 100644 Binary files a/led_marquee/textures/led_marquee_char_236.png and b/led_marquee/textures/led_marquee_char_236.png differ diff --git a/led_marquee/textures/led_marquee_char_237.png b/led_marquee/textures/led_marquee_char_237.png index 2583ac76..64cf865b 100644 Binary files a/led_marquee/textures/led_marquee_char_237.png and b/led_marquee/textures/led_marquee_char_237.png differ diff --git a/led_marquee/textures/led_marquee_char_238.png b/led_marquee/textures/led_marquee_char_238.png index 96799272..5657b0e6 100644 Binary files a/led_marquee/textures/led_marquee_char_238.png and b/led_marquee/textures/led_marquee_char_238.png differ diff --git a/led_marquee/textures/led_marquee_char_239.png b/led_marquee/textures/led_marquee_char_239.png index 981026b2..53c77235 100644 Binary files a/led_marquee/textures/led_marquee_char_239.png and b/led_marquee/textures/led_marquee_char_239.png differ diff --git a/led_marquee/textures/led_marquee_char_240.png b/led_marquee/textures/led_marquee_char_240.png index 9fa4e0d0..856b8787 100644 Binary files a/led_marquee/textures/led_marquee_char_240.png and b/led_marquee/textures/led_marquee_char_240.png differ diff --git a/led_marquee/textures/led_marquee_char_241.png b/led_marquee/textures/led_marquee_char_241.png index c49eb6b1..4db2a037 100644 Binary files a/led_marquee/textures/led_marquee_char_241.png and b/led_marquee/textures/led_marquee_char_241.png differ diff --git a/led_marquee/textures/led_marquee_char_242.png b/led_marquee/textures/led_marquee_char_242.png index 3662543d..589ed643 100644 Binary files a/led_marquee/textures/led_marquee_char_242.png and b/led_marquee/textures/led_marquee_char_242.png differ diff --git a/led_marquee/textures/led_marquee_char_243.png b/led_marquee/textures/led_marquee_char_243.png index fed19095..ed1b6890 100644 Binary files a/led_marquee/textures/led_marquee_char_243.png and b/led_marquee/textures/led_marquee_char_243.png differ diff --git a/led_marquee/textures/led_marquee_char_244.png b/led_marquee/textures/led_marquee_char_244.png index 027c7151..f5b16a39 100644 Binary files a/led_marquee/textures/led_marquee_char_244.png and b/led_marquee/textures/led_marquee_char_244.png differ diff --git a/led_marquee/textures/led_marquee_char_245.png b/led_marquee/textures/led_marquee_char_245.png index fef4ab0b..e1e1e722 100644 Binary files a/led_marquee/textures/led_marquee_char_245.png and b/led_marquee/textures/led_marquee_char_245.png differ diff --git a/led_marquee/textures/led_marquee_char_246.png b/led_marquee/textures/led_marquee_char_246.png index 4c0dff98..cb07303f 100644 Binary files a/led_marquee/textures/led_marquee_char_246.png and b/led_marquee/textures/led_marquee_char_246.png differ diff --git a/led_marquee/textures/led_marquee_char_247.png b/led_marquee/textures/led_marquee_char_247.png index 2c8f09e3..7483abee 100644 Binary files a/led_marquee/textures/led_marquee_char_247.png and b/led_marquee/textures/led_marquee_char_247.png differ diff --git a/led_marquee/textures/led_marquee_char_248.png b/led_marquee/textures/led_marquee_char_248.png index 6ffcf4c7..08c4a2e4 100644 Binary files a/led_marquee/textures/led_marquee_char_248.png and b/led_marquee/textures/led_marquee_char_248.png differ diff --git a/led_marquee/textures/led_marquee_char_249.png b/led_marquee/textures/led_marquee_char_249.png index ec7594e6..2fc1f823 100644 Binary files a/led_marquee/textures/led_marquee_char_249.png and b/led_marquee/textures/led_marquee_char_249.png differ diff --git a/led_marquee/textures/led_marquee_char_250.png b/led_marquee/textures/led_marquee_char_250.png index 9031ccd3..d17233f4 100644 Binary files a/led_marquee/textures/led_marquee_char_250.png and b/led_marquee/textures/led_marquee_char_250.png differ diff --git a/led_marquee/textures/led_marquee_char_251.png b/led_marquee/textures/led_marquee_char_251.png index 9fe4cb3e..4a48524c 100644 Binary files a/led_marquee/textures/led_marquee_char_251.png and b/led_marquee/textures/led_marquee_char_251.png differ diff --git a/led_marquee/textures/led_marquee_char_252.png b/led_marquee/textures/led_marquee_char_252.png index fd0d74b1..653b1c19 100644 Binary files a/led_marquee/textures/led_marquee_char_252.png and b/led_marquee/textures/led_marquee_char_252.png differ diff --git a/led_marquee/textures/led_marquee_char_253.png b/led_marquee/textures/led_marquee_char_253.png index 6282658e..b0d17f5f 100644 Binary files a/led_marquee/textures/led_marquee_char_253.png and b/led_marquee/textures/led_marquee_char_253.png differ diff --git a/led_marquee/textures/led_marquee_char_254.png b/led_marquee/textures/led_marquee_char_254.png index 99ddbc71..a02c70be 100644 Binary files a/led_marquee/textures/led_marquee_char_254.png and b/led_marquee/textures/led_marquee_char_254.png differ diff --git a/led_marquee/textures/led_marquee_char_255.png b/led_marquee/textures/led_marquee_char_255.png index 58a756cb..4714c5f2 100644 Binary files a/led_marquee/textures/led_marquee_char_255.png and b/led_marquee/textures/led_marquee_char_255.png differ diff --git a/led_marquee/textures/led_marquee_char_31.png b/led_marquee/textures/led_marquee_char_31.png index a58a0284..47ef6a6c 100644 Binary files a/led_marquee/textures/led_marquee_char_31.png and b/led_marquee/textures/led_marquee_char_31.png differ diff --git a/led_marquee/textures/led_marquee_char_32.png b/led_marquee/textures/led_marquee_char_32.png index cd1c4055..92f14a10 100644 Binary files a/led_marquee/textures/led_marquee_char_32.png and b/led_marquee/textures/led_marquee_char_32.png differ diff --git a/led_marquee/textures/led_marquee_char_33.png b/led_marquee/textures/led_marquee_char_33.png index e49d112b..6d69bdee 100644 Binary files a/led_marquee/textures/led_marquee_char_33.png and b/led_marquee/textures/led_marquee_char_33.png differ diff --git a/led_marquee/textures/led_marquee_char_34.png b/led_marquee/textures/led_marquee_char_34.png index f9c62d54..dd70d729 100644 Binary files a/led_marquee/textures/led_marquee_char_34.png and b/led_marquee/textures/led_marquee_char_34.png differ diff --git a/led_marquee/textures/led_marquee_char_35.png b/led_marquee/textures/led_marquee_char_35.png index cb84a3fd..d3132553 100644 Binary files a/led_marquee/textures/led_marquee_char_35.png and b/led_marquee/textures/led_marquee_char_35.png differ diff --git a/led_marquee/textures/led_marquee_char_36.png b/led_marquee/textures/led_marquee_char_36.png index 09af2004..d0b1571a 100644 Binary files a/led_marquee/textures/led_marquee_char_36.png and b/led_marquee/textures/led_marquee_char_36.png differ diff --git a/led_marquee/textures/led_marquee_char_37.png b/led_marquee/textures/led_marquee_char_37.png index 31c9d79e..cc5731c8 100644 Binary files a/led_marquee/textures/led_marquee_char_37.png and b/led_marquee/textures/led_marquee_char_37.png differ diff --git a/led_marquee/textures/led_marquee_char_38.png b/led_marquee/textures/led_marquee_char_38.png index 62b192a0..c699d2c2 100644 Binary files a/led_marquee/textures/led_marquee_char_38.png and b/led_marquee/textures/led_marquee_char_38.png differ diff --git a/led_marquee/textures/led_marquee_char_39.png b/led_marquee/textures/led_marquee_char_39.png index fbf51169..8064f789 100644 Binary files a/led_marquee/textures/led_marquee_char_39.png and b/led_marquee/textures/led_marquee_char_39.png differ diff --git a/led_marquee/textures/led_marquee_char_40.png b/led_marquee/textures/led_marquee_char_40.png index c45ba032..081f6892 100644 Binary files a/led_marquee/textures/led_marquee_char_40.png and b/led_marquee/textures/led_marquee_char_40.png differ diff --git a/led_marquee/textures/led_marquee_char_41.png b/led_marquee/textures/led_marquee_char_41.png index c5b69f49..de4abfdc 100644 Binary files a/led_marquee/textures/led_marquee_char_41.png and b/led_marquee/textures/led_marquee_char_41.png differ diff --git a/led_marquee/textures/led_marquee_char_42.png b/led_marquee/textures/led_marquee_char_42.png index 29a11c17..f2563de6 100644 Binary files a/led_marquee/textures/led_marquee_char_42.png and b/led_marquee/textures/led_marquee_char_42.png differ diff --git a/led_marquee/textures/led_marquee_char_43.png b/led_marquee/textures/led_marquee_char_43.png index 6238d5ea..682467f4 100644 Binary files a/led_marquee/textures/led_marquee_char_43.png and b/led_marquee/textures/led_marquee_char_43.png differ diff --git a/led_marquee/textures/led_marquee_char_44.png b/led_marquee/textures/led_marquee_char_44.png index 0b060bae..17f223ee 100644 Binary files a/led_marquee/textures/led_marquee_char_44.png and b/led_marquee/textures/led_marquee_char_44.png differ diff --git a/led_marquee/textures/led_marquee_char_45.png b/led_marquee/textures/led_marquee_char_45.png index c349d103..747d71a5 100644 Binary files a/led_marquee/textures/led_marquee_char_45.png and b/led_marquee/textures/led_marquee_char_45.png differ diff --git a/led_marquee/textures/led_marquee_char_46.png b/led_marquee/textures/led_marquee_char_46.png index baf5f413..de9e3ee9 100644 Binary files a/led_marquee/textures/led_marquee_char_46.png and b/led_marquee/textures/led_marquee_char_46.png differ diff --git a/led_marquee/textures/led_marquee_char_47.png b/led_marquee/textures/led_marquee_char_47.png index bea5b3c3..20cf6042 100644 Binary files a/led_marquee/textures/led_marquee_char_47.png and b/led_marquee/textures/led_marquee_char_47.png differ diff --git a/led_marquee/textures/led_marquee_char_48.png b/led_marquee/textures/led_marquee_char_48.png index 26f8cd5c..c2997d0b 100644 Binary files a/led_marquee/textures/led_marquee_char_48.png and b/led_marquee/textures/led_marquee_char_48.png differ diff --git a/led_marquee/textures/led_marquee_char_49.png b/led_marquee/textures/led_marquee_char_49.png index acffc775..a905f50a 100644 Binary files a/led_marquee/textures/led_marquee_char_49.png and b/led_marquee/textures/led_marquee_char_49.png differ diff --git a/led_marquee/textures/led_marquee_char_50.png b/led_marquee/textures/led_marquee_char_50.png index f4d1aeac..73cf007f 100644 Binary files a/led_marquee/textures/led_marquee_char_50.png and b/led_marquee/textures/led_marquee_char_50.png differ diff --git a/led_marquee/textures/led_marquee_char_51.png b/led_marquee/textures/led_marquee_char_51.png index 92a314dc..ed7bf45e 100644 Binary files a/led_marquee/textures/led_marquee_char_51.png and b/led_marquee/textures/led_marquee_char_51.png differ diff --git a/led_marquee/textures/led_marquee_char_52.png b/led_marquee/textures/led_marquee_char_52.png index fcb4e02e..5eba19af 100644 Binary files a/led_marquee/textures/led_marquee_char_52.png and b/led_marquee/textures/led_marquee_char_52.png differ diff --git a/led_marquee/textures/led_marquee_char_53.png b/led_marquee/textures/led_marquee_char_53.png index 80e859f0..d0cf8308 100644 Binary files a/led_marquee/textures/led_marquee_char_53.png and b/led_marquee/textures/led_marquee_char_53.png differ diff --git a/led_marquee/textures/led_marquee_char_54.png b/led_marquee/textures/led_marquee_char_54.png index 8406a699..0838e6ee 100644 Binary files a/led_marquee/textures/led_marquee_char_54.png and b/led_marquee/textures/led_marquee_char_54.png differ diff --git a/led_marquee/textures/led_marquee_char_55.png b/led_marquee/textures/led_marquee_char_55.png index 603dd3bf..f2764fc0 100644 Binary files a/led_marquee/textures/led_marquee_char_55.png and b/led_marquee/textures/led_marquee_char_55.png differ diff --git a/led_marquee/textures/led_marquee_char_56.png b/led_marquee/textures/led_marquee_char_56.png index bf420713..30cfa5ae 100644 Binary files a/led_marquee/textures/led_marquee_char_56.png and b/led_marquee/textures/led_marquee_char_56.png differ diff --git a/led_marquee/textures/led_marquee_char_57.png b/led_marquee/textures/led_marquee_char_57.png index 20d7ee22..94033d57 100644 Binary files a/led_marquee/textures/led_marquee_char_57.png and b/led_marquee/textures/led_marquee_char_57.png differ diff --git a/led_marquee/textures/led_marquee_char_58.png b/led_marquee/textures/led_marquee_char_58.png index a0eeb39e..ab395977 100644 Binary files a/led_marquee/textures/led_marquee_char_58.png and b/led_marquee/textures/led_marquee_char_58.png differ diff --git a/led_marquee/textures/led_marquee_char_59.png b/led_marquee/textures/led_marquee_char_59.png index a4ee576c..3717f345 100644 Binary files a/led_marquee/textures/led_marquee_char_59.png and b/led_marquee/textures/led_marquee_char_59.png differ diff --git a/led_marquee/textures/led_marquee_char_60.png b/led_marquee/textures/led_marquee_char_60.png index 02ad90ab..85ceea32 100644 Binary files a/led_marquee/textures/led_marquee_char_60.png and b/led_marquee/textures/led_marquee_char_60.png differ diff --git a/led_marquee/textures/led_marquee_char_61.png b/led_marquee/textures/led_marquee_char_61.png index d25824f5..e561381d 100644 Binary files a/led_marquee/textures/led_marquee_char_61.png and b/led_marquee/textures/led_marquee_char_61.png differ diff --git a/led_marquee/textures/led_marquee_char_62.png b/led_marquee/textures/led_marquee_char_62.png index 488f1e4b..89d8bc8e 100644 Binary files a/led_marquee/textures/led_marquee_char_62.png and b/led_marquee/textures/led_marquee_char_62.png differ diff --git a/led_marquee/textures/led_marquee_char_63.png b/led_marquee/textures/led_marquee_char_63.png index 56206432..7e4f0afd 100644 Binary files a/led_marquee/textures/led_marquee_char_63.png and b/led_marquee/textures/led_marquee_char_63.png differ diff --git a/led_marquee/textures/led_marquee_char_64.png b/led_marquee/textures/led_marquee_char_64.png index 415e0c66..6a7b71dc 100644 Binary files a/led_marquee/textures/led_marquee_char_64.png and b/led_marquee/textures/led_marquee_char_64.png differ diff --git a/led_marquee/textures/led_marquee_char_65.png b/led_marquee/textures/led_marquee_char_65.png index e853027b..2d8f00ff 100644 Binary files a/led_marquee/textures/led_marquee_char_65.png and b/led_marquee/textures/led_marquee_char_65.png differ diff --git a/led_marquee/textures/led_marquee_char_66.png b/led_marquee/textures/led_marquee_char_66.png index 8c9f92d1..527903cb 100644 Binary files a/led_marquee/textures/led_marquee_char_66.png and b/led_marquee/textures/led_marquee_char_66.png differ diff --git a/led_marquee/textures/led_marquee_char_67.png b/led_marquee/textures/led_marquee_char_67.png index fcfce9c6..7ec781d7 100644 Binary files a/led_marquee/textures/led_marquee_char_67.png and b/led_marquee/textures/led_marquee_char_67.png differ diff --git a/led_marquee/textures/led_marquee_char_68.png b/led_marquee/textures/led_marquee_char_68.png index c221f021..15a7870f 100644 Binary files a/led_marquee/textures/led_marquee_char_68.png and b/led_marquee/textures/led_marquee_char_68.png differ diff --git a/led_marquee/textures/led_marquee_char_69.png b/led_marquee/textures/led_marquee_char_69.png index ad8bda81..034c8a9e 100644 Binary files a/led_marquee/textures/led_marquee_char_69.png and b/led_marquee/textures/led_marquee_char_69.png differ diff --git a/led_marquee/textures/led_marquee_char_70.png b/led_marquee/textures/led_marquee_char_70.png index 4030b60f..17ef54a2 100644 Binary files a/led_marquee/textures/led_marquee_char_70.png and b/led_marquee/textures/led_marquee_char_70.png differ diff --git a/led_marquee/textures/led_marquee_char_71.png b/led_marquee/textures/led_marquee_char_71.png index 7fd8aa75..4ac0de9b 100644 Binary files a/led_marquee/textures/led_marquee_char_71.png and b/led_marquee/textures/led_marquee_char_71.png differ diff --git a/led_marquee/textures/led_marquee_char_72.png b/led_marquee/textures/led_marquee_char_72.png index 0f466671..e4b9f939 100644 Binary files a/led_marquee/textures/led_marquee_char_72.png and b/led_marquee/textures/led_marquee_char_72.png differ diff --git a/led_marquee/textures/led_marquee_char_73.png b/led_marquee/textures/led_marquee_char_73.png index 9b45594b..f667ff12 100644 Binary files a/led_marquee/textures/led_marquee_char_73.png and b/led_marquee/textures/led_marquee_char_73.png differ diff --git a/led_marquee/textures/led_marquee_char_74.png b/led_marquee/textures/led_marquee_char_74.png index 1b78bcb2..cec32772 100644 Binary files a/led_marquee/textures/led_marquee_char_74.png and b/led_marquee/textures/led_marquee_char_74.png differ diff --git a/led_marquee/textures/led_marquee_char_75.png b/led_marquee/textures/led_marquee_char_75.png index 3e72741f..efcec5bb 100644 Binary files a/led_marquee/textures/led_marquee_char_75.png and b/led_marquee/textures/led_marquee_char_75.png differ diff --git a/led_marquee/textures/led_marquee_char_76.png b/led_marquee/textures/led_marquee_char_76.png index 7809c03b..bdab78a6 100644 Binary files a/led_marquee/textures/led_marquee_char_76.png and b/led_marquee/textures/led_marquee_char_76.png differ diff --git a/led_marquee/textures/led_marquee_char_77.png b/led_marquee/textures/led_marquee_char_77.png index bd9f2073..9ac2bae2 100644 Binary files a/led_marquee/textures/led_marquee_char_77.png and b/led_marquee/textures/led_marquee_char_77.png differ diff --git a/led_marquee/textures/led_marquee_char_78.png b/led_marquee/textures/led_marquee_char_78.png index 3244aedb..4b0790e4 100644 Binary files a/led_marquee/textures/led_marquee_char_78.png and b/led_marquee/textures/led_marquee_char_78.png differ diff --git a/led_marquee/textures/led_marquee_char_79.png b/led_marquee/textures/led_marquee_char_79.png index 846fca56..4704b18c 100644 Binary files a/led_marquee/textures/led_marquee_char_79.png and b/led_marquee/textures/led_marquee_char_79.png differ diff --git a/led_marquee/textures/led_marquee_char_80.png b/led_marquee/textures/led_marquee_char_80.png index 670d3dee..13c9b195 100644 Binary files a/led_marquee/textures/led_marquee_char_80.png and b/led_marquee/textures/led_marquee_char_80.png differ diff --git a/led_marquee/textures/led_marquee_char_81.png b/led_marquee/textures/led_marquee_char_81.png index 4afe8f93..8113ada2 100644 Binary files a/led_marquee/textures/led_marquee_char_81.png and b/led_marquee/textures/led_marquee_char_81.png differ diff --git a/led_marquee/textures/led_marquee_char_82.png b/led_marquee/textures/led_marquee_char_82.png index ae79820a..bb526000 100644 Binary files a/led_marquee/textures/led_marquee_char_82.png and b/led_marquee/textures/led_marquee_char_82.png differ diff --git a/led_marquee/textures/led_marquee_char_83.png b/led_marquee/textures/led_marquee_char_83.png index 1d9e261d..9e45ab34 100644 Binary files a/led_marquee/textures/led_marquee_char_83.png and b/led_marquee/textures/led_marquee_char_83.png differ diff --git a/led_marquee/textures/led_marquee_char_84.png b/led_marquee/textures/led_marquee_char_84.png index a198bba7..22160a94 100644 Binary files a/led_marquee/textures/led_marquee_char_84.png and b/led_marquee/textures/led_marquee_char_84.png differ diff --git a/led_marquee/textures/led_marquee_char_85.png b/led_marquee/textures/led_marquee_char_85.png index a1b62906..db2095cd 100644 Binary files a/led_marquee/textures/led_marquee_char_85.png and b/led_marquee/textures/led_marquee_char_85.png differ diff --git a/led_marquee/textures/led_marquee_char_86.png b/led_marquee/textures/led_marquee_char_86.png index f526b3f4..468bb78c 100644 Binary files a/led_marquee/textures/led_marquee_char_86.png and b/led_marquee/textures/led_marquee_char_86.png differ diff --git a/led_marquee/textures/led_marquee_char_87.png b/led_marquee/textures/led_marquee_char_87.png index 9cd5474b..a1fc8201 100644 Binary files a/led_marquee/textures/led_marquee_char_87.png and b/led_marquee/textures/led_marquee_char_87.png differ diff --git a/led_marquee/textures/led_marquee_char_88.png b/led_marquee/textures/led_marquee_char_88.png index f626ebb5..2d2e759d 100644 Binary files a/led_marquee/textures/led_marquee_char_88.png and b/led_marquee/textures/led_marquee_char_88.png differ diff --git a/led_marquee/textures/led_marquee_char_89.png b/led_marquee/textures/led_marquee_char_89.png index 94b42bd9..d7f1beea 100644 Binary files a/led_marquee/textures/led_marquee_char_89.png and b/led_marquee/textures/led_marquee_char_89.png differ diff --git a/led_marquee/textures/led_marquee_char_90.png b/led_marquee/textures/led_marquee_char_90.png index 335a96cd..d8ed0052 100644 Binary files a/led_marquee/textures/led_marquee_char_90.png and b/led_marquee/textures/led_marquee_char_90.png differ diff --git a/led_marquee/textures/led_marquee_char_91.png b/led_marquee/textures/led_marquee_char_91.png index 034ede97..3a5e16b1 100644 Binary files a/led_marquee/textures/led_marquee_char_91.png and b/led_marquee/textures/led_marquee_char_91.png differ diff --git a/led_marquee/textures/led_marquee_char_92.png b/led_marquee/textures/led_marquee_char_92.png index 4e4f18a5..94747eff 100644 Binary files a/led_marquee/textures/led_marquee_char_92.png and b/led_marquee/textures/led_marquee_char_92.png differ diff --git a/led_marquee/textures/led_marquee_char_93.png b/led_marquee/textures/led_marquee_char_93.png index 6af259ba..e67443ee 100644 Binary files a/led_marquee/textures/led_marquee_char_93.png and b/led_marquee/textures/led_marquee_char_93.png differ diff --git a/led_marquee/textures/led_marquee_char_94.png b/led_marquee/textures/led_marquee_char_94.png index b4f5bc43..d6700164 100644 Binary files a/led_marquee/textures/led_marquee_char_94.png and b/led_marquee/textures/led_marquee_char_94.png differ diff --git a/led_marquee/textures/led_marquee_char_95.png b/led_marquee/textures/led_marquee_char_95.png index 4fe5ca15..ca9676fd 100644 Binary files a/led_marquee/textures/led_marquee_char_95.png and b/led_marquee/textures/led_marquee_char_95.png differ diff --git a/led_marquee/textures/led_marquee_char_96.png b/led_marquee/textures/led_marquee_char_96.png index 71c2598e..59aa08c3 100644 Binary files a/led_marquee/textures/led_marquee_char_96.png and b/led_marquee/textures/led_marquee_char_96.png differ diff --git a/led_marquee/textures/led_marquee_char_97.png b/led_marquee/textures/led_marquee_char_97.png index c5530a45..ff4e8abf 100644 Binary files a/led_marquee/textures/led_marquee_char_97.png and b/led_marquee/textures/led_marquee_char_97.png differ diff --git a/led_marquee/textures/led_marquee_char_98.png b/led_marquee/textures/led_marquee_char_98.png index ec532d3e..b24b7829 100644 Binary files a/led_marquee/textures/led_marquee_char_98.png and b/led_marquee/textures/led_marquee_char_98.png differ diff --git a/led_marquee/textures/led_marquee_char_99.png b/led_marquee/textures/led_marquee_char_99.png index 7be4f950..116647bd 100644 Binary files a/led_marquee/textures/led_marquee_char_99.png and b/led_marquee/textures/led_marquee_char_99.png differ diff --git a/led_marquee/textures/led_marquee_leds_off.png b/led_marquee/textures/led_marquee_leds_off.png index 82f3ea9a..4e6c4d44 100644 Binary files a/led_marquee/textures/led_marquee_leds_off.png and b/led_marquee/textures/led_marquee_leds_off.png differ diff --git a/led_marquee/textures/led_marquee_leds_on.png b/led_marquee/textures/led_marquee_leds_on.png new file mode 100644 index 00000000..e7209d0c Binary files /dev/null and b/led_marquee/textures/led_marquee_leds_on.png differ diff --git a/led_marquee/textures/led_marquee_leds_on_cursor.png b/led_marquee/textures/led_marquee_leds_on_cursor.png new file mode 100644 index 00000000..1ddaa88d Binary files /dev/null and b/led_marquee/textures/led_marquee_leds_on_cursor.png differ diff --git a/led_marquee/textures/led_marquee_palette.png b/led_marquee/textures/led_marquee_palette.png index f1818577..a2dbfb7d 100644 Binary files a/led_marquee/textures/led_marquee_palette.png and b/led_marquee/textures/led_marquee_palette.png differ diff --git a/led_marquee/textures/led_marquee_single_led_on.png b/led_marquee/textures/led_marquee_single_led_on.png index dd6a8edd..b7fa3ede 100644 Binary files a/led_marquee/textures/led_marquee_single_led_on.png and b/led_marquee/textures/led_marquee_single_led_on.png differ diff --git a/signs_lib/init.lua b/signs_lib/init.lua index 82a0f1be..360bc024 100644 --- a/signs_lib/init.lua +++ b/signs_lib/init.lua @@ -41,6 +41,11 @@ local wall_dir_change = { } signs_lib.wallmounted_rotate = function(pos, node, user, mode) + if minetest.is_protected(pos, user:get_player_name()) then + minetest.record_protection_violation(pos, + sender:get_player_name()) + return false + end if mode ~= screwdriver.ROTATE_FACE then return false end minetest.swap_node(pos, { name = node.name, param2 = wall_dir_change[node.param2 % 6] }) signs_lib.update_sign(pos,nil,nil,node) @@ -48,6 +53,11 @@ signs_lib.wallmounted_rotate = function(pos, node, user, mode) end signs_lib.facedir_rotate = function(pos, node, user, mode) + if minetest.is_protected(pos, user:get_player_name()) then + minetest.record_protection_violation(pos, + sender:get_player_name()) + return false + end if mode ~= screwdriver.ROTATE_FACE then return false end local newparam2 = (node.param2 %8) + 1 if newparam2 == 5 then @@ -61,6 +71,11 @@ signs_lib.facedir_rotate = function(pos, node, user, mode) end signs_lib.facedir_rotate_simple = function(pos, node, user, mode) + if minetest.is_protected(pos, user:get_player_name()) then + minetest.record_protection_violation(pos, + sender:get_player_name()) + return false + end if mode ~= screwdriver.ROTATE_FACE then return false end local newparam2 = (node.param2 %8) + 1 if newparam2 > 3 then newparam2 = 0 end @@ -892,43 +907,65 @@ minetest.register_node(":locked_sign:sign_wall_locked", { return pname == owner or pname == minetest.settings:get("name") or minetest.check_player_privs(pname, {sign_editor=true}) end, - on_rotate = signs_lib.wallmounted_rotate + on_rotate = function(pos, node, user, mode) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + if owner == user:get_player_name() then + signs_lib.wallmounted_rotate(pos, node, user, mode) + else + return false + end + end }) -- default metal sign, if defined -if minetest.registered_nodes["default:sign_wall_steel"] then - minetest.register_node(":"..default_sign_metal, { - description = S("Sign"), - inventory_image = default_sign_metal_image, - wield_image = default_sign_metal_image, - node_placement_prediction = "", - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = signs_lib.regular_wall_sign_model.nodebox, - tiles = {"signs_wall_sign_metal.png"}, - groups = sign_groups, +minetest.register_node(":"..default_sign_metal, { + description = S("Sign"), + inventory_image = default_sign_metal_image, + wield_image = default_sign_metal_image, + node_placement_prediction = "", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + drawtype = "nodebox", + node_box = signs_lib.regular_wall_sign_model.nodebox, + tiles = {"signs_wall_sign_metal.png"}, + groups = sign_groups, + + on_place = function(itemstack, placer, pointed_thing) + return signs_lib.determine_sign_type(itemstack, placer, pointed_thing) + end, + on_construct = function(pos) + signs_lib.construct_sign(pos) + end, + on_destruct = function(pos) + signs_lib.destruct_sign(pos) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local pname = sender:get_player_name() or "" + if pname ~= owner and pname ~= minetest.settings:get("name") + and not minetest.check_player_privs(pname, {sign_editor=true}) then + return + end + signs_lib.receive_fields(pos, formname, fields, sender, true) + end, + on_punch = function(pos, node, puncher) + signs_lib.update_sign(pos,nil,nil,node) + end, + on_rotate = function(pos, node, user, mode) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + if owner == user:get_player_name() then + signs_lib.wallmounted_rotate(pos, node, user, mode) + else + return false + end + end +}) - on_place = function(itemstack, placer, pointed_thing) - return signs_lib.determine_sign_type(itemstack, placer, pointed_thing) - end, - on_construct = function(pos) - signs_lib.construct_sign(pos) - end, - on_destruct = function(pos) - signs_lib.destruct_sign(pos) - end, - on_receive_fields = function(pos, formname, fields, sender) - signs_lib.receive_fields(pos, formname, fields, sender) - end, - on_punch = function(pos, node, puncher) - signs_lib.update_sign(pos,nil,nil,node) - end, - on_rotate = signs_lib.wallmounted_rotate - }) -end -- metal, colored signs if enable_colored_metal_signs then diff --git a/unifieddyes/init.lua b/unifieddyes/init.lua index b6928105..3f0f8278 100644 --- a/unifieddyes/init.lua +++ b/unifieddyes/init.lua @@ -668,10 +668,12 @@ function unifieddyes.on_airbrush(itemstack, player, pointed_thing) minetest.chat_send_player(player_name, "*** No node selected") else local hexcolor = unifieddyes.get_color_from_dye_name(painting_with) - local r = tonumber(string.sub(hexcolor,1,2),16) - local g = tonumber(string.sub(hexcolor,3,4),16) - local b = tonumber(string.sub(hexcolor,5,6),16) - player:set_sky({r=r,g=g,b=b,a=255},"plain") + if hexcolor then + local r = tonumber(string.sub(hexcolor,1,2),16) + local g = tonumber(string.sub(hexcolor,3,4),16) + local b = tonumber(string.sub(hexcolor,5,6),16) + player:set_sky({r=r,g=g,b=b,a=255},"plain") + end end return end