diff options
author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-02-12 20:05:50 -0500 |
---|---|---|
committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-02-12 20:05:50 -0500 |
commit | aa601daf67ca220290e03608fbaa4bcddbfcfbd8 (patch) | |
tree | a0759c06b939c90e8bed4d1af84e832bbbf0b842 | |
parent | ce806489e2472c29bb6f32b0ec59f7e023f11c08 (diff) | |
download | dreambuilder_modpack-aa601daf67ca220290e03608fbaa4bcddbfcfbd8.tar dreambuilder_modpack-aa601daf67ca220290e03608fbaa4bcddbfcfbd8.tar.gz dreambuilder_modpack-aa601daf67ca220290e03608fbaa4bcddbfcfbd8.tar.bz2 dreambuilder_modpack-aa601daf67ca220290e03608fbaa4bcddbfcfbd8.tar.xz dreambuilder_modpack-aa601daf67ca220290e03608fbaa4bcddbfcfbd8.zip |
update boost_cart, homedecor, mesecons, moretrees, unified_inventory, and worldedit
72 files changed, 5561 insertions, 1185 deletions
diff --git a/boost_cart/functions.lua b/boost_cart/functions.lua index fcdd1ad..9876eb2 100644 --- a/boost_cart/functions.lua +++ b/boost_cart/functions.lua @@ -192,8 +192,8 @@ function boost_cart:boost_rail(pos, amount) end end -function boost_cart:register_rail(name, def) - local def_default = { +function boost_cart:register_rail(name, def_overwrite) + local def = { drawtype = "raillike", paramtype = "light", sunlight_propagates = true, @@ -204,7 +204,7 @@ function boost_cart:register_rail(name, def) fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, } } - for k, v in pairs(def_default) do + for k, v in pairs(def_overwrite) do def[k] = v end if not def.inventory_image then diff --git a/colormachine/depends.txt b/colormachine/depends.txt index deb2ecc..bd97bb5 100644 --- a/colormachine/depends.txt +++ b/colormachine/depends.txt @@ -1,15 +1,9 @@ dye default? unifieddyes? -coloredwood? -unifiedbricks? -stained_glass? cotton? wool? flags? -blox? -homedecor? -plasticbox? kerova? hardenedclay? clstone? diff --git a/colormachine/init.lua b/colormachine/init.lua index dceff54..6a61769 100644 --- a/colormachine/init.lua +++ b/colormachine/init.lua @@ -23,6 +23,9 @@ -- Version 0.6 -- Changelog: +-- 08.02.17 Removed support for homedecor, blox, plasticbox, stainedglass, coloredwood and unifiedbricks +-- as those now use a new feature of newer versions of MT that makes the colormachine +-- obsolete for them. -- 22.04.16 Added support for myfences: https://forum.minetest.net/viewtopic.php?f=9&t=14275 -- 28.09.15 Added support for cblocks: https://forum.minetest.net/viewtopic.php?f=9&t=13303 -- 23.05.15 As all dyes can be crafted into other dyes, only white dye is consumed - provided the @@ -156,6 +159,7 @@ colormachine.data = { -- the dyes as such unifieddyes_ = { nr=1, modname='unifieddyes', shades={1,0,1,1,1,1,1,1}, grey_shades={1,1,1,1,1}, u=1, descr="ufdye", block="dye:white", add="", p=1 }, +--[[ -- coloredwood: sticks not supported (they are only craftitems) coloredwood_wood_ = { nr=2, modname='coloredwood', shades={1,0,1,1,1,1,1,1}, grey_shades={1,1,1,1,1}, u=1, descr="planks", block="default:wood", add="wood_", p=2 }, coloredwood_fence_ = { nr=3, modname='coloredwood', shades={1,0,1,1,1,1,1,1}, grey_shades={1,1,1,1,1}, u=1, descr="fence", block="default:fence_wood", add="fence_", p=2}, @@ -165,6 +169,7 @@ colormachine.data = { unifiedbricks_brickblock_ = { nr=5, modname='unifiedbricks', shades={1,0,1,1,1,1,1,1}, grey_shades={1,1,1,1,1}, u=1, descr="brick", block="default:brick", add="brickblock_",p=1}, -- the multicolored bricks come in fewer intensities (only 3 shades) and support only 3 insted of 5 shades of grey unifiedbricks_multicolor_ = { nr=6, modname='unifiedbricks', shades={1,0,0,0,1,0,1,0}, grey_shades={0,1,1,1,0}, u=1, descr="mbrick", block="default:brick", add="multicolor_",p=1}, +--]] hardenedclay_ = { nr=3.5, modname='hardenedclay', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,1,1,1}, u=0, descr="hclay", block="hardenedclay:hardened_clay_white", add="hardened_clay_", p=16}, colouredstonebricks_ = { nr=3.6, modname='colouredstonebricks', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,1,1,1}, u=0, descr="cbrick", block="default:stonebrick", add="", p=1}, @@ -177,12 +182,14 @@ colormachine.data = { colorcubes_window_ = { nr=3.93,modname='colorcubes', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,1,1,1}, u=0, descr="ccubew",block="default:stone", add="", p=1, obj_postfix='_window' }, +--[[ -- stained_glass: has a "faint" and "pastel" version as well (which are kind of additional shades used only by this mod) -- no shades of grey for the glass stained_glass_ = { nr=7, modname='stained_glass', shades={1,0,1,1,1,1,1,1}, grey_shades={0,0,0,0,0}, u=1, descr="glass", block="moreblocks:super_glow_glass", add="",p=2}, stained_glass_faint_ = { nr=8, modname='stained_glass', shades={0,0,1,0,0,0,0,0}, grey_shades={0,0,0,0,0}, u=1, descr="fglass", block="moreblocks:super_glow_glass", add="",p=2}, stained_glass_pastel_ = { nr=9, modname='stained_glass', shades={0,0,1,0,0,0,0,0}, grey_shades={0,0,0,0,0}, u=1, descr="pglass", block="moreblocks:super_glow_glass", add="",p=2}, +--]] -- use 9.5 to insert it between stained glass and cotton framedglass_ = { nr=9.5, modname='framedglass', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,1,1,1}, u=0, descr="fglass", block="framedglass:steel_framed_obsidian_glass", add="steel_framed_obsidian_glass",p=1}, @@ -215,6 +222,7 @@ colormachine.data = { -- grey variants do not seem to exist, even though the textures arethere (perhaps nobody wants a grey flag!) flags_ = { nr=17, modname='flags', shades={0,0,1,0,0,0,0,0}, grey_shades={1,0,0,0,1}, u=1, descr="flags", block="flags:white", add="", p=3 }, +--[[ blox_stone_ = { nr=18, modname='blox', shades={1,0,1,0,0,0,0,0}, grey_shades={1,0,0,0,1}, u=0, descr="SnBlox", block="default:stone", add="stone", p=2 }, blox_quarter_ = { nr=19, modname='blox', shades={1,0,1,0,0,0,0,0}, grey_shades={1,0,0,0,1}, u=0, descr="S4Blox", block="default:stone", add="quarter", p=4 }, blox_checker_ = { nr=20, modname='blox', shades={1,0,1,0,0,0,0,0}, grey_shades={1,0,0,0,1}, u=0, descr="S8Blox", block="default:stone", add="checker", p=4 }, @@ -261,8 +269,8 @@ colormachine.data = { homedecor_bottle_ = { nr=16.66, modname='homedecor', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,0,0,0}, u=0, descr="hbottle", block="vessels:glass_bottle", add="bottle_", composed=1}, homedecor_welcome_mat_ = { nr=16.67, modname='homedecor', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,1,0,0}, u=0, descr="hwmat", block="homedecor:welcome_mat_grey", add="welcome_mat_", composed=1}, - plasticbox_ = { nr=16.7, modname='plasticbox', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,1,1,1}, u=0, descr="plastic", block="plasticbox:plasticbox", add="plasticbox_",p=16}, +--]] kerova_chest_front_ = { nr=16.8, modname='kerova', shades={1,0,1,0,0,0,1,0}, grey_shades={1,0,1,1,1}, u=0, descr="kerova", block="default:chest", add="chest_",p=16}, diff --git a/fake_fire/init.lua b/fake_fire/init.lua index ffedce7..20cd442 100644 --- a/fake_fire/init.lua +++ b/fake_fire/init.lua @@ -155,12 +155,16 @@ minetest.register_node("fake_fire:embers", { }) -- CHIMNEYS -local materials = {"stone", "sandstone"} +local materials = { + { "stone", S("Stone chimney top") }, + { "sandstone", S("Sandstone chimney top") }, +} -for _, m in ipairs(materials) do - minetest.register_node("fake_fire:chimney_top_"..m, { - description = "Chimney Top - "..m, - tiles = {"default_"..m..".png^chimney_top.png", "default_"..m..".png"}, +for _, mat in ipairs(materials) do + local name, desc = unpack(mat) + minetest.register_node("fake_fire:chimney_top_"..name, { + description = desc, + tiles = {"default_"..name..".png^chimney_top.png", "default_"..name..".png"}, groups = {snappy=3}, paramtype = "light", sounds = default.node_sound_stone_defaults(), @@ -181,8 +185,8 @@ for _, m in ipairs(materials) do minetest.register_craft({ type = "shapeless", - output = 'fake_fire:chimney_top_'..m, - recipe = {"default:torch", "stairs:slab_"..m} + output = 'fake_fire:chimney_top_'..name, + recipe = {"default:torch", "stairs:slab_"..name} }) end @@ -206,7 +210,7 @@ minetest.register_tool("fake_fire:flint_and_steel", { minetest.set_node(pointed_thing.above, {name="fake_fire:fake_fire"}) end else - minetest.chat_send_player(user:get_player_name(), "This area is protected!") + minetest.chat_send_player(user:get_player_name(), S("This area is protected!")) end else return diff --git a/homedecor/clocks.lua b/homedecor/clocks.lua index b2a594a..71d7ecd 100644 --- a/homedecor/clocks.lua +++ b/homedecor/clocks.lua @@ -1,25 +1,27 @@ + +local S = homedecor_i18n.gettext + local clock_sbox = { type = "fixed", fixed = { -8/32, -8/32, 14/32, 8/32, 8/32, 16/32 } } local clock_materials = { - { "plastic", "homedecor_generic_plastic.png" }, - { "wood", "default_wood.png" } + { "plastic", S("Plastic analog clock"), "homedecor_generic_plastic.png" }, + { "wood", S("Wooden analog clock"), "default_wood.png" } } -for i in ipairs(clock_materials) do - local m1 = clock_materials[i][1] - local m2 = clock_materials[i][2] - homedecor.register("analog_clock_"..m1, { - description = "Analog clock ("..m1..")", +for _, mat in ipairs(clock_materials) do + local name, desc, tex = unpack(mat) + homedecor.register("analog_clock_"..name, { + description = desc, mesh = "homedecor_analog_clock.obj", tiles = { "homedecor_analog_clock_face.png", - m2, + tex, "homedecor_analog_clock_back.png" }, - inventory_image = "homedecor_analog_clock_"..m1.."_inv.png", + inventory_image = "homedecor_analog_clock_"..name.."_inv.png", walkable = false, selection_box = clock_sbox, groups = {snappy=3}, @@ -28,7 +30,7 @@ for i in ipairs(clock_materials) do end homedecor.register("digital_clock", { - description = "Digital clock", + description = S("Digital clock"), tiles = { "homedecor_digital_clock_edges.png", "homedecor_digital_clock_edges.png", @@ -50,7 +52,7 @@ homedecor.register("digital_clock", { }) homedecor.register("alarm_clock", { - description = "Alarm clock", + description = S("Alarm clock"), tiles = { "homedecor_alarm_clock_top.png", "homedecor_alarm_clock_bottom.png", @@ -77,7 +79,7 @@ local gf_cbox = { } homedecor.register("grandfather_clock", { - description = "Grandfather Clock", + description = S("Grandfather Clock"), mesh = "homedecor_grandfather_clock.obj", tiles = { "default_glass.png", diff --git a/homedecor/cobweb.lua b/homedecor/cobweb.lua index 9731032..43b7794 100644 --- a/homedecor/cobweb.lua +++ b/homedecor/cobweb.lua @@ -1,5 +1,8 @@ + +local S = homedecor_i18n.gettext + minetest.register_node("homedecor:cobweb_corner", { - description = "Cobweb", + description = S("Cobweb"), drawtype = "torchlike", tiles = { "homedecor_cobweb_torchlike.png" }, inventory_image = "homedecor_cobweb.png", @@ -23,7 +26,7 @@ minetest.register_node("homedecor:cobweb_corner", { }) minetest.register_node("homedecor:cobweb_centered", { - description = "Cobweb", + description = S("Cobweb"), drawtype = "nodebox", tiles = { "homedecor_cobweb.png" }, inventory_image = "homedecor_cobweb.png", @@ -50,7 +53,7 @@ minetest.register_node("homedecor:cobweb_centered", { }) minetest.register_node("homedecor:cobweb_flat", { - description = "Cobweb", + description = S("Cobweb"), drawtype = "nodebox", tiles = { "homedecor_cobweb.png" }, inventory_image = "homedecor_cobweb.png", @@ -77,7 +80,7 @@ minetest.register_node("homedecor:cobweb_flat", { }) minetest.register_node("homedecor:cobweb_plantlike", { - description = "Cobweb", + description = S("Cobweb"), drawtype = "plantlike", tiles = { "homedecor_cobweb_plantlike.png" }, inventory_image = "homedecor_cobweb.png", diff --git a/homedecor/electrics.lua b/homedecor/electrics.lua index 001c703..d8cfa93 100644 --- a/homedecor/electrics.lua +++ b/homedecor/electrics.lua @@ -1,5 +1,8 @@ + +local S = homedecor_i18n.gettext + homedecor.register("power_outlet", { - description = "Power Outlet", + description = S("Power Outlet"), tiles = { "homedecor_outlet_edges.png", "homedecor_outlet_edges.png", @@ -26,7 +29,7 @@ homedecor.register("power_outlet", { }) homedecor.register("light_switch", { - description = "Light switch", + description = S("Light switch"), tiles = { "homedecor_light_switch_edges.png", "homedecor_light_switch_edges.png", @@ -58,7 +61,7 @@ homedecor.register("light_switch", { homedecor.register("doorbell", { tiles = { "homedecor_doorbell.png" }, inventory_image = "homedecor_doorbell_inv.png", - description = "Doorbell", + description = S("Doorbell"), groups = {snappy=3}, walkable = false, node_box = { diff --git a/homedecor/foyer.lua b/homedecor/foyer.lua index ad2d54a..c6fb401 100644 --- a/homedecor/foyer.lua +++ b/homedecor/foyer.lua @@ -1,8 +1,10 @@ +local S = homedecor_i18n.gettext + homedecor.register("coatrack_wallmount", { tiles = { homedecor.plain_wood }, inventory_image = "homedecor_coatrack_wallmount_inv.png", - description = "Coatrack (wallmounted)", + description = S("Wall-mounted coat rack"), groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), node_box = { @@ -28,7 +30,7 @@ homedecor.register("coat_tree", { "homedecor_generic_wood_old.png" }, inventory_image = "homedecor_coatrack_inv.png", - description = "Coat tree", + description = S("Coat tree"), groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), expand = { top="placeholder" }, @@ -40,9 +42,16 @@ homedecor.register("coat_tree", { on_rotate = screwdriver.rotate_simple }) -for _, color in pairs({ "green", "brown", "grey" }) do +local mat_colors = { + { "green", S("Green welcome mat") }, + { "brown", S("Brown welcome mat") }, + { "grey", S("Grey welcome mat") }, +} + +for _, mat in ipairs(mat_colors) do + local color, desc = unpack(mat) homedecor.register("welcome_mat_"..color, { - description = "Welcome Mat ("..color..")", + description = desc, tiles = { "homedecor_welcome_mat_"..color..".png", "homedecor_welcome_mat_bottom.png", diff --git a/homedecor/gastronomy.lua b/homedecor/gastronomy.lua index 052e526..b08ca5c 100644 --- a/homedecor/gastronomy.lua +++ b/homedecor/gastronomy.lua @@ -1,4 +1,6 @@ +local S = homedecor_i18n.gettext + local cutlery_cbox = { type = "fixed", fixed = { @@ -12,7 +14,7 @@ homedecor.register("cutlery_set", { mesh = "homedecor_cutlery_set.obj", tiles = { "homedecor_cutlery_set.png" }, inventory_image = "homedecor_cutlery_set_inv.png", - description = "Cutlery set", + description = S("Cutlery set"), groups = {snappy=3}, selection_box = cutlery_cbox, walkable = false, @@ -33,14 +35,19 @@ local fbottle_cbox = { } } -local bottle_colors = {"brown", "green"} +local bottle_colors = { + { "brown", S("Brown bottle"), S("Four brown bottles") }, + { "green", S("Green bottle"), S("Four green bottles") }, +} for _, b in ipairs(bottle_colors) do - homedecor.register("bottle_"..b, { - tiles = { "homedecor_bottle_"..b..".png" }, - inventory_image = "homedecor_bottle_"..b.."_inv.png", - description = "Bottle ("..b..")", + local name, desc, desc4 = unpack(b) + + homedecor.register("bottle_"..name, { + tiles = { "homedecor_bottle_"..name..".png" }, + inventory_image = "homedecor_bottle_"..name.."_inv.png", + description = desc, mesh = "homedecor_bottle.obj", walkable = false, groups = {snappy=3}, @@ -50,13 +57,13 @@ for _, b in ipairs(bottle_colors) do -- 4-bottle sets - homedecor.register("4_bottles_"..b, { + homedecor.register("4_bottles_"..name, { tiles = { - "homedecor_bottle_"..b..".png", - "homedecor_bottle_"..b..".png" + "homedecor_bottle_"..name..".png", + "homedecor_bottle_"..name..".png" }, - inventory_image = "homedecor_4_bottles_"..b.."_inv.png", - description = "Four "..b.." bottles", + inventory_image = "homedecor_4_bottles_"..name.."_inv.png", + description = desc4, mesh = "homedecor_4_bottles.obj", walkable = false, groups = {snappy=3}, @@ -71,7 +78,7 @@ homedecor.register("4_bottles_multi", { "homedecor_bottle_green.png" }, inventory_image = "homedecor_4_bottles_multi_inv.png", - description = "Four misc brown/green bottles", + description = S("Four misc brown/green bottles"), mesh = "homedecor_4_bottles.obj", groups = {snappy=3}, walkable = false, @@ -81,7 +88,7 @@ homedecor.register("4_bottles_multi", { local wine_cbox = homedecor.nodebox.slab_z(-0.75) homedecor.register("wine_rack", { - description = "Wine Rack", + description = S("Wine rack"), mesh = "homedecor_wine_rack.obj", tiles = { "homedecor_generic_wood_red.png", @@ -98,7 +105,7 @@ homedecor.register("wine_rack", { }) homedecor.register("dartboard", { - description = "Dartboard", + description = S("Dartboard"), mesh = "homedecor_dartboard.obj", tiles = { "homedecor_dartboard.png" }, inventory_image = "homedecor_dartboard_inv.png", @@ -114,7 +121,7 @@ homedecor.register("dartboard", { }) homedecor.register("beer_tap", { - description = "Beer tap", + description = S("Beer tap"), mesh = "homedecor_beer_taps.obj", tiles = { "homedecor_generic_metal_bright.png", @@ -137,9 +144,11 @@ homedecor.register("beer_tap", { wielditem:take_item() puncher:set_wielded_item(wielditem) inv:add_item("main", "homedecor:beer_mug 1") - minetest.chat_send_player(puncher:get_player_name(), "Ahh, a frosty cold beer - look in your inventory for it!") + minetest.chat_send_player(puncher:get_player_name(), + S("Ahh, a frosty cold beer - look in your inventory for it!")) else - minetest.chat_send_player(puncher:get_player_name(), "No room in your inventory to add a beer mug!") + minetest.chat_send_player(puncher:get_player_name(), + S("No room in your inventory to add a beer mug!")) end end end @@ -160,7 +169,7 @@ local beer_cbox = { } homedecor.register("beer_mug", { - description = "Beer mug", + description = S("Beer mug"), drawtype = "mesh", mesh = "homedecor_beer_mug.obj", tiles = { "homedecor_beer_mug.png" }, @@ -178,7 +187,7 @@ local svm_cbox = { } homedecor.register("soda_machine", { - description = "Soda Vending Machine", + description = S("Soda vending machine"), mesh = "homedecor_soda_machine.obj", tiles = {"homedecor_soda_machine.png"}, groups = {snappy=3}, @@ -201,7 +210,7 @@ homedecor.register("soda_machine", { pos=pos, max_hear_distance = 5 }) else - minetest.chat_send_player(puncher:get_player_name(), "Please insert a coin in the machine.") + minetest.chat_send_player(puncher:get_player_name(), S("Please insert a coin in the machine.")) end end }) diff --git a/homedecor/handlers/expansion.lua b/homedecor/handlers/expansion.lua index b3e78c8..13c69f9 100644 --- a/homedecor/handlers/expansion.lua +++ b/homedecor/handlers/expansion.lua @@ -1,4 +1,6 @@ +local S = homedecor_i18n.gettext + -- vectors to place one node next to or behind another homedecor.fdir_to_right = { @@ -53,7 +55,7 @@ homedecor.wall_fdir_to_fwd = { local placeholder_node = "homedecor:expansion_placeholder" minetest.register_node(placeholder_node, { - description = "Expansion placeholder (you hacker you!)", + description = S("Expansion placeholder (you hacker you!)"), groups = { not_in_creative_inventory=1 }, drawtype = "airlike", paramtype = "light", @@ -193,13 +195,15 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks local placer_name = placer:get_player_name() if not (def and def.buildable_to) then - minetest.chat_send_player( placer:get_player_name(), "Not enough room - the space for the headboard is occupied!" ) + minetest.chat_send_player( placer:get_player_name(), + S("Not enough room - the space for the headboard is occupied!")) minetest.set_node(pos, {name = "air"}) return true end if minetest.is_protected(forwardpos, placer_name) then - minetest.chat_send_player( placer:get_player_name(), "Someone already owns the spot where the headboard goes." ) + minetest.chat_send_player( placer:get_player_name(), + S("Someone already owns the spot where the headboard goes.")) return true end @@ -270,12 +274,12 @@ function homedecor.place_banister(itemstack, placer, pointed_thing) local placer_name = placer:get_player_name() if not (adef and adef.buildable_to) then - minetest.chat_send_player(placer_name, "Not enough room - the upper space is occupied!" ) + minetest.chat_send_player(placer_name, S("Not enough room - the upper space is occupied!" )) return itemstack end if minetest.is_protected(abovepos, placer_name) then - minetest.chat_send_player(placer_name, "Someone already owns that spot." ) + minetest.chat_send_player(placer_name, S("Someone already owns that spot.")) return itemstack end diff --git a/homedecor/kitchen_furniture.lua b/homedecor/kitchen_furniture.lua index d0712cf..2ecb7bf 100644 --- a/homedecor/kitchen_furniture.lua +++ b/homedecor/kitchen_furniture.lua @@ -96,7 +96,7 @@ local cp_cbox = { } homedecor.register("copper_pans", { - description = "Copper pans", + description = S("Copper pans"), mesh = "homedecor_copper_pans.obj", tiles = { "homedecor_polished_copper.png" }, inventory_image = "homedecor_copper_pans_inv.png", @@ -115,7 +115,7 @@ homedecor.register("kitchen_faucet", { mesh = "homedecor_kitchen_faucet.obj", tiles = { "homedecor_generic_metal_bright.png" }, inventory_image = "homedecor_kitchen_faucet_inv.png", - description = "Kitchen Faucet", + description = S("Kitchen Faucet"), groups = {snappy=3}, selection_box = kf_cbox, walkable = false, diff --git a/homedecor/lighting.lua b/homedecor/lighting.lua index 0a1edaf..f7314d0 100644 --- a/homedecor/lighting.lua +++ b/homedecor/lighting.lua @@ -331,7 +331,7 @@ homedecor.register("ceiling_lantern", { tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" }, use_texture_alpha = true, inventory_image = "homedecor_ceiling_lantern_inv.png", - description = "Ceiling Lantern", + description = S("Ceiling Lantern"), groups = {snappy=3}, light_source = 11, selection_box = cl_cbox, diff --git a/homedecor/office.lua b/homedecor/office.lua index b28c3a3..6e9bbc1 100644 --- a/homedecor/office.lua +++ b/homedecor/office.lua @@ -23,7 +23,7 @@ local desk_cbox = { fixed = { -0.5, -0.5, -0.5, 1.5, 0.5, 0.5 } } homedecor.register("desk", { - description = "Desk", + description = S("Desk"), mesh = "homedecor_desk.obj", tiles = { homedecor.plain_wood, @@ -49,7 +49,7 @@ local globe_cbox = { } homedecor.register("desk_globe", { - description = "Desk globe", + description = S("Desk globe"), mesh = "homedecor_desk_globe.obj", tiles = { "homedecor_generic_wood_red.png", @@ -65,7 +65,7 @@ homedecor.register("desk_globe", { }) homedecor.register("calendar", { - description = "Calendar", + description = S("Calendar"), mesh = "homedecor_calendar.obj", tiles = {"homedecor_calendar.png"}, inventory_image = "homedecor_calendar_inv.png", @@ -81,11 +81,11 @@ homedecor.register("calendar", { groups = {choppy=2,attached_node=1}, legacy_wallmounted = true, sounds = default.node_sound_defaults(), - infotext = "Date (right-click to update):\n" .. os.date("%Y-%m-%d"), -- ISO 8601 format + infotext = S("Date (right-click to update):\n@1", os.date("%Y-%m-%d")), -- ISO 8601 format on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) local meta = minetest.get_meta(pos) local date = os.date("%Y-%m-%d") - meta:set_string("infotext", "Date (right-click to update):\n"..date) + meta:set_string("infotext", S("Date (right-click to update):\n@1", date)) return itemstack end }) @@ -104,12 +104,18 @@ local ofchairs_cbox = { } } -for _, c in pairs({"basic", "upscale"}) do - homedecor.register("office_chair_"..c, { - description = "Office chair ("..c..")", +local chairs = { + { "basic", S("Basic office chair") }, + { "upscale", S("Upscale office chair") }, +} + +for _, c in pairs(chairs) do + local name, desc = unpack(c) + homedecor.register("office_chair_"..name, { + description = desc, drawtype = "mesh", - tiles = { "homedecor_office_chair_"..c..".png" }, - mesh = "homedecor_office_chair_"..c..".obj", + tiles = { "homedecor_office_chair_"..name..".png" }, + mesh = "homedecor_office_chair_"..name..".obj", groups = { snappy = 3 }, sounds = default.node_sound_wood_defaults(), selection_box = ofchairs_sbox, diff --git a/homedecor/trash_cans.lua b/homedecor/trash_cans.lua index 5405700..7da6c04 100644 --- a/homedecor/trash_cans.lua +++ b/homedecor/trash_cans.lua @@ -1,4 +1,6 @@ +local S = homedecor_i18n.gettext + local tg_cbox = { type = "fixed", fixed = { -0.35, -0.5, -0.35, 0.35, 0.4, 0.35 } @@ -9,7 +11,7 @@ homedecor.register("trash_can_green", { mesh = "homedecor_trash_can_green.obj", tiles = { "homedecor_pool_table_baize.png" }, inventory_image = "homedecor_trash_can_green_inv.png", - description = "Trash Can (green)", + description = S("Green Trash Can"), groups = {snappy=3}, selection_box = tg_cbox, collision_box = tg_cbox, @@ -29,7 +31,7 @@ homedecor.register("trash_can_green_open", { on_punch = function(pos, node, puncher, pointed_thing) minetest.set_node(pos, {name = "homedecor:trash_can_green", param2 = node.param2}) end, - infotext="Trash Can", + infotext=S("Trash Can"), inventory= { size = 9, formspec = "size[8,9]" .. default.gui_bg .. default.gui_bg_img .. default.gui_slots .. @@ -57,7 +59,7 @@ homedecor.register("trash_can", { mesh = "homedecor_trash_can.obj", tiles = { "homedecor_trash_can.png" }, inventory_image = "homedecor_trash_can_inv.png", - description = "Trash Can (small)", + description = S("Small Trash Can"), groups = {snappy=3}, selection_box = trash_cbox, collision_box = trash_cbox, diff --git a/homedecor/wardrobe.lua b/homedecor/wardrobe.lua index 986eed5..d0e3538 100644 --- a/homedecor/wardrobe.lua +++ b/homedecor/wardrobe.lua @@ -1,4 +1,6 @@ +local S = homedecor_i18n.gettext + local wd_cbox = { type = "fixed", fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } @@ -12,14 +14,14 @@ homedecor.register("wardrobe", { "homedecor_wardrobe_doors.png" }, inventory_image = "homedecor_wardrobe_inv.png", - description = "Wardrobe", + description = S("Wardrobe"), groups = {snappy=3}, selection_box = wd_cbox, collision_box = wd_cbox, sounds = default.node_sound_wood_defaults(), expand = { top="placeholder" }, on_rotate = screwdriver.rotate_simple, - infotext = "Wardrobe", + infotext = S("Wardrobe"), inventory = { size = 10 }, @@ -34,9 +36,9 @@ homedecor.register("wardrobe", { "image_button_exit["..(i-1)..".5,2;1.1,2;homedecor_clothes_fe"..skins[i].."_preview.png;fe"..skins[i]..";]" end meta:set_string("formspec", "size[5.5,8.5]"..default.gui_bg..default.gui_bg_img..default.gui_slots.. - "vertlabel[0,0.5;CLOTHES]".. + "vertlabel[0,0.5;"..minetest.formspec_escape(S("Clothes")).."]".. clothes_strings.. - "vertlabel[0,5.2;STORAGE]".. + "vertlabel[0,5.2;"..minetest.formspec_escape(S("Storage")).."]".. "list[current_name;main;0.5,4.5;5,2;]".. "list[current_player;main;0.5,6.8;5,2;]" .. "listring[]") diff --git a/homedecor_i18n/locale/de.po b/homedecor_i18n/locale/de.po index ad927d0..7d1f2dd 100644 --- a/homedecor_i18n/locale/de.po +++ b/homedecor_i18n/locale/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"POT-Creation-Date: 2017-02-10 05:34-0300\n" "PO-Revision-Date: 2017-01-25 00:03-0300\n" "Last-Translator: Xanthin <Xanthin@users.noreply.github.com>\n" "Language-Team: German\n" @@ -288,7 +288,7 @@ msgstr "" msgid "Loaded!" msgstr "Geladen!" -#: ../lrfurn/armchairs.lua +#: ../lrfurn/armchairs.lua ../homedecor/furniture.lua #, fuzzy msgid "Armchair" msgstr "Sessel (%s)" @@ -328,98 +328,31 @@ msgid "Glowing Embers" msgstr "" #: ../fake_fire/init.lua -msgid "Flint and steel" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua -#, fuzzy -msgid "black" -msgstr "schwarz" - -#: ../homedecor/bedroom.lua ../homedecor/books.lua -msgid "brown" +msgid "Stone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua -#, fuzzy -msgid "blue" -msgstr "blau" - -#: ../homedecor/bedroom.lua -msgid "cyan" +#: ../fake_fire/init.lua +msgid "Sandstone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#, fuzzy -msgid "dark grey" -msgstr "dunkelgruen" - -#: ../homedecor/bedroom.lua ../homedecor/furniture.lua -#, fuzzy -msgid "dark green" -msgstr "dunkelgruen" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/exterior.lua -#: ../homedecor/misc-nodes.lua ../homedecor/books.lua -#, fuzzy -msgid "green" -msgstr "gruen" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua -msgid "grey" +#: ../fake_fire/init.lua +msgid "Flint and steel" msgstr "" -#: ../homedecor/bedroom.lua -msgid "magenta" +#: ../fake_fire/init.lua +msgid "This area is protected!" msgstr "" #: ../homedecor/bedroom.lua -msgid "orange" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "pink" -msgstr "rosa" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua #, fuzzy -msgid "red" +msgid "Bed" msgstr "rot" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "violet" -msgstr "violett" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#, fuzzy -msgid "white" -msgstr "weiss" - -#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua -msgid "yellow" -msgstr "" - #: ../homedecor/bedroom.lua -msgid "Bed (@1)" +msgid "Bed (king sized)" msgstr "" #: ../homedecor/bedroom.lua -msgid "Bed (@1, king sized)" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua msgid "mahogany" msgstr "" @@ -485,6 +418,15 @@ msgid "Under-sink cabinet" msgstr "Unterschrank" #: ../homedecor/kitchen_furniture.lua +msgid "Copper pans" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Faucet" +msgstr "Kuechenschrank" + +#: ../homedecor/kitchen_furniture.lua msgid "Paper towels" msgstr "" @@ -617,6 +559,18 @@ msgstr "Asphaltschindeln" msgid "Chimney" msgstr "" +#: ../homedecor/electrics.lua +msgid "Power Outlet" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Light switch" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Doorbell" +msgstr "" + #: ../homedecor/window_treatments.lua msgid "Window (quartered)" msgstr "" @@ -664,6 +618,38 @@ msgstr "" msgid "Stained Glass" msgstr "" +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "rot" + +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "green" +msgstr "gruen" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "blau" + +#: ../homedecor/window_treatments.lua ../homedecor/lighting.lua +#, fuzzy +msgid "white" +msgstr "weiss" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "rosa" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "violett" + #: ../homedecor/crafts.lua #, fuzzy msgid "Uncooked Terracotta Base" @@ -816,6 +802,34 @@ msgstr "" msgid "Telephone" msgstr "" +#: ../homedecor/cobweb.lua +msgid "Cobweb" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Plastic analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Wooden analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Digital clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Alarm clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Grandfather Clock" +msgstr "" + +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + #: ../homedecor/lighting.lua #, fuzzy msgid "Thick Glowlight" @@ -877,6 +891,11 @@ msgid "Hanging Lantern" msgstr "" #: ../homedecor/lighting.lua +#, fuzzy +msgid "Ceiling Lantern" +msgstr "Unterschrank" + +#: ../homedecor/lighting.lua msgid "Lattice lantern (large)" msgstr "" @@ -894,8 +913,9 @@ msgid "Standing Lamp" msgstr "" #: ../homedecor/lighting.lua -msgid "Desk Lamp (@1)" -msgstr "" +#, fuzzy +msgid "Desk Lamp" +msgstr "Tischlampe" #: ../homedecor/lighting.lua msgid "Ceiling Lamp" @@ -976,21 +996,8 @@ msgid "Wrought Iron fence (type 2) Corner" msgstr "Schmiedeeiserner Zaun/Gelaender" #: ../homedecor/shutters.lua -msgid "unpainted oak" -msgstr "" - -#: ../homedecor/shutters.lua -msgid "forest green" -msgstr "" - -#: ../homedecor/shutters.lua -#, fuzzy -msgid "light blue" -msgstr "rechts" - -#: ../homedecor/shutters.lua #, fuzzy -msgid "Wooden Shutter (@1)" +msgid "Wooden Shutter" msgstr "Holzjalousie (rot)" #: ../homedecor/exterior.lua @@ -1108,6 +1115,86 @@ msgstr "" msgid "Radiator heater" msgstr "" +#: ../homedecor/wardrobe.lua +msgid "Wardrobe" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Clothes" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Storage" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Green Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Small Trash Can" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Cutlery set" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Brown bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four brown bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Green bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four misc brown/green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Wine rack" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Dartboard" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer tap" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Ahh, a frosty cold beer - look in your inventory for it!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "No room in your inventory to add a beer mug!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer mug" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Soda vending machine" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Please insert a coin in the machine." +msgstr "" + #: ../homedecor/doors_and_gates.lua #, fuzzy msgid "Mahogany Closet Door (@1 opening)" @@ -1215,6 +1302,26 @@ msgstr "" msgid "Japanese-style door" msgstr "" +#: ../homedecor/foyer.lua +msgid "Wall-mounted coat rack" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Coat tree" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Green welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Brown welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Grey welcome mat" +msgstr "" + #: ../homedecor/misc-nodes.lua #, fuzzy msgid "Textured Ceiling Paint" @@ -1241,6 +1348,11 @@ msgstr "" msgid "Rug (@1)" msgstr "" +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +#, fuzzy +msgid "black" +msgstr "schwarz" + #: ../homedecor/misc-nodes.lua msgid "Flower Pot (@1)" msgstr "" @@ -1408,7 +1520,7 @@ msgid "Legs for Utility Table" msgstr "Tischbeine fuer Arbeitsplatte" #: ../homedecor/books.lua -msgid "Writable Book (@1)" +msgid "Writable Book" msgstr "" #: ../homedecor/books.lua @@ -1436,13 +1548,13 @@ msgstr "" #: ../homedecor/furniture.lua #, fuzzy -msgid "Kitchen chair (@1)" -msgstr "Kuechenschrank" +msgid "dark green" +msgstr "dunkelgruen" #: ../homedecor/furniture.lua #, fuzzy -msgid "Armchair (@1)" -msgstr "Sessel (%s)" +msgid "Kitchen chair" +msgstr "Kuechenschrank" #: ../homedecor/furniture.lua msgid "Bookshelf (open-frame)" @@ -1480,6 +1592,27 @@ msgstr "%s versuchte Zugang zu %s von %s zu bekommen bei %s" msgid "@1 (Locked)" msgstr "%s (verschlossen)" +#: ../homedecor/handlers/expansion.lua +msgid "Expansion placeholder (you hacker you!)" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the space for the headboard is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns the spot where the headboard goes." +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the upper space is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +#, fuzzy +msgid "Someone already owns that spot." +msgstr "Tut mir leid, %s gehoert diese Stelle." + #: ../homedecor/handlers/furnaces.lua msgid "Furnace" msgstr "" @@ -1512,48 +1645,43 @@ msgstr ": Produktfelder sind voll" msgid "Filing cabinet" msgstr "Unterschrank" -#: ../homedecor/bathroom_furniture.lua +#: ../homedecor/office.lua #, fuzzy -msgid "white/grey" -msgstr "weiss" +msgid "Desk" +msgstr "Tischlampe" -#: ../homedecor/bathroom_furniture.lua -msgid "white/dark grey" +#: ../homedecor/office.lua +msgid "Desk globe" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/black" +#: ../homedecor/office.lua +msgid "Calendar" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "black/dark grey" +#: ../homedecor/office.lua +msgid "" +"Date (right-click to update):\n" +"@1" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/red" -msgstr "weiss" - -#: ../homedecor/bathroom_furniture.lua -msgid "white/green" +#: ../homedecor/office.lua +msgid "Basic office chair" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/blue" -msgstr "weiss" +#: ../homedecor/office.lua +msgid "Upscale office chair" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "white/yellow" +msgid "Bathroom/kitchen tiles (dark)" msgstr "" #: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/tan" -msgstr "weiss" +msgid "Bathroom/kitchen tiles (medium)" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "Bathroom/kitchen tiles (@1)" +msgid "Bathroom/kitchen tiles (light)" msgstr "" #: ../homedecor/bathroom_furniture.lua @@ -1566,6 +1694,34 @@ msgid "Medicine cabinet" msgstr "Unterschrank" #, fuzzy +#~ msgid "white/grey" +#~ msgstr "weiss" + +#, fuzzy +#~ msgid "white/red" +#~ msgstr "weiss" + +#, fuzzy +#~ msgid "white/blue" +#~ msgstr "weiss" + +#, fuzzy +#~ msgid "white/tan" +#~ msgstr "weiss" + +#, fuzzy +#~ msgid "dark grey" +#~ msgstr "dunkelgruen" + +#, fuzzy +#~ msgid "light blue" +#~ msgstr "rechts" + +#, fuzzy +#~ msgid "Armchair (@1)" +#~ msgstr "Sessel (%s)" + +#, fuzzy #~ msgid "dark_grey" #~ msgstr "dunkelgruen" @@ -1697,9 +1853,6 @@ msgstr "Unterschrank" #~ msgid "someone " #~ msgstr "jemand" -#~ msgid "Sorry, %s owns that spot. " -#~ msgstr "Tut mir leid, %s gehoert diese Stelle." - #~ msgid "White Glowlight (small cube) " #~ msgstr "Weisse Gluehlampe (kleiner Wuerfel)" diff --git a/homedecor_i18n/locale/es.po b/homedecor_i18n/locale/es.po index 5c52b50..75944ad 100644 --- a/homedecor_i18n/locale/es.po +++ b/homedecor_i18n/locale/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"POT-Creation-Date: 2017-02-10 05:34-0300\n" "PO-Revision-Date: 2017-01-24 20:24-0300\n" "Last-Translator: Diego MartÃnez <kaeza@users.noreply.github.com>\n" "Language-Team: Spanish\n" @@ -276,7 +276,7 @@ msgstr "¡No hay lugar para colocar el sofá!" msgid "Loaded!" msgstr "¡Cargado!" -#: ../lrfurn/armchairs.lua +#: ../lrfurn/armchairs.lua ../homedecor/furniture.lua msgid "Armchair" msgstr "Sillón" @@ -313,89 +313,30 @@ msgid "Glowing Embers" msgstr "Brasas ardientes" #: ../fake_fire/init.lua -msgid "Flint and steel" -msgstr "Pedernal y acero" +msgid "Stone chimney top" +msgstr "Chimenea de piedra" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua -msgid "black" -msgstr "negra" +#: ../fake_fire/init.lua +msgid "Sandstone chimney top" +msgstr "Chimenea de arenisca" -#: ../homedecor/bedroom.lua ../homedecor/books.lua -msgid "brown" -msgstr "marrón" +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "Pedernal y acero" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua -msgid "blue" -msgstr "azul" +#: ../fake_fire/init.lua +msgid "This area is protected!" +msgstr "¡Ésta área está protegida!" #: ../homedecor/bedroom.lua -msgid "cyan" -msgstr "cian" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -msgid "dark grey" -msgstr "gris oscuro" - -#: ../homedecor/bedroom.lua ../homedecor/furniture.lua -msgid "dark green" -msgstr "verde oscuro" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/exterior.lua -#: ../homedecor/misc-nodes.lua ../homedecor/books.lua -msgid "green" -msgstr "verde" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua -msgid "grey" -msgstr "gris" +msgid "Bed" +msgstr "Cama" #: ../homedecor/bedroom.lua -msgid "magenta" -msgstr "magenta" +msgid "Bed (king sized)" +msgstr "Cama (tamaño grande)" #: ../homedecor/bedroom.lua -msgid "orange" -msgstr "naranja" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/furniture.lua -msgid "pink" -msgstr "rosa" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua -msgid "red" -msgstr "roja" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua -#: ../homedecor/furniture.lua -msgid "violet" -msgstr "violeta" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -msgid "white" -msgstr "blanca" - -#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua -msgid "yellow" -msgstr "amarilla" - -#: ../homedecor/bedroom.lua -msgid "Bed (@1)" -msgstr "Cama (@1)" - -#: ../homedecor/bedroom.lua -msgid "Bed (@1, king sized)" -msgstr "Cama (@1, tamaño rey)" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua msgid "mahogany" msgstr "caoba" @@ -452,6 +393,14 @@ msgid "Under-sink cabinet" msgstr "Gabinete bajo lavabo" #: ../homedecor/kitchen_furniture.lua +msgid "Copper pans" +msgstr "Sartenes de cobre" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Faucet" +msgstr "Grifo de cocina" + +#: ../homedecor/kitchen_furniture.lua msgid "Paper towels" msgstr "Toallas de papel" @@ -565,6 +514,18 @@ msgstr "Claraboya de cristal" msgid "Chimney" msgstr "Chimenea" +#: ../homedecor/electrics.lua +msgid "Power Outlet" +msgstr "Toma de corriente" + +#: ../homedecor/electrics.lua +msgid "Light switch" +msgstr "Interruptor de luz" + +#: ../homedecor/electrics.lua +msgid "Doorbell" +msgstr "Timbre" + #: ../homedecor/window_treatments.lua msgid "Window (quartered)" msgstr "Ventana (cuarteada)" @@ -583,7 +544,7 @@ msgstr "Persianas (finas)" #: ../homedecor/window_treatments.lua msgid "Curtains" -msgstr "Cortinas (@1)" +msgstr "Cortinas" #: ../homedecor/window_treatments.lua ../homedecor/fences.lua #: ../homedecor/misc-nodes.lua ../homedecor/tables.lua @@ -607,6 +568,32 @@ msgstr "Caja de flores de ventana" msgid "Stained Glass" msgstr "VÃdrio coloreado" +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/furniture.lua +msgid "red" +msgstr "roja" + +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "green" +msgstr "verde" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "blue" +msgstr "azul" + +#: ../homedecor/window_treatments.lua ../homedecor/lighting.lua +msgid "white" +msgstr "blanca" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "pink" +msgstr "rosa" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "violet" +msgstr "violeta" + #: ../homedecor/crafts.lua msgid "Uncooked Terracotta Base" msgstr "Base de terracota sin cocer" @@ -743,17 +730,45 @@ msgstr "DVD y reproductor de vÃdeo" msgid "Telephone" msgstr "Teléfono" +#: ../homedecor/cobweb.lua +msgid "Cobweb" +msgstr "Telaraña" + +#: ../homedecor/clocks.lua +msgid "Plastic analog clock" +msgstr "Reloj análogo de plástico" + +#: ../homedecor/clocks.lua +msgid "Wooden analog clock" +msgstr "Reloj análogo de madera" + +#: ../homedecor/clocks.lua +msgid "Digital clock" +msgstr "Reloj digital" + +#: ../homedecor/clocks.lua +msgid "Alarm clock" +msgstr "Reloj de alarma" + +#: ../homedecor/clocks.lua +msgid "Grandfather Clock" +msgstr "Reloj de péndulo" + +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +msgid "yellow" +msgstr "amarilla" + #: ../homedecor/lighting.lua msgid "Thick Glowlight" -msgstr "Luz brillante gruesa (@1)" +msgstr "Luz brillante gruesa" #: ../homedecor/lighting.lua msgid "Thin Glowlight" -msgstr "Luz brillante fina (@1)" +msgstr "Luz brillante fina" #: ../homedecor/lighting.lua msgid "Small Glowlight Cube" -msgstr "Cubo pequeño de luz brillante (@1)" +msgstr "Cubo pequeño de luz brillante" #: ../homedecor/lighting.lua msgid "Plasma Lamp" @@ -800,6 +815,10 @@ msgid "Hanging Lantern" msgstr "Linterna colgante" #: ../homedecor/lighting.lua +msgid "Ceiling Lantern" +msgstr "Linterna de techo" + +#: ../homedecor/lighting.lua msgid "Lattice lantern (large)" msgstr "Linterna enrejada (grande)" @@ -809,15 +828,15 @@ msgstr "Linterna enrejada (pequeña)" #: ../homedecor/lighting.lua msgid "Table Lamp" -msgstr "Lámpara de mesa (@1)" +msgstr "Lámpara de mesa" #: ../homedecor/lighting.lua msgid "Standing Lamp" msgstr "Lámpara de pié" #: ../homedecor/lighting.lua -msgid "Desk Lamp (@1)" -msgstr "Lámpara de escritorio (@1)" +msgid "Desk Lamp" +msgstr "Lámpara de escritorio" #: ../homedecor/lighting.lua msgid "Ceiling Lamp" @@ -884,20 +903,8 @@ msgid "Wrought Iron fence (type 2) Corner" msgstr "Esquina de cerca de hierro forjado (tipo 2)" #: ../homedecor/shutters.lua -msgid "unpainted oak" -msgstr "roble sin pintar" - -#: ../homedecor/shutters.lua -msgid "forest green" -msgstr "verde bosque" - -#: ../homedecor/shutters.lua -msgid "light blue" -msgstr "azul claro" - -#: ../homedecor/shutters.lua -msgid "Wooden Shutter (@1)" -msgstr "Postigo de madera (@1)" +msgid "Wooden Shutter" +msgstr "Postigo de madera" #: ../homedecor/exterior.lua msgid "Barbecue" @@ -1007,6 +1014,86 @@ msgstr "Calentador de espacios" msgid "Radiator heater" msgstr "Radiador" +#: ../homedecor/wardrobe.lua +msgid "Wardrobe" +msgstr "Guardarropa" + +#: ../homedecor/wardrobe.lua +msgid "Clothes" +msgstr "Ropa" + +#: ../homedecor/wardrobe.lua +msgid "Storage" +msgstr "Almacenamiento" + +#: ../homedecor/trash_cans.lua +msgid "Green Trash Can" +msgstr "Bote de basura verde" + +#: ../homedecor/trash_cans.lua +msgid "Trash Can" +msgstr "Bote de basura" + +#: ../homedecor/trash_cans.lua +msgid "Small Trash Can" +msgstr "Bote de basura pequeño" + +#: ../homedecor/gastronomy.lua +msgid "Cutlery set" +msgstr "CuberterÃa" + +#: ../homedecor/gastronomy.lua +msgid "Brown bottle" +msgstr "Botella marrón" + +#: ../homedecor/gastronomy.lua +msgid "Four brown bottles" +msgstr "Cuatro botellas marrones" + +#: ../homedecor/gastronomy.lua +msgid "Green bottle" +msgstr "Botella verde" + +#: ../homedecor/gastronomy.lua +msgid "Four green bottles" +msgstr "Cuatro botellas verdes" + +#: ../homedecor/gastronomy.lua +msgid "Four misc brown/green bottles" +msgstr "Cuatro botellas verdes/marrones" + +#: ../homedecor/gastronomy.lua +msgid "Wine rack" +msgstr "EstanterÃa de vino" + +#: ../homedecor/gastronomy.lua +msgid "Dartboard" +msgstr "Diana" + +#: ../homedecor/gastronomy.lua +msgid "Beer tap" +msgstr "Grifo de cerveza" + +#: ../homedecor/gastronomy.lua +msgid "Ahh, a frosty cold beer - look in your inventory for it!" +msgstr "¡Ah, una cerveza frÃa! La encontrarás en tu inventario." + +#: ../homedecor/gastronomy.lua +msgid "No room in your inventory to add a beer mug!" +msgstr "¡No hay lugar para tomar una jarra de cerveza!" + +#: ../homedecor/gastronomy.lua +msgid "Beer mug" +msgstr "Jarra de cerveza" + +#: ../homedecor/gastronomy.lua +msgid "Soda vending machine" +msgstr "Máquina expendedora de refrescos" + +#: ../homedecor/gastronomy.lua +msgid "Please insert a coin in the machine." +msgstr "Por favor introduzca una moneda en la máquina." + #: ../homedecor/doors_and_gates.lua msgid "Mahogany Closet Door (@1 opening)" msgstr "Puerta de armario de caoba (abre a la @1)" @@ -1099,6 +1186,26 @@ msgstr "Tatami" msgid "Japanese-style door" msgstr "Puerta estilo japonés" +#: ../homedecor/foyer.lua +msgid "Wall-mounted coat rack" +msgstr "Perchero de pared" + +#: ../homedecor/foyer.lua +msgid "Coat tree" +msgstr "Perchero de piso" + +#: ../homedecor/foyer.lua +msgid "Green welcome mat" +msgstr "Tapete verde de bienvenida" + +#: ../homedecor/foyer.lua +msgid "Brown welcome mat" +msgstr "Tapete marrón de bienvenida" + +#: ../homedecor/foyer.lua +msgid "Grey welcome mat" +msgstr "Tapete gris de bienvenida" + #: ../homedecor/misc-nodes.lua msgid "Textured Ceiling Paint" msgstr "Pintura de techo con textura" @@ -1123,6 +1230,10 @@ msgstr "persa" msgid "Rug (@1)" msgstr "Tapete (@1)" +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "negra" + #: ../homedecor/misc-nodes.lua msgid "Flower Pot (@1)" msgstr "Maceta (@1)" @@ -1280,8 +1391,8 @@ msgid "Legs for Utility Table" msgstr "Patas para mesa utilitaria" #: ../homedecor/books.lua -msgid "Writable Book (@1)" -msgstr "Libro (@1)" +msgid "Writable Book" +msgstr "Libro" #: ../homedecor/books.lua msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" @@ -1304,12 +1415,12 @@ msgid "plain" msgstr "liso" #: ../homedecor/furniture.lua -msgid "Kitchen chair (@1)" -msgstr "Silla de cocina (@1)" +msgid "dark green" +msgstr "verde oscuro" #: ../homedecor/furniture.lua -msgid "Armchair (@1)" -msgstr "Sillón (@1)" +msgid "Kitchen chair" +msgstr "Silla de cocina" #: ../homedecor/furniture.lua msgid "Bookshelf (open-frame)" @@ -1343,6 +1454,26 @@ msgstr "@1 intentó acceder a @2 perteneciente a @3 en @4" msgid "@1 (Locked)" msgstr "@1 (Cerrado)" +#: ../homedecor/handlers/expansion.lua +msgid "Expansion placeholder (you hacker you!)" +msgstr "Marcador temporal de expansión (¡Tu, hacker!)" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the space for the headboard is occupied!" +msgstr "No hay suficiente espacio - ¡El espacio para la cabecera está ocupado!" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns the spot where the headboard goes." +msgstr "Alguien ya es dueño del lugar donde va la cabecera." + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the upper space is occupied!" +msgstr "No hay suficiente espacio - ¡El espacio de encima está ocupado!" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns that spot." +msgstr "Alguien ya es dueño de ese lugar." + #: ../homedecor/handlers/furnaces.lua msgid "Furnace" msgstr "Horno" @@ -1365,51 +1496,51 @@ msgstr "@1 (sin combustible)" #: ../homedecor/handlers/furnaces.lua msgid "@1 (output bins are full)" -msgstr "@1 (output bins are full)" +msgstr "@1 (ranuras de salida llenas)" #: ../homedecor/office.lua msgid "Filing cabinet" msgstr "Archivador" -#: ../homedecor/bathroom_furniture.lua -msgid "white/grey" -msgstr "blanco/gris" - -#: ../homedecor/bathroom_furniture.lua -msgid "white/dark grey" -msgstr "blanco/gris oscuro" +#: ../homedecor/office.lua +msgid "Desk" +msgstr "Escritorio" -#: ../homedecor/bathroom_furniture.lua -msgid "white/black" -msgstr "blanco/negro" +#: ../homedecor/office.lua +msgid "Desk globe" +msgstr "Globo terráqueo" -#: ../homedecor/bathroom_furniture.lua -msgid "black/dark grey" -msgstr "negro/gris oscuro" +#: ../homedecor/office.lua +msgid "Calendar" +msgstr "Calendario" -#: ../homedecor/bathroom_furniture.lua -msgid "white/red" -msgstr "blanco/rojo" +#: ../homedecor/office.lua +msgid "" +"Date (right-click to update):\n" +"@1" +msgstr "" +"Fecha (clic derecho para actualizar):\n" +"@1" -#: ../homedecor/bathroom_furniture.lua -msgid "white/green" -msgstr "blanco/verde" +#: ../homedecor/office.lua +msgid "Basic office chair" +msgstr "Silla básica de oficina" -#: ../homedecor/bathroom_furniture.lua -msgid "white/blue" -msgstr "blanco/azul" +#: ../homedecor/office.lua +msgid "Upscale office chair" +msgstr "Silla grande de oficina" #: ../homedecor/bathroom_furniture.lua -msgid "white/yellow" -msgstr "blanco/amarillo" +msgid "Bathroom/kitchen tiles (dark)" +msgstr "Azulejo de baño/cocina (tonos oscuros)" #: ../homedecor/bathroom_furniture.lua -msgid "white/tan" -msgstr "blanco/marrón" +msgid "Bathroom/kitchen tiles (medium)" +msgstr "Azulejo de baño/cocina (tonos medios)" #: ../homedecor/bathroom_furniture.lua -msgid "Bathroom/kitchen tiles (@1)" -msgstr "Azulejo de baño/cocina (@1)" +msgid "Bathroom/kitchen tiles (light)" +msgstr "Azulejo de baño/cocina (tonos claros)" #: ../homedecor/bathroom_furniture.lua msgid "Towel rod with towel" @@ -1418,3 +1549,36 @@ msgstr "Toallero con toalla" #: ../homedecor/bathroom_furniture.lua msgid "Medicine cabinet" msgstr "Gabinete de medicinas" + +#~ msgid "grey" +#~ msgstr "gris" + +#~ msgid "brown" +#~ msgstr "marrón" + +#~ msgid "white/grey" +#~ msgstr "blanco/gris" + +#~ msgid "white/dark grey" +#~ msgstr "blanco/gris oscuro" + +#~ msgid "white/black" +#~ msgstr "blanco/negro" + +#~ msgid "black/dark grey" +#~ msgstr "negro/gris oscuro" + +#~ msgid "white/red" +#~ msgstr "blanco/rojo" + +#~ msgid "white/green" +#~ msgstr "blanco/verde" + +#~ msgid "white/blue" +#~ msgstr "blanco/azul" + +#~ msgid "white/yellow" +#~ msgstr "blanco/amarillo" + +#~ msgid "white/tan" +#~ msgstr "blanco/marrón" diff --git a/homedecor_i18n/locale/fr.po b/homedecor_i18n/locale/fr.po index 30a7809..a69fcd0 100644 --- a/homedecor_i18n/locale/fr.po +++ b/homedecor_i18n/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"POT-Creation-Date: 2017-02-10 05:34-0300\n" "PO-Revision-Date: 2017-01-25 00:03-0300\n" "Last-Translator: Calinou <Calinou@users.noreply.github.com>\n" "Language-Team: French\n" @@ -285,7 +285,7 @@ msgstr "" msgid "Loaded!" msgstr "Chargé !" -#: ../lrfurn/armchairs.lua +#: ../lrfurn/armchairs.lua ../homedecor/furniture.lua msgid "Armchair" msgstr "" @@ -324,96 +324,31 @@ msgid "Glowing Embers" msgstr "" #: ../fake_fire/init.lua -msgid "Flint and steel" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua -msgid "black" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/books.lua -msgid "brown" +msgid "Stone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua -#, fuzzy -msgid "blue" -msgstr "bleues" - -#: ../homedecor/bedroom.lua -msgid "cyan" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -msgid "dark grey" +#: ../fake_fire/init.lua +msgid "Sandstone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/furniture.lua -#, fuzzy -msgid "dark green" -msgstr "vertes" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/exterior.lua -#: ../homedecor/misc-nodes.lua ../homedecor/books.lua -#, fuzzy -msgid "green" -msgstr "vertes" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua -msgid "grey" +#: ../fake_fire/init.lua +msgid "Flint and steel" msgstr "" -#: ../homedecor/bedroom.lua -msgid "magenta" +#: ../fake_fire/init.lua +msgid "This area is protected!" msgstr "" #: ../homedecor/bedroom.lua -msgid "orange" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "pink" -msgstr "roses" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua #, fuzzy -msgid "red" +msgid "Bed" msgstr "rouges" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "violet" -msgstr "violettes" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#, fuzzy -msgid "white" -msgstr "blanches" - -#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua -msgid "yellow" -msgstr "" - #: ../homedecor/bedroom.lua -msgid "Bed (@1)" +msgid "Bed (king sized)" msgstr "" #: ../homedecor/bedroom.lua -msgid "Bed (@1, king sized)" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua msgid "mahogany" msgstr "" @@ -479,6 +414,15 @@ msgid "Under-sink cabinet" msgstr "Meuble sous évier" #: ../homedecor/kitchen_furniture.lua +msgid "Copper pans" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Faucet" +msgstr "Meuble de cuisine" + +#: ../homedecor/kitchen_furniture.lua msgid "Paper towels" msgstr "" @@ -603,6 +547,18 @@ msgstr "Bardeaux d'asphalte" msgid "Chimney" msgstr "" +#: ../homedecor/electrics.lua +msgid "Power Outlet" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Light switch" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Doorbell" +msgstr "" + #: ../homedecor/window_treatments.lua msgid "Window (quartered)" msgstr "" @@ -650,6 +606,38 @@ msgstr "" msgid "Stained Glass" msgstr "" +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "rouges" + +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "green" +msgstr "vertes" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "bleues" + +#: ../homedecor/window_treatments.lua ../homedecor/lighting.lua +#, fuzzy +msgid "white" +msgstr "blanches" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "roses" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "violettes" + #: ../homedecor/crafts.lua #, fuzzy msgid "Uncooked Terracotta Base" @@ -802,6 +790,34 @@ msgstr "" msgid "Telephone" msgstr "" +#: ../homedecor/cobweb.lua +msgid "Cobweb" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Plastic analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Wooden analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Digital clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Alarm clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Grandfather Clock" +msgstr "" + +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + #: ../homedecor/lighting.lua #, fuzzy msgid "Thick Glowlight" @@ -862,6 +878,11 @@ msgid "Hanging Lantern" msgstr "" #: ../homedecor/lighting.lua +#, fuzzy +msgid "Ceiling Lantern" +msgstr "Meuble sous évier" + +#: ../homedecor/lighting.lua msgid "Lattice lantern (large)" msgstr "" @@ -878,7 +899,7 @@ msgid "Standing Lamp" msgstr "" #: ../homedecor/lighting.lua -msgid "Desk Lamp (@1)" +msgid "Desk Lamp" msgstr "" #: ../homedecor/lighting.lua @@ -960,21 +981,8 @@ msgid "Wrought Iron fence (type 2) Corner" msgstr "Barrière en fer forgé" #: ../homedecor/shutters.lua -msgid "unpainted oak" -msgstr "" - -#: ../homedecor/shutters.lua -msgid "forest green" -msgstr "" - -#: ../homedecor/shutters.lua -#, fuzzy -msgid "light blue" -msgstr "droite" - -#: ../homedecor/shutters.lua #, fuzzy -msgid "Wooden Shutter (@1)" +msgid "Wooden Shutter" msgstr "Volet en bois (rouge)" #: ../homedecor/exterior.lua @@ -1086,6 +1094,86 @@ msgstr "" msgid "Radiator heater" msgstr "" +#: ../homedecor/wardrobe.lua +msgid "Wardrobe" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Clothes" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Storage" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Green Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Small Trash Can" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Cutlery set" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Brown bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four brown bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Green bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four misc brown/green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Wine rack" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Dartboard" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer tap" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Ahh, a frosty cold beer - look in your inventory for it!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "No room in your inventory to add a beer mug!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer mug" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Soda vending machine" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Please insert a coin in the machine." +msgstr "" + #: ../homedecor/doors_and_gates.lua #, fuzzy msgid "Mahogany Closet Door (@1 opening)" @@ -1193,6 +1281,26 @@ msgstr "" msgid "Japanese-style door" msgstr "" +#: ../homedecor/foyer.lua +msgid "Wall-mounted coat rack" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Coat tree" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Green welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Brown welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Grey welcome mat" +msgstr "" + #: ../homedecor/misc-nodes.lua #, fuzzy msgid "Textured Ceiling Paint" @@ -1219,6 +1327,10 @@ msgstr "" msgid "Rug (@1)" msgstr "" +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "" + #: ../homedecor/misc-nodes.lua msgid "Flower Pot (@1)" msgstr "" @@ -1386,7 +1498,7 @@ msgid "Legs for Utility Table" msgstr "Pieds pour table basse" #: ../homedecor/books.lua -msgid "Writable Book (@1)" +msgid "Writable Book" msgstr "" #: ../homedecor/books.lua @@ -1413,12 +1525,13 @@ msgstr "" #: ../homedecor/furniture.lua #, fuzzy -msgid "Kitchen chair (@1)" -msgstr "Meuble de cuisine" +msgid "dark green" +msgstr "vertes" #: ../homedecor/furniture.lua -msgid "Armchair (@1)" -msgstr "" +#, fuzzy +msgid "Kitchen chair" +msgstr "Meuble de cuisine" #: ../homedecor/furniture.lua msgid "Bookshelf (open-frame)" @@ -1456,6 +1569,27 @@ msgstr "%s a essayé d'accéder à %s qui est propriété de %s à %s" msgid "@1 (Locked)" msgstr "%s (verrouillé)" +#: ../homedecor/handlers/expansion.lua +msgid "Expansion placeholder (you hacker you!)" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the space for the headboard is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns the spot where the headboard goes." +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the upper space is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +#, fuzzy +msgid "Someone already owns that spot." +msgstr "Désolé, %s est propriétaire de cette zone." + #: ../homedecor/handlers/furnaces.lua msgid "Furnace" msgstr "" @@ -1486,48 +1620,42 @@ msgstr "" msgid "Filing cabinet" msgstr "Meuble sous évier" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/grey" -msgstr "blanches" - -#: ../homedecor/bathroom_furniture.lua -msgid "white/dark grey" +#: ../homedecor/office.lua +msgid "Desk" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/black" +#: ../homedecor/office.lua +msgid "Desk globe" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "black/dark grey" +#: ../homedecor/office.lua +msgid "Calendar" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/red" -msgstr "blanches" +#: ../homedecor/office.lua +msgid "" +"Date (right-click to update):\n" +"@1" +msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/green" +#: ../homedecor/office.lua +msgid "Basic office chair" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/blue" -msgstr "blanches" +#: ../homedecor/office.lua +msgid "Upscale office chair" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "white/yellow" +msgid "Bathroom/kitchen tiles (dark)" msgstr "" #: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/tan" -msgstr "blanches" +msgid "Bathroom/kitchen tiles (medium)" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "Bathroom/kitchen tiles (@1)" +msgid "Bathroom/kitchen tiles (light)" msgstr "" #: ../homedecor/bathroom_furniture.lua @@ -1540,6 +1668,26 @@ msgid "Medicine cabinet" msgstr "Meuble sous évier" #, fuzzy +#~ msgid "white/grey" +#~ msgstr "blanches" + +#, fuzzy +#~ msgid "white/red" +#~ msgstr "blanches" + +#, fuzzy +#~ msgid "white/blue" +#~ msgstr "blanches" + +#, fuzzy +#~ msgid "white/tan" +#~ msgstr "blanches" + +#, fuzzy +#~ msgid "light blue" +#~ msgstr "droite" + +#, fuzzy #~ msgid "dark_grey" #~ msgstr "vertes" @@ -1640,9 +1788,6 @@ msgstr "Meuble sous évier" #~ msgid "someone " #~ msgstr "quelqu'un" -#~ msgid "Sorry, %s owns that spot. " -#~ msgstr "Désolé, %s est propriétaire de cette zone." - #~ msgid "White Glowlight (small cube) " #~ msgstr "Lampe blanche (petit cube)" diff --git a/homedecor_i18n/locale/it.po b/homedecor_i18n/locale/it.po index 7492464..74cb57e 100644 --- a/homedecor_i18n/locale/it.po +++ b/homedecor_i18n/locale/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"POT-Creation-Date: 2017-02-10 05:34-0300\n" "PO-Revision-Date: 2017-01-25 00:03-0300\n" "Last-Translator: Emon <?>\n" "Language-Team: Italian\n" @@ -286,7 +286,7 @@ msgstr "" msgid "Loaded!" msgstr "Caricato!" -#: ../lrfurn/armchairs.lua +#: ../lrfurn/armchairs.lua ../homedecor/furniture.lua #, fuzzy msgid "Armchair" msgstr "Poltrona (%s)" @@ -326,98 +326,31 @@ msgid "Glowing Embers" msgstr "" #: ../fake_fire/init.lua -msgid "Flint and steel" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua -#, fuzzy -msgid "black" -msgstr "nero" - -#: ../homedecor/bedroom.lua ../homedecor/books.lua -msgid "brown" +msgid "Stone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua -#, fuzzy -msgid "blue" -msgstr "blu" - -#: ../homedecor/bedroom.lua -msgid "cyan" +#: ../fake_fire/init.lua +msgid "Sandstone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#, fuzzy -msgid "dark grey" -msgstr "verde scuro" - -#: ../homedecor/bedroom.lua ../homedecor/furniture.lua -#, fuzzy -msgid "dark green" -msgstr "verde scuro" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/exterior.lua -#: ../homedecor/misc-nodes.lua ../homedecor/books.lua -#, fuzzy -msgid "green" -msgstr "verde" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua -msgid "grey" +#: ../fake_fire/init.lua +msgid "Flint and steel" msgstr "" -#: ../homedecor/bedroom.lua -msgid "magenta" +#: ../fake_fire/init.lua +msgid "This area is protected!" msgstr "" #: ../homedecor/bedroom.lua -msgid "orange" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "pink" -msgstr "rosa" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua #, fuzzy -msgid "red" +msgid "Bed" msgstr "rosso" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "violet" -msgstr "viola" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#, fuzzy -msgid "white" -msgstr "bianco" - -#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua -msgid "yellow" -msgstr "" - #: ../homedecor/bedroom.lua -msgid "Bed (@1)" +msgid "Bed (king sized)" msgstr "" #: ../homedecor/bedroom.lua -msgid "Bed (@1, king sized)" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua msgid "mahogany" msgstr "" @@ -483,6 +416,15 @@ msgid "Under-sink cabinet" msgstr "Armadietto sotto il lavandino" #: ../homedecor/kitchen_furniture.lua +msgid "Copper pans" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Faucet" +msgstr "Armadietto della cucina" + +#: ../homedecor/kitchen_furniture.lua msgid "Paper towels" msgstr "" @@ -615,6 +557,18 @@ msgstr "Mattonelle di asfalto" msgid "Chimney" msgstr "" +#: ../homedecor/electrics.lua +msgid "Power Outlet" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Light switch" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Doorbell" +msgstr "" + #: ../homedecor/window_treatments.lua msgid "Window (quartered)" msgstr "" @@ -662,6 +616,38 @@ msgstr "" msgid "Stained Glass" msgstr "" +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "rosso" + +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "green" +msgstr "verde" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "blu" + +#: ../homedecor/window_treatments.lua ../homedecor/lighting.lua +#, fuzzy +msgid "white" +msgstr "bianco" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "rosa" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "viola" + #: ../homedecor/crafts.lua #, fuzzy msgid "Uncooked Terracotta Base" @@ -814,6 +800,34 @@ msgstr "" msgid "Telephone" msgstr "" +#: ../homedecor/cobweb.lua +msgid "Cobweb" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Plastic analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Wooden analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Digital clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Alarm clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Grandfather Clock" +msgstr "" + +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + #: ../homedecor/lighting.lua #, fuzzy msgid "Thick Glowlight" @@ -875,6 +889,11 @@ msgid "Hanging Lantern" msgstr "" #: ../homedecor/lighting.lua +#, fuzzy +msgid "Ceiling Lantern" +msgstr "Armadietto sotto il lavandino" + +#: ../homedecor/lighting.lua msgid "Lattice lantern (large)" msgstr "" @@ -892,8 +911,9 @@ msgid "Standing Lamp" msgstr "" #: ../homedecor/lighting.lua -msgid "Desk Lamp (@1)" -msgstr "" +#, fuzzy +msgid "Desk Lamp" +msgstr "Lampada da tavolo" #: ../homedecor/lighting.lua msgid "Ceiling Lamp" @@ -974,21 +994,8 @@ msgid "Wrought Iron fence (type 2) Corner" msgstr "Recinzione/ringhiera in ferro battuto" #: ../homedecor/shutters.lua -msgid "unpainted oak" -msgstr "" - -#: ../homedecor/shutters.lua -msgid "forest green" -msgstr "" - -#: ../homedecor/shutters.lua -#, fuzzy -msgid "light blue" -msgstr "destra" - -#: ../homedecor/shutters.lua #, fuzzy -msgid "Wooden Shutter (@1)" +msgid "Wooden Shutter" msgstr "Persiana in legno (rossa)" #: ../homedecor/exterior.lua @@ -1106,6 +1113,86 @@ msgstr "" msgid "Radiator heater" msgstr "" +#: ../homedecor/wardrobe.lua +msgid "Wardrobe" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Clothes" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Storage" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Green Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Small Trash Can" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Cutlery set" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Brown bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four brown bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Green bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four misc brown/green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Wine rack" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Dartboard" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer tap" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Ahh, a frosty cold beer - look in your inventory for it!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "No room in your inventory to add a beer mug!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer mug" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Soda vending machine" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Please insert a coin in the machine." +msgstr "" + #: ../homedecor/doors_and_gates.lua #, fuzzy msgid "Mahogany Closet Door (@1 opening)" @@ -1213,6 +1300,26 @@ msgstr "" msgid "Japanese-style door" msgstr "" +#: ../homedecor/foyer.lua +msgid "Wall-mounted coat rack" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Coat tree" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Green welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Brown welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Grey welcome mat" +msgstr "" + #: ../homedecor/misc-nodes.lua #, fuzzy msgid "Textured Ceiling Paint" @@ -1239,6 +1346,11 @@ msgstr "" msgid "Rug (@1)" msgstr "" +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +#, fuzzy +msgid "black" +msgstr "nero" + #: ../homedecor/misc-nodes.lua msgid "Flower Pot (@1)" msgstr "" @@ -1406,7 +1518,7 @@ msgid "Legs for Utility Table" msgstr "Gambe per il tavolo da lavoro" #: ../homedecor/books.lua -msgid "Writable Book (@1)" +msgid "Writable Book" msgstr "" #: ../homedecor/books.lua @@ -1434,13 +1546,13 @@ msgstr "" #: ../homedecor/furniture.lua #, fuzzy -msgid "Kitchen chair (@1)" -msgstr "Armadietto della cucina" +msgid "dark green" +msgstr "verde scuro" #: ../homedecor/furniture.lua #, fuzzy -msgid "Armchair (@1)" -msgstr "Poltrona (%s)" +msgid "Kitchen chair" +msgstr "Armadietto della cucina" #: ../homedecor/furniture.lua msgid "Bookshelf (open-frame)" @@ -1478,6 +1590,27 @@ msgstr "%s ha provato ad accedere a %s di proprietà di %s alla posizione %s" msgid "@1 (Locked)" msgstr "%s (Con lucchetto)" +#: ../homedecor/handlers/expansion.lua +msgid "Expansion placeholder (you hacker you!)" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the space for the headboard is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns the spot where the headboard goes." +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the upper space is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +#, fuzzy +msgid "Someone already owns that spot." +msgstr "Spiacente, quel punto è di proprietà di %s." + #: ../homedecor/handlers/furnaces.lua msgid "Furnace" msgstr "" @@ -1509,48 +1642,43 @@ msgstr "i contenitori sono pieni" msgid "Filing cabinet" msgstr "Armadietto sotto il lavandino" -#: ../homedecor/bathroom_furniture.lua +#: ../homedecor/office.lua #, fuzzy -msgid "white/grey" -msgstr "bianco" +msgid "Desk" +msgstr "Lampada da tavolo" -#: ../homedecor/bathroom_furniture.lua -msgid "white/dark grey" +#: ../homedecor/office.lua +msgid "Desk globe" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/black" +#: ../homedecor/office.lua +msgid "Calendar" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "black/dark grey" +#: ../homedecor/office.lua +msgid "" +"Date (right-click to update):\n" +"@1" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/red" -msgstr "bianco" - -#: ../homedecor/bathroom_furniture.lua -msgid "white/green" +#: ../homedecor/office.lua +msgid "Basic office chair" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/blue" -msgstr "bianco" +#: ../homedecor/office.lua +msgid "Upscale office chair" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "white/yellow" +msgid "Bathroom/kitchen tiles (dark)" msgstr "" #: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/tan" -msgstr "bianco" +msgid "Bathroom/kitchen tiles (medium)" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "Bathroom/kitchen tiles (@1)" +msgid "Bathroom/kitchen tiles (light)" msgstr "" #: ../homedecor/bathroom_furniture.lua @@ -1563,6 +1691,34 @@ msgid "Medicine cabinet" msgstr "Armadietto sotto il lavandino" #, fuzzy +#~ msgid "white/grey" +#~ msgstr "bianco" + +#, fuzzy +#~ msgid "white/red" +#~ msgstr "bianco" + +#, fuzzy +#~ msgid "white/blue" +#~ msgstr "bianco" + +#, fuzzy +#~ msgid "white/tan" +#~ msgstr "bianco" + +#, fuzzy +#~ msgid "dark grey" +#~ msgstr "verde scuro" + +#, fuzzy +#~ msgid "light blue" +#~ msgstr "destra" + +#, fuzzy +#~ msgid "Armchair (@1)" +#~ msgstr "Poltrona (%s)" + +#, fuzzy #~ msgid "dark_grey" #~ msgstr "verde scuro" @@ -1699,9 +1855,6 @@ msgstr "Armadietto sotto il lavandino" #~ msgid "someone " #~ msgstr "qualcuno" -#~ msgid "Sorry, %s owns that spot. " -#~ msgstr "Spiacente, quel punto è di proprietà di %s." - #~ msgid "White Glowlight (small cube) " #~ msgstr "Luce fosforescente bianca (cubo piccolo)" diff --git a/homedecor_i18n/locale/ms.po b/homedecor_i18n/locale/ms.po index c550a46..e4b1ec2 100644 --- a/homedecor_i18n/locale/ms.po +++ b/homedecor_i18n/locale/ms.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"POT-Creation-Date: 2017-02-10 05:34-0300\n" "PO-Revision-Date: 2017-01-25 00:03-0300\n" "Last-Translator: muhdnurhidayat <MuhdNurHidayat@users.noreply.github.com>\n" "Language-Team: Malay\n" @@ -285,7 +285,7 @@ msgstr "" msgid "Loaded!" msgstr "Telah Dimuatkan!" -#: ../lrfurn/armchairs.lua +#: ../lrfurn/armchairs.lua ../homedecor/furniture.lua #, fuzzy msgid "Armchair" msgstr "Kerusi Tangan (%s)" @@ -325,98 +325,31 @@ msgid "Glowing Embers" msgstr "" #: ../fake_fire/init.lua -msgid "Flint and steel" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua -#, fuzzy -msgid "black" -msgstr "Hitam" - -#: ../homedecor/bedroom.lua ../homedecor/books.lua -msgid "brown" +msgid "Stone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua -#, fuzzy -msgid "blue" -msgstr "biru" - -#: ../homedecor/bedroom.lua -msgid "cyan" +#: ../fake_fire/init.lua +msgid "Sandstone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#, fuzzy -msgid "dark grey" -msgstr "Hijau Gelap" - -#: ../homedecor/bedroom.lua ../homedecor/furniture.lua -#, fuzzy -msgid "dark green" -msgstr "Hijau Gelap" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/exterior.lua -#: ../homedecor/misc-nodes.lua ../homedecor/books.lua -#, fuzzy -msgid "green" -msgstr "hijau" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua -msgid "grey" +#: ../fake_fire/init.lua +msgid "Flint and steel" msgstr "" -#: ../homedecor/bedroom.lua -msgid "magenta" +#: ../fake_fire/init.lua +msgid "This area is protected!" msgstr "" #: ../homedecor/bedroom.lua -msgid "orange" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "pink" -msgstr "merah jambu" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua #, fuzzy -msgid "red" +msgid "Bed" msgstr "merah" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua -#: ../homedecor/furniture.lua -#, fuzzy -msgid "violet" -msgstr "ungu" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#, fuzzy -msgid "white" -msgstr "putih" - -#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua -msgid "yellow" -msgstr "" - #: ../homedecor/bedroom.lua -msgid "Bed (@1)" +msgid "Bed (king sized)" msgstr "" #: ../homedecor/bedroom.lua -msgid "Bed (@1, king sized)" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua msgid "mahogany" msgstr "" @@ -482,6 +415,15 @@ msgid "Under-sink cabinet" msgstr "Kabinet Bawah Sinki" #: ../homedecor/kitchen_furniture.lua +msgid "Copper pans" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Faucet" +msgstr "Kabinet Dapur" + +#: ../homedecor/kitchen_furniture.lua msgid "Paper towels" msgstr "" @@ -614,6 +556,18 @@ msgstr "Genting Asfalt" msgid "Chimney" msgstr "" +#: ../homedecor/electrics.lua +msgid "Power Outlet" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Light switch" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Doorbell" +msgstr "" + #: ../homedecor/window_treatments.lua msgid "Window (quartered)" msgstr "" @@ -661,6 +615,38 @@ msgstr "" msgid "Stained Glass" msgstr "" +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "merah" + +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "green" +msgstr "hijau" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "biru" + +#: ../homedecor/window_treatments.lua ../homedecor/lighting.lua +#, fuzzy +msgid "white" +msgstr "putih" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "merah jambu" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "ungu" + #: ../homedecor/crafts.lua #, fuzzy msgid "Uncooked Terracotta Base" @@ -813,6 +799,34 @@ msgstr "" msgid "Telephone" msgstr "" +#: ../homedecor/cobweb.lua +msgid "Cobweb" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Plastic analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Wooden analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Digital clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Alarm clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Grandfather Clock" +msgstr "" + +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + #: ../homedecor/lighting.lua #, fuzzy msgid "Thick Glowlight" @@ -874,6 +888,11 @@ msgid "Hanging Lantern" msgstr "" #: ../homedecor/lighting.lua +#, fuzzy +msgid "Ceiling Lantern" +msgstr "Kabinet Bawah Sinki" + +#: ../homedecor/lighting.lua msgid "Lattice lantern (large)" msgstr "" @@ -891,8 +910,9 @@ msgid "Standing Lamp" msgstr "" #: ../homedecor/lighting.lua -msgid "Desk Lamp (@1)" -msgstr "" +#, fuzzy +msgid "Desk Lamp" +msgstr "Lampu Meja" #: ../homedecor/lighting.lua msgid "Ceiling Lamp" @@ -973,21 +993,8 @@ msgid "Wrought Iron fence (type 2) Corner" msgstr "Pagar/Kisi-kisi Besi Tempaan" #: ../homedecor/shutters.lua -msgid "unpainted oak" -msgstr "" - -#: ../homedecor/shutters.lua -msgid "forest green" -msgstr "" - -#: ../homedecor/shutters.lua -#, fuzzy -msgid "light blue" -msgstr "kanan" - -#: ../homedecor/shutters.lua #, fuzzy -msgid "Wooden Shutter (@1)" +msgid "Wooden Shutter" msgstr "Pengatup Kayu (Merah)" #: ../homedecor/exterior.lua @@ -1105,6 +1112,86 @@ msgstr "" msgid "Radiator heater" msgstr "" +#: ../homedecor/wardrobe.lua +msgid "Wardrobe" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Clothes" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Storage" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Green Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Small Trash Can" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Cutlery set" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Brown bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four brown bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Green bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four misc brown/green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Wine rack" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Dartboard" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer tap" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Ahh, a frosty cold beer - look in your inventory for it!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "No room in your inventory to add a beer mug!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer mug" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Soda vending machine" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Please insert a coin in the machine." +msgstr "" + #: ../homedecor/doors_and_gates.lua #, fuzzy msgid "Mahogany Closet Door (@1 opening)" @@ -1212,6 +1299,26 @@ msgstr "" msgid "Japanese-style door" msgstr "" +#: ../homedecor/foyer.lua +msgid "Wall-mounted coat rack" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Coat tree" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Green welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Brown welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Grey welcome mat" +msgstr "" + #: ../homedecor/misc-nodes.lua #, fuzzy msgid "Textured Ceiling Paint" @@ -1238,6 +1345,11 @@ msgstr "" msgid "Rug (@1)" msgstr "" +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +#, fuzzy +msgid "black" +msgstr "Hitam" + #: ../homedecor/misc-nodes.lua msgid "Flower Pot (@1)" msgstr "" @@ -1405,7 +1517,7 @@ msgid "Legs for Utility Table" msgstr "Kaki untuk Meja Utiliti" #: ../homedecor/books.lua -msgid "Writable Book (@1)" +msgid "Writable Book" msgstr "" #: ../homedecor/books.lua @@ -1433,13 +1545,13 @@ msgstr "" #: ../homedecor/furniture.lua #, fuzzy -msgid "Kitchen chair (@1)" -msgstr "Kabinet Dapur" +msgid "dark green" +msgstr "Hijau Gelap" #: ../homedecor/furniture.lua #, fuzzy -msgid "Armchair (@1)" -msgstr "Kerusi Tangan (%s)" +msgid "Kitchen chair" +msgstr "Kabinet Dapur" #: ../homedecor/furniture.lua msgid "Bookshelf (open-frame)" @@ -1477,6 +1589,27 @@ msgstr "%s cuba untuk pakai %s milik %s dekat %s" msgid "@1 (Locked)" msgstr "%s (Berkunci)" +#: ../homedecor/handlers/expansion.lua +msgid "Expansion placeholder (you hacker you!)" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the space for the headboard is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns the spot where the headboard goes." +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the upper space is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +#, fuzzy +msgid "Someone already owns that spot." +msgstr "Maaf, ini kawasan %s." + #: ../homedecor/handlers/furnaces.lua msgid "Furnace" msgstr "" @@ -1509,48 +1642,43 @@ msgstr ": dulang keluar penuh" msgid "Filing cabinet" msgstr "Kabinet Bawah Sinki" -#: ../homedecor/bathroom_furniture.lua +#: ../homedecor/office.lua #, fuzzy -msgid "white/grey" -msgstr "putih" +msgid "Desk" +msgstr "Lampu Meja" -#: ../homedecor/bathroom_furniture.lua -msgid "white/dark grey" +#: ../homedecor/office.lua +msgid "Desk globe" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/black" +#: ../homedecor/office.lua +msgid "Calendar" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "black/dark grey" +#: ../homedecor/office.lua +msgid "" +"Date (right-click to update):\n" +"@1" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/red" -msgstr "putih" - -#: ../homedecor/bathroom_furniture.lua -msgid "white/green" +#: ../homedecor/office.lua +msgid "Basic office chair" msgstr "" -#: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/blue" -msgstr "putih" +#: ../homedecor/office.lua +msgid "Upscale office chair" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "white/yellow" +msgid "Bathroom/kitchen tiles (dark)" msgstr "" #: ../homedecor/bathroom_furniture.lua -#, fuzzy -msgid "white/tan" -msgstr "putih" +msgid "Bathroom/kitchen tiles (medium)" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "Bathroom/kitchen tiles (@1)" +msgid "Bathroom/kitchen tiles (light)" msgstr "" #: ../homedecor/bathroom_furniture.lua @@ -1563,6 +1691,34 @@ msgid "Medicine cabinet" msgstr "Kabinet Bawah Sinki" #, fuzzy +#~ msgid "white/grey" +#~ msgstr "putih" + +#, fuzzy +#~ msgid "white/red" +#~ msgstr "putih" + +#, fuzzy +#~ msgid "white/blue" +#~ msgstr "putih" + +#, fuzzy +#~ msgid "white/tan" +#~ msgstr "putih" + +#, fuzzy +#~ msgid "dark grey" +#~ msgstr "Hijau Gelap" + +#, fuzzy +#~ msgid "light blue" +#~ msgstr "kanan" + +#, fuzzy +#~ msgid "Armchair (@1)" +#~ msgstr "Kerusi Tangan (%s)" + +#, fuzzy #~ msgid "dark_grey" #~ msgstr "Hijau Gelap" @@ -1699,9 +1855,6 @@ msgstr "Kabinet Bawah Sinki" #~ msgid "someone " #~ msgstr "seseorang" -#~ msgid "Sorry, %s owns that spot. " -#~ msgstr "Maaf, ini kawasan %s." - #~ msgid "White Glowlight (small cube) " #~ msgstr "Lampu Bara Putih (kiub kecil)" diff --git a/homedecor_i18n/locale/pt.po b/homedecor_i18n/locale/pt.po index a343f54..ccd4cd5 100644 --- a/homedecor_i18n/locale/pt.po +++ b/homedecor_i18n/locale/pt.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"POT-Creation-Date: 2017-02-10 05:34-0300\n" "PO-Revision-Date: 2017-01-29 00:21-0200\n" "Last-Translator: Aracnus <frederico@teia.bio.br>\n" "Language-Team: Portuguese\n" @@ -298,7 +298,7 @@ msgstr "" msgid "Loaded!" msgstr "Carregado!" -#: ../lrfurn/armchairs.lua +#: ../lrfurn/armchairs.lua ../homedecor/furniture.lua #, fuzzy msgid "Armchair" msgstr "Poltrona (@1)" @@ -338,89 +338,32 @@ msgid "Glowing Embers" msgstr "" #: ../fake_fire/init.lua -msgid "Flint and steel" +msgid "Stone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua -msgid "black" -msgstr "preto" - -#: ../homedecor/bedroom.lua ../homedecor/books.lua -msgid "brown" -msgstr "marrom" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua -msgid "blue" -msgstr "azul" - -#: ../homedecor/bedroom.lua -msgid "cyan" -msgstr "ciano\t\t" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -msgid "dark grey" -msgstr "cinza escuro" - -#: ../homedecor/bedroom.lua ../homedecor/furniture.lua -msgid "dark green" -msgstr "verde escuro" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/exterior.lua -#: ../homedecor/misc-nodes.lua ../homedecor/books.lua -msgid "green" -msgstr "verde" +#: ../fake_fire/init.lua +msgid "Sandstone chimney top" +msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua -msgid "grey" -msgstr "cinza" +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "" -#: ../homedecor/bedroom.lua -msgid "magenta" -msgstr "magenta" +#: ../fake_fire/init.lua +msgid "This area is protected!" +msgstr "" #: ../homedecor/bedroom.lua -msgid "orange" -msgstr "laranja" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/furniture.lua -msgid "pink" -msgstr "rosa" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua -msgid "red" +#, fuzzy +msgid "Bed" msgstr "vermelho" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua -#: ../homedecor/furniture.lua -msgid "violet" -msgstr "violeta" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -msgid "white" -msgstr "branco" - -#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua -msgid "yellow" -msgstr "amarelo" - #: ../homedecor/bedroom.lua -msgid "Bed (@1)" -msgstr "Cama (@1)" - -#: ../homedecor/bedroom.lua -msgid "Bed (@1, king sized)" +#, fuzzy +msgid "Bed (king sized)" msgstr "Cama (@1, aumentada)" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/bedroom.lua msgid "mahogany" msgstr "mogno" @@ -477,6 +420,16 @@ msgid "Under-sink cabinet" msgstr "Armário sob a Pia" #: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Copper pans" +msgstr "Tira de Cobre" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Faucet" +msgstr "Armário de Cozinha" + +#: ../homedecor/kitchen_furniture.lua msgid "Paper towels" msgstr "Papel toalha" @@ -590,6 +543,19 @@ msgstr "Telhas de Vidro" msgid "Chimney" msgstr "Chaminé" +#: ../homedecor/electrics.lua +#, fuzzy +msgid "Power Outlet" +msgstr "Cristal de Força" + +#: ../homedecor/electrics.lua +msgid "Light switch" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Doorbell" +msgstr "" + #: ../homedecor/window_treatments.lua msgid "Window (quartered)" msgstr "Janela Dividida" @@ -633,6 +599,32 @@ msgstr "Janela com Caixa de Flores" msgid "Stained Glass" msgstr "Vitral" +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/furniture.lua +msgid "red" +msgstr "vermelho" + +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "green" +msgstr "verde" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "blue" +msgstr "azul" + +#: ../homedecor/window_treatments.lua ../homedecor/lighting.lua +msgid "white" +msgstr "branco" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "pink" +msgstr "rosa" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "violet" +msgstr "violeta" + #: ../homedecor/crafts.lua msgid "Uncooked Terracotta Base" msgstr "Base Bruta de Terracota" @@ -769,6 +761,34 @@ msgstr "DVD e VCR" msgid "Telephone" msgstr "Telefone" +#: ../homedecor/cobweb.lua +msgid "Cobweb" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Plastic analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Wooden analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Digital clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Alarm clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Grandfather Clock" +msgstr "" + +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +msgid "yellow" +msgstr "amarelo" + #: ../homedecor/lighting.lua #, fuzzy msgid "Thick Glowlight" @@ -829,6 +849,11 @@ msgid "Hanging Lantern" msgstr "Lanterna de Parede" #: ../homedecor/lighting.lua +#, fuzzy +msgid "Ceiling Lantern" +msgstr "Ventilador de Teto" + +#: ../homedecor/lighting.lua msgid "Lattice lantern (large)" msgstr "Lanterna com gelosia (grande)" @@ -847,7 +872,8 @@ msgid "Standing Lamp" msgstr "Luminária Elevada (@1)" #: ../homedecor/lighting.lua -msgid "Desk Lamp (@1)" +#, fuzzy +msgid "Desk Lamp" msgstr "Luminária de Escritório (@1)" #: ../homedecor/lighting.lua @@ -915,19 +941,8 @@ msgid "Wrought Iron fence (type 2) Corner" msgstr "Cerca de Ferro Forjado (tipo 2) de Canto" #: ../homedecor/shutters.lua -msgid "unpainted oak" -msgstr "carvalho não pintado" - -#: ../homedecor/shutters.lua -msgid "forest green" -msgstr "verde floresta" - -#: ../homedecor/shutters.lua -msgid "light blue" -msgstr "azul claro" - -#: ../homedecor/shutters.lua -msgid "Wooden Shutter (@1)" +#, fuzzy +msgid "Wooden Shutter" msgstr "Persiana de Madeira (@1)" #: ../homedecor/exterior.lua @@ -1038,6 +1053,89 @@ msgstr "Aquecedor de ambiente" msgid "Radiator heater" msgstr "Aquecedor de radiador" +#: ../homedecor/wardrobe.lua +msgid "Wardrobe" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Clothes" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Storage" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Green Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +#, fuzzy +msgid "Trash Can" +msgstr "Vela Fina" + +#: ../homedecor/trash_cans.lua +msgid "Small Trash Can" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Cutlery set" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Brown bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four brown bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Green bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four misc brown/green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Wine rack" +msgstr "" + +#: ../homedecor/gastronomy.lua +#, fuzzy +msgid "Dartboard" +msgstr "Skate" + +#: ../homedecor/gastronomy.lua +msgid "Beer tap" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Ahh, a frosty cold beer - look in your inventory for it!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "No room in your inventory to add a beer mug!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer mug" +msgstr "" + +#: ../homedecor/gastronomy.lua +#, fuzzy +msgid "Soda vending machine" +msgstr "Moeda de Ouro (para máquina de venda de refrigerante)" + +#: ../homedecor/gastronomy.lua +msgid "Please insert a coin in the machine." +msgstr "" + #: ../homedecor/doors_and_gates.lua msgid "Mahogany Closet Door (@1 opening)" msgstr "Porta de Closet em Mogno (abre para @1)" @@ -1130,6 +1228,26 @@ msgstr "Tatami Japonês" msgid "Japanese-style door" msgstr "Porta estilo japonês" +#: ../homedecor/foyer.lua +msgid "Wall-mounted coat rack" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Coat tree" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Green welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Brown welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Grey welcome mat" +msgstr "" + #: ../homedecor/misc-nodes.lua msgid "Textured Ceiling Paint" msgstr "Pintura Texturizada do Teto" @@ -1154,6 +1272,10 @@ msgstr "persiana" msgid "Rug (@1)" msgstr "Carpete (@1)" +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "preto" + #: ../homedecor/misc-nodes.lua msgid "Flower Pot (@1)" msgstr "Vaso de Flores" @@ -1311,7 +1433,8 @@ msgid "Legs for Utility Table" msgstr "Pernas para Mesa de Trabalho" #: ../homedecor/books.lua -msgid "Writable Book (@1)" +#, fuzzy +msgid "Writable Book" msgstr "Livro ConsumÃvel (@1)" #: ../homedecor/books.lua @@ -1335,12 +1458,13 @@ msgid "plain" msgstr "Sem Acabamento" #: ../homedecor/furniture.lua -msgid "Kitchen chair (@1)" -msgstr "Cadeira de Cozinha (@1)" +msgid "dark green" +msgstr "verde escuro" #: ../homedecor/furniture.lua -msgid "Armchair (@1)" -msgstr "Poltrona (@1)" +#, fuzzy +msgid "Kitchen chair" +msgstr "Cadeira de Cozinha (@1)" #: ../homedecor/furniture.lua msgid "Bookshelf (open-frame)" @@ -1374,6 +1498,27 @@ msgstr "@1 tentou acessar @2 pertencente a @3 em @4" msgid "@1 (Locked)" msgstr "@1 (trancado)" +#: ../homedecor/handlers/expansion.lua +msgid "Expansion placeholder (you hacker you!)" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the space for the headboard is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns the spot where the headboard goes." +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the upper space is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +#, fuzzy +msgid "Someone already owns that spot." +msgstr "Desculpe, mas esse local pertence a %s." + #: ../homedecor/handlers/furnaces.lua msgid "Furnace" msgstr "Forno" @@ -1402,44 +1547,46 @@ msgstr "@1 (saÃda de itens está lotada)" msgid "Filing cabinet" msgstr "Armário sob a Pia" -#: ../homedecor/bathroom_furniture.lua -msgid "white/grey" -msgstr "branco/cinza" - -#: ../homedecor/bathroom_furniture.lua -msgid "white/dark grey" -msgstr "branco/cinza escuro" +#: ../homedecor/office.lua +#, fuzzy +msgid "Desk" +msgstr "Ventilador de Escritório" -#: ../homedecor/bathroom_furniture.lua -msgid "white/black" -msgstr "branco/preto" +#: ../homedecor/office.lua +msgid "Desk globe" +msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "black/dark grey" -msgstr "preto/cinza escuro" +#: ../homedecor/office.lua +msgid "Calendar" +msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/red" -msgstr "branco/vermelho" +#: ../homedecor/office.lua +msgid "" +"Date (right-click to update):\n" +"@1" +msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/green" -msgstr "branco/verde" +#: ../homedecor/office.lua +msgid "Basic office chair" +msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/blue" -msgstr "branco/azul" +#: ../homedecor/office.lua +msgid "Upscale office chair" +msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "white/yellow" -msgstr "branco/amarelo" +#, fuzzy +msgid "Bathroom/kitchen tiles (dark)" +msgstr "Azulejo de Banheiro/Cozinha (@1)" #: ../homedecor/bathroom_furniture.lua -msgid "white/tan" -msgstr "branco/bronzeado" +#, fuzzy +msgid "Bathroom/kitchen tiles (medium)" +msgstr "Azulejo de Banheiro/Cozinha (@1)" #: ../homedecor/bathroom_furniture.lua -msgid "Bathroom/kitchen tiles (@1)" +#, fuzzy +msgid "Bathroom/kitchen tiles (light)" msgstr "Azulejo de Banheiro/Cozinha (@1)" #: ../homedecor/bathroom_furniture.lua @@ -1450,6 +1597,66 @@ msgstr "Tolo de Toalha com Toalha" msgid "Medicine cabinet" msgstr "Gabinete Medicinal" +#~ msgid "grey" +#~ msgstr "cinza" + +#~ msgid "brown" +#~ msgstr "marrom" + +#~ msgid "white/grey" +#~ msgstr "branco/cinza" + +#~ msgid "white/dark grey" +#~ msgstr "branco/cinza escuro" + +#~ msgid "white/black" +#~ msgstr "branco/preto" + +#~ msgid "black/dark grey" +#~ msgstr "preto/cinza escuro" + +#~ msgid "white/red" +#~ msgstr "branco/vermelho" + +#~ msgid "white/green" +#~ msgstr "branco/verde" + +#~ msgid "white/blue" +#~ msgstr "branco/azul" + +#~ msgid "white/yellow" +#~ msgstr "branco/amarelo" + +#~ msgid "white/tan" +#~ msgstr "branco/bronzeado" + +#~ msgid "cyan" +#~ msgstr "ciano\t\t" + +#~ msgid "dark grey" +#~ msgstr "cinza escuro" + +#~ msgid "magenta" +#~ msgstr "magenta" + +#~ msgid "orange" +#~ msgstr "laranja" + +#~ msgid "Bed (@1)" +#~ msgstr "Cama (@1)" + +#~ msgid "unpainted oak" +#~ msgstr "carvalho não pintado" + +#~ msgid "forest green" +#~ msgstr "verde floresta" + +#~ msgid "light blue" +#~ msgstr "azul claro" + +#~ msgid "Armchair (@1)" +#~ msgstr "Poltrona (@1)" + #, fuzzy #~ msgid "dark_grey" #~ msgstr "cinza escuro" @@ -1557,9 +1764,6 @@ msgstr "Gabinete Medicinal" #~ msgid "someone " #~ msgstr "alguém" -#~ msgid "Sorry, %s owns that spot. " -#~ msgstr "Desculpe, mas esse local pertence a %s." - #~ msgid "White Glowlight (small cube) " #~ msgstr "Arandela branca (cubo pequeno)" diff --git a/homedecor_i18n/locale/template.pot b/homedecor_i18n/locale/template.pot index bde49c5..b4d754f 100644 --- a/homedecor_i18n/locale/template.pot +++ b/homedecor_i18n/locale/template.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"POT-Creation-Date: 2017-02-10 05:34-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -276,7 +276,7 @@ msgstr "" msgid "Loaded!" msgstr "" -#: ../lrfurn/armchairs.lua +#: ../lrfurn/armchairs.lua ../homedecor/furniture.lua msgid "Armchair" msgstr "" @@ -313,89 +313,30 @@ msgid "Glowing Embers" msgstr "" #: ../fake_fire/init.lua -msgid "Flint and steel" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua -msgid "black" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/books.lua -msgid "brown" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua -msgid "blue" -msgstr "" - -#: ../homedecor/bedroom.lua -msgid "cyan" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua -msgid "dark grey" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/furniture.lua -msgid "dark green" +msgid "Stone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/exterior.lua -#: ../homedecor/misc-nodes.lua ../homedecor/books.lua -msgid "green" +#: ../fake_fire/init.lua +msgid "Sandstone chimney top" msgstr "" -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua -msgid "grey" +#: ../fake_fire/init.lua +msgid "Flint and steel" msgstr "" -#: ../homedecor/bedroom.lua -msgid "magenta" +#: ../fake_fire/init.lua +msgid "This area is protected!" msgstr "" #: ../homedecor/bedroom.lua -msgid "orange" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/furniture.lua -msgid "pink" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua -msgid "red" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua -#: ../homedecor/furniture.lua -msgid "violet" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua -#: ../homedecor/lighting.lua ../homedecor/shutters.lua -msgid "white" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua -#: ../homedecor/exterior.lua -msgid "yellow" +msgid "Bed" msgstr "" #: ../homedecor/bedroom.lua -msgid "Bed (@1)" +msgid "Bed (king sized)" msgstr "" #: ../homedecor/bedroom.lua -msgid "Bed (@1, king sized)" -msgstr "" - -#: ../homedecor/bedroom.lua ../homedecor/shutters.lua msgid "mahogany" msgstr "" @@ -452,6 +393,14 @@ msgid "Under-sink cabinet" msgstr "" #: ../homedecor/kitchen_furniture.lua +msgid "Copper pans" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Faucet" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua msgid "Paper towels" msgstr "" @@ -565,6 +514,18 @@ msgstr "" msgid "Chimney" msgstr "" +#: ../homedecor/electrics.lua +msgid "Power Outlet" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Light switch" +msgstr "" + +#: ../homedecor/electrics.lua +msgid "Doorbell" +msgstr "" + #: ../homedecor/window_treatments.lua msgid "Window (quartered)" msgstr "" @@ -607,6 +568,32 @@ msgstr "" msgid "Stained Glass" msgstr "" +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/furniture.lua +msgid "red" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "green" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "blue" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/lighting.lua +msgid "white" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "pink" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/furniture.lua +msgid "violet" +msgstr "" + #: ../homedecor/crafts.lua msgid "Uncooked Terracotta Base" msgstr "" @@ -743,6 +730,34 @@ msgstr "" msgid "Telephone" msgstr "" +#: ../homedecor/cobweb.lua +msgid "Cobweb" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Plastic analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Wooden analog clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Digital clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Alarm clock" +msgstr "" + +#: ../homedecor/clocks.lua +msgid "Grandfather Clock" +msgstr "" + +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + #: ../homedecor/lighting.lua msgid "Thick Glowlight" msgstr "" @@ -800,6 +815,10 @@ msgid "Hanging Lantern" msgstr "" #: ../homedecor/lighting.lua +msgid "Ceiling Lantern" +msgstr "" + +#: ../homedecor/lighting.lua msgid "Lattice lantern (large)" msgstr "" @@ -816,7 +835,7 @@ msgid "Standing Lamp" msgstr "" #: ../homedecor/lighting.lua -msgid "Desk Lamp (@1)" +msgid "Desk Lamp" msgstr "" #: ../homedecor/lighting.lua @@ -884,19 +903,7 @@ msgid "Wrought Iron fence (type 2) Corner" msgstr "" #: ../homedecor/shutters.lua -msgid "unpainted oak" -msgstr "" - -#: ../homedecor/shutters.lua -msgid "forest green" -msgstr "" - -#: ../homedecor/shutters.lua -msgid "light blue" -msgstr "" - -#: ../homedecor/shutters.lua -msgid "Wooden Shutter (@1)" +msgid "Wooden Shutter" msgstr "" #: ../homedecor/exterior.lua @@ -1007,6 +1014,86 @@ msgstr "" msgid "Radiator heater" msgstr "" +#: ../homedecor/wardrobe.lua +msgid "Wardrobe" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Clothes" +msgstr "" + +#: ../homedecor/wardrobe.lua +msgid "Storage" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Green Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Trash Can" +msgstr "" + +#: ../homedecor/trash_cans.lua +msgid "Small Trash Can" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Cutlery set" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Brown bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four brown bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Green bottle" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Four misc brown/green bottles" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Wine rack" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Dartboard" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer tap" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Ahh, a frosty cold beer - look in your inventory for it!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "No room in your inventory to add a beer mug!" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Beer mug" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Soda vending machine" +msgstr "" + +#: ../homedecor/gastronomy.lua +msgid "Please insert a coin in the machine." +msgstr "" + #: ../homedecor/doors_and_gates.lua msgid "Mahogany Closet Door (@1 opening)" msgstr "" @@ -1099,6 +1186,26 @@ msgstr "" msgid "Japanese-style door" msgstr "" +#: ../homedecor/foyer.lua +msgid "Wall-mounted coat rack" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Coat tree" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Green welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Brown welcome mat" +msgstr "" + +#: ../homedecor/foyer.lua +msgid "Grey welcome mat" +msgstr "" + #: ../homedecor/misc-nodes.lua msgid "Textured Ceiling Paint" msgstr "" @@ -1123,6 +1230,10 @@ msgstr "" msgid "Rug (@1)" msgstr "" +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "" + #: ../homedecor/misc-nodes.lua msgid "Flower Pot (@1)" msgstr "" @@ -1280,7 +1391,7 @@ msgid "Legs for Utility Table" msgstr "" #: ../homedecor/books.lua -msgid "Writable Book (@1)" +msgid "Writable Book" msgstr "" #: ../homedecor/books.lua @@ -1304,11 +1415,11 @@ msgid "plain" msgstr "" #: ../homedecor/furniture.lua -msgid "Kitchen chair (@1)" +msgid "dark green" msgstr "" #: ../homedecor/furniture.lua -msgid "Armchair (@1)" +msgid "Kitchen chair" msgstr "" #: ../homedecor/furniture.lua @@ -1343,6 +1454,26 @@ msgstr "" msgid "@1 (Locked)" msgstr "" +#: ../homedecor/handlers/expansion.lua +msgid "Expansion placeholder (you hacker you!)" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the space for the headboard is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns the spot where the headboard goes." +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Not enough room - the upper space is occupied!" +msgstr "" + +#: ../homedecor/handlers/expansion.lua +msgid "Someone already owns that spot." +msgstr "" + #: ../homedecor/handlers/furnaces.lua msgid "Furnace" msgstr "" @@ -1371,44 +1502,42 @@ msgstr "" msgid "Filing cabinet" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/grey" -msgstr "" - -#: ../homedecor/bathroom_furniture.lua -msgid "white/dark grey" +#: ../homedecor/office.lua +msgid "Desk" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/black" +#: ../homedecor/office.lua +msgid "Desk globe" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "black/dark grey" +#: ../homedecor/office.lua +msgid "Calendar" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/red" +#: ../homedecor/office.lua +msgid "" +"Date (right-click to update):\n" +"@1" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/green" +#: ../homedecor/office.lua +msgid "Basic office chair" msgstr "" -#: ../homedecor/bathroom_furniture.lua -msgid "white/blue" +#: ../homedecor/office.lua +msgid "Upscale office chair" msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "white/yellow" +msgid "Bathroom/kitchen tiles (dark)" msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "white/tan" +msgid "Bathroom/kitchen tiles (medium)" msgstr "" #: ../homedecor/bathroom_furniture.lua -msgid "Bathroom/kitchen tiles (@1)" +msgid "Bathroom/kitchen tiles (light)" msgstr "" #: ../homedecor/bathroom_furniture.lua diff --git a/mesecons/init.lua b/mesecons/init.lua index 7da3583..83e611b 100644 --- a/mesecons/init.lua +++ b/mesecons/init.lua @@ -3,7 +3,7 @@ -- | \/ | |___ ____ |___ | | | | \ | |____ -- | | | | | | | | | \ | | -- | | |___ ____| |___ |____ |____| | \| ____| --- by Jeija, Uberi (Temperest), sfan5, VanessaE +-- by Jeija, Uberi (Temperest), sfan5, VanessaE, Hawk777 and contributors -- -- -- @@ -11,7 +11,7 @@ -- See the documentation on the forum for additional information, especially about crafting -- -- --- For developer documentation see the Developers' section on mesecons.TK +-- For basic development resources, see http://mesecons.net/developers.html -- -- -- @@ -74,17 +74,7 @@ mesecon.queue:add_function("receptor_on", function (pos, rules) rules = rules or mesecon.rules.default - -- if area (any of the rule targets) is not loaded, keep trying and call this again later - for _, rule in ipairs(mesecon.flattenrules(rules)) do - local np = vector.add(pos, rule) - -- if area is not loaded, keep trying - if minetest.get_node_or_nil(np) == nil then - mesecon.queue:add_action(pos, "receptor_on", {rules}, nil, rules) - return - end - end - - -- execute action + -- Call turnon on all linking positions for _, rule in ipairs(mesecon.flattenrules(rules)) do local np = vector.add(pos, rule) local rulenames = mesecon.rules_link_rule_all(pos, rule) @@ -103,15 +93,7 @@ end mesecon.queue:add_function("receptor_off", function (pos, rules) rules = rules or mesecon.rules.default - -- if area (any of the rule targets) is not loaded, keep trying and call this again later - for _, rule in ipairs(mesecon.flattenrules(rules)) do - local np = vector.add(pos, rule) - if minetest.get_node_or_nil(np) == nil then - mesecon.queue:add_action(pos, "receptor_off", {rules}, nil, rules) - return - end - end - + -- Call turnoff on all linking positions for _, rule in ipairs(mesecon.flattenrules(rules)) do local np = vector.add(pos, rule) local rulenames = mesecon.rules_link_rule_all(pos, rule) diff --git a/mesecons/presets.lua b/mesecons/presets.lua index 2f2f643..8c3ed67 100644 --- a/mesecons/presets.lua +++ b/mesecons/presets.lua @@ -41,12 +41,19 @@ mesecon.rules.alldirs = mesecon.rules.buttonlike_get = function(node) local rules = mesecon.rules.buttonlike - if node.param2 == 2 then + local dir = minetest.facedir_to_dir(node.param2) + if dir.x == 1 then + -- No action needed + elseif dir.z == -1 then rules=mesecon.rotate_rules_left(rules) - elseif node.param2 == 3 then + elseif dir.x == -1 then rules=mesecon.rotate_rules_right(mesecon.rotate_rules_right(rules)) - elseif node.param2 == 0 then + elseif dir.z == 1 then rules=mesecon.rotate_rules_right(rules) + elseif dir.y == -1 then + rules=mesecon.rotate_rules_up(rules) + elseif dir.y == 1 then + rules=mesecon.rotate_rules_down(rules) end return rules end diff --git a/mesecons/textures/jeija_microcontroller_LED_A.png b/mesecons/textures/jeija_microcontroller_LED_A.png Binary files differnew file mode 100644 index 0000000..64526cf --- /dev/null +++ b/mesecons/textures/jeija_microcontroller_LED_A.png diff --git a/mesecons/textures/jeija_microcontroller_LED_B.png b/mesecons/textures/jeija_microcontroller_LED_B.png Binary files differnew file mode 100644 index 0000000..1f7b451 --- /dev/null +++ b/mesecons/textures/jeija_microcontroller_LED_B.png diff --git a/mesecons/textures/jeija_microcontroller_LED_C.png b/mesecons/textures/jeija_microcontroller_LED_C.png Binary files differnew file mode 100644 index 0000000..399cc2c --- /dev/null +++ b/mesecons/textures/jeija_microcontroller_LED_C.png diff --git a/mesecons/textures/jeija_microcontroller_LED_D.png b/mesecons/textures/jeija_microcontroller_LED_D.png Binary files differnew file mode 100644 index 0000000..506389c --- /dev/null +++ b/mesecons/textures/jeija_microcontroller_LED_D.png diff --git a/mesecons/util.lua b/mesecons/util.lua index c9ba7fc..39f5696 100644 --- a/mesecons/util.lua +++ b/mesecons/util.lua @@ -231,11 +231,6 @@ local function hash_blockpos(pos) }) end --- convert block hash --> node position -local function unhash_blockpos(hash) - return vector.multiply(minetest.get_position_from_hash(hash), BLOCKSIZE) -end - -- Maps from a hashed mapblock position (as returned by hash_blockpos) to a -- table. -- diff --git a/mesecons_blinkyplant/doc/blinkyplant/preview.png b/mesecons_blinkyplant/doc/blinkyplant/preview.png Binary files differindex 40ce5b5..40ce5b5 100644..100755 --- a/mesecons_blinkyplant/doc/blinkyplant/preview.png +++ b/mesecons_blinkyplant/doc/blinkyplant/preview.png diff --git a/mesecons_button/init.lua b/mesecons_button/init.lua index f287d52..11c328c 100644 --- a/mesecons_button/init.lua +++ b/mesecons_button/init.lua @@ -26,6 +26,7 @@ minetest.register_node("mesecons_button:button_off", { paramtype2 = "facedir", legacy_wallmounted = true, walkable = false, + on_rotate = mesecon.buttonlike_onrotate, sunlight_propagates = true, selection_box = { type = "fixed", @@ -67,6 +68,7 @@ minetest.register_node("mesecons_button:button_on", { paramtype2 = "facedir", legacy_wallmounted = true, walkable = false, + on_rotate = false, light_source = default.LIGHT_MAX-7, sunlight_propagates = true, selection_box = { diff --git a/mesecons_delayer/init.lua b/mesecons_delayer/init.lua index da576ad..7c480c1 100644 --- a/mesecons_delayer/init.lua +++ b/mesecons_delayer/init.lua @@ -47,7 +47,8 @@ elseif i == 2 then delaytime = 0.3 elseif i == 3 then delaytime = 0.5 elseif i == 4 then delaytime = 1.0 end -boxes = {{ -6/16, -8/16, -6/16, 6/16, -7/16, 6/16 }, -- the main slab +local boxes = { + { -6/16, -8/16, -6/16, 6/16, -7/16, 6/16 }, -- the main slab { -2/16, -7/16, -4/16, 2/16, -26/64, -3/16 }, -- the jeweled "on" indicator { -3/16, -7/16, -3/16, 3/16, -26/64, -2/16 }, @@ -57,7 +58,8 @@ boxes = {{ -6/16, -8/16, -6/16, 6/16, -7/16, 6/16 }, -- the main slab { -6/16, -7/16, -6/16, -4/16, -27/64, -4/16 }, -- the timer indicator { -8/16, -8/16, -1/16, -6/16, -7/16, 1/16 }, -- the two wire stubs - { 6/16, -8/16, -1/16, 8/16, -7/16, 1/16 }} + { 6/16, -8/16, -1/16, 8/16, -7/16, 1/16 } +} minetest.register_node("mesecons_delayer:delayer_off_"..tostring(i), { description = "Delayer", diff --git a/mesecons_extrawires/corner.lua b/mesecons_extrawires/corner.lua index 1e29870..6033893 100644 --- a/mesecons_extrawires/corner.lua +++ b/mesecons_extrawires/corner.lua @@ -49,7 +49,7 @@ minetest.register_node("mesecons_extrawires:corner_on", { minetest.register_node("mesecons_extrawires:corner_off", { drawtype = "nodebox", - description = "Mesecon Corner", + description = "Insulated Mesecon Corner", tiles = { "jeija_insulated_wire_curved_tb_off.png", "jeija_insulated_wire_curved_tb_off.png^[transformR270", diff --git a/mesecons_extrawires/crossover.lua b/mesecons_extrawires/crossover.lua index 4ecfc12..8f3b8c2 100644 --- a/mesecons_extrawires/crossover.lua +++ b/mesecons_extrawires/crossover.lua @@ -1,4 +1,4 @@ -function crossover_get_rules(node) +local function crossover_get_rules(node) return { {--first wire {x=-1,y=0,z=0}, @@ -19,28 +19,19 @@ local crossover_states = { } minetest.register_node("mesecons_extrawires:crossover_off", { - description = "Insulated Crossover", - drawtype = "nodebox", + description = "Insulated Mesecon Crossover", + drawtype = "mesh", + mesh = "mesecons_extrawires_crossover.b3d", tiles = { - "jeija_insulated_wire_crossing_tb_off.png", - "jeija_insulated_wire_crossing_tb_off.png", + "jeija_insulated_wire_ends_off.png", + "jeija_insulated_wire_sides_off.png", + "jeija_insulated_wire_sides_off.png", "jeija_insulated_wire_ends_off.png" }, paramtype = "light", walkable = false, stack_max = 99, selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, - node_box = { - type = "fixed", - fixed = { - { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, - { -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, - { -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, - { -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, - { -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, - { -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, - }, - }, groups = {dig_immediate=3, mesecon=3}, mesecons = { conductor = { @@ -53,30 +44,18 @@ minetest.register_node("mesecons_extrawires:crossover_off", { minetest.register_node("mesecons_extrawires:crossover_01", { description = "You hacker you!", drop = "mesecons_extrawires:crossover_off", - drawtype = "nodebox", + drawtype = "mesh", + mesh = "mesecons_extrawires_crossover.b3d", tiles = { - "jeija_insulated_wire_crossing_tb_01.png", - "jeija_insulated_wire_crossing_tb_01.png", - "jeija_insulated_wire_ends_01x.png", - "jeija_insulated_wire_ends_01x.png", - "jeija_insulated_wire_ends_01z.png", - "jeija_insulated_wire_ends_01z.png" + "jeija_insulated_wire_ends_on.png", + "jeija_insulated_wire_sides_on.png", + "jeija_insulated_wire_sides_off.png", + "jeija_insulated_wire_ends_off.png" }, paramtype = "light", walkable = false, stack_max = 99, selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, - node_box = { - type = "fixed", - fixed = { - { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, - { -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, - { -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, - { -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, - { -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, - { -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, - }, - }, groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1}, mesecons = { conductor = { @@ -89,30 +68,18 @@ minetest.register_node("mesecons_extrawires:crossover_01", { minetest.register_node("mesecons_extrawires:crossover_10", { description = "You hacker you!", drop = "mesecons_extrawires:crossover_off", - drawtype = "nodebox", + drawtype = "mesh", + mesh = "mesecons_extrawires_crossover.b3d", tiles = { - "jeija_insulated_wire_crossing_tb_10.png", - "jeija_insulated_wire_crossing_tb_10.png", - "jeija_insulated_wire_ends_10x.png", - "jeija_insulated_wire_ends_10x.png", - "jeija_insulated_wire_ends_10z.png", - "jeija_insulated_wire_ends_10z.png" + "jeija_insulated_wire_ends_off.png", + "jeija_insulated_wire_sides_off.png", + "jeija_insulated_wire_sides_on.png", + "jeija_insulated_wire_ends_on.png" }, paramtype = "light", walkable = false, stack_max = 99, selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, - node_box = { - type = "fixed", - fixed = { - { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, - { -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, - { -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, - { -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, - { -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, - { -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, - }, - }, groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1}, mesecons = { conductor = { @@ -125,30 +92,18 @@ minetest.register_node("mesecons_extrawires:crossover_10", { minetest.register_node("mesecons_extrawires:crossover_on", { description = "You hacker you!", drop = "mesecons_extrawires:crossover_off", - drawtype = "nodebox", + drawtype = "mesh", + mesh = "mesecons_extrawires_crossover.b3d", tiles = { - "jeija_insulated_wire_crossing_tb_on.png", - "jeija_insulated_wire_crossing_tb_on.png", - "jeija_insulated_wire_ends_on.png", - "jeija_insulated_wire_ends_on.png", "jeija_insulated_wire_ends_on.png", + "jeija_insulated_wire_sides_on.png", + "jeija_insulated_wire_sides_on.png", "jeija_insulated_wire_ends_on.png" }, paramtype = "light", walkable = false, stack_max = 99, selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, - node_box = { - type = "fixed", - fixed = { - { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, - { -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, - { -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, - { -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, - { -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, - { -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, - }, - }, groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1}, mesecons = { conductor = { diff --git a/mesecons_extrawires/models/mesecons_extrawires_crossover.b3d b/mesecons_extrawires/models/mesecons_extrawires_crossover.b3d Binary files differnew file mode 100644 index 0000000..e776535 --- /dev/null +++ b/mesecons_extrawires/models/mesecons_extrawires_crossover.b3d diff --git a/mesecons_extrawires/src/mesecons_extrawires_crossover.blend b/mesecons_extrawires/src/mesecons_extrawires_crossover.blend Binary files differnew file mode 100644 index 0000000..9ad3749 --- /dev/null +++ b/mesecons_extrawires/src/mesecons_extrawires_crossover.blend diff --git a/mesecons_extrawires/tjunction.lua b/mesecons_extrawires/tjunction.lua index 1091e83..70f343b 100644 --- a/mesecons_extrawires/tjunction.lua +++ b/mesecons_extrawires/tjunction.lua @@ -50,7 +50,7 @@ minetest.register_node("mesecons_extrawires:tjunction_on", { minetest.register_node("mesecons_extrawires:tjunction_off", { drawtype = "nodebox", - description = "T-junction", + description = "Insulated Mesecon T-junction", tiles = { "jeija_insulated_wire_tjunction_tb_off.png", "jeija_insulated_wire_tjunction_tb_off.png^[transformR180", diff --git a/mesecons_fpga/depends.txt b/mesecons_fpga/depends.txt new file mode 100644 index 0000000..acaa924 --- /dev/null +++ b/mesecons_fpga/depends.txt @@ -0,0 +1 @@ +mesecons diff --git a/mesecons_fpga/doc/fpga/description.html b/mesecons_fpga/doc/fpga/description.html new file mode 100644 index 0000000..be6bd65 --- /dev/null +++ b/mesecons_fpga/doc/fpga/description.html @@ -0,0 +1,5 @@ +FPGAs can be used to chain multiple logic gates together in a compact manner. +They come with 4 I/O ports and 10 internal registers, +which can then be connected with eachother to form logic circuits.<br /> +Supported gate types: <b>AND</b>, <b>OR</b>, <b>NOT</b>, <b>XOR</b>, <b>NAND</b>, <b>XNOR</b>, <b>Buffer</b> (=)<br /> +I/O ports: <b>A B C D</b>; Registers: numbered <b>0</b> to <b>9</b> diff --git a/mesecons_fpga/doc/fpga/preview.png b/mesecons_fpga/doc/fpga/preview.png Binary files differnew file mode 100644 index 0000000..c156321 --- /dev/null +++ b/mesecons_fpga/doc/fpga/preview.png diff --git a/mesecons_fpga/doc/fpga/recipe.png b/mesecons_fpga/doc/fpga/recipe.png Binary files differnew file mode 100644 index 0000000..1140bfa --- /dev/null +++ b/mesecons_fpga/doc/fpga/recipe.png diff --git a/mesecons_fpga/doc/programmer/description.html b/mesecons_fpga/doc/programmer/description.html new file mode 100644 index 0000000..39e2374 --- /dev/null +++ b/mesecons_fpga/doc/programmer/description.html @@ -0,0 +1,3 @@ +The FPGA programmer can be used to copy gate configurations from one FPGA to another.<br /> +Shift+Right-Click an FPGA to read its configuration and "remember" it. +Left-click (punch) FPGAs to write the saved configuration to them. diff --git a/mesecons_fpga/doc/programmer/preview.png b/mesecons_fpga/doc/programmer/preview.png Binary files differnew file mode 100644 index 0000000..7437d39 --- /dev/null +++ b/mesecons_fpga/doc/programmer/preview.png diff --git a/mesecons_fpga/doc/programmer/recipe.png b/mesecons_fpga/doc/programmer/recipe.png Binary files differnew file mode 100644 index 0000000..778ec5f --- /dev/null +++ b/mesecons_fpga/doc/programmer/recipe.png diff --git a/mesecons_fpga/init.lua b/mesecons_fpga/init.lua new file mode 100644 index 0000000..6c462e6 --- /dev/null +++ b/mesecons_fpga/init.lua @@ -0,0 +1,375 @@ +local plg = {} +plg.rules = {} + +local lcore = dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/logic.lua") +dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/tool.lua")(plg) + + +plg.register_nodes = function(template) + -- each loop is for one of the 4 IO ports + for a = 0, 1 do + for b = 0, 1 do + for c = 0, 1 do + for d = 0, 1 do + local ndef = table.copy(template) + local nodename = "mesecons_fpga:fpga" + .. tostring(d) .. tostring(c) .. tostring(b) .. tostring(a) + + -- build top texture string + local texture = "jeija_fpga_top.png" + if a == 1 then texture = texture .. "^jeija_microcontroller_LED_A.png" end + if b == 1 then texture = texture .. "^jeija_microcontroller_LED_B.png" end + if c == 1 then texture = texture .. "^jeija_microcontroller_LED_C.png" end + if d == 1 then texture = texture .. "^jeija_microcontroller_LED_D.png" end + ndef.tiles[1] = texture + ndef.inventory_image = texture + + if (a + b + c + d) > 0 then + ndef.groups["not_in_creative_inventory"] = 1 + end + + -- interaction with mesecons (input / output) + local rules_out = {} + if a == 1 then table.insert(rules_out, {x = -1, y = 0, z = 0}) end + if b == 1 then table.insert(rules_out, {x = 0, y = 0, z = 1}) end + if c == 1 then table.insert(rules_out, {x = 1, y = 0, z = 0}) end + if d == 1 then table.insert(rules_out, {x = 0, y = 0, z = -1}) end + plg.rules[nodename] = rules_out + + local rules_in = {} + if a == 0 then table.insert(rules_in, {x = -1, y = 0, z = 0}) end + if b == 0 then table.insert(rules_in, {x = 0, y = 0, z = 1}) end + if c == 0 then table.insert(rules_in, {x = 1, y = 0, z = 0}) end + if d == 0 then table.insert(rules_in, {x = 0, y = 0, z = -1}) end + ndef.mesecons.effector.rules = rules_in + + if (a + b + c + d) > 0 then + ndef.mesecons.receptor = { + state = mesecon.state.on, + rules = rules_out, + } + end + + minetest.register_node(nodename, ndef) + end + end + end + end +end + +plg.register_nodes({ + description = "FPGA", + drawtype = "nodebox", + tiles = { + "", -- replaced later + "jeija_microcontroller_bottom.png", + "jeija_fpga_sides.png", + "jeija_fpga_sides.png", + "jeija_fpga_sides.png", + "jeija_fpga_sides.png" + }, + inventory_image = "", -- replaced later + sunlight_propagates = true, + paramtype = "light", + walkable = true, + groups = {dig_immediate = 2, mesecon = 3}, + drop = "mesecons_fpga:fpga0000", + selection_box = { + type = "fixed", + fixed = { -8/16, -8/16, -8/16, 8/16, -5/16, 8/16 }, + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }, -- bottom slab + { -5/16, -7/16, -5/16, 5/16, -6/16, 5/16 }, -- circuit board + { -3/16, -6/16, -3/16, 3/16, -5/16, 3/16 }, -- IC + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local is = { {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {} } + + meta:set_string("instr", lcore.serialize(is)) + meta:set_int("valid", 0) + meta:set_string("formspec", plg.to_formspec_string(is)) + meta:set_string("infotext", "FPGA") + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.program == nil then return end -- we only care when the user clicks "Program" + local meta = minetest.get_meta(pos) + local is = plg.from_formspec_fields(fields) + + meta:set_string("instr", lcore.serialize(is)) + plg.update_formspec(pos, is) + end, + sounds = default.node_sound_stone_defaults(), + mesecons = { + effector = { + rules = {}, -- replaced later + action_change = function(pos, node, rule, newstate) + plg.ports_changed(pos, rule, newstate) + plg.update(pos) + end + } + }, + after_dig_node = function(pos, node) + mesecon.receptor_off(pos, plg.rules[node.name]) + end, +}) + + +plg.to_formspec_string = function(is) + local function dropdown_op(x, y, name, val) + local s = "dropdown[" .. tostring(x) .. "," .. tostring(y) .. ";" + .. "0.75,0.5;" .. name .. ";" -- the height seems to be ignored? + s = s .. " ,A,B,C,D,0,1,2,3,4,5,6,7,8,9;" + if val == nil then + s = s .. "0" -- actually selects no field at all + elseif val.type == "io" then + local mapping = { + ["A"] = 1, + ["B"] = 2, + ["C"] = 3, + ["D"] = 4, + } + s = s .. tostring(1 + mapping[val.port]) + else -- "reg" + s = s .. tostring(6 + val.n) + end + return s .. "]" + end + local function dropdown_action(x, y, name, val) + local s = "dropdown[" .. tostring(x) .. "," .. tostring(y) .. ";" + .. "1.125,0.5;" .. name .. ";" -- the height seems to be ignored? + s = s .. " , AND, OR, NOT, XOR,NAND, =,XNOR;" + if val == nil then + return s .. "0]" -- actually selects no field at all + end + local mapping = { + ["and"] = 1, + ["or"] = 2, + ["not"] = 3, + ["xor"] = 4, + ["nand"] = 5, + ["buf"] = 6, + ["xnor"] = 7, + } + return s .. tostring(1 + mapping[val]) .. "]" + end + local s = "size[9,9]".. + "label[3.4,-0.15;FPGA gate configuration]".. + "button_exit[7,7.5;2,2.5;program;Program]".. + "box[4.2,0.5;0.03,7;#ffffff]".. + "label[0.25,0.25;op. 1]".. + "label[1.0,0.25;gate type]".. + "label[2.125,0.25;op. 2]".. + "label[3.15,0.25;dest]".. + "label[4.5,0.25;op. 1]".. + "label[5.25,0.25;gate type]".. + "label[6.375,0.25;op. 2]".. + "label[7.4,0.25;dest]" + local x = 1 - 0.75 + local y = 1 - 0.25 + for i = 1, 14 do + local cur = is[i] + s = s .. dropdown_op (x , y, tostring(i).."op1", cur.op1) + s = s .. dropdown_action(x+0.75 , y, tostring(i).."act", cur.action) + s = s .. dropdown_op (x+1.875, y, tostring(i).."op2", cur.op2) + s = s .. "label[" .. tostring(x+2.625) .. "," .. tostring(y+0.1) .. "; ->]" + s = s .. dropdown_op (x+2.9 , y, tostring(i).."dst", cur.dst) + y = y + 1 + + if i == 7 then + x = 4.5 + y = 1 - 0.25 + end + end + return s +end + +plg.from_formspec_fields = function(fields) + local function read_op(s) + if s == nil or s == " " then + return nil + elseif s == "A" or s == "B" or s == "C" or s == "D" then + return {type = "io", port = s} + else + return {type = "reg", n = tonumber(s)} + end + end + local function read_action(s) + if s == nil or s == " " then + return nil + end + local mapping = { + ["AND"] = "and", + ["OR"] = "or", + ["NOT"] = "not", + ["XOR"] = "xor", + ["NAND"] = "nand", + ["="] = "buf", + ["XNOR"] = "xnor", + } + s = s:gsub("^%s*", "") -- remove leading spaces + return mapping[s] + end + local is = {} + for i = 1, 14 do + local cur = {} + cur.op1 = read_op(fields[tonumber(i) .. "op1"]) + cur.action = read_action(fields[tonumber(i) .. "act"]) + cur.op2 = read_op(fields[tonumber(i) .. "op2"]) + cur.dst = read_op(fields[tonumber(i) .. "dst"]) + is[#is + 1] = cur + end + return is +end + +plg.update_formspec = function(pos, is) + if type(is) == "string" then -- serialized string + is = lcore.deserialize(is) + end + local meta = minetest.get_meta(pos) + local form = plg.to_formspec_string(is) + + local err = lcore.validate(is) + if err == nil then + meta:set_int("valid", 1) + meta:set_string("infotext", "FPGA (functional)") + else + meta:set_int("valid", 0) + meta:set_string("infotext", "FPGA") + local fmsg = minetest.colorize("#ff0000", minetest.formspec_escape(err.msg)) + form = form .. plg.red_box_around(err.i) .. + "label[0.25,8.25;The gate configuration is erroneous in the marked area:]".. + "label[0.25,8.5;" .. fmsg .. "]" + end + + meta:set_string("formspec", form) + + -- reset ports and run programmed logic + plg.setports(pos, false, false, false, false) + plg.update(pos) +end + +plg.red_box_around = function(i) + local x, y + if i > 7 then + x = 4.5 + y = 0.75 + (i - 8) + else + x = 0.25 + y = 0.75 + (i - 1) + end + return string.format("box[%f,%f;3.8,0.8;#ff0000]", x-0.1, y-0.05) +end + + +plg.update = function(pos) + local meta = minetest.get_meta(pos) + if meta:get_int("valid") ~= 1 then + return + end + + local is = lcore.deserialize(meta:get_string("instr")) + local A, B, C, D = plg.getports(pos) + A, B, C, D = lcore.interpret(is, A, B, C, D) + plg.setports(pos, A, B, C, D) +end + +plg.ports_changed = function(pos, rule, newstate) + if rule == nil then return end + local meta = minetest.get_meta(pos) + local states + + local s = meta:get_string("portstates") + if s == nil then + states = {false, false, false, false} + else + states = { + s:sub(1, 1) == "1", + s:sub(2, 2) == "1", + s:sub(3, 3) == "1", + s:sub(4, 4) == "1", + } + end + + -- trick to transform rules (see register_node) into port number + local portno = ({4, 1, nil, 3, 2})[3 + rule.x + 2*rule.z] + states[portno] = (newstate == "on") + + meta:set_string("portstates", + (states[1] and "1" or "0") .. (states[2] and "1" or "0") .. + (states[3] and "1" or "0") .. (states[4] and "1" or "0") + ) +end + +plg.getports = function(pos) -- gets merged states of INPUT & OUTPUT + local sin, sout + + local s = minetest.get_meta(pos):get_string("portstates") + if s == nil then + sin = {false, false, false, false} + else + sin = { + s:sub(1, 1) == "1", + s:sub(2, 2) == "1", + s:sub(3, 3) == "1", + s:sub(4, 4) == "1", + } + end + + local name = minetest.get_node(pos).name + assert(name:find("mesecons_fpga:fpga") == 1) + local off = #"mesecons_fpga:fpga" + sout = { + name:sub(off+4, off+4) == "1", + name:sub(off+3, off+3) == "1", + name:sub(off+2, off+2) == "1", + name:sub(off+1, off+1) == "1", + } + + return unpack({ + sin[1] or sout[1], + sin[2] or sout[2], + sin[3] or sout[3], + sin[4] or sout[4], + }) +end + +plg.setports = function(pos, A, B, C, D) -- sets states of OUTPUT + local base = "mesecons_fpga:fpga" + + local name = base + .. (D and "1" or "0") .. (C and "1" or "0") + .. (B and "1" or "0") .. (A and "1" or "0") + minetest.swap_node(pos, {name = name, param2 = minetest.get_node(pos).param2}) + + if A ~= nil then + local ru = plg.rules[base .. "0001"] + if A then mesecon.receptor_on(pos, ru) else mesecon.receptor_off(pos, ru) end + end + if B ~= nil then + local ru = plg.rules[base .. "0010"] + if B then mesecon.receptor_on(pos, ru) else mesecon.receptor_off(pos, ru) end + end + if C ~= nil then + local ru = plg.rules[base .. "0100"] + if C then mesecon.receptor_on(pos, ru) else mesecon.receptor_off(pos, ru) end + end + if D ~= nil then + local ru = plg.rules[base .. "1000"] + if D then mesecon.receptor_on(pos, ru) else mesecon.receptor_off(pos, ru) end + end +end + + +minetest.register_craft({ + output = "mesecons_fpga:fpga0000 2", + recipe = { + {'group:mesecon_conductor_craftable', 'group:mesecon_conductor_craftable'}, + {'mesecons_materials:silicon', 'mesecons_materials:silicon'}, + {'group:mesecon_conductor_craftable', 'group:mesecon_conductor_craftable'}, + } +}) diff --git a/mesecons_fpga/logic.lua b/mesecons_fpga/logic.lua new file mode 100644 index 0000000..3dca154 --- /dev/null +++ b/mesecons_fpga/logic.lua @@ -0,0 +1,210 @@ +local lg = {} + +-- (de)serialize +lg.serialize = function(t) + local function _op(t) + if t == nil then + return " " + elseif t.type == "io" then + return t.port + else -- t.type == "reg" + return tostring(t.n) + end + end + local function _action(s) + if s == nil then + return " " + end + local mapping = { + ["and"] = "&", + ["or"] = "|", + ["not"] = "~", + ["xor"] = "^", + ["nand"] = "?", --dunno + ["buf"] = "_", + ["xnor"] = "=", + } + return mapping[s] + end + + local s = "" + for i = 1, 14 do + local cur = t[i] + if next(cur) ~= nil then + s = s .. _op(cur.op1) .. _action(cur.action) .. _op(cur.op2) .. _op(cur.dst) + end + s = s .. "/" + end + return s +end + +lg.deserialize = function(s) + local function _op(c) + if c == "A" or c == "B" or c == "C" or c == "D" then + return {type = "io", port = c} + elseif c == " " then + return nil + else + return {type = "reg", n = tonumber(c)} + end + end + local function _action(c) + local mapping = { + ["&"] = "and", + ["|"] = "or", + ["~"] = "not", + ["^"] = "xor", + ["?"] = "nand", + ["_"] = "buf", + ["="] = "xnor", + [" "] = nil, + } + return mapping[c] + end + + local ret = {} + for part in s:gmatch("(.-)/") do + local parsed + if part == "" then + parsed = {} + else + parsed = { + action = _action( part:sub(2,2) ), + op1 = _op( part:sub(1,1) ), + op2 = _op( part:sub(3,3) ), + dst = _op( part:sub(4,4) ), + } + end + ret[#ret + 1] = parsed + end + -- More than 14 instructions (write to all 10 regs + 4 outputs) + -- will not pass the write-once requirement of the validator + assert(#ret == 14) + return ret +end + +-- validation +lg.validate_single = function(t, i) + local function is_reg_written_to(t, n, max) + for i = 1, max-1 do + if next(t[i]) ~= nil + and t[i].dst and t[i].dst.type == "reg" + and t[i].dst.n == n then + return true + end + end + return false + end + local function compare_op(t1, t2, allow_same_io) + if t1 == nil or t2 == nil then + return false + elseif t1.type ~= t2.type then + return false + end + if t1.type == "reg" and t1.n == t2.n then + return true + elseif t1.type == "io" and t1.port == t2.port then + return not allow_same_io + end + return false + end + local elem = t[i] + -- check for completeness + if elem.action == nil then + return {i = i, msg = "Gate type required"} + elseif elem.action == "not" or elem.action == "buf" then + if elem.op1 ~= nil or elem.op2 == nil or elem.dst == nil then + return {i = i, msg = "Second operand (only) and destination required"} + end + else + if elem.op1 == nil or elem.op2 == nil or elem.dst == nil then + return {i = i, msg = "Operands and destination required"} + end + end + -- check whether operands/destination are identical + if compare_op(elem.op1, elem.op2) then + return {i = i, msg = "Operands cannot be identical"} + end + if compare_op(elem.op1, elem.dst, true) or compare_op(elem.op2, elem.dst, true) then + return {i = i, msg = "Destination and operands must be different"} + end + -- check whether operands point to defined registers + if elem.op1 ~= nil and elem.op1.type == "reg" + and not is_reg_written_to(t, elem.op1.n, i) then + return {i = i, msg = "First operand is undefined register"} + end + if elem.op2.type == "reg" and not is_reg_written_to(t, elem.op2.n, i) then + return {i = i, msg = "Second operand is undefined register"} + end + -- check whether destination points to undefined register + if elem.dst.type == "reg" and is_reg_written_to(t, elem.dst.n, i) then + return {i = i, msg = "Destination is already used register"} + end + + return nil +end + +lg.validate = function(t) + for i = 1, 14 do + if next(t[i]) ~= nil then + local r = lg.validate_single(t, i) + if r ~= nil then + return r + end + end + end + return nil +end + +-- interpreter +lg.interpret = function(t, a, b, c, d) + local function _action(s, v1, v2) + if s == "and" then + return v1 and v2 + elseif s == "or" then + return v1 or v2 + elseif s == "not" then + return not v2 + elseif s == "xor" then + return v1 ~= v2 + elseif s == "nand" then + return not (v1 and v2) + elseif s == "buf" then + return v2 + else -- s == "xnor" + return v1 == v2 + end + end + local function _op(t, regs, io_in) + if t.type == "reg" then + return regs[t.n] + else -- t.type == "io" + return io_in[t.port] + end + end + + local io_in = {A=a, B=b, C=c, D=d} + local regs = {} + local io_out = {} + for i = 1, 14 do + local cur = t[i] + if next(cur) ~= nil then + local v1, v2 + if cur.op1 ~= nil then + v1 = _op(cur.op1, regs, io_in) + end + v2 = _op(cur.op2, regs, io_in) + + local result = _action(cur.action, v1, v2) + + if cur.dst.type == "reg" then + regs[cur.dst.n] = result + else -- cur.dst.type == "io" + io_out[cur.dst.port] = result + end + end + end + return io_out.A, io_out.B, io_out.C, io_out.D +end + +return lg diff --git a/mesecons_fpga/textures/jeija_fpga_programmer.png b/mesecons_fpga/textures/jeija_fpga_programmer.png Binary files differnew file mode 100644 index 0000000..9c0ba8f --- /dev/null +++ b/mesecons_fpga/textures/jeija_fpga_programmer.png diff --git a/mesecons_fpga/textures/jeija_fpga_sides.png b/mesecons_fpga/textures/jeija_fpga_sides.png Binary files differnew file mode 100644 index 0000000..e2d8e15 --- /dev/null +++ b/mesecons_fpga/textures/jeija_fpga_sides.png diff --git a/mesecons_fpga/textures/jeija_fpga_top.png b/mesecons_fpga/textures/jeija_fpga_top.png Binary files differnew file mode 100644 index 0000000..eaf1a1c --- /dev/null +++ b/mesecons_fpga/textures/jeija_fpga_top.png diff --git a/mesecons_fpga/tool.lua b/mesecons_fpga/tool.lua new file mode 100644 index 0000000..26ab49e --- /dev/null +++ b/mesecons_fpga/tool.lua @@ -0,0 +1,62 @@ +return function(plg) + + +minetest.register_tool("mesecons_fpga:programmer", { + description = "FPGA Programmer", + inventory_image = "jeija_fpga_programmer.png", + stack_max = 1, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local pos = pointed_thing.under + if minetest.get_node(pos).name:find("mesecons_fpga:fpga") ~= 1 then + return itemstack + end + + local meta = minetest.get_meta(pos) + if meta:get_string("instr") == "//////////////" then + minetest.chat_send_player(placer:get_player_name(), "This FPGA is unprogrammed.") + return itemstack + end + itemstack:set_metadata(meta:get_string("instr")) + minetest.chat_send_player(placer:get_player_name(), "FPGA gate configuration was successfully copied!") + + return itemstack + end, + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local pos = pointed_thing.under + if minetest.get_node(pos).name:find("mesecons_fpga:fpga") ~= 1 then + return itemstack + end + + local imeta = itemstack:get_metadata() + if imeta == "" then + minetest.chat_send_player(user:get_player_name(), "Use shift+right-click to copy a gate configuration first.") + return itemstack + end + + local meta = minetest.get_meta(pos) + meta:set_string("instr", imeta) + plg.update_formspec(pos, imeta) + minetest.chat_send_player(user:get_player_name(), "Gate configuration was successfully written to FPGA!") + + return itemstack + end +}) + +minetest.register_craft({ + output = "mesecons_fpga:programmer", + recipe = { + {'group:mesecon_conductor_craftable'}, + {'mesecons_materials:silicon'}, + } +}) + + +end diff --git a/mesecons_gates/init.lua b/mesecons_gates/init.lua index f3d6f09..57815ef 100644 --- a/mesecons_gates/init.lua +++ b/mesecons_gates/init.lua @@ -54,7 +54,7 @@ local function update_gate(pos, node, link, newstate) end end -function register_gate(name, inputnumber, assess, recipe) +local function register_gate(name, inputnumber, assess, recipe) local get_inputrules = inputnumber == 2 and gate_get_input_rules_twoinputs or gate_get_input_rules_oneinput local description = "Mesecons Logic Gate: "..name diff --git a/mesecons_hydroturbine/init.lua b/mesecons_hydroturbine/init.lua index f1292e9..409da75 100644 --- a/mesecons_hydroturbine/init.lua +++ b/mesecons_hydroturbine/init.lua @@ -5,12 +5,12 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_off", { drawtype = "mesh", - mesh = "jeija_hydro_turbine.obj", + mesh = "jeija_hydro_turbine_off.obj", tiles = { "jeija_hydro_turbine_sides_off.png", "jeija_hydro_turbine_top_bottom.png", - "jeija_hydro_turbine_turbine_top_bottom.png", - "jeija_hydro_turbine_turbine_misc.png" + "jeija_hydro_turbine_turbine_top_bottom_off.png", + "jeija_hydro_turbine_turbine_misc_off.png" }, inventory_image = "jeija_hydro_turbine_inv.png", wield_scale = {x=0.75, y=0.75, z=0.75}, @@ -29,13 +29,15 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_off", { minetest.register_node("mesecons_hydroturbine:hydro_turbine_on", { drawtype = "mesh", - mesh = "jeija_hydro_turbine.obj", + mesh = "jeija_hydro_turbine_on.obj", wield_scale = {x=0.75, y=0.75, z=0.75}, tiles = { "jeija_hydro_turbine_sides_on.png", "jeija_hydro_turbine_top_bottom.png", - "jeija_hydro_turbine_turbine_top_bottom.png", - "jeija_hydro_turbine_turbine_misc.png" + { name = "jeija_hydro_turbine_turbine_top_bottom_on.png", + animation = {type = "vertical_frames", aspect_w = 128, aspect_h = 16, length = 1.6} }, + { name = "jeija_hydro_turbine_turbine_misc_on.png", + animation = {type = "vertical_frames", aspect_w = 256, aspect_h = 32, length = 0.4} } }, inventory_image = "jeija_hydro_turbine_inv.png", drop = "mesecons_hydroturbine:hydro_turbine_off 1", @@ -53,13 +55,20 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_on", { }) +local function is_flowing_water(pos) + local name = minetest.get_node(pos).name + local is_water = minetest.get_item_group(name, "water") > 0 + local is_flowing = minetest.registered_items[name].liquidtype == "flowing" + return (is_water and is_flowing) +end + minetest.register_abm({ nodenames = {"mesecons_hydroturbine:hydro_turbine_off"}, interval = 1, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local waterpos={x=pos.x, y=pos.y+1, z=pos.z} - if minetest.get_node(waterpos).name=="default:water_flowing" then + if is_flowing_water(waterpos) then minetest.set_node(pos, {name="mesecons_hydroturbine:hydro_turbine_on"}) nodeupdate(pos) mesecon.receptor_on(pos) @@ -73,7 +82,7 @@ nodenames = {"mesecons_hydroturbine:hydro_turbine_on"}, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local waterpos={x=pos.x, y=pos.y+1, z=pos.z} - if minetest.get_node(waterpos).name~="default:water_flowing" then + if not is_flowing_water(waterpos) then minetest.set_node(pos, {name="mesecons_hydroturbine:hydro_turbine_off"}) nodeupdate(pos) mesecon.receptor_off(pos) diff --git a/mesecons_hydroturbine/models/jeija_hydro_turbine_off.obj b/mesecons_hydroturbine/models/jeija_hydro_turbine_off.obj new file mode 100644 index 0000000..5cd5c96 --- /dev/null +++ b/mesecons_hydroturbine/models/jeija_hydro_turbine_off.obj @@ -0,0 +1,429 @@ +# Blender v2.72 (sub 0) OBJ File: 'mesecons-water-turbine.blend' +# www.blender.org +o Cylinder.002_Cylinder.003 +v 0.000000 0.496094 -0.150000 +v 0.000000 0.562500 -0.150000 +v 0.106066 0.496094 -0.106066 +v 0.106066 0.562500 -0.106066 +v 0.150000 0.496094 0.000000 +v 0.150000 0.562500 0.000000 +v 0.106066 0.496094 0.106066 +v 0.106066 0.562500 0.106066 +v -0.000000 0.496094 0.150000 +v -0.000000 0.562500 0.150000 +v -0.106066 0.496094 0.106066 +v -0.106066 0.562500 0.106066 +v -0.150000 0.496094 -0.000000 +v -0.150000 0.562500 -0.000000 +v -0.106066 0.496094 -0.106066 +v -0.106066 0.562500 -0.106066 +v 0.097545 0.625000 -0.490393 +v -0.097545 0.625000 -0.490393 +v -0.277785 0.625000 -0.415735 +v -0.415735 0.625000 -0.277785 +v -0.490393 0.625000 -0.097545 +v -0.490393 0.625000 0.097545 +v -0.415735 0.625000 0.277785 +v -0.277785 0.625000 0.415735 +v -0.097545 0.625000 0.490393 +v 0.097545 0.625000 0.490393 +v 0.277785 0.625000 0.415735 +v 0.415735 0.625000 0.277785 +v 0.490393 0.625000 0.097545 +v 0.490393 0.625000 -0.097545 +v 0.415735 0.625000 -0.277785 +v 0.277785 0.625000 -0.415735 +v 0.097545 0.656250 -0.490393 +v -0.097545 0.656250 -0.490393 +v -0.277785 0.656250 -0.415735 +v -0.415735 0.656250 -0.277785 +v -0.490393 0.656250 -0.097545 +v -0.490393 0.656250 0.097545 +v -0.415735 0.656250 0.277785 +v -0.277785 0.656250 0.415735 +v -0.097545 0.656250 0.490393 +v 0.097545 0.656250 0.490393 +v 0.277785 0.656250 0.415735 +v 0.415735 0.656250 0.277785 +v 0.490393 0.656250 0.097545 +v 0.490393 0.656250 -0.097545 +v 0.415735 0.656250 -0.277785 +v 0.277785 0.656250 -0.415735 +v 0.116233 0.634645 -0.436100 +v 0.116233 1.482640 -0.436100 +v 0.299524 0.634645 -0.186124 +v 0.299524 1.482640 -0.186124 +v 0.343405 0.634645 0.080186 +v 0.343405 1.482640 0.080186 +v 0.186124 0.634645 0.299524 +v 0.186124 1.482640 0.299524 +v -0.080186 0.634645 0.343405 +v -0.080186 1.482640 0.343405 +v -0.299524 0.634645 0.186124 +v -0.299524 1.482640 0.186124 +v -0.343405 0.634645 -0.080186 +v -0.343405 1.482640 -0.080186 +v -0.186124 0.634645 -0.299524 +v -0.186124 1.482640 -0.299524 +v 0.080186 0.634645 -0.343405 +v 0.080186 1.482640 -0.343405 +v 0.390559 1.482640 -0.226180 +v 0.390559 0.634645 -0.226180 +v 0.436100 1.482640 0.116233 +v 0.436100 0.634645 0.116233 +v 0.226180 1.482640 0.390559 +v 0.226180 0.634645 0.390559 +v -0.116233 1.482640 0.436100 +v -0.116233 0.634645 0.436100 +v -0.390559 1.482640 0.226180 +v -0.390559 0.634645 0.226180 +v -0.436100 1.482640 -0.116233 +v -0.436100 0.634645 -0.116233 +v -0.226180 1.482640 -0.390559 +v -0.226180 0.634645 -0.390559 +v 0.108975 0.634645 -0.430778 +v 0.292266 0.634645 -0.180802 +v 0.292266 1.482640 -0.180802 +v 0.108975 1.482640 -0.430778 +v 0.381664 0.634645 -0.227549 +v 0.334509 0.634645 0.078817 +v 0.334509 1.482640 0.078817 +v 0.381664 1.482640 -0.227549 +v 0.430778 0.634645 0.108975 +v 0.180802 0.634645 0.292266 +v 0.180802 1.482640 0.292266 +v 0.430778 1.482640 0.108975 +v 0.227549 0.634645 0.381664 +v -0.078817 0.634645 0.334509 +v -0.078817 1.482640 0.334509 +v 0.227549 1.482640 0.381664 +v -0.108975 0.634645 0.430778 +v -0.292266 0.634645 0.180802 +v -0.292266 1.482640 0.180802 +v -0.108975 1.482640 0.430778 +v -0.381664 0.634645 0.227549 +v -0.334509 0.634645 -0.078817 +v -0.334509 1.482640 -0.078817 +v -0.381664 1.482640 0.227549 +v -0.227549 0.634645 -0.381663 +v 0.078817 0.634645 -0.334509 +v 0.078817 1.482640 -0.334509 +v -0.227549 1.482640 -0.381663 +v -0.430779 0.634645 -0.108975 +v -0.180802 0.634645 -0.292266 +v -0.180802 1.482640 -0.292266 +v -0.430779 1.482640 -0.108975 +v 0.097545 1.496094 -0.490393 +v -0.097545 1.496094 -0.490393 +v -0.277785 1.496094 -0.415735 +v -0.415735 1.496094 -0.277785 +v -0.490393 1.496094 -0.097545 +v -0.490393 1.496094 0.097545 +v -0.415735 1.496094 0.277785 +v -0.277785 1.496094 0.415735 +v -0.097545 1.496094 0.490393 +v 0.097545 1.496094 0.490393 +v 0.277785 1.496094 0.415735 +v 0.415735 1.496094 0.277785 +v 0.490393 1.496094 0.097545 +v 0.490393 1.496094 -0.097545 +v 0.415735 1.496094 -0.277785 +v 0.277785 1.496094 -0.415735 +v 0.097545 1.464844 -0.490393 +v -0.097545 1.464844 -0.490393 +v -0.277785 1.464844 -0.415735 +v -0.415735 1.464844 -0.277785 +v -0.490393 1.464844 -0.097545 +v -0.490393 1.464844 0.097545 +v -0.415735 1.464844 0.277785 +v -0.277785 1.464844 0.415735 +v -0.097545 1.464844 0.490393 +v 0.097545 1.464844 0.490393 +v 0.277785 1.464844 0.415735 +v 0.415735 1.464844 0.277785 +v 0.490393 1.464844 0.097545 +v 0.490393 1.464844 -0.097545 +v 0.415735 1.464844 -0.277785 +v 0.277785 1.464844 -0.415735 +v 0.025624 0.559630 -0.061863 +v 0.025624 1.481372 -0.061863 +v 0.061863 0.559630 -0.025624 +v 0.061863 1.481372 -0.025624 +v 0.061863 0.559630 0.025624 +v 0.061863 1.481372 0.025624 +v 0.025624 0.559630 0.061863 +v 0.025624 1.481372 0.061863 +v -0.025624 0.559630 0.061863 +v -0.025624 1.481372 0.061863 +v -0.061863 0.559630 0.025624 +v -0.061863 1.481372 0.025624 +v -0.061863 0.559630 -0.025624 +v -0.061863 1.481372 -0.025624 +v -0.025624 0.559630 -0.061863 +v -0.025624 1.481372 -0.061863 +v 0.496094 -0.496094 -0.496094 +v 0.496094 -0.496094 0.496094 +v -0.496094 -0.496094 0.496094 +v -0.496094 -0.496094 -0.496094 +v 0.496094 0.496094 -0.496094 +v 0.496094 0.496094 0.496094 +v -0.496094 0.496094 0.496094 +v -0.496094 0.496094 -0.496094 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.400544 1.000000 +vt 0.599456 1.000000 +vt 0.783227 0.923880 +vt 0.923880 0.783227 +vt 1.000000 0.599456 +vt 1.000000 0.400544 +vt 0.923880 0.216773 +vt 0.783227 0.076120 +vt 0.599456 0.000000 +vt 0.400544 0.000000 +vt 0.216773 0.076121 +vt 0.076120 0.216773 +vt 0.000000 0.400544 +vt 0.000000 0.599456 +vt 0.076121 0.783227 +vt 0.216773 0.923880 +vt 0.500000 0.343750 +vt 0.531250 0.343750 +vt 0.531250 0.375000 +vt 0.500000 0.375000 +vt 0.531250 0.406250 +vt 0.500000 0.406250 +vt 0.500000 0.531250 +vt 0.531250 0.531250 +vt 0.531250 0.500000 +vt 0.500000 0.500000 +vt 0.531250 0.468750 +vt 0.500000 0.468750 +vt 0.531250 0.437500 +vt 0.500000 0.437500 +vt 0.593750 0.468750 +vt 0.625000 0.437500 +vt 0.656250 0.437500 +vt 0.687500 0.468750 +vt 0.687500 0.500000 +vt 0.656250 0.531250 +vt 0.625000 0.531250 +vt 0.593750 0.500000 +vt 0.500000 0.312500 +vt 0.531250 0.312500 +vt 0.500000 0.281250 +vt 0.531250 0.281250 +vt 0.156250 0.750000 +vt 0.156250 0.875000 +vt 0.125000 0.875000 +vt 0.125000 0.750000 +vt 0.156250 0.625000 +vt 0.125000 0.625000 +vt 0.156250 0.500000 +vt 0.125000 0.500000 +vt 0.156250 0.375000 +vt 0.125000 0.375000 +vt 0.156250 0.250000 +vt 0.125000 0.250000 +vt 0.250000 0.500000 +vt 0.250000 0.625000 +vt 0.218750 0.625000 +vt 0.218750 0.500000 +vt 0.156250 0.125000 +vt 0.125000 0.125000 +vt 0.156250 -0.000000 +vt 0.125000 -0.000000 +vt 0.250000 0.375000 +vt 0.218750 0.375000 +vt 0.250000 0.875000 +vt 0.250000 1.000000 +vt 0.218750 1.000000 +vt 0.218750 0.875000 +vt 0.250000 0.250000 +vt 0.218750 0.250000 +vt 0.250000 0.750000 +vt 0.218750 0.750000 +vt 0.250000 0.125000 +vt 0.218750 0.125000 +vt 0.250000 -0.000000 +vt 0.218750 -0.000000 +vt 0.156250 1.000000 +vt 0.125000 1.000000 +vt 0.781250 0.593750 +vt 0.781250 0.968750 +vt 0.656250 0.968750 +vt 0.656250 0.593750 +vt 0.625000 0.593750 +vt 0.625000 0.968750 +vt 0.500000 0.968750 +vt 0.500000 0.593750 +vt 0.406250 -0.000000 +vt 0.437500 -0.000000 +vt 0.437500 0.125000 +vt 0.406250 0.125000 +vt 0.312500 0.875000 +vt 0.343750 0.875000 +vt 0.343750 1.000000 +vt 0.312500 1.000000 +vt 0.312500 0.750000 +vt 0.343750 0.750000 +vt 0.312500 0.625000 +vt 0.343750 0.625000 +vt 0.312500 0.500000 +vt 0.343750 0.500000 +vt 0.406250 0.750000 +vt 0.437500 0.750000 +vt 0.437500 0.875000 +vt 0.406250 0.875000 +vt 0.312500 0.375000 +vt 0.343750 0.375000 +vt 0.312500 0.250000 +vt 0.343750 0.250000 +vt 0.406250 0.625000 +vt 0.437500 0.625000 +vt 0.312500 0.125000 +vt 0.343750 0.125000 +vt 0.406250 0.500000 +vt 0.437500 0.500000 +vt 0.312500 -0.000000 +vt 0.343750 -0.000000 +vt 0.406250 0.375000 +vt 0.437500 0.375000 +vt 0.437500 1.000000 +vt 0.406250 1.000000 +vt 0.406250 0.250000 +vt 0.437500 0.250000 +vt 0.031250 0.937500 +vt 0.062500 0.937500 +vt 0.062500 0.968750 +vt 0.031250 0.968750 +vt 0.031250 0.718750 +vt 0.062500 0.718750 +vt 0.062500 0.750000 +vt 0.031250 0.750000 +vt 0.062500 0.781250 +vt 0.031250 0.781250 +vt 0.062500 0.812500 +vt 0.031250 0.812500 +vt 0.062500 0.843750 +vt 0.031250 0.843750 +vt 0.062500 0.875000 +vt 0.031250 0.875000 +vt 0.031250 0.906250 +vt 0.062500 0.906250 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 +vn 0.707100 0.000000 -0.707100 +vn -0.707100 0.000000 -0.707100 +vn 0.806400 0.000000 -0.591300 +vn 0.988400 0.000000 0.152100 +vn 0.591300 0.000000 0.806400 +vn -0.152100 0.000000 0.988400 +vn -0.806400 0.000000 0.591300 +vn -0.988400 0.000000 -0.152100 +vn 0.152100 0.000000 -0.988400 +vn -0.591300 0.000000 -0.806400 +g Cylinder.002_Cylinder.003_sides +s off +f 161/1/1 165/2/1 166/3/1 162/4/1 +f 162/1/2 166/2/2 167/3/2 163/4/2 +f 163/4/3 167/3/3 168/2/3 164/1/3 +f 165/2/4 161/1/4 164/4/4 168/3/4 +g Cylinder.002_Cylinder.003_top-bottom +f 161/2/5 162/1/5 163/4/5 164/3/5 +f 165/2/6 168/3/6 167/4/6 166/1/6 +g Cylinder.002_Cylinder.003_turbine-top-bottom +f 130/5/5 129/6/5 144/7/5 143/8/5 142/9/5 141/10/5 140/11/5 139/12/5 138/13/5 137/14/5 136/15/5 135/16/5 134/17/5 133/18/5 132/19/5 131/20/5 +f 18/5/5 17/6/5 32/7/5 31/8/5 30/9/5 29/10/5 28/11/5 27/12/5 26/13/5 25/14/5 24/15/5 23/16/5 22/17/5 21/18/5 20/19/5 19/20/5 +f 33/6/6 34/5/6 35/20/6 36/19/6 37/18/6 38/17/6 39/16/6 40/15/6 41/14/6 42/13/6 43/12/6 44/11/6 45/10/6 46/9/6 47/8/6 48/7/6 +f 113/6/6 114/5/6 115/20/6 116/19/6 117/18/6 118/17/6 119/16/6 120/15/6 121/14/6 122/13/6 123/12/6 124/11/6 125/10/6 126/9/6 127/8/6 128/7/6 +g Cylinder.002_Cylinder.003_turbine-blades-etc +f 1/21/7 2/22/7 4/23/7 3/24/7 +f 3/24/8 4/23/8 6/25/8 5/26/8 +f 5/27/9 6/28/9 8/29/9 7/30/9 +f 7/30/10 8/29/10 10/31/10 9/32/10 +f 9/32/11 10/31/11 12/33/11 11/34/11 +f 11/34/12 12/33/12 14/25/12 13/26/12 +f 4/35/6 2/36/6 16/37/6 14/38/6 12/39/6 10/40/6 8/41/6 6/42/6 +f 15/43/13 16/44/13 2/22/13 1/21/13 +f 13/45/14 14/46/14 16/44/14 15/43/14 +f 27/47/15 28/48/15 44/49/15 43/50/15 +f 26/51/10 27/47/10 43/50/10 42/52/10 +f 25/53/2 26/51/2 42/52/2 41/54/2 +f 24/55/11 25/53/11 41/54/11 40/56/11 +f 23/57/16 24/55/16 40/56/16 39/58/16 +f 17/59/4 18/60/4 34/61/4 33/62/4 +f 22/63/12 23/57/12 39/58/12 38/64/12 +f 21/65/3 22/63/3 38/64/3 37/66/3 +f 32/67/7 17/59/7 33/62/7 48/68/7 +f 20/69/14 21/70/14 37/71/14 36/72/14 +f 31/73/17 32/67/17 48/68/17 47/74/17 +f 19/75/18 20/69/18 36/72/18 35/76/18 +f 30/77/8 31/73/8 47/74/8 46/78/8 +f 18/60/13 19/75/13 35/76/13 34/61/13 +f 29/79/1 30/77/1 46/78/1 45/80/1 +f 28/48/9 29/81/9 45/82/9 44/49/9 +f 49/83/19 50/84/19 52/85/19 51/86/19 +f 68/86/20 67/83/20 54/84/20 53/85/20 +f 70/83/21 69/84/21 56/85/21 55/86/21 +f 72/84/22 71/85/22 58/86/22 57/83/22 +f 74/83/23 73/84/23 60/85/23 59/86/23 +f 76/83/24 75/84/24 62/85/24 61/86/24 +f 80/84/25 79/85/25 66/86/25 65/83/25 +f 78/83/26 77/84/26 64/85/26 63/86/26 +f 81/87/23 82/88/23 83/89/23 84/90/23 +f 85/88/24 86/89/24 87/90/24 88/87/24 +f 89/89/26 90/90/26 91/87/26 92/88/26 +f 93/90/25 94/87/25 95/88/25 96/89/25 +f 97/90/19 98/87/19 99/88/19 100/89/19 +f 101/87/20 102/88/20 103/89/20 104/90/20 +f 105/90/22 106/87/22 107/88/22 108/89/22 +f 109/89/21 110/90/21 111/87/21 112/88/21 +f 75/88/22 76/87/22 101/86/22 104/85/22 +f 71/88/20 72/87/20 93/86/20 96/85/20 +f 67/86/25 68/85/25 85/88/25 88/87/25 +f 79/86/24 80/85/24 105/88/24 108/87/24 +f 77/88/23 78/87/23 109/86/23 112/85/23 +f 73/88/21 74/87/21 97/86/21 100/85/21 +f 69/86/19 70/85/19 89/88/19 92/87/19 +f 50/86/26 49/85/26 81/88/26 84/87/26 +f 123/91/15 139/92/15 140/93/15 124/94/15 +f 122/95/10 138/96/10 139/97/10 123/98/10 +f 121/99/2 137/100/2 138/96/2 122/95/2 +f 120/101/11 136/102/11 137/100/11 121/99/11 +f 119/103/16 135/104/16 136/102/16 120/101/16 +f 113/105/4 129/106/4 130/107/4 114/108/4 +f 118/109/12 134/110/12 135/104/12 119/103/12 +f 117/111/3 133/112/3 134/110/3 118/109/3 +f 128/113/7 144/114/7 129/106/7 113/105/7 +f 116/115/14 132/116/14 133/112/14 117/111/14 +f 127/117/17 143/118/17 144/114/17 128/113/17 +f 115/119/18 131/120/18 132/116/18 116/115/18 +f 126/121/8 142/122/8 143/118/8 127/117/8 +f 114/108/13 130/107/13 131/123/13 115/124/13 +f 125/125/1 141/126/1 142/122/1 126/121/1 +f 124/94/9 140/93/9 141/126/9 125/125/9 +f 145/127/17 146/128/17 148/129/17 147/130/17 +f 147/131/1 148/132/1 150/133/1 149/134/1 +f 149/134/15 150/133/15 152/135/15 151/136/15 +f 151/136/2 152/135/2 154/137/2 153/138/2 +f 153/138/16 154/137/16 156/139/16 155/140/16 +f 155/140/3 156/139/3 158/141/3 157/142/3 +f 159/143/4 160/144/4 146/128/4 145/127/4 +f 157/142/18 158/141/18 160/144/18 159/143/18 diff --git a/mesecons_hydroturbine/models/jeija_hydro_turbine_on.obj b/mesecons_hydroturbine/models/jeija_hydro_turbine_on.obj new file mode 100644 index 0000000..e02501b --- /dev/null +++ b/mesecons_hydroturbine/models/jeija_hydro_turbine_on.obj @@ -0,0 +1,2061 @@ +# Blender v2.72 (sub 0) OBJ File: 'mesecons-water-turbine_on.blend' +# www.blender.org +o Cylinder.002_Cylinder.003 +v 0.000000 0.496094 -0.150000 +v 0.000000 0.562500 -0.150000 +v 0.106066 0.496094 -0.106066 +v 0.106066 0.562500 -0.106066 +v 0.150000 0.496094 0.000000 +v 0.150000 0.562500 0.000000 +v 0.106066 0.496094 0.106066 +v 0.106066 0.562500 0.106066 +v -0.000000 0.496094 0.150000 +v -0.000000 0.562500 0.150000 +v -0.106066 0.496094 0.106066 +v -0.106066 0.562500 0.106066 +v -0.150000 0.496094 -0.000000 +v -0.150000 0.562500 -0.000000 +v -0.106066 0.496094 -0.106066 +v -0.106066 0.562500 -0.106066 +v 0.097545 0.625000 -0.490393 +v -0.097545 0.625000 -0.490393 +v -0.277785 0.625000 -0.415735 +v -0.415735 0.625000 -0.277785 +v -0.490393 0.625000 -0.097545 +v -0.490393 0.625000 0.097545 +v -0.415735 0.625000 0.277785 +v -0.277785 0.625000 0.415735 +v -0.097545 0.625000 0.490393 +v 0.097545 0.625000 0.490393 +v 0.277785 0.625000 0.415735 +v 0.415735 0.625000 0.277785 +v 0.490393 0.625000 0.097545 +v 0.490393 0.625000 -0.097545 +v 0.415735 0.625000 -0.277785 +v 0.277785 0.625000 -0.415735 +v 0.097545 0.656250 -0.490393 +v -0.097545 0.656250 -0.490393 +v -0.277785 0.656250 -0.415735 +v -0.415735 0.656250 -0.277785 +v -0.490393 0.656250 -0.097545 +v -0.490393 0.656250 0.097545 +v -0.415735 0.656250 0.277785 +v -0.277785 0.656250 0.415735 +v -0.097545 0.656250 0.490393 +v 0.097545 0.656250 0.490393 +v 0.277785 0.656250 0.415735 +v 0.415735 0.656250 0.277785 +v 0.490393 0.656250 0.097545 +v 0.490393 0.656250 -0.097545 +v 0.415735 0.656250 -0.277785 +v 0.277785 0.656250 -0.415735 +v 0.116233 0.634645 -0.436100 +v 0.116233 1.482640 -0.436100 +v 0.299524 0.634645 -0.186124 +v 0.299524 1.482640 -0.186124 +v 0.343405 0.634645 0.080186 +v 0.343405 1.482640 0.080186 +v 0.186124 0.634645 0.299524 +v 0.186124 1.482640 0.299524 +v -0.080186 0.634645 0.343405 +v -0.080186 1.482640 0.343405 +v -0.299524 0.634645 0.186124 +v -0.299524 1.482640 0.186124 +v -0.343405 0.634645 -0.080186 +v -0.343405 1.482640 -0.080186 +v -0.186124 0.634645 -0.299524 +v -0.186124 1.482640 -0.299524 +v 0.080186 0.634645 -0.343405 +v 0.080186 1.482640 -0.343405 +v 0.390559 1.482640 -0.226180 +v 0.390559 0.634645 -0.226180 +v 0.436100 1.482640 0.116233 +v 0.436100 0.634645 0.116233 +v 0.226180 1.482640 0.390559 +v 0.226180 0.634645 0.390559 +v -0.116233 1.482640 0.436100 +v -0.116233 0.634645 0.436100 +v -0.390559 1.482640 0.226180 +v -0.390559 0.634645 0.226180 +v -0.436100 1.482640 -0.116233 +v -0.436100 0.634645 -0.116233 +v -0.226180 1.482640 -0.390559 +v -0.226180 0.634645 -0.390559 +v 0.108975 0.634645 -0.430778 +v 0.292266 0.634645 -0.180802 +v 0.292266 1.482640 -0.180802 +v 0.108975 1.482640 -0.430778 +v 0.381664 0.634645 -0.227549 +v 0.334509 0.634645 0.078817 +v 0.334509 1.482640 0.078817 +v 0.381664 1.482640 -0.227549 +v 0.430778 0.634645 0.108975 +v 0.180802 0.634645 0.292266 +v 0.180802 1.482640 0.292266 +v 0.430778 1.482640 0.108975 +v 0.227549 0.634645 0.381664 +v -0.078817 0.634645 0.334509 +v -0.078817 1.482640 0.334509 +v 0.227549 1.482640 0.381664 +v -0.108975 0.634645 0.430778 +v -0.292266 0.634645 0.180802 +v -0.292266 1.482640 0.180802 +v -0.108975 1.482640 0.430778 +v -0.381664 0.634645 0.227549 +v -0.334509 0.634645 -0.078817 +v -0.334509 1.482640 -0.078817 +v -0.381664 1.482640 0.227549 +v -0.227549 0.634645 -0.381663 +v 0.078817 0.634645 -0.334509 +v 0.078817 1.482640 -0.334509 +v -0.227549 1.482640 -0.381663 +v -0.430779 0.634645 -0.108975 +v -0.180802 0.634645 -0.292266 +v -0.180802 1.482640 -0.292266 +v -0.430779 1.482640 -0.108975 +v 0.097545 1.496094 -0.490393 +v -0.097545 1.496094 -0.490393 +v -0.277785 1.496094 -0.415735 +v -0.415735 1.496094 -0.277785 +v -0.490393 1.496094 -0.097545 +v -0.490393 1.496094 0.097545 +v -0.415735 1.496094 0.277785 +v -0.277785 1.496094 0.415735 +v -0.097545 1.496094 0.490393 +v 0.097545 1.496094 0.490393 +v 0.277785 1.496094 0.415735 +v 0.415735 1.496094 0.277785 +v 0.490393 1.496094 0.097545 +v 0.490393 1.496094 -0.097545 +v 0.415735 1.496094 -0.277785 +v 0.277785 1.496094 -0.415735 +v 0.097545 1.464844 -0.490393 +v -0.097545 1.464844 -0.490393 +v -0.277785 1.464844 -0.415735 +v -0.415735 1.464844 -0.277785 +v -0.490393 1.464844 -0.097545 +v -0.490393 1.464844 0.097545 +v -0.415735 1.464844 0.277785 +v -0.277785 1.464844 0.415735 +v -0.097545 1.464844 0.490393 +v 0.097545 1.464844 0.490393 +v 0.277785 1.464844 0.415735 +v 0.415735 1.464844 0.277785 +v 0.490393 1.464844 0.097545 +v 0.490393 1.464844 -0.097545 +v 0.415735 1.464844 -0.277785 +v 0.277785 1.464844 -0.415735 +v 0.025624 0.559630 -0.061863 +v 0.025624 1.481372 -0.061863 +v 0.061863 0.559630 -0.025624 +v 0.061863 1.481372 -0.025624 +v 0.061863 0.559630 0.025624 +v 0.061863 1.481372 0.025624 +v 0.025624 0.559630 0.061863 +v 0.025624 1.481372 0.061863 +v -0.025624 0.559630 0.061863 +v -0.025624 1.481372 0.061863 +v -0.061863 0.559630 0.025624 +v -0.061863 1.481372 0.025624 +v -0.061863 0.559630 -0.025624 +v -0.061863 1.481372 -0.025624 +v -0.025624 0.559630 -0.061863 +v -0.025624 1.481372 -0.061863 +v 0.496094 -0.496094 -0.496094 +v 0.496094 -0.496094 0.496094 +v -0.496094 -0.496094 0.496094 +v -0.496094 -0.496094 -0.496094 +v 0.496094 0.496094 -0.496094 +v 0.496094 0.496094 0.496094 +v -0.496094 0.496094 0.496094 +v -0.496094 0.496094 -0.496094 +v 0.199079 0.634645 -0.405045 +v 0.199079 1.482640 -0.405045 +v 0.330079 0.634645 -0.124113 +v 0.330079 1.482640 -0.124113 +v 0.321163 0.634645 0.145640 +v 0.321163 1.482640 0.145640 +v 0.124113 0.634645 0.330079 +v 0.124113 1.482640 0.330079 +v -0.145640 0.634645 0.321163 +v -0.145640 1.482640 0.321163 +v -0.330079 0.634645 0.124113 +v -0.330079 1.482640 0.124113 +v -0.321163 0.634645 -0.145640 +v -0.321163 1.482640 -0.145640 +v -0.124113 0.634645 -0.330079 +v -0.124113 1.482640 -0.330079 +v 0.145640 0.634645 -0.321163 +v 0.145640 1.482640 -0.321163 +v 0.427180 1.482640 -0.145640 +v 0.427180 0.634645 -0.145640 +v 0.405045 1.482640 0.199079 +v 0.405045 0.634645 0.199079 +v 0.145640 1.482640 0.427180 +v 0.145640 0.634645 0.427180 +v -0.199079 1.482640 0.405045 +v -0.199079 0.634645 0.405045 +v -0.427180 1.482640 0.145640 +v -0.427180 0.634645 0.145640 +v -0.405045 1.482640 -0.199079 +v -0.405045 0.634645 -0.199079 +v -0.145640 1.482640 -0.427180 +v -0.145640 0.634645 -0.427180 +v 0.190922 0.634645 -0.401241 +v 0.321922 0.634645 -0.120310 +v 0.321922 1.482640 -0.120310 +v 0.190922 1.482640 -0.401241 +v 0.418723 0.634645 -0.148718 +v 0.312705 0.634645 0.142562 +v 0.312705 1.482640 0.142562 +v 0.418723 1.482640 -0.148718 +v 0.401241 0.634645 0.190922 +v 0.120310 0.634645 0.321923 +v 0.120310 1.482640 0.321923 +v 0.401241 1.482640 0.190922 +v 0.148718 0.634645 0.418723 +v -0.142562 0.634645 0.312705 +v -0.142562 1.482640 0.312705 +v 0.148718 1.482640 0.418723 +v -0.190922 0.634645 0.401241 +v -0.321923 0.634645 0.120310 +v -0.321923 1.482640 0.120310 +v -0.190922 1.482640 0.401241 +v -0.418723 0.634645 0.148718 +v -0.312705 0.634645 -0.142562 +v -0.312705 1.482640 -0.142562 +v -0.418723 1.482640 0.148718 +v -0.148718 0.634645 -0.418723 +v 0.142562 0.634645 -0.312705 +v 0.142562 1.482640 -0.312705 +v -0.148718 1.482640 -0.418723 +v -0.401241 0.634645 -0.190922 +v -0.120310 0.634645 -0.321923 +v -0.120310 1.482640 -0.321923 +v -0.401241 1.482640 -0.190922 +v 0.274274 0.634645 -0.358424 +v 0.274274 1.482640 -0.358424 +v 0.347950 0.634645 -0.057333 +v 0.347950 1.482640 -0.057333 +v 0.286579 0.634645 0.205497 +v 0.286579 1.482640 0.205497 +v 0.057333 0.634645 0.347950 +v 0.057333 1.482640 0.347950 +v -0.205497 0.634645 0.286579 +v -0.205497 1.482640 0.286579 +v -0.347950 0.634645 0.057333 +v -0.347950 1.482640 0.057333 +v -0.286579 0.634645 -0.205497 +v -0.286579 1.482640 -0.205497 +v -0.057333 0.634645 -0.347950 +v -0.057333 1.482640 -0.347950 +v 0.205497 0.634645 -0.286579 +v 0.205497 1.482640 -0.286579 +v 0.447385 1.482640 -0.059503 +v 0.447385 0.634645 -0.059503 +v 0.358424 1.482640 0.274274 +v 0.358424 0.634645 0.274274 +v 0.059503 1.482640 0.447385 +v 0.059503 0.634645 0.447385 +v -0.274274 1.482640 0.358424 +v -0.274274 0.634645 0.358424 +v -0.447385 1.482640 0.059503 +v -0.447385 0.634645 0.059503 +v -0.358424 1.482640 -0.274274 +v -0.358424 0.634645 -0.274274 +v -0.059503 1.482640 -0.447385 +v -0.059503 0.634645 -0.447385 +v 0.265532 0.634645 -0.356284 +v 0.339208 0.634645 -0.055194 +v 0.339208 1.482640 -0.055194 +v 0.265532 1.482640 -0.356284 +v 0.439690 0.634645 -0.064172 +v 0.278885 0.634645 0.200828 +v 0.278885 1.482640 0.200828 +v 0.439690 1.482640 -0.064172 +v 0.356284 0.634645 0.265532 +v 0.055194 0.634645 0.339208 +v 0.055194 1.482640 0.339208 +v 0.356284 1.482640 0.265532 +v 0.064172 0.634645 0.439690 +v -0.200828 0.634645 0.278884 +v -0.200828 1.482640 0.278884 +v 0.064172 1.482640 0.439690 +v -0.265532 0.634645 0.356284 +v -0.339208 0.634645 0.055194 +v -0.339208 1.482640 0.055194 +v -0.265532 1.482640 0.356284 +v -0.439690 0.634645 0.064172 +v -0.278885 0.634645 -0.200828 +v -0.278885 1.482640 -0.200828 +v -0.439690 1.482640 0.064172 +v -0.064172 0.634645 -0.439690 +v 0.200828 0.634645 -0.278884 +v 0.200828 1.482640 -0.278884 +v -0.064172 1.482640 -0.439690 +v -0.356284 0.634645 -0.265532 +v -0.055194 0.634645 -0.339208 +v -0.055194 1.482640 -0.339208 +v -0.356284 1.482640 -0.265532 +v 0.338929 0.634645 -0.298028 +v 0.338929 1.482640 -0.298028 +v 0.352449 0.634645 0.011650 +v 0.352449 1.482640 0.011650 +v 0.240981 0.634645 0.257457 +v 0.240981 1.482640 0.257457 +v -0.011650 0.634645 0.352450 +v -0.011650 1.482640 0.352450 +v -0.257458 0.634645 0.240982 +v -0.257458 1.482640 0.240982 +v -0.352450 0.634645 -0.011650 +v -0.352450 1.482640 -0.011650 +v -0.240982 0.634645 -0.257457 +v -0.240982 1.482640 -0.257457 +v 0.011650 0.634645 -0.352450 +v 0.011650 1.482640 -0.352450 +v 0.257457 0.634645 -0.240982 +v 0.257457 1.482640 -0.240982 +v 0.450397 1.482640 0.028921 +v 0.450397 0.634645 0.028921 +v 0.298028 1.482640 0.338929 +v 0.298028 0.634645 0.338929 +v -0.028921 1.482640 0.450397 +v -0.028921 0.634645 0.450397 +v -0.338929 1.482640 0.298028 +v -0.338929 0.634645 0.298028 +v -0.450397 1.482640 -0.028921 +v -0.450397 0.634645 -0.028921 +v -0.298029 1.482640 -0.338929 +v -0.298029 0.634645 -0.338929 +v 0.028921 1.482640 -0.450397 +v 0.028921 0.634645 -0.450397 +v 0.329937 0.634645 -0.297636 +v 0.343458 0.634645 0.012043 +v 0.343458 1.482640 0.012043 +v 0.329937 1.482640 -0.297636 +v 0.443761 0.634645 0.022841 +v 0.234346 0.634645 0.251377 +v 0.234346 1.482640 0.251377 +v 0.443761 1.482640 0.022841 +v 0.297636 0.634645 0.329937 +v -0.012043 0.634645 0.343458 +v -0.012043 1.482640 0.343458 +v 0.297636 1.482640 0.329937 +v -0.022841 0.634645 0.443761 +v -0.251377 0.634645 0.234346 +v -0.251377 1.482640 0.234346 +v -0.022841 1.482640 0.443761 +v -0.329938 0.634645 0.297636 +v -0.343458 0.634645 -0.012043 +v -0.343458 1.482640 -0.012043 +v -0.329938 1.482640 0.297636 +v -0.443762 0.634645 -0.022841 +v -0.234346 0.634645 -0.251377 +v -0.234346 1.482640 -0.251377 +v -0.443762 1.482640 -0.022841 +v 0.022840 0.634645 -0.443761 +v 0.251377 0.634645 -0.234346 +v 0.251377 1.482640 -0.234346 +v 0.022840 1.482640 -0.443761 +v -0.297636 0.634645 -0.329937 +v 0.012042 0.634645 -0.343458 +v 0.012042 1.482640 -0.343458 +v -0.297636 1.482640 -0.329937 +v 0.191342 0.625000 -0.461940 +v 0.000000 0.625000 -0.500000 +v -0.191342 0.625000 -0.461940 +v -0.353553 0.625000 -0.353554 +v -0.461940 0.625000 -0.191342 +v -0.500000 0.625000 0.000000 +v -0.461940 0.625000 0.191342 +v -0.353554 0.625000 0.353553 +v -0.191342 0.625000 0.461940 +v -0.000000 0.625000 0.500000 +v 0.191342 0.625000 0.461940 +v 0.353553 0.625000 0.353554 +v 0.461940 0.625000 0.191342 +v 0.500000 0.625000 0.000000 +v 0.461940 0.625000 -0.191342 +v 0.353553 0.625000 -0.353554 +v 0.191342 0.656250 -0.461940 +v 0.000000 0.656250 -0.500000 +v -0.191342 0.656250 -0.461940 +v -0.353553 0.656250 -0.353554 +v -0.461940 0.656250 -0.191342 +v -0.500000 0.656250 0.000000 +v -0.461940 0.656250 0.191342 +v -0.353554 0.656250 0.353553 +v -0.191342 0.656250 0.461940 +v -0.000000 0.656250 0.500000 +v 0.191342 0.656250 0.461940 +v 0.353553 0.656250 0.353554 +v 0.461940 0.656250 0.191342 +v 0.500000 0.656250 0.000000 +v 0.461940 0.656250 -0.191342 +v 0.353553 0.656250 -0.353554 +v 0.191342 1.496094 -0.461940 +v 0.000000 1.496094 -0.500000 +v -0.191342 1.496094 -0.461940 +v -0.353553 1.496094 -0.353554 +v -0.461940 1.496094 -0.191342 +v -0.500000 1.496094 -0.000000 +v -0.461940 1.496094 0.191342 +v -0.353554 1.496094 0.353553 +v -0.191342 1.496094 0.461940 +v -0.000000 1.496094 0.500000 +v 0.191342 1.496094 0.461940 +v 0.353553 1.496094 0.353553 +v 0.461940 1.496094 0.191342 +v 0.500000 1.496094 0.000000 +v 0.461940 1.496094 -0.191342 +v 0.353553 1.496094 -0.353554 +v 0.191342 1.464844 -0.461940 +v 0.000000 1.464844 -0.500000 +v -0.191342 1.464844 -0.461940 +v -0.353553 1.464844 -0.353554 +v -0.461940 1.464844 -0.191342 +v -0.500000 1.464844 -0.000000 +v -0.461940 1.464844 0.191342 +v -0.353554 1.464844 0.353553 +v -0.191342 1.464844 0.461940 +v -0.000000 1.464844 0.500000 +v 0.191342 1.464844 0.461940 +v 0.353553 1.464844 0.353553 +v 0.461940 1.464844 0.191342 +v 0.500000 1.464844 0.000000 +v 0.461940 1.464844 -0.191342 +v 0.353553 1.464844 -0.353554 +v 0.277785 0.625000 -0.415735 +v 0.097545 0.625000 -0.490393 +v -0.097545 0.625000 -0.490393 +v -0.277785 0.625000 -0.415735 +v -0.415735 0.625000 -0.277785 +v -0.490393 0.625000 -0.097545 +v -0.490393 0.625000 0.097545 +v -0.415735 0.625000 0.277785 +v -0.277785 0.625000 0.415735 +v -0.097545 0.625000 0.490393 +v 0.097545 0.625000 0.490393 +v 0.277785 0.625000 0.415735 +v 0.415735 0.625000 0.277785 +v 0.490393 0.625000 0.097545 +v 0.490393 0.625000 -0.097545 +v 0.415735 0.625000 -0.277785 +v 0.277785 0.656250 -0.415735 +v 0.097545 0.656250 -0.490393 +v -0.097545 0.656250 -0.490393 +v -0.277785 0.656250 -0.415735 +v -0.415735 0.656250 -0.277785 +v -0.490393 0.656250 -0.097545 +v -0.490393 0.656250 0.097545 +v -0.415735 0.656250 0.277785 +v -0.277785 0.656250 0.415735 +v -0.097545 0.656250 0.490393 +v 0.097545 0.656250 0.490393 +v 0.277785 0.656250 0.415735 +v 0.415735 0.656250 0.277785 +v 0.490393 0.656250 0.097545 +v 0.490393 0.656250 -0.097545 +v 0.415735 0.656250 -0.277785 +v 0.277785 1.496094 -0.415735 +v 0.097545 1.496094 -0.490393 +v -0.097545 1.496094 -0.490393 +v -0.277785 1.496094 -0.415735 +v -0.415735 1.496094 -0.277785 +v -0.490393 1.496094 -0.097545 +v -0.490393 1.496094 0.097545 +v -0.415735 1.496094 0.277785 +v -0.277785 1.496094 0.415735 +v -0.097545 1.496094 0.490393 +v 0.097545 1.496094 0.490393 +v 0.277785 1.496094 0.415735 +v 0.415735 1.496094 0.277785 +v 0.490393 1.496094 0.097545 +v 0.490393 1.496094 -0.097545 +v 0.415735 1.496094 -0.277785 +v 0.277785 1.464844 -0.415735 +v 0.097545 1.464844 -0.490393 +v -0.097545 1.464844 -0.490393 +v -0.277785 1.464844 -0.415735 +v -0.415735 1.464844 -0.277785 +v -0.490393 1.464844 -0.097545 +v -0.490393 1.464844 0.097545 +v -0.415735 1.464844 0.277785 +v -0.277785 1.464844 0.415735 +v -0.097545 1.464844 0.490393 +v 0.097545 1.464844 0.490393 +v 0.277785 1.464844 0.415735 +v 0.415735 1.464844 0.277785 +v 0.490393 1.464844 0.097545 +v 0.490393 1.464844 -0.097545 +v 0.415735 1.464844 -0.277785 +v 0.353553 0.625000 -0.353553 +v 0.191342 0.625000 -0.461940 +v 0.000000 0.625000 -0.500000 +v -0.191342 0.625000 -0.461940 +v -0.353553 0.625000 -0.353554 +v -0.461940 0.625000 -0.191342 +v -0.500000 0.625000 0.000000 +v -0.461940 0.625000 0.191342 +v -0.353554 0.625000 0.353553 +v -0.191342 0.625000 0.461940 +v -0.000001 0.625000 0.500000 +v 0.191341 0.625000 0.461940 +v 0.353553 0.625000 0.353554 +v 0.461940 0.625000 0.191342 +v 0.500000 0.625000 0.000000 +v 0.461940 0.625000 -0.191342 +v 0.353553 0.656250 -0.353553 +v 0.191342 0.656250 -0.461940 +v 0.000000 0.656250 -0.500000 +v -0.191342 0.656250 -0.461940 +v -0.353553 0.656250 -0.353554 +v -0.461940 0.656250 -0.191342 +v -0.500000 0.656250 0.000000 +v -0.461940 0.656250 0.191342 +v -0.353554 0.656250 0.353553 +v -0.191342 0.656250 0.461940 +v -0.000001 0.656250 0.500000 +v 0.191341 0.656250 0.461940 +v 0.353553 0.656250 0.353554 +v 0.461940 0.656250 0.191342 +v 0.500000 0.656250 0.000000 +v 0.461940 0.656250 -0.191342 +v 0.353553 1.496094 -0.353553 +v 0.191341 1.496094 -0.461940 +v -0.000001 1.496094 -0.500000 +v -0.191342 1.496094 -0.461940 +v -0.353554 1.496094 -0.353554 +v -0.461940 1.496094 -0.191342 +v -0.500000 1.496094 0.000000 +v -0.461940 1.496094 0.191342 +v -0.353554 1.496094 0.353553 +v -0.191342 1.496094 0.461940 +v -0.000001 1.496094 0.500000 +v 0.191341 1.496094 0.461940 +v 0.353553 1.496094 0.353554 +v 0.461939 1.496094 0.191342 +v 0.500000 1.496094 0.000000 +v 0.461939 1.496094 -0.191342 +v 0.353553 1.464844 -0.353553 +v 0.191341 1.464844 -0.461940 +v -0.000001 1.464844 -0.500000 +v -0.191342 1.464844 -0.461940 +v -0.353554 1.464844 -0.353554 +v -0.461940 1.464844 -0.191342 +v -0.500000 1.464844 0.000000 +v -0.461940 1.464844 0.191342 +v -0.353554 1.464844 0.353553 +v -0.191342 1.464844 0.461940 +v -0.000001 1.464844 0.500000 +v 0.191341 1.464844 0.461940 +v 0.353553 1.464844 0.353554 +v 0.461939 1.464844 0.191342 +v 0.500000 1.464844 0.000000 +v 0.461939 1.464844 -0.191342 +v 0.415735 0.625000 -0.277785 +v 0.277785 0.625000 -0.415735 +v 0.097545 0.625000 -0.490393 +v -0.097545 0.625000 -0.490393 +v -0.277785 0.625000 -0.415735 +v -0.415735 0.625000 -0.277785 +v -0.490393 0.625000 -0.097545 +v -0.490393 0.625000 0.097545 +v -0.415735 0.625000 0.277785 +v -0.277785 0.625000 0.415735 +v -0.097545 0.625000 0.490393 +v 0.097545 0.625000 0.490393 +v 0.277785 0.625000 0.415735 +v 0.415735 0.625000 0.277785 +v 0.490393 0.625000 0.097545 +v 0.490393 0.625000 -0.097545 +v 0.415735 0.656250 -0.277785 +v 0.277785 0.656250 -0.415735 +v 0.097545 0.656250 -0.490393 +v -0.097545 0.656250 -0.490393 +v -0.277785 0.656250 -0.415735 +v -0.415735 0.656250 -0.277785 +v -0.490393 0.656250 -0.097545 +v -0.490393 0.656250 0.097545 +v -0.415735 0.656250 0.277785 +v -0.277785 0.656250 0.415735 +v -0.097545 0.656250 0.490393 +v 0.097545 0.656250 0.490393 +v 0.277785 0.656250 0.415735 +v 0.415735 0.656250 0.277785 +v 0.490393 0.656250 0.097545 +v 0.490393 0.656250 -0.097545 +v 0.415735 1.496094 -0.277785 +v 0.277785 1.496094 -0.415735 +v 0.097545 1.496094 -0.490393 +v -0.097545 1.496094 -0.490393 +v -0.277785 1.496094 -0.415735 +v -0.415734 1.496094 -0.277785 +v -0.490392 1.496094 -0.097545 +v -0.490392 1.496094 0.097545 +v -0.415735 1.496094 0.277785 +v -0.277785 1.496094 0.415735 +v -0.097545 1.496094 0.490392 +v 0.097545 1.496094 0.490393 +v 0.277785 1.496094 0.415735 +v 0.415735 1.496094 0.277785 +v 0.490393 1.496094 0.097545 +v 0.490393 1.496094 -0.097545 +v 0.415735 1.464844 -0.277785 +v 0.277785 1.464844 -0.415735 +v 0.097545 1.464844 -0.490393 +v -0.097545 1.464844 -0.490393 +v -0.277785 1.464844 -0.415735 +v -0.415734 1.464844 -0.277785 +v -0.490392 1.464844 -0.097545 +v -0.490392 1.464844 0.097545 +v -0.415735 1.464844 0.277785 +v -0.277785 1.464844 0.415735 +v -0.097545 1.464844 0.490392 +v 0.097545 1.464844 0.490393 +v 0.277785 1.464844 0.415735 +v 0.415735 1.464844 0.277785 +v 0.490393 1.464844 0.097545 +v 0.490393 1.464844 -0.097545 +v 0.461940 0.625000 -0.191342 +v 0.353553 0.625000 -0.353554 +v 0.191342 0.625000 -0.461940 +v 0.000000 0.625000 -0.500000 +v -0.191342 0.625000 -0.461940 +v -0.353553 0.625000 -0.353554 +v -0.461940 0.625000 -0.191342 +v -0.500000 0.625000 -0.000000 +v -0.461940 0.625000 0.191341 +v -0.353554 0.625000 0.353553 +v -0.191342 0.625000 0.461940 +v 0.000000 0.625000 0.500000 +v 0.191342 0.625000 0.461940 +v 0.353553 0.625000 0.353553 +v 0.461940 0.625000 0.191342 +v 0.500000 0.625000 -0.000000 +v 0.461940 0.656250 -0.191342 +v 0.353553 0.656250 -0.353554 +v 0.191342 0.656250 -0.461940 +v 0.000000 0.656250 -0.500000 +v -0.191342 0.656250 -0.461940 +v -0.353553 0.656250 -0.353554 +v -0.461940 0.656250 -0.191342 +v -0.500000 0.656250 -0.000000 +v -0.461940 0.656250 0.191341 +v -0.353554 0.656250 0.353553 +v -0.191342 0.656250 0.461940 +v 0.000000 0.656250 0.500000 +v 0.191342 0.656250 0.461940 +v 0.353553 0.656250 0.353553 +v 0.461940 0.656250 0.191342 +v 0.500000 0.656250 -0.000000 +v 0.461940 1.496094 -0.191342 +v 0.353553 1.496094 -0.353554 +v 0.191342 1.496094 -0.461940 +v 0.000000 1.496094 -0.500000 +v -0.191342 1.496094 -0.461940 +v -0.353553 1.496094 -0.353554 +v -0.461940 1.496094 -0.191342 +v -0.500000 1.496094 -0.000000 +v -0.461940 1.496094 0.191342 +v -0.353554 1.496094 0.353553 +v -0.191342 1.496094 0.461940 +v 0.000000 1.496094 0.500000 +v 0.191342 1.496094 0.461940 +v 0.353553 1.496094 0.353553 +v 0.461940 1.496094 0.191342 +v 0.500000 1.496094 -0.000000 +v 0.461940 1.464844 -0.191342 +v 0.353553 1.464844 -0.353554 +v 0.191342 1.464844 -0.461940 +v 0.000000 1.464844 -0.500000 +v -0.191342 1.464844 -0.461940 +v -0.353553 1.464844 -0.353554 +v -0.461940 1.464844 -0.191342 +v -0.500000 1.464844 -0.000000 +v -0.461940 1.464844 0.191342 +v -0.353554 1.464844 0.353553 +v -0.191342 1.464844 0.461940 +v 0.000000 1.464844 0.500000 +v 0.191342 1.464844 0.461940 +v 0.353553 1.464844 0.353553 +v 0.461940 1.464844 0.191342 +v 0.500000 1.464844 -0.000000 +v 0.490393 0.625000 -0.097545 +v 0.415735 0.625000 -0.277785 +v 0.277786 0.625000 -0.415735 +v 0.097545 0.625000 -0.490392 +v -0.097545 0.625000 -0.490392 +v -0.277785 0.625000 -0.415735 +v -0.415734 0.625000 -0.277785 +v -0.490392 0.625000 -0.097545 +v -0.490392 0.625000 0.097545 +v -0.415734 0.625000 0.277785 +v -0.277785 0.625000 0.415735 +v -0.097545 0.625000 0.490393 +v 0.097546 0.625000 0.490393 +v 0.277786 0.625000 0.415735 +v 0.415735 0.625000 0.277785 +v 0.490393 0.625000 0.097545 +v 0.490393 0.656250 -0.097545 +v 0.415735 0.656250 -0.277785 +v 0.277786 0.656250 -0.415735 +v 0.097545 0.656250 -0.490392 +v -0.097545 0.656250 -0.490392 +v -0.277785 0.656250 -0.415735 +v -0.415734 0.656250 -0.277785 +v -0.490392 0.656250 -0.097545 +v -0.490392 0.656250 0.097545 +v -0.415734 0.656250 0.277785 +v -0.277785 0.656250 0.415735 +v -0.097545 0.656250 0.490393 +v 0.097546 0.656250 0.490393 +v 0.277786 0.656250 0.415735 +v 0.415735 0.656250 0.277785 +v 0.490393 0.656250 0.097545 +v 0.490392 1.496094 -0.097545 +v 0.415735 1.496094 -0.277785 +v 0.277785 1.496094 -0.415735 +v 0.097545 1.496094 -0.490393 +v -0.097546 1.496094 -0.490393 +v -0.277785 1.496094 -0.415735 +v -0.415735 1.496094 -0.277785 +v -0.490393 1.496094 -0.097545 +v -0.490393 1.496094 0.097545 +v -0.415735 1.496094 0.277785 +v -0.277785 1.496094 0.415735 +v -0.097546 1.496094 0.490393 +v 0.097545 1.496094 0.490393 +v 0.277785 1.496094 0.415735 +v 0.415735 1.496094 0.277785 +v 0.490392 1.496094 0.097545 +v 0.490392 1.464844 -0.097545 +v 0.415735 1.464844 -0.277785 +v 0.277785 1.464844 -0.415735 +v 0.097545 1.464844 -0.490393 +v -0.097546 1.464844 -0.490393 +v -0.277785 1.464844 -0.415735 +v -0.415735 1.464844 -0.277785 +v -0.490393 1.464844 -0.097545 +v -0.490393 1.464844 0.097545 +v -0.415735 1.464844 0.277785 +v -0.277785 1.464844 0.415735 +v -0.097546 1.464844 0.490393 +v 0.097545 1.464844 0.490393 +v 0.277785 1.464844 0.415735 +v 0.415735 1.464844 0.277785 +v 0.490392 1.464844 0.097545 +v 0.500000 0.625000 0.000000 +v 0.461940 0.625000 -0.191342 +v 0.353554 0.625000 -0.353553 +v 0.191343 0.625000 -0.461939 +v 0.000001 0.625000 -0.500000 +v -0.191341 0.625000 -0.461939 +v -0.353553 0.625000 -0.353553 +v -0.461939 0.625000 -0.191342 +v -0.500000 0.625000 0.000000 +v -0.461939 0.625000 0.191342 +v -0.353553 0.625000 0.353554 +v -0.191341 0.625000 0.461940 +v 0.000001 0.625000 0.500000 +v 0.191343 0.625000 0.461940 +v 0.353555 0.625000 0.353554 +v 0.461940 0.625000 0.191342 +v 0.500000 0.656250 0.000000 +v 0.461940 0.656250 -0.191342 +v 0.353554 0.656250 -0.353553 +v 0.191343 0.656250 -0.461939 +v 0.000001 0.656250 -0.500000 +v -0.191341 0.656250 -0.461939 +v -0.353553 0.656250 -0.353553 +v -0.461939 0.656250 -0.191342 +v -0.500000 0.656250 0.000000 +v -0.461939 0.656250 0.191342 +v -0.353553 0.656250 0.353554 +v -0.191341 0.656250 0.461940 +v 0.000001 0.656250 0.500000 +v 0.191343 0.656250 0.461940 +v 0.353555 0.656250 0.353554 +v 0.461940 0.656250 0.191342 +v 0.500000 1.496094 0.000000 +v 0.461940 1.496094 -0.191342 +v 0.353554 1.496094 -0.353553 +v 0.191343 1.496094 -0.461939 +v 0.000001 1.496094 -0.500000 +v -0.191341 1.496094 -0.461939 +v -0.353553 1.496094 -0.353553 +v -0.461939 1.496094 -0.191342 +v -0.500000 1.496094 0.000000 +v -0.461939 1.496094 0.191342 +v -0.353553 1.496094 0.353554 +v -0.191341 1.496094 0.461940 +v 0.000001 1.496094 0.500000 +v 0.191343 1.496094 0.461940 +v 0.353555 1.496094 0.353554 +v 0.461940 1.496094 0.191342 +v 0.500000 1.464844 0.000000 +v 0.461940 1.464844 -0.191342 +v 0.353554 1.464844 -0.353553 +v 0.191343 1.464844 -0.461939 +v 0.000001 1.464844 -0.500000 +v -0.191341 1.464844 -0.461939 +v -0.353553 1.464844 -0.353553 +v -0.461939 1.464844 -0.191342 +v -0.500000 1.464844 0.000000 +v -0.461939 1.464844 0.191342 +v -0.353553 1.464844 0.353554 +v -0.191341 1.464844 0.461940 +v 0.000001 1.464844 0.500000 +v 0.191343 1.464844 0.461940 +v 0.353555 1.464844 0.353554 +v 0.461940 1.464844 0.191342 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.050068 0.998878 +vt 0.074932 0.998878 +vt 0.097903 0.922758 +vt 0.115485 0.782105 +vt 0.125000 0.598334 +vt 0.125000 0.399421 +vt 0.115485 0.215651 +vt 0.097903 0.074998 +vt 0.074932 -0.001122 +vt 0.050068 -0.001122 +vt 0.027097 0.074998 +vt 0.009515 0.215650 +vt 0.000000 0.399421 +vt 0.000000 0.598334 +vt 0.009515 0.782105 +vt 0.027097 0.922758 +vt 0.175068 1.000041 +vt 0.199932 1.000041 +vt 0.222903 0.923920 +vt 0.240485 0.783268 +vt 0.250000 0.599497 +vt 0.250000 0.400584 +vt 0.240485 0.216814 +vt 0.222903 0.076161 +vt 0.199932 0.000041 +vt 0.175068 0.000041 +vt 0.152097 0.076161 +vt 0.134515 0.216813 +vt 0.125000 0.400584 +vt 0.125000 0.599497 +vt 0.134515 0.783268 +vt 0.152097 0.923920 +vt 0.300068 1.000041 +vt 0.324932 1.000041 +vt 0.347903 0.923920 +vt 0.365485 0.783268 +vt 0.375000 0.599497 +vt 0.375000 0.400584 +vt 0.365485 0.216814 +vt 0.347903 0.076161 +vt 0.324932 0.000041 +vt 0.300068 0.000041 +vt 0.277097 0.076161 +vt 0.259515 0.216813 +vt 0.259515 0.783268 +vt 0.277097 0.923920 +vt 0.425068 1.000041 +vt 0.449932 1.000041 +vt 0.472903 0.923920 +vt 0.490485 0.783268 +vt 0.500000 0.599497 +vt 0.500000 0.400584 +vt 0.490485 0.216814 +vt 0.472903 0.076161 +vt 0.449932 0.000041 +vt 0.425068 0.000041 +vt 0.402097 0.076161 +vt 0.384515 0.216813 +vt 0.384515 0.783268 +vt 0.402097 0.923920 +vt 0.550068 1.000041 +vt 0.574932 1.000041 +vt 0.597903 0.923920 +vt 0.615485 0.783268 +vt 0.625000 0.599497 +vt 0.625000 0.400584 +vt 0.615485 0.216814 +vt 0.597903 0.076161 +vt 0.574932 0.000041 +vt 0.550068 0.000041 +vt 0.527097 0.076161 +vt 0.509515 0.216813 +vt 0.509515 0.783268 +vt 0.527097 0.923920 +vt 0.675068 1.000041 +vt 0.699932 1.000041 +vt 0.722903 0.923920 +vt 0.740485 0.783268 +vt 0.750000 0.599497 +vt 0.750000 0.400584 +vt 0.740485 0.216814 +vt 0.722903 0.076161 +vt 0.699932 0.000041 +vt 0.675068 0.000041 +vt 0.652097 0.076161 +vt 0.634515 0.216813 +vt 0.634515 0.783268 +vt 0.652097 0.923920 +vt 0.800068 1.000041 +vt 0.824932 1.000041 +vt 0.847903 0.923920 +vt 0.865485 0.783268 +vt 0.875000 0.599497 +vt 0.875000 0.400584 +vt 0.865485 0.216814 +vt 0.847903 0.076161 +vt 0.824932 0.000041 +vt 0.800068 0.000041 +vt 0.777097 0.076161 +vt 0.759515 0.216813 +vt 0.759515 0.783268 +vt 0.777097 0.923920 +vt 0.925068 1.000041 +vt 0.949932 1.000041 +vt 0.972903 0.923920 +vt 0.990485 0.783268 +vt 1.000000 0.599497 +vt 1.000000 0.400584 +vt 0.990485 0.216814 +vt 0.972903 0.076161 +vt 0.949932 0.000041 +vt 0.925068 0.000041 +vt 0.902097 0.076161 +vt 0.884515 0.216813 +vt 0.884515 0.783268 +vt 0.902097 0.923920 +vt 0.062500 0.343750 +vt 0.066406 0.343750 +vt 0.066406 0.375000 +vt 0.062500 0.375000 +vt 0.066406 0.406250 +vt 0.062500 0.406250 +vt 0.062500 0.531250 +vt 0.066406 0.531250 +vt 0.066406 0.500000 +vt 0.062500 0.500000 +vt 0.066406 0.468750 +vt 0.062500 0.468750 +vt 0.066406 0.437500 +vt 0.062500 0.437500 +vt 0.074219 0.468750 +vt 0.078125 0.437500 +vt 0.082031 0.437500 +vt 0.085938 0.468750 +vt 0.085938 0.500000 +vt 0.082031 0.531250 +vt 0.078125 0.531250 +vt 0.074219 0.500000 +vt 0.062500 0.312500 +vt 0.066406 0.312500 +vt 0.062500 0.281250 +vt 0.066406 0.281250 +vt 0.023438 0.750000 +vt 0.023438 0.875000 +vt 0.019531 0.875000 +vt 0.019531 0.750000 +vt 0.023438 0.625000 +vt 0.019531 0.625000 +vt 0.023438 0.500000 +vt 0.019531 0.500000 +vt 0.023438 0.375000 +vt 0.019531 0.375000 +vt 0.023438 0.250000 +vt 0.019531 0.250000 +vt 0.035156 0.500000 +vt 0.035156 0.625000 +vt 0.027344 0.625000 +vt 0.027344 0.500000 +vt 0.023438 0.125000 +vt 0.019531 0.125000 +vt 0.023438 0.000000 +vt 0.019531 0.000000 +vt 0.035156 0.375000 +vt 0.027344 0.375000 +vt 0.035156 0.875000 +vt 0.035156 1.000000 +vt 0.027344 1.000000 +vt 0.027344 0.875000 +vt 0.035156 0.250000 +vt 0.027344 0.250000 +vt 0.035156 0.750000 +vt 0.027344 0.750000 +vt 0.035156 0.125000 +vt 0.027344 0.125000 +vt 0.035156 0.000000 +vt 0.027344 0.000000 +vt 0.023438 1.000000 +vt 0.019531 1.000000 +vt 0.097656 0.593750 +vt 0.097656 0.968750 +vt 0.082031 0.968750 +vt 0.082031 0.593750 +vt 0.078125 0.593750 +vt 0.078125 0.968750 +vt 0.062500 0.968750 +vt 0.062500 0.593750 +vt 0.046875 0.000000 +vt 0.054688 0.000000 +vt 0.054688 0.125000 +vt 0.046875 0.125000 +vt 0.039062 0.875000 +vt 0.042969 0.875000 +vt 0.042969 1.000000 +vt 0.039062 1.000000 +vt 0.039062 0.750000 +vt 0.042969 0.750000 +vt 0.039062 0.625000 +vt 0.042969 0.625000 +vt 0.039062 0.500000 +vt 0.042969 0.500000 +vt 0.046875 0.750000 +vt 0.054688 0.750000 +vt 0.054688 0.875000 +vt 0.046875 0.875000 +vt 0.039062 0.375000 +vt 0.042969 0.375000 +vt 0.039062 0.250000 +vt 0.042969 0.250000 +vt 0.046875 0.625000 +vt 0.054688 0.625000 +vt 0.039062 0.125000 +vt 0.042969 0.125000 +vt 0.046875 0.500000 +vt 0.054688 0.500000 +vt 0.039062 0.000000 +vt 0.042969 0.000000 +vt 0.046875 0.375000 +vt 0.054688 0.375000 +vt 0.054688 1.000000 +vt 0.046875 1.000000 +vt 0.046875 0.250000 +vt 0.054688 0.250000 +vt 0.003906 0.937500 +vt 0.007812 0.937500 +vt 0.007812 0.968750 +vt 0.003906 0.968750 +vt 0.003906 0.718750 +vt 0.007812 0.718750 +vt 0.007812 0.750000 +vt 0.003906 0.750000 +vt 0.007812 0.781250 +vt 0.003906 0.781250 +vt 0.007812 0.812500 +vt 0.003906 0.812500 +vt 0.007812 0.843750 +vt 0.003906 0.843750 +vt 0.007812 0.875000 +vt 0.003906 0.875000 +vt 0.003906 0.906250 +vt 0.007812 0.906250 +vt 0.222656 0.593750 +vt 0.222656 0.968750 +vt 0.207031 0.968750 +vt 0.207031 0.593750 +vt 0.203125 0.593750 +vt 0.203125 0.968750 +vt 0.187500 0.968750 +vt 0.187500 0.593750 +vt 0.347656 0.593750 +vt 0.347656 0.968750 +vt 0.332031 0.968750 +vt 0.332031 0.593750 +vt 0.328125 0.593750 +vt 0.328125 0.968750 +vt 0.312500 0.968750 +vt 0.312500 0.593750 +vt 0.472656 0.593750 +vt 0.472656 0.968750 +vt 0.457031 0.968750 +vt 0.457031 0.593750 +vt 0.453125 0.593750 +vt 0.453125 0.968750 +vt 0.437500 0.968750 +vt 0.437500 0.593750 +vt 0.148438 0.750000 +vt 0.148438 0.875000 +vt 0.144531 0.875000 +vt 0.144531 0.750000 +vt 0.148438 0.625000 +vt 0.144531 0.625000 +vt 0.148438 0.500000 +vt 0.144531 0.500000 +vt 0.148438 0.375000 +vt 0.144531 0.375000 +vt 0.148438 0.250000 +vt 0.144531 0.250000 +vt 0.160156 0.500000 +vt 0.160156 0.625000 +vt 0.152344 0.625000 +vt 0.152344 0.500000 +vt 0.148438 0.125000 +vt 0.144531 0.125000 +vt 0.148438 0.000000 +vt 0.144531 0.000000 +vt 0.160156 0.375000 +vt 0.152344 0.375000 +vt 0.160156 0.875000 +vt 0.160156 1.000000 +vt 0.152344 1.000000 +vt 0.152344 0.875000 +vt 0.160156 0.250000 +vt 0.152344 0.250000 +vt 0.160156 0.750000 +vt 0.152344 0.750000 +vt 0.160156 0.125000 +vt 0.152344 0.125000 +vt 0.160156 0.000000 +vt 0.152344 0.000000 +vt 0.148438 1.000000 +vt 0.144531 1.000000 +vt 0.171875 0.000000 +vt 0.179688 0.000000 +vt 0.179688 0.125000 +vt 0.171875 0.125000 +vt 0.164062 0.875000 +vt 0.167969 0.875000 +vt 0.167969 1.000000 +vt 0.164062 1.000000 +vt 0.164062 0.750000 +vt 0.167969 0.750000 +vt 0.164062 0.625000 +vt 0.167969 0.625000 +vt 0.164062 0.500000 +vt 0.167969 0.500000 +vt 0.171875 0.750000 +vt 0.179688 0.750000 +vt 0.179688 0.875000 +vt 0.171875 0.875000 +vt 0.164062 0.375000 +vt 0.167969 0.375000 +vt 0.164062 0.250000 +vt 0.167969 0.250000 +vt 0.171875 0.625000 +vt 0.179688 0.625000 +vt 0.164062 0.125000 +vt 0.167969 0.125000 +vt 0.171875 0.500000 +vt 0.179688 0.500000 +vt 0.164062 0.000000 +vt 0.167969 0.000000 +vt 0.171875 0.375000 +vt 0.179688 0.375000 +vt 0.179688 1.000000 +vt 0.171875 1.000000 +vt 0.171875 0.250000 +vt 0.179688 0.250000 +vt 0.273438 0.750000 +vt 0.273438 0.875000 +vt 0.269531 0.875000 +vt 0.269531 0.750000 +vt 0.273438 0.625000 +vt 0.269531 0.625000 +vt 0.273438 0.500000 +vt 0.269531 0.500000 +vt 0.273438 0.375000 +vt 0.269531 0.375000 +vt 0.273438 0.250000 +vt 0.269531 0.250000 +vt 0.285156 0.500000 +vt 0.285156 0.625000 +vt 0.277344 0.625000 +vt 0.277344 0.500000 +vt 0.273438 0.125000 +vt 0.269531 0.125000 +vt 0.273438 0.000000 +vt 0.269531 0.000000 +vt 0.285156 0.375000 +vt 0.277344 0.375000 +vt 0.285156 0.875000 +vt 0.285156 1.000000 +vt 0.277344 1.000000 +vt 0.277344 0.875000 +vt 0.285156 0.250000 +vt 0.277344 0.250000 +vt 0.285156 0.750000 +vt 0.277344 0.750000 +vt 0.285156 0.125000 +vt 0.277344 0.125000 +vt 0.285156 0.000000 +vt 0.277344 0.000000 +vt 0.273438 1.000000 +vt 0.269531 1.000000 +vt 0.296875 0.000000 +vt 0.304688 0.000000 +vt 0.304688 0.125000 +vt 0.296875 0.125000 +vt 0.289062 0.875000 +vt 0.292969 0.875000 +vt 0.292969 1.000000 +vt 0.289062 1.000000 +vt 0.289062 0.750000 +vt 0.292969 0.750000 +vt 0.289062 0.625000 +vt 0.292969 0.625000 +vt 0.289062 0.500000 +vt 0.292969 0.500000 +vt 0.296875 0.750000 +vt 0.304688 0.750000 +vt 0.304688 0.875000 +vt 0.296875 0.875000 +vt 0.289062 0.375000 +vt 0.292969 0.375000 +vt 0.289062 0.250000 +vt 0.292969 0.250000 +vt 0.296875 0.625000 +vt 0.304688 0.625000 +vt 0.289062 0.125000 +vt 0.292969 0.125000 +vt 0.296875 0.500000 +vt 0.304688 0.500000 +vt 0.289062 0.000000 +vt 0.292969 0.000000 +vt 0.296875 0.375000 +vt 0.304688 0.375000 +vt 0.304688 1.000000 +vt 0.296875 1.000000 +vt 0.296875 0.250000 +vt 0.304688 0.250000 +vt 0.398438 0.750000 +vt 0.398438 0.875000 +vt 0.394531 0.875000 +vt 0.394531 0.750000 +vt 0.398438 0.625000 +vt 0.394531 0.625000 +vt 0.398438 0.500000 +vt 0.394531 0.500000 +vt 0.398438 0.375000 +vt 0.394531 0.375000 +vt 0.398438 0.250000 +vt 0.394531 0.250000 +vt 0.410156 0.500000 +vt 0.410156 0.625000 +vt 0.402344 0.625000 +vt 0.402344 0.500000 +vt 0.398438 0.125000 +vt 0.394531 0.125000 +vt 0.398438 0.000000 +vt 0.394531 0.000000 +vt 0.410156 0.375000 +vt 0.402344 0.375000 +vt 0.410156 0.875000 +vt 0.410156 1.000000 +vt 0.402344 1.000000 +vt 0.402344 0.875000 +vt 0.410156 0.250000 +vt 0.402344 0.250000 +vt 0.410156 0.750000 +vt 0.402344 0.750000 +vt 0.410156 0.125000 +vt 0.402344 0.125000 +vt 0.410156 0.000000 +vt 0.402344 0.000000 +vt 0.398438 1.000000 +vt 0.394531 1.000000 +vt 0.421875 0.000000 +vt 0.429688 0.000000 +vt 0.429688 0.125000 +vt 0.421875 0.125000 +vt 0.414062 0.875000 +vt 0.417969 0.875000 +vt 0.417969 1.000000 +vt 0.414062 1.000000 +vt 0.414062 0.750000 +vt 0.417969 0.750000 +vt 0.414062 0.625000 +vt 0.417969 0.625000 +vt 0.414062 0.500000 +vt 0.417969 0.500000 +vt 0.421875 0.750000 +vt 0.429688 0.750000 +vt 0.429688 0.875000 +vt 0.421875 0.875000 +vt 0.414062 0.375000 +vt 0.417969 0.375000 +vt 0.414062 0.250000 +vt 0.417969 0.250000 +vt 0.421875 0.625000 +vt 0.429688 0.625000 +vt 0.414062 0.125000 +vt 0.417969 0.125000 +vt 0.421875 0.500000 +vt 0.429688 0.500000 +vt 0.414062 0.000000 +vt 0.417969 0.000000 +vt 0.421875 0.375000 +vt 0.429688 0.375000 +vt 0.429688 1.000000 +vt 0.421875 1.000000 +vt 0.421875 0.250000 +vt 0.429688 0.250000 +vt 0.523438 0.750000 +vt 0.523438 0.875000 +vt 0.519531 0.875000 +vt 0.519531 0.750000 +vt 0.523438 0.625000 +vt 0.519531 0.625000 +vt 0.523438 0.500000 +vt 0.519531 0.500000 +vt 0.523438 0.375000 +vt 0.519531 0.375000 +vt 0.523438 0.250000 +vt 0.519531 0.250000 +vt 0.535156 0.500000 +vt 0.535156 0.625000 +vt 0.527344 0.625000 +vt 0.527344 0.500000 +vt 0.523438 0.125000 +vt 0.519531 0.125000 +vt 0.523438 0.000000 +vt 0.519531 0.000000 +vt 0.535156 0.375000 +vt 0.527344 0.375000 +vt 0.535156 0.875000 +vt 0.535156 1.000000 +vt 0.527344 1.000000 +vt 0.527344 0.875000 +vt 0.535156 0.250000 +vt 0.527344 0.250000 +vt 0.535156 0.750000 +vt 0.527344 0.750000 +vt 0.535156 0.125000 +vt 0.527344 0.125000 +vt 0.535156 0.000000 +vt 0.527344 0.000000 +vt 0.523438 1.000000 +vt 0.519531 1.000000 +vt 0.546875 0.000000 +vt 0.554688 0.000000 +vt 0.554688 0.125000 +vt 0.546875 0.125000 +vt 0.539062 0.875000 +vt 0.542969 0.875000 +vt 0.542969 1.000000 +vt 0.539062 1.000000 +vt 0.539062 0.750000 +vt 0.542969 0.750000 +vt 0.539062 0.625000 +vt 0.542969 0.625000 +vt 0.539062 0.500000 +vt 0.542969 0.500000 +vt 0.546875 0.750000 +vt 0.554688 0.750000 +vt 0.554688 0.875000 +vt 0.546875 0.875000 +vt 0.539062 0.375000 +vt 0.542969 0.375000 +vt 0.539062 0.250000 +vt 0.542969 0.250000 +vt 0.546875 0.625000 +vt 0.554688 0.625000 +vt 0.539062 0.125000 +vt 0.542969 0.125000 +vt 0.546875 0.500000 +vt 0.554688 0.500000 +vt 0.539062 0.000000 +vt 0.542969 0.000000 +vt 0.546875 0.375000 +vt 0.554688 0.375000 +vt 0.554688 1.000000 +vt 0.546875 1.000000 +vt 0.546875 0.250000 +vt 0.554688 0.250000 +vt 0.648438 0.750000 +vt 0.648438 0.875000 +vt 0.644531 0.875000 +vt 0.644531 0.750000 +vt 0.648438 0.625000 +vt 0.644531 0.625000 +vt 0.648438 0.500000 +vt 0.644531 0.500000 +vt 0.648438 0.375000 +vt 0.644531 0.375000 +vt 0.648438 0.250000 +vt 0.644531 0.250000 +vt 0.660156 0.500000 +vt 0.660156 0.625000 +vt 0.652344 0.625000 +vt 0.652344 0.500000 +vt 0.648438 0.125000 +vt 0.644531 0.125000 +vt 0.648438 0.000000 +vt 0.644531 0.000000 +vt 0.660156 0.375000 +vt 0.652344 0.375000 +vt 0.660156 0.875000 +vt 0.660156 1.000000 +vt 0.652344 1.000000 +vt 0.652344 0.875000 +vt 0.660156 0.250000 +vt 0.652344 0.250000 +vt 0.660156 0.750000 +vt 0.652344 0.750000 +vt 0.660156 0.125000 +vt 0.652344 0.125000 +vt 0.660156 0.000000 +vt 0.652344 0.000000 +vt 0.648438 1.000000 +vt 0.644531 1.000000 +vt 0.671875 0.000000 +vt 0.679688 0.000000 +vt 0.679688 0.125000 +vt 0.671875 0.125000 +vt 0.664062 0.875000 +vt 0.667969 0.875000 +vt 0.667969 1.000000 +vt 0.664062 1.000000 +vt 0.664062 0.750000 +vt 0.667969 0.750000 +vt 0.664062 0.625000 +vt 0.667969 0.625000 +vt 0.664062 0.500000 +vt 0.667969 0.500000 +vt 0.671875 0.750000 +vt 0.679688 0.750000 +vt 0.679688 0.875000 +vt 0.671875 0.875000 +vt 0.664062 0.375000 +vt 0.667969 0.375000 +vt 0.664062 0.250000 +vt 0.667969 0.250000 +vt 0.671875 0.625000 +vt 0.679688 0.625000 +vt 0.664062 0.125000 +vt 0.667969 0.125000 +vt 0.671875 0.500000 +vt 0.679688 0.500000 +vt 0.664062 0.000000 +vt 0.667969 0.000000 +vt 0.671875 0.375000 +vt 0.679688 0.375000 +vt 0.679688 1.000000 +vt 0.671875 1.000000 +vt 0.671875 0.250000 +vt 0.679688 0.250000 +vt 0.773438 0.750000 +vt 0.773438 0.875000 +vt 0.769531 0.875000 +vt 0.769531 0.750000 +vt 0.773438 0.625000 +vt 0.769531 0.625000 +vt 0.773438 0.500000 +vt 0.769531 0.500000 +vt 0.773438 0.375000 +vt 0.769531 0.375000 +vt 0.773438 0.250000 +vt 0.769531 0.250000 +vt 0.785156 0.500000 +vt 0.785156 0.625000 +vt 0.777344 0.625000 +vt 0.777344 0.500000 +vt 0.773438 0.125000 +vt 0.769531 0.125000 +vt 0.773438 0.000000 +vt 0.769531 0.000000 +vt 0.785156 0.375000 +vt 0.777344 0.375000 +vt 0.785156 0.875000 +vt 0.785156 1.000000 +vt 0.777344 1.000000 +vt 0.777344 0.875000 +vt 0.785156 0.250000 +vt 0.777344 0.250000 +vt 0.785156 0.750000 +vt 0.777344 0.750000 +vt 0.785156 0.125000 +vt 0.777344 0.125000 +vt 0.785156 0.000000 +vt 0.777344 0.000000 +vt 0.773438 1.000000 +vt 0.769531 1.000000 +vt 0.796875 0.000000 +vt 0.804688 0.000000 +vt 0.804688 0.125000 +vt 0.796875 0.125000 +vt 0.789062 0.875000 +vt 0.792969 0.875000 +vt 0.792969 1.000000 +vt 0.789062 1.000000 +vt 0.789062 0.750000 +vt 0.792969 0.750000 +vt 0.789062 0.625000 +vt 0.792969 0.625000 +vt 0.789062 0.500000 +vt 0.792969 0.500000 +vt 0.796875 0.750000 +vt 0.804688 0.750000 +vt 0.804688 0.875000 +vt 0.796875 0.875000 +vt 0.789062 0.375000 +vt 0.792969 0.375000 +vt 0.789062 0.250000 +vt 0.792969 0.250000 +vt 0.796875 0.625000 +vt 0.804688 0.625000 +vt 0.789062 0.125000 +vt 0.792969 0.125000 +vt 0.796875 0.500000 +vt 0.804688 0.500000 +vt 0.789062 0.000000 +vt 0.792969 0.000000 +vt 0.796875 0.375000 +vt 0.804688 0.375000 +vt 0.804688 1.000000 +vt 0.796875 1.000000 +vt 0.796875 0.250000 +vt 0.804688 0.250000 +vt 0.898438 0.750000 +vt 0.898438 0.875000 +vt 0.894531 0.875000 +vt 0.894531 0.750000 +vt 0.898438 0.625000 +vt 0.894531 0.625000 +vt 0.898438 0.500000 +vt 0.894531 0.500000 +vt 0.898438 0.375000 +vt 0.894531 0.375000 +vt 0.898438 0.250000 +vt 0.894531 0.250000 +vt 0.910156 0.500000 +vt 0.910156 0.625000 +vt 0.902344 0.625000 +vt 0.902344 0.500000 +vt 0.898438 0.125000 +vt 0.894531 0.125000 +vt 0.898438 0.000000 +vt 0.894531 0.000000 +vt 0.910156 0.375000 +vt 0.902344 0.375000 +vt 0.910156 0.875000 +vt 0.910156 1.000000 +vt 0.902344 1.000000 +vt 0.902344 0.875000 +vt 0.910156 0.250000 +vt 0.902344 0.250000 +vt 0.910156 0.750000 +vt 0.902344 0.750000 +vt 0.910156 0.125000 +vt 0.902344 0.125000 +vt 0.910156 0.000000 +vt 0.902344 0.000000 +vt 0.898438 1.000000 +vt 0.894531 1.000000 +vt 0.921875 0.000000 +vt 0.929688 0.000000 +vt 0.929688 0.125000 +vt 0.921875 0.125000 +vt 0.914062 0.875000 +vt 0.917969 0.875000 +vt 0.917969 1.000000 +vt 0.914062 1.000000 +vt 0.914062 0.750000 +vt 0.917969 0.750000 +vt 0.914062 0.625000 +vt 0.917969 0.625000 +vt 0.914062 0.500000 +vt 0.917969 0.500000 +vt 0.921875 0.750000 +vt 0.929688 0.750000 +vt 0.929688 0.875000 +vt 0.921875 0.875000 +vt 0.914062 0.375000 +vt 0.917969 0.375000 +vt 0.914062 0.250000 +vt 0.917969 0.250000 +vt 0.921875 0.625000 +vt 0.929688 0.625000 +vt 0.914062 0.125000 +vt 0.917969 0.125000 +vt 0.921875 0.500000 +vt 0.929688 0.500000 +vt 0.914062 0.000000 +vt 0.917969 0.000000 +vt 0.921875 0.375000 +vt 0.929688 0.375000 +vt 0.929688 1.000000 +vt 0.921875 1.000000 +vt 0.921875 0.250000 +vt 0.929688 0.250000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 +vn 0.707100 0.000000 -0.707100 +vn -0.707100 0.000000 -0.707100 +vn 0.806400 0.000000 -0.591300 +vn 0.988400 0.000000 0.152100 +vn 0.591300 0.000000 0.806400 +vn -0.152100 0.000000 0.988400 +vn -0.806400 0.000000 0.591300 +vn -0.988400 0.000000 -0.152100 +vn 0.152100 0.000000 -0.988400 +vn -0.591300 0.000000 -0.806400 +vn 0.906300 0.000000 -0.422600 +vn 0.939700 0.000000 0.342000 +vn 0.422600 0.000000 0.906300 +vn -0.342000 0.000000 0.939700 +vn -0.906300 0.000000 0.422600 +vn -0.939700 0.000000 -0.342000 +vn 0.342000 0.000000 -0.939700 +vn -0.422600 0.000000 -0.906300 +vn 0.971300 0.000000 -0.237700 +vn 0.854900 0.000000 0.518800 +vn 0.237700 0.000000 0.971300 +vn -0.518800 0.000000 0.854900 +vn -0.971300 0.000000 0.237700 +vn -0.854900 0.000000 -0.518800 +vn 0.518800 0.000000 -0.854900 +vn -0.237700 0.000000 -0.971300 +vn 0.999000 0.000000 -0.043600 +vn 0.737300 0.000000 0.675600 +vn 0.043600 0.000000 0.999000 +vn -0.675600 0.000000 0.737300 +vn -0.999000 0.000000 0.043600 +vn -0.737300 0.000000 -0.675600 +vn 0.675600 0.000000 -0.737300 +vn -0.043600 0.000000 -0.999000 +vn 0.555600 0.000000 0.831500 +vn 0.195100 0.000000 0.980800 +vn -0.195100 0.000000 0.980800 +vn -0.555600 0.000000 0.831500 +vn -0.831500 0.000000 0.555600 +vn 0.195100 0.000000 -0.980800 +vn -0.980800 0.000000 0.195100 +vn -0.980800 0.000000 -0.195100 +vn 0.555600 0.000000 -0.831500 +vn -0.831500 0.000000 -0.555600 +vn 0.831500 0.000000 -0.555600 +vn -0.555600 0.000000 -0.831500 +vn 0.980800 0.000000 -0.195100 +vn -0.195100 0.000000 -0.980800 +vn 0.980800 0.000000 0.195100 +vn 0.831500 0.000000 0.555600 +g Cylinder.002_Cylinder.003_sides +s off +f 161/1/1 165/2/1 166/3/1 162/4/1 +f 162/1/2 166/2/2 167/3/2 163/4/2 +f 163/4/3 167/3/3 168/2/3 164/1/3 +f 165/2/4 161/1/4 164/4/4 168/3/4 +g Cylinder.002_Cylinder.003_top-bottom +f 161/2/5 162/1/5 163/4/5 164/3/5 +f 165/2/6 168/3/6 167/4/6 166/1/6 +g Cylinder.002_Cylinder.003_turbine-top-bottom +f 130/5/5 129/6/5 144/7/5 143/8/5 142/9/5 141/10/5 140/11/5 139/12/5 138/13/5 137/14/5 136/15/5 135/16/5 134/17/5 133/18/5 132/19/5 131/20/5 +f 18/5/5 17/6/5 32/7/5 31/8/5 30/9/5 29/10/5 28/11/5 27/12/5 26/13/5 25/14/5 24/15/5 23/16/5 22/17/5 21/18/5 20/19/5 19/20/5 +f 33/6/6 34/5/6 35/20/6 36/19/6 37/18/6 38/17/6 39/16/6 40/15/6 41/14/6 42/13/6 43/12/6 44/11/6 45/10/6 46/9/6 47/8/6 48/7/6 +f 113/6/6 114/5/6 115/20/6 116/19/6 117/18/6 118/17/6 119/16/6 120/15/6 121/14/6 122/13/6 123/12/6 124/11/6 125/10/6 126/9/6 127/8/6 128/7/6 +f 410/21/5 409/22/5 424/23/5 423/24/5 422/25/5 421/26/5 420/27/5 419/28/5 418/29/5 417/30/5 416/31/5 415/32/5 414/33/5 413/34/5 412/35/5 411/36/5 +f 362/21/5 361/22/5 376/23/5 375/24/5 374/25/5 373/26/5 372/27/5 371/28/5 370/29/5 369/30/5 368/31/5 367/32/5 366/33/5 365/34/5 364/35/5 363/36/5 +f 377/22/6 378/21/6 379/36/6 380/35/6 381/34/6 382/33/6 383/32/6 384/31/6 385/30/6 386/29/6 387/28/6 388/27/6 389/26/6 390/25/6 391/24/6 392/23/6 +f 393/22/6 394/21/6 395/36/6 396/35/6 397/34/6 398/33/6 399/32/6 400/31/6 401/30/6 402/29/6 403/28/6 404/27/6 405/26/6 406/25/6 407/24/6 408/23/6 +f 474/37/5 473/38/5 488/39/5 487/40/5 486/41/5 485/42/5 484/43/5 483/44/5 482/45/5 481/46/5 480/47/5 479/48/5 478/26/5 477/25/5 476/49/5 475/50/5 +f 426/37/5 425/38/5 440/39/5 439/40/5 438/41/5 437/42/5 436/43/5 435/44/5 434/45/5 433/46/5 432/47/5 431/48/5 430/26/5 429/25/5 428/49/5 427/50/5 +f 441/38/6 442/37/6 443/50/6 444/49/6 445/25/6 446/26/6 447/48/6 448/47/6 449/46/6 450/45/6 451/44/6 452/43/6 453/42/6 454/41/6 455/40/6 456/39/6 +f 457/38/6 458/37/6 459/50/6 460/49/6 461/25/6 462/26/6 463/48/6 464/47/6 465/46/6 466/45/6 467/44/6 468/43/6 469/42/6 470/41/6 471/40/6 472/39/6 +f 538/51/5 537/52/5 552/53/5 551/54/5 550/55/5 549/56/5 548/57/5 547/58/5 546/59/5 545/60/5 544/61/5 543/62/5 542/42/5 541/41/5 540/63/5 539/64/5 +f 490/51/5 489/52/5 504/53/5 503/54/5 502/55/5 501/56/5 500/57/5 499/58/5 498/59/5 497/60/5 496/61/5 495/62/5 494/42/5 493/41/5 492/63/5 491/64/5 +f 505/52/6 506/51/6 507/64/6 508/63/6 509/41/6 510/42/6 511/62/6 512/61/6 513/60/6 514/59/6 515/58/6 516/57/6 517/56/6 518/55/6 519/54/6 520/53/6 +f 521/52/6 522/51/6 523/64/6 524/63/6 525/41/6 526/42/6 527/62/6 528/61/6 529/60/6 530/59/6 531/58/6 532/57/6 533/56/6 534/55/6 535/54/6 536/53/6 +f 602/65/5 601/66/5 616/67/5 615/68/5 614/69/5 613/70/5 612/71/5 611/72/5 610/73/5 609/74/5 608/75/5 607/76/5 606/56/5 605/55/5 604/77/5 603/78/5 +f 554/65/5 553/66/5 568/67/5 567/68/5 566/69/5 565/70/5 564/71/5 563/72/5 562/73/5 561/74/5 560/75/5 559/76/5 558/56/5 557/55/5 556/77/5 555/78/5 +f 569/66/6 570/65/6 571/78/6 572/77/6 573/55/6 574/56/6 575/76/6 576/75/6 577/74/6 578/73/6 579/72/6 580/71/6 581/70/6 582/69/6 583/68/6 584/67/6 +f 585/66/6 586/65/6 587/78/6 588/77/6 589/55/6 590/56/6 591/76/6 592/75/6 593/74/6 594/73/6 595/72/6 596/71/6 597/70/6 598/69/6 599/68/6 600/67/6 +f 666/79/5 665/80/5 680/81/5 679/82/5 678/83/5 677/84/5 676/85/5 675/86/5 674/87/5 673/88/5 672/89/5 671/90/5 670/70/5 669/69/5 668/91/5 667/92/5 +f 618/79/5 617/80/5 632/81/5 631/82/5 630/83/5 629/84/5 628/85/5 627/86/5 626/87/5 625/88/5 624/89/5 623/90/5 622/70/5 621/69/5 620/91/5 619/92/5 +f 633/80/6 634/79/6 635/92/6 636/91/6 637/69/6 638/70/6 639/90/6 640/89/6 641/88/6 642/87/6 643/86/6 644/85/6 645/84/6 646/83/6 647/82/6 648/81/6 +f 649/80/6 650/79/6 651/92/6 652/91/6 653/69/6 654/70/6 655/90/6 656/89/6 657/88/6 658/87/6 659/86/6 660/85/6 661/84/6 662/83/6 663/82/6 664/81/6 +f 730/93/5 729/94/5 744/95/5 743/96/5 742/97/5 741/98/5 740/99/5 739/100/5 738/101/5 737/102/5 736/103/5 735/104/5 734/84/5 733/83/5 732/105/5 731/106/5 +f 682/93/5 681/94/5 696/95/5 695/96/5 694/97/5 693/98/5 692/99/5 691/100/5 690/101/5 689/102/5 688/103/5 687/104/5 686/84/5 685/83/5 684/105/5 683/106/5 +f 697/94/6 698/93/6 699/106/6 700/105/6 701/83/6 702/84/6 703/104/6 704/103/6 705/102/6 706/101/6 707/100/6 708/99/6 709/98/6 710/97/6 711/96/6 712/95/6 +f 713/94/6 714/93/6 715/106/6 716/105/6 717/83/6 718/84/6 719/104/6 720/103/6 721/102/6 722/101/6 723/100/6 724/99/6 725/98/6 726/97/6 727/96/6 728/95/6 +f 794/107/5 793/108/5 808/109/5 807/110/5 806/111/5 805/112/5 804/113/5 803/114/5 802/115/5 801/116/5 800/117/5 799/118/5 798/98/5 797/97/5 796/119/5 795/120/5 +f 746/107/5 745/108/5 760/109/5 759/110/5 758/111/5 757/112/5 756/113/5 755/114/5 754/115/5 753/116/5 752/117/5 751/118/5 750/98/5 749/97/5 748/119/5 747/120/5 +f 761/108/6 762/107/6 763/120/6 764/119/6 765/97/6 766/98/6 767/118/6 768/117/6 769/116/6 770/115/6 771/114/6 772/113/6 773/112/6 774/111/6 775/110/6 776/109/6 +f 777/108/6 778/107/6 779/120/6 780/119/6 781/97/6 782/98/6 783/118/6 784/117/6 785/116/6 786/115/6 787/114/6 788/113/6 789/112/6 790/111/6 791/110/6 792/109/6 +g Cylinder.002_Cylinder.003_turbine-blades-etc +f 1/121/7 2/122/7 4/123/7 3/124/7 +f 3/124/8 4/123/8 6/125/8 5/126/8 +f 5/127/9 6/128/9 8/129/9 7/130/9 +f 7/130/10 8/129/10 10/131/10 9/132/10 +f 9/132/11 10/131/11 12/133/11 11/134/11 +f 11/134/12 12/133/12 14/125/12 13/126/12 +f 4/135/6 2/136/6 16/137/6 14/138/6 12/139/6 10/140/6 8/141/6 6/142/6 +f 15/143/13 16/144/13 2/122/13 1/121/13 +f 13/145/14 14/146/14 16/144/14 15/143/14 +f 27/147/15 28/148/15 44/149/15 43/150/15 +f 26/151/10 27/147/10 43/150/10 42/152/10 +f 25/153/2 26/151/2 42/152/2 41/154/2 +f 24/155/11 25/153/11 41/154/11 40/156/11 +f 23/157/16 24/155/16 40/156/16 39/158/16 +f 17/159/4 18/160/4 34/161/4 33/162/4 +f 22/163/12 23/157/12 39/158/12 38/164/12 +f 21/165/3 22/163/3 38/164/3 37/166/3 +f 32/167/7 17/159/7 33/162/7 48/168/7 +f 20/169/14 21/170/14 37/171/14 36/172/14 +f 31/173/17 32/167/17 48/168/17 47/174/17 +f 19/175/18 20/169/18 36/172/18 35/176/18 +f 30/177/8 31/173/8 47/174/8 46/178/8 +f 18/160/13 19/175/13 35/176/13 34/161/13 +f 29/179/1 30/177/1 46/178/1 45/180/1 +f 28/148/9 29/181/9 45/182/9 44/149/9 +f 49/183/19 50/184/19 52/185/19 51/186/19 +f 68/186/20 67/183/20 54/184/20 53/185/20 +f 70/183/21 69/184/21 56/185/21 55/186/21 +f 72/184/22 71/185/22 58/186/22 57/183/22 +f 74/183/23 73/184/23 60/185/23 59/186/23 +f 76/183/24 75/184/24 62/185/24 61/186/24 +f 80/184/25 79/185/25 66/186/25 65/183/25 +f 78/183/26 77/184/26 64/185/26 63/186/26 +f 81/187/23 82/188/23 83/189/23 84/190/23 +f 85/188/24 86/189/24 87/190/24 88/187/24 +f 89/189/26 90/190/26 91/187/26 92/188/26 +f 93/190/25 94/187/25 95/188/25 96/189/25 +f 97/190/19 98/187/19 99/188/19 100/189/19 +f 101/187/20 102/188/20 103/189/20 104/190/20 +f 105/190/22 106/187/22 107/188/22 108/189/22 +f 109/189/21 110/190/21 111/187/21 112/188/21 +f 75/188/22 76/187/22 101/186/22 104/185/22 +f 71/188/20 72/187/20 93/186/20 96/185/20 +f 67/186/25 68/185/25 85/188/25 88/187/25 +f 79/186/24 80/185/24 105/188/24 108/187/24 +f 77/188/23 78/187/23 109/186/23 112/185/23 +f 73/188/21 74/187/21 97/186/21 100/185/21 +f 69/186/19 70/185/19 89/188/19 92/187/19 +f 50/186/26 49/185/26 81/188/26 84/187/26 +f 123/191/15 139/192/15 140/193/15 124/194/15 +f 122/195/10 138/196/10 139/197/10 123/198/10 +f 121/199/2 137/200/2 138/196/2 122/195/2 +f 120/201/11 136/202/11 137/200/11 121/199/11 +f 119/203/16 135/204/16 136/202/16 120/201/16 +f 113/205/4 129/206/4 130/207/4 114/208/4 +f 118/209/12 134/210/12 135/204/12 119/203/12 +f 117/211/3 133/212/3 134/210/3 118/209/3 +f 128/213/7 144/214/7 129/206/7 113/205/7 +f 116/215/14 132/216/14 133/212/14 117/211/14 +f 127/217/17 143/218/17 144/214/17 128/213/17 +f 115/219/18 131/220/18 132/216/18 116/215/18 +f 126/221/8 142/222/8 143/218/8 127/217/8 +f 114/208/13 130/207/13 131/223/13 115/224/13 +f 125/225/1 141/226/1 142/222/1 126/221/1 +f 124/194/9 140/193/9 141/226/9 125/225/9 +f 145/227/17 146/228/17 148/229/17 147/230/17 +f 147/231/1 148/232/1 150/233/1 149/234/1 +f 149/234/15 150/233/15 152/235/15 151/236/15 +f 151/236/2 152/235/2 154/237/2 153/238/2 +f 153/238/16 154/237/16 156/239/16 155/240/16 +f 155/240/3 156/239/3 158/241/3 157/242/3 +f 159/243/4 160/244/4 146/228/4 145/227/4 +f 157/242/18 158/241/18 160/244/18 159/243/18 +f 169/245/27 170/246/27 172/247/27 171/248/27 +f 188/248/28 187/245/28 174/246/28 173/247/28 +f 190/245/29 189/246/29 176/247/29 175/248/29 +f 192/246/30 191/247/30 178/248/30 177/245/30 +f 194/245/31 193/246/31 180/247/31 179/248/31 +f 196/245/32 195/246/32 182/247/32 181/248/32 +f 200/246/33 199/247/33 186/248/33 185/245/33 +f 198/245/34 197/246/34 184/247/34 183/248/34 +f 201/249/31 202/250/31 203/251/31 204/252/31 +f 205/250/32 206/251/32 207/252/32 208/249/32 +f 209/251/34 210/252/34 211/249/34 212/250/34 +f 213/252/33 214/249/33 215/250/33 216/251/33 +f 217/252/27 218/249/27 219/250/27 220/251/27 +f 221/249/28 222/250/28 223/251/28 224/252/28 +f 225/252/30 226/249/30 227/250/30 228/251/30 +f 229/251/29 230/252/29 231/249/29 232/250/29 +f 195/250/30 196/249/30 221/248/30 224/247/30 +f 191/250/28 192/249/28 213/248/28 216/247/28 +f 187/248/33 188/247/33 205/250/33 208/249/33 +f 199/248/32 200/247/32 225/250/32 228/249/32 +f 197/250/31 198/249/31 229/248/31 232/247/31 +f 193/250/29 194/249/29 217/248/29 220/247/29 +f 189/248/27 190/247/27 209/250/27 212/249/27 +f 170/248/34 169/247/34 201/250/34 204/249/34 +f 233/253/35 234/254/35 236/255/35 235/256/35 +f 252/256/36 251/253/36 238/254/36 237/255/36 +f 254/253/37 253/254/37 240/255/37 239/256/37 +f 256/254/38 255/255/38 242/256/38 241/253/38 +f 258/253/39 257/254/39 244/255/39 243/256/39 +f 260/253/40 259/254/40 246/255/40 245/256/40 +f 264/254/41 263/255/41 250/256/41 249/253/41 +f 262/253/42 261/254/42 248/255/42 247/256/42 +f 265/257/39 266/258/39 267/259/39 268/260/39 +f 269/258/40 270/259/40 271/260/40 272/257/40 +f 273/259/42 274/260/42 275/257/42 276/258/42 +f 277/260/41 278/257/41 279/258/41 280/259/41 +f 281/260/35 282/257/35 283/258/35 284/259/35 +f 285/257/36 286/258/36 287/259/36 288/260/36 +f 289/260/38 290/257/38 291/258/38 292/259/38 +f 293/259/37 294/260/37 295/257/37 296/258/37 +f 259/258/38 260/257/38 285/256/38 288/255/38 +f 255/258/36 256/257/36 277/256/36 280/255/36 +f 251/256/41 252/255/41 269/258/41 272/257/41 +f 263/256/40 264/255/40 289/258/40 292/257/40 +f 261/258/39 262/257/39 293/256/39 296/255/39 +f 257/258/37 258/257/37 281/256/37 284/255/37 +f 253/256/35 254/255/35 273/258/35 276/257/35 +f 234/256/42 233/255/42 265/258/42 268/257/42 +f 297/261/43 298/262/43 300/263/43 299/264/43 +f 316/264/44 315/261/44 302/262/44 301/263/44 +f 318/261/45 317/262/45 304/263/45 303/264/45 +f 320/262/46 319/263/46 306/264/46 305/261/46 +f 322/261/47 321/262/47 308/263/47 307/264/47 +f 324/261/48 323/262/48 310/263/48 309/264/48 +f 328/262/49 327/263/49 314/264/49 313/261/49 +f 326/261/50 325/262/50 312/263/50 311/264/50 +f 329/265/47 330/266/47 331/267/47 332/268/47 +f 333/266/48 334/267/48 335/268/48 336/265/48 +f 337/267/50 338/268/50 339/265/50 340/266/50 +f 341/268/49 342/265/49 343/266/49 344/267/49 +f 345/268/43 346/265/43 347/266/43 348/267/43 +f 349/265/44 350/266/44 351/267/44 352/268/44 +f 353/268/46 354/265/46 355/266/46 356/267/46 +f 357/267/45 358/268/45 359/265/45 360/266/45 +f 323/266/46 324/265/46 349/264/46 352/263/46 +f 319/266/44 320/265/44 341/264/44 344/263/44 +f 315/264/49 316/263/49 333/266/49 336/265/49 +f 327/264/48 328/263/48 353/266/48 356/265/48 +f 325/266/47 326/265/47 357/264/47 360/263/47 +f 321/266/45 322/265/45 345/264/45 348/263/45 +f 317/264/43 318/263/43 337/266/43 340/265/43 +f 298/264/50 297/263/50 329/266/50 332/265/50 +f 371/269/51 372/270/51 388/271/51 387/272/51 +f 370/273/52 371/269/52 387/272/52 386/274/52 +f 369/275/53 370/273/53 386/274/53 385/276/53 +f 368/277/54 369/275/54 385/276/54 384/278/54 +f 367/279/55 368/277/55 384/278/55 383/280/55 +f 361/281/56 362/282/56 378/283/56 377/284/56 +f 366/285/57 367/279/57 383/280/57 382/286/57 +f 365/287/58 366/285/58 382/286/58 381/288/58 +f 376/289/59 361/281/59 377/284/59 392/290/59 +f 364/291/60 365/292/60 381/293/60 380/294/60 +f 375/295/61 376/289/61 392/290/61 391/296/61 +f 363/297/62 364/291/62 380/294/62 379/298/62 +f 374/299/63 375/295/63 391/296/63 390/300/63 +f 362/282/64 363/297/64 379/298/64 378/283/64 +f 373/301/65 374/299/65 390/300/65 389/302/65 +f 372/270/66 373/303/66 389/304/66 388/271/66 +f 403/305/51 419/306/51 420/307/51 404/308/51 +f 402/309/52 418/310/52 419/311/52 403/312/52 +f 401/313/53 417/314/53 418/310/53 402/309/53 +f 400/315/54 416/316/54 417/314/54 401/313/54 +f 399/317/55 415/318/55 416/316/55 400/315/55 +f 393/319/56 409/320/56 410/321/56 394/322/56 +f 398/323/57 414/324/57 415/318/57 399/317/57 +f 397/325/58 413/326/58 414/324/58 398/323/58 +f 408/327/59 424/328/59 409/320/59 393/319/59 +f 396/329/60 412/330/60 413/326/60 397/325/60 +f 407/331/61 423/332/61 424/328/61 408/327/61 +f 395/333/62 411/334/62 412/330/62 396/329/62 +f 406/335/63 422/336/63 423/332/63 407/331/63 +f 394/322/64 410/321/64 411/337/64 395/338/64 +f 405/339/65 421/340/65 422/336/65 406/335/65 +f 404/308/66 420/307/66 421/340/66 405/339/66 +f 435/341/10 436/342/10 452/343/10 451/344/10 +f 434/345/2 435/341/2 451/344/2 450/346/2 +f 433/347/11 434/345/11 450/346/11 449/348/11 +f 432/349/16 433/347/16 449/348/16 448/350/16 +f 431/351/12 432/349/12 448/350/12 447/352/12 +f 425/353/7 426/354/7 442/355/7 441/356/7 +f 430/357/3 431/351/3 447/352/3 446/358/3 +f 429/359/14 430/357/14 446/358/14 445/360/14 +f 440/361/17 425/353/17 441/356/17 456/362/17 +f 428/363/18 429/364/18 445/365/18 444/366/18 +f 439/367/8 440/361/8 456/362/8 455/368/8 +f 427/369/13 428/363/13 444/366/13 443/370/13 +f 438/371/1 439/367/1 455/368/1 454/372/1 +f 426/354/4 427/369/4 443/370/4 442/355/4 +f 437/373/9 438/371/9 454/372/9 453/374/9 +f 436/342/15 437/375/15 453/376/15 452/343/15 +f 467/377/10 483/378/10 484/379/10 468/380/10 +f 466/381/2 482/382/2 483/383/2 467/384/2 +f 465/385/11 481/386/11 482/382/11 466/381/11 +f 464/387/16 480/388/16 481/386/16 465/385/16 +f 463/389/12 479/390/12 480/388/12 464/387/12 +f 457/391/7 473/392/7 474/393/7 458/394/7 +f 462/395/3 478/396/3 479/390/3 463/389/3 +f 461/397/14 477/398/14 478/396/14 462/395/14 +f 472/399/17 488/400/17 473/392/17 457/391/17 +f 460/401/18 476/402/18 477/398/18 461/397/18 +f 471/403/8 487/404/8 488/400/8 472/399/8 +f 459/405/13 475/406/13 476/402/13 460/401/13 +f 470/407/1 486/408/1 487/404/1 471/403/1 +f 458/394/4 474/393/4 475/409/4 459/410/4 +f 469/411/9 485/412/9 486/408/9 470/407/9 +f 468/380/15 484/379/15 485/412/15 469/411/15 +f 499/413/52 500/414/52 516/415/52 515/416/52 +f 498/417/53 499/413/53 515/416/53 514/418/53 +f 497/419/54 498/417/54 514/418/54 513/420/54 +f 496/421/55 497/419/55 513/420/55 512/422/55 +f 495/423/57 496/421/57 512/422/57 511/424/57 +f 489/425/59 490/426/59 506/427/59 505/428/59 +f 494/429/58 495/423/58 511/424/58 510/430/58 +f 493/431/60 494/429/60 510/430/60 509/432/60 +f 504/433/61 489/425/61 505/428/61 520/434/61 +f 492/435/62 493/436/62 509/437/62 508/438/62 +f 503/439/63 504/433/63 520/434/63 519/440/63 +f 491/441/64 492/435/64 508/438/64 507/442/64 +f 502/443/65 503/439/65 519/440/65 518/444/65 +f 490/426/56 491/441/56 507/442/56 506/427/56 +f 501/445/66 502/443/66 518/444/66 517/446/66 +f 500/414/51 501/447/51 517/448/51 516/415/51 +f 531/449/52 547/450/52 548/451/52 532/452/52 +f 530/453/53 546/454/53 547/455/53 531/456/53 +f 529/457/54 545/458/54 546/454/54 530/453/54 +f 528/459/55 544/460/55 545/458/55 529/457/55 +f 527/461/57 543/462/57 544/460/57 528/459/57 +f 521/463/59 537/464/59 538/465/59 522/466/59 +f 526/467/58 542/468/58 543/462/58 527/461/58 +f 525/469/60 541/470/60 542/468/60 526/467/60 +f 536/471/61 552/472/61 537/464/61 521/463/61 +f 524/473/62 540/474/62 541/470/62 525/469/62 +f 535/475/63 551/476/63 552/472/63 536/471/63 +f 523/477/64 539/478/64 540/474/64 524/473/64 +f 534/479/65 550/480/65 551/476/65 535/475/65 +f 522/466/56 538/465/56 539/481/56 523/482/56 +f 533/483/66 549/484/66 550/480/66 534/479/66 +f 532/452/51 548/451/51 549/484/51 533/483/51 +f 563/485/2 564/486/2 580/487/2 579/488/2 +f 562/489/11 563/485/11 579/488/11 578/490/11 +f 561/491/16 562/489/16 578/490/16 577/492/16 +f 560/493/12 561/491/12 577/492/12 576/494/12 +f 559/495/3 560/493/3 576/494/3 575/496/3 +f 553/497/17 554/498/17 570/499/17 569/500/17 +f 558/501/14 559/495/14 575/496/14 574/502/14 +f 557/503/18 558/501/18 574/502/18 573/504/18 +f 568/505/8 553/497/8 569/500/8 584/506/8 +f 556/507/13 557/508/13 573/509/13 572/510/13 +f 567/511/1 568/505/1 584/506/1 583/512/1 +f 555/513/4 556/507/4 572/510/4 571/514/4 +f 566/515/9 567/511/9 583/512/9 582/516/9 +f 554/498/7 555/513/7 571/514/7 570/499/7 +f 565/517/15 566/515/15 582/516/15 581/518/15 +f 564/486/10 565/519/10 581/520/10 580/487/10 +f 595/521/2 611/522/2 612/523/2 596/524/2 +f 594/525/11 610/526/11 611/527/11 595/528/11 +f 593/529/16 609/530/16 610/526/16 594/525/16 +f 592/531/12 608/532/12 609/530/12 593/529/12 +f 591/533/3 607/534/3 608/532/3 592/531/3 +f 585/535/17 601/536/17 602/537/17 586/538/17 +f 590/539/14 606/540/14 607/534/14 591/533/14 +f 589/541/18 605/542/18 606/540/18 590/539/18 +f 600/543/8 616/544/8 601/536/8 585/535/8 +f 588/545/13 604/546/13 605/542/13 589/541/13 +f 599/547/1 615/548/1 616/544/1 600/543/1 +f 587/549/4 603/550/4 604/546/4 588/545/4 +f 598/551/9 614/552/9 615/548/9 599/547/9 +f 586/538/7 602/537/7 603/553/7 587/554/7 +f 597/555/15 613/556/15 614/552/15 598/551/15 +f 596/524/10 612/523/10 613/556/10 597/555/10 +f 627/557/53 628/558/53 644/559/53 643/560/53 +f 626/561/54 627/557/54 643/560/54 642/562/54 +f 625/563/55 626/561/55 642/562/55 641/564/55 +f 624/565/57 625/563/57 641/564/57 640/566/57 +f 623/567/58 624/565/58 640/566/58 639/568/58 +f 617/569/61 618/570/61 634/571/61 633/572/61 +f 622/573/60 623/567/60 639/568/60 638/574/60 +f 621/575/62 622/573/62 638/574/62 637/576/62 +f 632/577/63 617/569/63 633/572/63 648/578/63 +f 620/579/64 621/580/64 637/581/64 636/582/64 +f 631/583/65 632/577/65 648/578/65 647/584/65 +f 619/585/56 620/579/56 636/582/56 635/586/56 +f 630/587/66 631/583/66 647/584/66 646/588/66 +f 618/570/59 619/585/59 635/586/59 634/571/59 +f 629/589/51 630/587/51 646/588/51 645/590/51 +f 628/558/52 629/591/52 645/592/52 644/559/52 +f 659/593/53 675/594/53 676/595/53 660/596/53 +f 658/597/54 674/598/54 675/599/54 659/600/54 +f 657/601/55 673/602/55 674/598/55 658/597/55 +f 656/603/57 672/604/57 673/602/57 657/601/57 +f 655/605/58 671/606/58 672/604/58 656/603/58 +f 649/607/61 665/608/61 666/609/61 650/610/61 +f 654/611/60 670/612/60 671/606/60 655/605/60 +f 653/613/62 669/614/62 670/612/62 654/611/62 +f 664/615/63 680/616/63 665/608/63 649/607/63 +f 652/617/64 668/618/64 669/614/64 653/613/64 +f 663/619/65 679/620/65 680/616/65 664/615/65 +f 651/621/56 667/622/56 668/618/56 652/617/56 +f 662/623/66 678/624/66 679/620/66 663/619/66 +f 650/610/59 666/609/59 667/625/59 651/626/59 +f 661/627/51 677/628/51 678/624/51 662/623/51 +f 660/596/52 676/595/52 677/628/52 661/627/52 +f 691/629/11 692/630/11 708/631/11 707/632/11 +f 690/633/16 691/629/16 707/632/16 706/634/16 +f 689/635/12 690/633/12 706/634/12 705/636/12 +f 688/637/3 689/635/3 705/636/3 704/638/3 +f 687/639/14 688/637/14 704/638/14 703/640/14 +f 681/641/8 682/642/8 698/643/8 697/644/8 +f 686/645/18 687/639/18 703/640/18 702/646/18 +f 685/647/13 686/645/13 702/646/13 701/648/13 +f 696/649/1 681/641/1 697/644/1 712/650/1 +f 684/651/4 685/652/4 701/653/4 700/654/4 +f 695/655/9 696/649/9 712/650/9 711/656/9 +f 683/657/7 684/651/7 700/654/7 699/658/7 +f 694/659/15 695/655/15 711/656/15 710/660/15 +f 682/642/17 683/657/17 699/658/17 698/643/17 +f 693/661/10 694/659/10 710/660/10 709/662/10 +f 692/630/2 693/663/2 709/664/2 708/631/2 +f 723/665/11 739/666/11 740/667/11 724/668/11 +f 722/669/16 738/670/16 739/671/16 723/672/16 +f 721/673/12 737/674/12 738/670/12 722/669/12 +f 720/675/3 736/676/3 737/674/3 721/673/3 +f 719/677/14 735/678/14 736/676/14 720/675/14 +f 713/679/8 729/680/8 730/681/8 714/682/8 +f 718/683/18 734/684/18 735/678/18 719/677/18 +f 717/685/13 733/686/13 734/684/13 718/683/13 +f 728/687/1 744/688/1 729/680/1 713/679/1 +f 716/689/4 732/690/4 733/686/4 717/685/4 +f 727/691/9 743/692/9 744/688/9 728/687/9 +f 715/693/7 731/694/7 732/690/7 716/689/7 +f 726/695/15 742/696/15 743/692/15 727/691/15 +f 714/682/17 730/681/17 731/697/17 715/698/17 +f 725/699/10 741/700/10 742/696/10 726/695/10 +f 724/668/2 740/667/2 741/700/2 725/699/2 +f 755/701/54 756/702/54 772/703/54 771/704/54 +f 754/705/55 755/701/55 771/704/55 770/706/55 +f 753/707/57 754/705/57 770/706/57 769/708/57 +f 752/709/58 753/707/58 769/708/58 768/710/58 +f 751/711/60 752/709/60 768/710/60 767/712/60 +f 745/713/63 746/714/63 762/715/63 761/716/63 +f 750/717/62 751/711/62 767/712/62 766/718/62 +f 749/719/64 750/717/64 766/718/64 765/720/64 +f 760/721/65 745/713/65 761/716/65 776/722/65 +f 748/723/56 749/724/56 765/725/56 764/726/56 +f 759/727/66 760/721/66 776/722/66 775/728/66 +f 747/729/59 748/723/59 764/726/59 763/730/59 +f 758/731/51 759/727/51 775/728/51 774/732/51 +f 746/714/61 747/729/61 763/730/61 762/715/61 +f 757/733/52 758/731/52 774/732/52 773/734/52 +f 756/702/53 757/735/53 773/736/53 772/703/53 +f 787/737/54 803/738/54 804/739/54 788/740/54 +f 786/741/55 802/742/55 803/743/55 787/744/55 +f 785/745/57 801/746/57 802/742/57 786/741/57 +f 784/747/58 800/748/58 801/746/58 785/745/58 +f 783/749/60 799/750/60 800/748/60 784/747/60 +f 777/751/63 793/752/63 794/753/63 778/754/63 +f 782/755/62 798/756/62 799/750/62 783/749/62 +f 781/757/64 797/758/64 798/756/64 782/755/64 +f 792/759/65 808/760/65 793/752/65 777/751/65 +f 780/761/56 796/762/56 797/758/56 781/757/56 +f 791/763/66 807/764/66 808/760/66 792/759/66 +f 779/765/59 795/766/59 796/762/59 780/761/59 +f 790/767/51 806/768/51 807/764/51 791/763/51 +f 778/754/61 794/753/61 795/769/61 779/770/61 +f 789/771/52 805/772/52 806/768/52 790/767/52 +f 788/740/53 804/739/53 805/772/53 789/771/53 diff --git a/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_misc_off.png b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_misc_off.png Binary files differnew file mode 100644 index 0000000..45a720b --- /dev/null +++ b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_misc_off.png diff --git a/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_misc_on.png b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_misc_on.png Binary files differnew file mode 100644 index 0000000..e609dd2 --- /dev/null +++ b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_misc_on.png diff --git a/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_top_bottom_off.png b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_top_bottom_off.png Binary files differnew file mode 100644 index 0000000..fa76591 --- /dev/null +++ b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_top_bottom_off.png diff --git a/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_top_bottom_on.png b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_top_bottom_on.png Binary files differnew file mode 100644 index 0000000..ac4df83 --- /dev/null +++ b/mesecons_hydroturbine/textures/jeija_hydro_turbine_turbine_top_bottom_on.png diff --git a/mesecons_insulated/init.lua b/mesecons_insulated/init.lua index c6fc05e..15b916b 100644 --- a/mesecons_insulated/init.lua +++ b/mesecons_insulated/init.lua @@ -1,4 +1,4 @@ -function insulated_wire_get_rules(node) +local function insulated_wire_get_rules(node) local rules = {{x = 1, y = 0, z = 0}, {x =-1, y = 0, z = 0}} if node.param2 == 1 or node.param2 == 3 then diff --git a/mesecons_lamp/init.lua b/mesecons_lamp/init.lua index 362453c..811e659 100644 --- a/mesecons_lamp/init.lua +++ b/mesecons_lamp/init.lua @@ -2,7 +2,7 @@ -- A lamp is "is an electrical device used to create artificial light" (wikipedia) -- guess what? -mesecon_lamp_box = { +local mesecon_lamp_box = { type = "wallmounted", wall_top = {-0.3125,0.375,-0.3125,0.3125,0.5,0.3125}, wall_bottom = {-0.3125,-0.5,-0.3125,0.3125,-0.375,0.3125}, diff --git a/mesecons_luacontroller/init.lua b/mesecons_luacontroller/init.lua index 7d76b26..d874fdf 100644 --- a/mesecons_luacontroller/init.lua +++ b/mesecons_luacontroller/init.lua @@ -273,9 +273,25 @@ end local function get_digiline_send(pos) if not digiline then return end return function(channel, msg) + -- Make sure channel is string, number or boolean + if (type(channel) ~= "string" and type(channel) ~= "number" and type(channel) ~= "boolean") then + return false + end + + -- It is technically possible to send functions over the wire since + -- the high performance impact of stripping those from the data has + -- been decided to not be worth the added realism. + -- Make sure serialized version of the data is not insanely long to + -- prevent DoS-like attacks + local msg_ser = minetest.serialize(msg) + if #msg_ser > mesecon.setting("luacontroller_digiline_maxlen", 50000) then + return false + end + minetest.after(0, function() digiline:receptor_send(pos, digiline.rules.default, channel, msg) end) + return true end end @@ -284,6 +300,7 @@ local safe_globals = { "assert", "error", "ipairs", "next", "pairs", "select", "tonumber", "tostring", "type", "unpack", "_VERSION" } + local function create_environment(pos, mem, event) -- Gather variables for the environment local vports = minetest.registered_nodes[minetest.get_node(pos).name].virtual_portstates diff --git a/mesecons_microcontroller/init.lua b/mesecons_microcontroller/init.lua index 6778a10..b241713 100644 --- a/mesecons_microcontroller/init.lua +++ b/mesecons_microcontroller/init.lua @@ -1,6 +1,7 @@ -EEPROM_SIZE = 255 +local EEPROM_SIZE = 255 local microc_rules = {} +local yc = {} for a = 0, 1 do for b = 0, 1 do @@ -20,6 +21,7 @@ end if tostring(d) == "1" then top = top.."^jeija_microcontroller_LED_D.png" end +local groups if tostring(d)..tostring(c)..tostring(b)..tostring(a) ~= "0000" then groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon = 3, overheat = 1} else @@ -42,8 +44,8 @@ local mesecons = {effector = { rules = input_rules, action_change = function (pos, node, rulename, newstate) - yc_update_real_portstates(pos, node, rulename, newstate) - update_yc(pos) + yc.update_real_portstates(pos, node, rulename, newstate) + yc.update(pos) end }} if nodename ~= "mesecons_microcontroller:microcontroller0000" then @@ -127,8 +129,8 @@ minetest.register_node(nodename, { "button[7.5,0.2;1.5,3;brsflop;RS-Flop]".. "button_exit[3.5,1;2,3;program;Program]") meta:set_string("infotext", "Programmed Microcontroller") - yc_reset (pos) - update_yc(pos) + yc.reset (pos) + yc.update(pos) end, sounds = default.node_sound_stone_defaults(), mesecons = mesecons, @@ -151,8 +153,8 @@ minetest.register_craft({ } }) -function yc_reset(pos) - yc_action(pos, {a=false, b=false, c=false, d=false}) +yc.reset = function(pos) + yc.action(pos, {a=false, b=false, c=false, d=false}) local meta = minetest.get_meta(pos) meta:set_int("afterid", 0) local r = "" @@ -160,7 +162,7 @@ function yc_reset(pos) meta:set_string("eeprom", r) end -function update_yc(pos) +yc.update = function(pos) local meta = minetest.get_meta(pos) if (mesecon.do_overheat(pos)) then @@ -172,10 +174,10 @@ function update_yc(pos) end local code = meta:get_string("code") - code = yc_code_remove_commentary(code) + code = yc.code_remove_commentary(code) code = string.gsub(code, " ", "") --Remove all spaces code = string.gsub(code, " ", "") --Remove all tabs - if yc_parsecode(code, pos) == nil then + if yc.parsecode(code, pos) == nil then meta:set_string("infotext", "Code not valid!\n"..code) else meta:set_string("infotext", "Working Microcontroller\n"..code) @@ -184,7 +186,7 @@ end --Code Parsing -function yc_code_remove_commentary(code) +yc.code_remove_commentary = function(code) local is_string = false for i = 1, #code do if code:sub(i, i) == '"' then @@ -196,50 +198,50 @@ function yc_code_remove_commentary(code) return code end -function yc_parsecode(code, pos) +yc.parsecode = function(code, pos) local meta = minetest.get_meta(pos) local endi = 1 - local Lreal = yc_get_real_portstates(pos) - local Lvirtual = yc_get_virtual_portstates(pos) + local Lreal = yc.get_real_portstates(pos) + local Lvirtual = yc.get_virtual_portstates(pos) if Lvirtual == nil then return nil end local c local eeprom = meta:get_string("eeprom") while true do local command, params - command, endi = parse_get_command(code, endi) + command, endi = yc.parse_get_command(code, endi) if command == nil then return nil end if command == true then break end --end of code if command == "if" then local r - r, endi = yc_command_if(code, endi, yc_merge_portstates(Lreal, Lvirtual), eeprom) + r, endi = yc.command_if(code, endi, yc.merge_portstates(Lreal, Lvirtual), eeprom) if r == nil then return nil end if r == true then -- nothing elseif r == false then - local endi_new = yc_skip_to_else (code, endi) + local endi_new = yc.skip_to_else (code, endi) if endi_new == nil then --else > not found - endi = yc_skip_to_endif(code, endi) + endi = yc.skip_to_endif(code, endi) else endi = endi_new end if endi == nil then return nil end end else - params, endi = parse_get_params(code, endi) + params, endi = yc.parse_get_params(code, endi) if not params then return nil end end if command == "on" then - L = yc_command_on (params, Lvirtual) + L = yc.command_on (params, Lvirtual) elseif command == "off" then - L = yc_command_off(params, Lvirtual) + L = yc.command_off(params, Lvirtual) elseif command == "print" then - local su = yc_command_print(params, eeprom, yc_merge_portstates(Lreal, Lvirtual)) + local su = yc.command_print(params, eeprom, yc.merge_portstates(Lreal, Lvirtual)) if su ~= true then return nil end elseif command == "after" then - local su = yc_command_after(params, pos) + local su = yc.command_after(params, pos) if su == nil then return nil end elseif command == "sbi" then local new_eeprom - new_eeprom, Lvirtual = yc_command_sbi (params, eeprom, yc_merge_portstates(Lreal, Lvirtual), Lvirtual) + new_eeprom, Lvirtual = yc.command_sbi (params, eeprom, yc.merge_portstates(Lreal, Lvirtual), Lvirtual) if new_eeprom == nil then return nil else eeprom = new_eeprom end elseif command == "if" then --nothing @@ -250,11 +252,11 @@ function yc_parsecode(code, pos) if eeprom == nil then return nil else minetest.get_meta(pos):set_string("eeprom", eeprom) end end - yc_action(pos, Lvirtual) + yc.action(pos, Lvirtual) return true end -function parse_get_command(code, starti) +yc.parse_get_command = function(code, starti) i = starti local s while s ~= "" do @@ -266,7 +268,7 @@ function parse_get_command(code, starti) starti = starti + 1 i = starti elseif s == ">" then - starti = yc_skip_to_endif(code, starti) + starti = yc.skip_to_endif(code, starti) if starti == nil then return nil end i = starti else @@ -280,7 +282,7 @@ function parse_get_command(code, starti) return nil, nil end -function parse_get_params(code, starti) +yc.parse_get_params = function(code, starti) i = starti local s local params = {} @@ -303,7 +305,7 @@ function parse_get_params(code, starti) return nil, nil end -function yc_parse_get_eeprom_param(cond, starti) +yc.parse_get_eeprom_param = function(cond, starti) i = starti local s local addr @@ -319,7 +321,7 @@ function yc_parse_get_eeprom_param(cond, starti) return nil, nil end -function yc_skip_to_endif(code, starti) +yc.skip_to_endif = function(code, starti) local i = starti local s = false local open_ifs = 1 @@ -339,7 +341,7 @@ function yc_skip_to_endif(code, starti) return nil end -function yc_skip_to_else(code, starti) +yc.skip_to_else = function(code, starti) local i = starti local s = false local open_ifs = 1 @@ -360,29 +362,29 @@ function yc_skip_to_else(code, starti) end --Commands -function yc_command_on(params, L) +yc.command_on = function(params, L) local rules = {} for i, port in ipairs(params) do - L = yc_set_portstate (port, true, L) + L = yc.set_portstate (port, true, L) end return L end -function yc_command_off(params, L) +yc.command_off = function(params, L) local rules = {} for i, port in ipairs(params) do - L = yc_set_portstate (port, false, L) + L = yc.set_portstate (port, false, L) end return L end -function yc_command_print(params, eeprom, L) +yc.command_print = function(params, eeprom, L) local s = "" for i, param in ipairs(params) do if param:sub(1,1) == '"' and param:sub(#param, #param) == '"' then s = s..param:sub(2, #param-1) else - r = yc_command_parsecondition(param, L, eeprom) + r = yc.command_parsecondition(param, L, eeprom) if r == "1" or r == "0" then s = s..r else return nil end @@ -392,17 +394,17 @@ function yc_command_print(params, eeprom, L) return true end -function yc_command_sbi(params, eeprom, L, Lv) +yc.command_sbi = function(params, eeprom, L, Lv) if params[1]==nil or params[2]==nil or params[3] ~=nil then return nil end - local status = yc_command_parsecondition(params[2], L, eeprom) + local status = yc.command_parsecondition(params[2], L, eeprom) if status == nil then return nil, nil end if string.find("ABCD", params[1])~=nil and #params[1]==1 then --is a port if status == "1" then - Lv = yc_set_portstate (params[1], true, Lv) + Lv = yc.set_portstate (params[1], true, Lv) else - Lv = yc_set_portstate (params[1], false, Lv) + Lv = yc.set_portstate (params[1], false, Lv) end return eeprom, Lv; end @@ -420,7 +422,7 @@ function yc_command_sbi(params, eeprom, L, Lv) end -- after (delay) -function yc_command_after(params, pos) +yc.command_after = function(params, pos) if params[1] == nil or params[2] == nil or params[3] ~= nil then return nil end --get time (maximum time is 200) @@ -436,14 +438,14 @@ function yc_command_after(params, pos) local afterid = math.random(10000) local meta = minetest.get_meta(pos) meta:set_int("afterid", afterid) - minetest.after(time, yc_command_after_execute, {pos = pos, code = code, afterid = afterid}) + minetest.after(time, yc.command_after_execute, {pos = pos, code = code, afterid = afterid}) return true end -function yc_command_after_execute(params) +yc.command_after_execute = function(params) local meta = minetest.get_meta(params.pos) if meta:get_int("afterid") == params.afterid then --make sure the node has not been changed - if yc_parsecode(params.code, params.pos) == nil then + if yc.parsecode(params.code, params.pos) == nil then meta:set_string("infotext", "Code in after() not valid!") else if code ~= nil then @@ -456,21 +458,21 @@ function yc_command_after_execute(params) end --If -function yc_command_if(code, starti, L, eeprom) - local cond, endi = yc_command_if_getcondition(code, starti) +yc.command_if = function(code, starti, L, eeprom) + local cond, endi = yc.command_if_getcondition(code, starti) if cond == nil then return nil end - cond = yc_command_parsecondition(cond, L, eeprom) + cond = yc.command_parsecondition(cond, L, eeprom) local result if cond == "0" then result = false elseif cond == "1" then result = true end if not result then end - return result, endi --endi from local cond, endi = yc_command_if_getcondition(code, starti) + return result, endi --endi from local cond, endi = yc.command_if_getcondition(code, starti) end --Condition parsing -function yc_command_if_getcondition(code, starti) +yc.command_if_getcondition = function(code, starti) i = starti local s local brackets = 1 --1 Bracket to close @@ -494,7 +496,7 @@ function yc_command_if_getcondition(code, starti) return nil, nil end -function yc_command_parsecondition(cond, L, eeprom) +yc.command_parsecondition = function(cond, L, eeprom) cond = string.gsub(cond, "A", tonumber(L.a and 1 or 0)) cond = string.gsub(cond, "B", tonumber(L.b and 1 or 0)) cond = string.gsub(cond, "C", tonumber(L.c and 1 or 0)) @@ -506,8 +508,8 @@ function yc_command_parsecondition(cond, L, eeprom) while i<=l do local s = cond:sub(i,i) if s == "#" then - local addr, endi = yc_parse_get_eeprom_param(cond, i+1) - local buf = yc_eeprom_read(tonumber(addr), eeprom) + local addr, endi = yc.parse_get_eeprom_param(cond, i+1) + local buf = yc.eeprom_read(tonumber(addr), eeprom) if buf == nil then return nil end local call = cond:sub(i, endi-1) cond = string.gsub(cond, call, buf) @@ -580,14 +582,14 @@ function yc_command_parsecondition(cond, L, eeprom) end --Virtual-Hardware functions -function yc_eeprom_read(number, eeprom) +yc.eeprom_read = function(number, eeprom) if not number then return end return eeprom:sub(number, number) end --Real I/O functions -function yc_action(pos, L) --L-->Lvirtual - local Lv = yc_get_virtual_portstates(pos) +yc.action = function(pos, L) --L-->Lvirtual + local Lv = yc.get_virtual_portstates(pos) local name = "mesecons_microcontroller:microcontroller" ..tonumber(L.d and 1 or 0) ..tonumber(L.c and 1 or 0) @@ -596,10 +598,10 @@ function yc_action(pos, L) --L-->Lvirtual local node = minetest.get_node(pos) minetest.swap_node(pos, {name = name, param2 = node.param2}) - yc_action_setports(pos, L, Lv) + yc.action_setports(pos, L, Lv) end -function yc_action_setports(pos, L, Lv) +yc.action_setports = function(pos, L, Lv) local name = "mesecons_microcontroller:microcontroller" local rules if Lv.a ~= L.a then @@ -624,7 +626,7 @@ function yc_action_setports(pos, L, Lv) end end -function yc_set_portstate(port, state, L) +yc.set_portstate = function(port, state, L) if port == "A" then L.a = state elseif port == "B" then L.b = state elseif port == "C" then L.c = state @@ -633,7 +635,7 @@ function yc_set_portstate(port, state, L) return L end -function yc_update_real_portstates(pos, node, rulename, newstate) +yc.update_real_portstates = function(pos, node, rulename, newstate) local meta = minetest.get_meta(pos) if rulename == nil then meta:set_int("real_portstates", 1) @@ -657,7 +659,7 @@ function yc_update_real_portstates(pos, node, rulename, newstate) meta:set_int("real_portstates", 1 + L[1] + 2*L[2] + 4*L[3] + 8*L[4]) end -function yc_get_real_portstates(pos) -- determine if ports are powered (by itself or from outside) +yc.get_real_portstates = function(pos) -- determine if ports are powered (by itself or from outside) local meta = minetest.get_meta(pos) local L = {} local n = meta:get_int("real_portstates") - 1 @@ -668,7 +670,7 @@ function yc_get_real_portstates(pos) -- determine if ports are powered (by itsel return L end -function yc_get_virtual_portstates(pos) -- portstates according to the name +yc.get_virtual_portstates = function(pos) -- portstates according to the name local name = minetest.get_node(pos).name local b, a = string.find(name, ":microcontroller") if a == nil then return nil end @@ -682,7 +684,7 @@ function yc_get_virtual_portstates(pos) -- portstates according to the name return Lvirtual end -function yc_merge_portstates(Lreal, Lvirtual) +yc.merge_portstates = function(Lreal, Lvirtual) local L = {a=false, b=false, c=false, d=false} if Lvirtual.a or Lreal.a then L.a = true end if Lvirtual.b or Lreal.b then L.b = true end diff --git a/mesecons_movestones/init.lua b/mesecons_movestones/init.lua index 52a5605..9e9dce6 100644 --- a/mesecons_movestones/init.lua +++ b/mesecons_movestones/init.lua @@ -26,28 +26,28 @@ function mesecon.get_movestone_direction(pos) lpos = {x=pos.x+1, y=pos.y, z=pos.z} for n = 1, 3 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then + if mesecon.is_power_on(lpos, rules[n]) then return {x=0, y=0, z=-1} end end lpos = {x = pos.x-1, y = pos.y, z = pos.z} for n=4, 6 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then + if mesecon.is_power_on(lpos, rules[n]) then return {x=0, y=0, z=1} end end lpos = {x = pos.x, y = pos.y, z = pos.z+1} for n=7, 9 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then + if mesecon.is_power_on(lpos, rules[n]) then return {x=-1, y=0, z=0} end end lpos = {x = pos.x, y = pos.y, z = pos.z-1} for n=10, 12 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then + if mesecon.is_power_on(lpos, rules[n]) then return {x=1, y=0, z=0} end end diff --git a/mesecons_pistons/init.lua b/mesecons_pistons/init.lua index 474f621..a52c802 100644 --- a/mesecons_pistons/init.lua +++ b/mesecons_pistons/init.lua @@ -1,6 +1,6 @@ -- Get mesecon rules of pistons -piston_rules = -{{x=0, y=0, z=1}, --everything apart from z- (pusher side) +local piston_rules = { + {x=0, y=0, z=1}, --everything apart from z- (pusher side) {x=1, y=0, z=0}, {x=-1, y=0, z=0}, {x=1, y=1, z=0}, @@ -8,29 +8,32 @@ piston_rules = {x=-1, y=1, z=0}, {x=-1, y=-1, z=0}, {x=0, y=1, z=1}, - {x=0, y=-1, z=1}} + {x=0, y=-1, z=1} +} -local piston_up_rules = -{{x=0, y=0, z=-1}, --everything apart from y+ (pusher side) +local piston_up_rules = { + {x=0, y=0, z=-1}, --everything apart from y+ (pusher side) {x=1, y=0, z=0}, {x=-1, y=0, z=0}, {x=0, y=0, z=1}, {x=1, y=-1, z=0}, {x=-1, y=-1, z=0}, {x=0, y=-1, z=1}, - {x=0, y=-1, z=-1}} + {x=0, y=-1, z=-1} +} -local piston_down_rules = -{{x=0, y=0, z=-1}, --everything apart from y- (pusher side) +local piston_down_rules = { + {x=0, y=0, z=-1}, --everything apart from y- (pusher side) {x=1, y=0, z=0}, {x=-1, y=0, z=0}, {x=0, y=0, z=1}, {x=1, y=1, z=0}, {x=-1, y=1, z=0}, {x=0, y=1, z=1}, - {x=0, y=1, z=-1}} + {x=0, y=1, z=-1} +} -local piston_get_rules = function (node) +local function piston_get_rules(node) local rules = piston_rules for i = 1, node.param2 do rules = mesecon.rotate_rules_left(rules) @@ -38,7 +41,7 @@ local piston_get_rules = function (node) return rules end -piston_facedir_direction = function (node) +local function piston_facedir_direction(node) local rules = {{x = 0, y = 0, z = -1}} for i = 1, node.param2 do rules = mesecon.rotate_rules_left(rules) @@ -46,7 +49,7 @@ piston_facedir_direction = function (node) return rules[1] end -piston_get_direction = function(dir, node) +local function piston_get_direction(dir, node) if type(dir) == "function" then return dir(node) else diff --git a/mesecons_pressureplates/init.lua b/mesecons_pressureplates/init.lua index 858f6ab..cd4529b 100644 --- a/mesecons_pressureplates/init.lua +++ b/mesecons_pressureplates/init.lua @@ -8,7 +8,7 @@ local pp_box_on = { fixed = { -7/16, -8/16, -7/16, 7/16, -7.5/16, 7/16 }, } -pp_on_timer = function (pos, elapsed) +local function pp_on_timer(pos, elapsed) local node = minetest.get_node(pos) local basename = minetest.registered_nodes[node.name].pressureplate_basename diff --git a/mesecons_receiver/init.lua b/mesecons_receiver/init.lua index 9284e57..a5cf7d5 100644 --- a/mesecons_receiver/init.lua +++ b/mesecons_receiver/init.lua @@ -1,10 +1,30 @@ -rcvboxes = { +local rcvboxes = { { -3/16, -3/16, -8/16 , 3/16, 3/16 , -13/32 }, -- the smaller bump { -1/32, -1/32, -3/2 , 1/32, 1/32 , -1/2 }, -- the wire through the block { -2/32, -1/2 , -.5 , 2/32, 0 , -.5002+3/32 }, -- the vertical wire bit { -2/32, -1/2 , -7/16+0.002 , 2/32, -14/32, 16/32+0.001 } -- the horizontal wire } +local down_rcvboxes = { + {-6/16, -8/16, -6/16, 6/16, -7/16, 6/16}, -- Top plate + {-2/16, -6/16, -2/16, 2/16, -7/16, 2/16}, -- Bump + {-1/16, -8/16, -1/16, 1/16, -24/16, 1/16}, -- Wire through the block + {-1/16, -8/16, 6/16, 1/16, -7/16, 8/16}, -- Plate extension (North) + {-1/16, -8/16, -6/16, 1/16, -7/16, -8/16}, -- Plate extension (South) + {-8/16, -8/16, 1/16, -6/16, -7/16, -1/16}, -- Plate extension (West) + {6/16, -8/16, 1/16, 8/16, -7/16, -1/16}, -- Plate extension (East) +} + +local up_rcvboxes = { + {-6/16, -8/16, -6/16, 6/16, -7/16, 6/16}, -- Top plate + {-2/16, -6/16, -2/16, 2/16, -7/16, 2/16}, -- Bump + {-1/16, -6/16, -1/16, 1/16, 24/16, 1/16}, -- Wire through the block + {-1/16, -8/16, 6/16, 1/16, -7/16, 8/16}, -- Plate extension (North) + {-1/16, -8/16, -6/16, 1/16, -7/16, -8/16}, -- Plate extension (South) + {-8/16, -8/16, 1/16, -6/16, -7/16, -1/16}, -- Plate extension (West) + {6/16, -8/16, 1/16, 8/16, -7/16, -1/16}, -- Plate extension (East) +} + local receiver_get_rules = function (node) local rules = { {x = 1, y = 0, z = 0}, {x = -2, y = 0, z = 0}} @@ -18,8 +38,38 @@ local receiver_get_rules = function (node) return rules end -minetest.register_node("mesecons_receiver:receiver_on", { +mesecon.register_node("mesecons_receiver:receiver", { drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + walkable = false, + on_rotate = false, + selection_box = { + type = "fixed", + fixed = { -3/16, -8/16, -8/16, 3/16, 3/16, 8/16 } + }, + node_box = { + type = "fixed", + fixed = rcvboxes + }, + groups = {dig_immediate = 3, not_in_creative_inventory = 1}, + drop = "mesecons:wire_00000000_off", +}, { + tiles = { + "receiver_top_off.png", + "receiver_bottom_off.png", + "receiver_lr_off.png", + "receiver_lr_off.png", + "receiver_fb_off.png", + "receiver_fb_off.png", + }, + mesecons = {conductor = { + state = mesecon.state.off, + rules = receiver_get_rules, + onstate = "mesecons_receiver:receiver_on" + }} +}, { tiles = { "receiver_top_on.png", "receiver_bottom_on.png", @@ -28,83 +78,133 @@ minetest.register_node("mesecons_receiver:receiver_on", { "receiver_fb_on.png", "receiver_fb_on.png", }, + mesecons = {conductor = { + state = mesecon.state.on, + rules = receiver_get_rules, + offstate = "mesecons_receiver:receiver_off" + }} +}) + +mesecon.register_node("mesecons_receiver:receiver_up", { + drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", sunlight_propagates = true, walkable = false, + on_rotate = false, selection_box = { type = "fixed", - fixed = { -3/16, -8/16, -8/16, 3/16, 3/16, 8/16 } + fixed = up_rcvboxes }, node_box = { type = "fixed", - fixed = rcvboxes + fixed = up_rcvboxes }, groups = {dig_immediate = 3, not_in_creative_inventory = 1}, drop = "mesecons:wire_00000000_off", +}, { + tiles = {"mesecons_wire_off.png"}, + mesecons = {conductor = { + state = mesecon.state.off, + rules = {{x=1, y=0, z=0}, + {x=-1, y=0, z=0}, + {x=0, y=0, z=1}, + {x=0, y=0, z=-1}, + {x=0, y=1, z=0}, + {x=0, y=2, z=0}}, + onstate = "mesecons_receiver:receiver_up_on" + }} +}, { + tiles = {"mesecons_wire_on.png"}, mesecons = {conductor = { state = mesecon.state.on, - rules = receiver_get_rules, - offstate = "mesecons_receiver:receiver_off" + rules = {{x=1, y=0, z=0}, + {x=-1, y=0, z=0}, + {x=0, y=0, z=1}, + {x=0, y=0, z=-1}, + {x=0, y=1, z=0}, + {x=0, y=2, z=0}}, + offstate = "mesecons_receiver:receiver_up_off" }} }) -minetest.register_node("mesecons_receiver:receiver_off", { +mesecon.register_node("mesecons_receiver:receiver_down", { drawtype = "nodebox", - description = "You hacker you", - tiles = { - "receiver_top_off.png", - "receiver_bottom_off.png", - "receiver_lr_off.png", - "receiver_lr_off.png", - "receiver_fb_off.png", - "receiver_fb_off.png", - }, paramtype = "light", paramtype2 = "facedir", sunlight_propagates = true, walkable = false, + on_rotate = false, selection_box = { type = "fixed", - fixed = { -3/16, -8/16, -8/16, 3/16, 3/16, 8/16 } + fixed = down_rcvboxes }, node_box = { type = "fixed", - fixed = rcvboxes + fixed = down_rcvboxes }, groups = {dig_immediate = 3, not_in_creative_inventory = 1}, drop = "mesecons:wire_00000000_off", +}, { + tiles = {"mesecons_wire_off.png"}, mesecons = {conductor = { state = mesecon.state.off, - rules = receiver_get_rules, - onstate = "mesecons_receiver:receiver_on" + rules = {{x=1,y=0, z=0}, + {x=-1,y=0, z=0}, + {x=0, y=0, z=1}, + {x=0, y=0, z=-1}, + {x=0, y=-2,z=0}}, + onstate = "mesecons_receiver:receiver_down_on" + }} +}, { + tiles = {"mesecons_wire_on.png"}, + mesecons = {conductor = { + state = mesecon.state.on, + rules = {{x=1,y=0, z=0}, + {x=-1,y=0, z=0}, + {x=0, y=0, z=1}, + {x=0, y=0, z=-1}, + {x=0, y=-2,z=0}}, + offstate = "mesecons_receiver:receiver_down_off" }} }) function mesecon.receiver_get_pos_from_rcpt(pos, param2) local rules = {{x = 2, y = 0, z = 0}} if param2 == nil then param2 = minetest.get_node(pos).param2 end - if param2 == 2 then + local rcvtype = "mesecons_receiver:receiver_off" + local dir = minetest.facedir_to_dir(param2) + + if dir.x == 1 then + -- No action needed + elseif dir.z == -1 then rules = mesecon.rotate_rules_left(rules) - elseif param2 == 3 then + elseif dir.x == -1 then rules = mesecon.rotate_rules_right(mesecon.rotate_rules_right(rules)) - elseif param2 == 0 then + elseif dir.z == 1 then rules = mesecon.rotate_rules_right(rules) + elseif dir.y == -1 then + rules = mesecon.rotate_rules_up(rules) + rcvtype = "mesecons_receiver:receiver_up_off" + elseif dir.y == 1 then + rules = mesecon.rotate_rules_down(rules) + rcvtype = "mesecons_receiver:receiver_down_off" end local np = { x = pos.x + rules[1].x, y = pos.y + rules[1].y, z = pos.z + rules[1].z} - return np + return np, rcvtype end function mesecon.receiver_place(rcpt_pos) local node = minetest.get_node(rcpt_pos) - local pos = mesecon.receiver_get_pos_from_rcpt(rcpt_pos, node.param2) + local pos, rcvtype = mesecon.receiver_get_pos_from_rcpt(rcpt_pos, node.param2) local nn = minetest.get_node(pos) + local param2 = minetest.dir_to_facedir(minetest.facedir_to_dir(node.param2)) if string.find(nn.name, "mesecons:wire_") ~= nil then minetest.dig_node(pos) - minetest.set_node(pos, {name = "mesecons_receiver:receiver_off", param2 = node.param2}) + minetest.set_node(pos, {name = rcvtype, param2 = param2}) mesecon.on_placenode(pos, nn) end end @@ -133,11 +233,13 @@ minetest.register_on_dignode(function(pos, node) end) minetest.register_on_placenode(function (pos, node) - if string.find(node.name, "mesecons:wire_") ~=nil then - local rules = { {x = 2, y = 0, z = 0}, - {x =-2, y = 0, z = 0}, - {x = 0, y = 0, z = 2}, - {x = 0, y = 0, z =-2}} + if string.find(node.name, "mesecons:wire_") ~= nil then + local rules = { {x = 2, y = 0, z = 0}, + {x =-2, y = 0, z = 0}, + {x = 0, y = 0, z = 2}, + {x = 0, y = 0, z =-2}, + {x = 0, y = 2, z = 0}, + {x = 0, y = -2, z = 0}} local i = 1 while rules[i] ~= nil do local np = { x = pos.x + rules[i].x, @@ -150,3 +252,8 @@ minetest.register_on_placenode(function (pos, node) end end end) + +function mesecon.buttonlike_onrotate(pos, node) + minetest.after(0, mesecon.receiver_remove, pos, node) + minetest.after(0, mesecon.receiver_place, pos) +end diff --git a/mesecons_walllever/init.lua b/mesecons_walllever/init.lua index 9ae0655..e9454cd 100644 --- a/mesecons_walllever/init.lua +++ b/mesecons_walllever/init.lua @@ -31,6 +31,7 @@ mesecon.register_node("mesecons_walllever:wall_lever", { "jeija_wall_lever_back_edges.png" }, mesh="jeija_wall_lever_off.obj", + on_rotate = mesecon.buttonlike_onrotate, mesecons = {receptor = { rules = mesecon.rules.buttonlike_get, state = mesecon.state.off @@ -44,6 +45,7 @@ mesecon.register_node("mesecons_walllever:wall_lever", { "jeija_wall_lever_back_edges.png" }, mesh="jeija_wall_lever_on.obj", + on_rotate = false, mesecons = {receptor = { rules = mesecon.rules.buttonlike_get, state = mesecon.state.on diff --git a/mesecons_wires/doc/mesecon/preview.png b/mesecons_wires/doc/mesecon/preview.png Binary files differindex f81e5cb..f81e5cb 100644..100755 --- a/mesecons_wires/doc/mesecon/preview.png +++ b/mesecons_wires/doc/mesecon/preview.png diff --git a/mesecons_wires/init.lua b/mesecons_wires/init.lua index 879cfa1..ced7c99 100644 --- a/mesecons_wires/init.lua +++ b/mesecons_wires/init.lua @@ -140,7 +140,7 @@ nid_inc = function (nid) return i <= 8 end -register_wires = function() +local function register_wires() local nid = {} while true do -- Create group specifiction and nodeid string (see note above for details) diff --git a/moretrees/node_defs.lua b/moretrees/node_defs.lua index e5f8127..16b979f 100644 --- a/moretrees/node_defs.lua +++ b/moretrees/node_defs.lua @@ -31,7 +31,7 @@ local moretrees_plantlike_leaves_visual_scale = 1 if moretrees.plantlike_leaves then moretrees_new_leaves_drawtype = "plantlike" - moretrees_plantlike_leaves_visual_scale = 1.189 + moretrees_plantlike_leaves_visual_scale = math.sqrt(2) end -- redefine default leaves to handle plantlike and/or leaf decay options @@ -40,7 +40,7 @@ if moretrees.plantlike_leaves then minetest.override_item("default:leaves", { inventory_image = minetest.inventorycube("default_leaves.png"), drawtype = "plantlike", - visual_scale = 1.189 + visual_scale = math.sqrt(2) }) else minetest.override_item("default:leaves", { @@ -54,7 +54,7 @@ if moretrees.plantlike_leaves then minetest.override_item("default:jungleleaves", { inventory_image = minetest.inventorycube("default_jungleleaves.png"), drawtype = "plantlike", - visual_scale = 1.189 + visual_scale = math.sqrt(2) }) else minetest.override_item("default:jungleleaves", { diff --git a/unified_inventory/api.lua b/unified_inventory/api.lua index e1b980a..2b63922 100644 --- a/unified_inventory/api.lua +++ b/unified_inventory/api.lua @@ -27,7 +27,7 @@ minetest.after(0.01, function() local groupchk = string.find(chk, "group:") if (not groupchk and not minetest.registered_items[chk]) or (groupchk and not unified_inventory.get_group_item(string.gsub(chk, "group:", "")).item) - or minetest.get_item_group(chk, "exclude_from_craft_guide") ~= 0 then + or minetest.get_item_group(chk, "not_in_craft_guide") ~= 0 then unknowns = true end end diff --git a/worldedit_commands/wand.lua b/worldedit_commands/wand.lua index 79d9eb2..16f9265 100644 --- a/worldedit_commands/wand.lua +++ b/worldedit_commands/wand.lua @@ -8,9 +8,9 @@ minetest.register_tool(":worldedit:wand", { full_punch_interval = 1.0, max_drop_level = 0, groupcaps={ - fleshy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1}, - snappy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1}, - choppy={times={[3]=0.90}, maxwear=0.05, maxlevel=0} + fleshy={times={[2]=0.80, [3]=0.40}, uses=1/0.05, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, uses=1/0.05, maxlevel=1}, + choppy={times={[3]=0.90}, uses=1/0.05, maxlevel=0} } }, |