diff --git a/homedecor/books.lua b/homedecor/books.lua index 9236a253..39ed7a3c 100644 --- a/homedecor/books.lua +++ b/homedecor/books.lua @@ -1,155 +1,159 @@ - local S = homedecor_i18n.gettext +local function N_(x) return x end + +local bookcolors = { + { N_("red"), "#c00000:150" }, + { N_("green"), "#008000:150" }, + { N_("blue"), "#4040c0:150" }, + { N_("violet"), "#600070:150" }, + { N_("grey"), "#202020:150" }, + { N_("brown"), "#603010:175" } +} + local BOOK_FORMNAME = "homedecor:book_form" local player_current_book = { } -local function book_dig(pos, node, digger) - if minetest.is_protected(pos, digger:get_player_name()) then return end - local meta = minetest.get_meta(pos) - local data = minetest.serialize({ - title = meta:get_string("title") or "", - text = meta:get_string("text") or "", - owner = meta:get_string("owner") or "", - _recover = meta:get_string("_recover") or "", - }) - local stack = ItemStack({ - name = "homedecor:book", - metadata = data, - }) - stack = digger:get_inventory():add_item("main", stack) - if not stack:is_empty() then - minetest.item_drop(stack, digger, pos) - end - minetest.remove_node(pos) -end +for _, c in ipairs(bookcolors) do + local color, hue = unpack(c) -local inv_img = "homedecor_book_inv.png^homedecor_book_trim_inv.png" - -homedecor.register("book", { - description = S("Writable Book"), - mesh = "homedecor_book.obj", - tiles = { - "homedecor_book_cover.png", - { name = "homedecor_book_edges.png", color = 0xffffffff }, - { name = "homedecor_book_cover_trim.png", color = 0xffffffff } - }, - inventory_image = inv_img, - wield_image = inv_img, - groups = { snappy=3, oddly_breakable_by_hand=3, book=1, ud_param2_colorable = 1 }, - walkable = false, - paramtype2 = "colorwallmounted", - palette = "unifieddyes_palette_colorwallmounted.png", - after_dig_node = unifieddyes.after_dig_node, - stack_max = 1, - on_punch = function(pos, node, puncher, pointed_thing) - local fdir = node.param2 - minetest.swap_node(pos, { name = "homedecor:book_open", param2 = fdir }) - end, - on_place = function(itemstack, placer, pointed_thing) - local plname = placer:get_player_name() - local pos = pointed_thing.under - local node = minetest.get_node_or_nil(pos) - local def = node and minetest.registered_nodes[node.name] - if not def or not def.buildable_to then - pos = pointed_thing.above - node = minetest.get_node_or_nil(pos) - def = node and minetest.registered_nodes[node.name] - if not def or not def.buildable_to then return itemstack end - end - if minetest.is_protected(pos, plname) then return itemstack end - local fdir = minetest.dir_to_facedir(placer:get_look_dir()) - minetest.set_node(pos, { - name = "homedecor:book", - param2 = fdir, + local function book_dig(pos, node, digger) + if minetest.is_protected(pos, digger:get_player_name()) then return end + local meta = minetest.get_meta(pos) + local data = minetest.serialize({ + title = meta:get_string("title") or "", + text = meta:get_string("text") or "", + owner = meta:get_string("owner") or "", + _recover = meta:get_string("_recover") or "", }) - local text = itemstack:get_metadata() or "" - local meta = minetest.get_meta(pos) - local data = minetest.deserialize(text) or {} - if type(data) ~= "table" then - data = {} - -- Store raw metadata in case some data is lost by the - -- transition to the new meta format, so it is not lost - -- and can be recovered if needed. - meta:set_string("_recover", text) + local stack = ItemStack({ + name = "homedecor:book_"..color, + metadata = data, + }) + stack = digger:get_inventory():add_item("main", stack) + if not stack:is_empty() then + minetest.item_drop(stack, digger, pos) end - meta:set_string("title", data.title or "") - meta:set_string("text", data.text or "") - meta:set_string("owner", data.owner or "") - if data.title and data.title ~= "" then - meta:set_string("infotext", data.title) - end - if not homedecor.expect_infinite_stacks then - itemstack:take_item() - end - unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - return itemstack - end, - on_rotate = unifieddyes.fix_after_screwdriver_nsew, - on_dig = book_dig, - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.25, 0.2, -0.35, 0.25} - } -}) + minetest.remove_node(pos) + end -homedecor.register("book_open", { - mesh = "homedecor_book_open.obj", - tiles = { - "homedecor_book_cover.png", - { name = "homedecor_book_edges.png", color = 0xffffffff }, - { name = "homedecor_book_pages.png", color = 0xffffffff } - }, - groups = { snappy=3, oddly_breakable_by_hand=3, not_in_creative_inventory=1, ud_param2_colorable = 1 }, - drop = "homedecor:book", - walkable = false, - paramtype2 = "colorwallmounted", - palette = "unifieddyes_palette_colorwallmounted.png", - after_place_node = unifieddyes.fix_rotation_nsew, - after_dig_node = unifieddyes.after_dig_node, - on_rotate = unifieddyes.fix_after_screwdriver_nsew, - on_dig = book_dig, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - local meta = minetest.get_meta(pos) - local player_name = clicker:get_player_name() - local title = meta:get_string("title") or "" - local text = meta:get_string("text") or "" - local owner = meta:get_string("owner") or "" - local formspec - if owner == "" or owner == player_name then - formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img.. - "field[0.5,1;7.5,0;title;Book title :;".. - minetest.formspec_escape(title).."]".. - "textarea[0.5,1.5;7.5,7;text;Book content :;".. - minetest.formspec_escape(text).."]".. - "button_exit[2.5,7.5;3,1;save;Save]" - else - formspec = "size[8,8]"..default.gui_bg.. - "button_exit[7,0.25;1,0.5;close;X]".. - default.gui_bg_img.. - "label[0.5,0.5;by "..owner.."]".. - "label[0.5,0;"..minetest.formspec_escape(title).."]".. - "textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]" - end - player_current_book[player_name] = pos - minetest.show_formspec(player_name, BOOK_FORMNAME, formspec) - return itemstack - end, - on_punch = function(pos, node, puncher, pointed_thing) - local fdir = node.param2 - minetest.swap_node(pos, { name = "homedecor:book", param2 = fdir }) - minetest.sound_play("homedecor_book_close", { - pos=pos, - max_hear_distance = 3, - gain = 2, + local inv_img = "homedecor_book_inv.png^[colorize:"..hue.."^homedecor_book_trim_inv.png" + + homedecor.register("book_"..color, { + description = S("Writable Book (@1)", S(color)), + mesh = "homedecor_book.obj", + tiles = { + "(homedecor_book_cover.png^[colorize:"..hue..")^homedecor_book_cover_trim.png", + "homedecor_book_edges.png" + }, + inventory_image = inv_img, + wield_image = inv_img, + groups = { snappy=3, oddly_breakable_by_hand=3, book=1 }, + walkable = false, + stack_max = 1, + on_punch = function(pos, node, puncher, pointed_thing) + local fdir = node.param2 + minetest.swap_node(pos, { name = "homedecor:book_open_"..color, param2 = fdir }) + end, + on_place = function(itemstack, placer, pointed_thing) + local plname = placer:get_player_name() + local pos = pointed_thing.under + local node = minetest.get_node_or_nil(pos) + local def = node and minetest.registered_nodes[node.name] + if not def or not def.buildable_to then + pos = pointed_thing.above + node = minetest.get_node_or_nil(pos) + def = node and minetest.registered_nodes[node.name] + if not def or not def.buildable_to then return itemstack end + end + if minetest.is_protected(pos, plname) then return itemstack end + local fdir = minetest.dir_to_facedir(placer:get_look_dir()) + minetest.set_node(pos, { + name = "homedecor:book_"..color, + param2 = fdir, }) - end, - selection_box = { - type = "fixed", - fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25} - } -}) + local text = itemstack:get_metadata() or "" + local meta = minetest.get_meta(pos) + local data = minetest.deserialize(text) or {} + if type(data) ~= "table" then + data = {} + -- Store raw metadata in case some data is lost by the + -- transition to the new meta format, so it is not lost + -- and can be recovered if needed. + meta:set_string("_recover", text) + end + meta:set_string("title", data.title or "") + meta:set_string("text", data.text or "") + meta:set_string("owner", data.owner or "") + if data.title and data.title ~= "" then + meta:set_string("infotext", data.title) + end + if not homedecor.expect_infinite_stacks then + itemstack:take_item() + end + return itemstack + end, + on_dig = book_dig, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.25, 0.2, -0.35, 0.25} + } + }) + + homedecor.register("book_open_"..color, { + mesh = "homedecor_book_open.obj", + tiles = { + "(homedecor_book_cover.png^[colorize:"..hue..")^homedecor_book_cover_trim.png", + "homedecor_book_edges.png", + "homedecor_book_pages.png" + }, + groups = { snappy=3, oddly_breakable_by_hand=3, not_in_creative_inventory=1 }, + drop = "homedecor:book_"..color, + walkable = false, + on_dig = book_dig, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + local player_name = clicker:get_player_name() + local title = meta:get_string("title") or "" + local text = meta:get_string("text") or "" + local owner = meta:get_string("owner") or "" + local formspec + if owner == "" or owner == player_name then + formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img.. + "field[0.5,1;7.5,0;title;Book title :;".. + minetest.formspec_escape(title).."]".. + "textarea[0.5,1.5;7.5,7;text;Book content :;".. + minetest.formspec_escape(text).."]".. + "button_exit[2.5,7.5;3,1;save;Save]" + else + formspec = "size[8,8]"..default.gui_bg.. + "button_exit[7,0.25;1,0.5;close;X]".. + default.gui_bg_img.. + "label[0.5,0.5;by "..owner.."]".. + "label[0.5,0;"..minetest.formspec_escape(title).."]".. + "textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]" + end + player_current_book[player_name] = pos + minetest.show_formspec(player_name, BOOK_FORMNAME, formspec) + return itemstack + end, + on_punch = function(pos, node, puncher, pointed_thing) + local fdir = node.param2 + minetest.swap_node(pos, { name = "homedecor:book_"..color, param2 = fdir }) + minetest.sound_play("homedecor_book_close", { + pos=pos, + max_hear_distance = 3, + gain = 2, + }) + end, + selection_box = { + type = "fixed", + fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25} + } + }) + +end minetest.register_on_player_receive_fields(function(player, form_name, fields) if form_name ~= BOOK_FORMNAME or not fields.save then @@ -169,67 +173,4 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields) player:get_player_name(), fields.title, fields.text, minetest.pos_to_string(player:getpos()))) end) --- convert old static nodes to param2 - -local bookcolors = { - "red", - "green", - "blue", - "violet", - "grey", - "brown" -} - -homedecor.old_static_books = {} -for _, color in ipairs(bookcolors) do - table.insert(homedecor.old_static_books, "homedecor:book_"..color) - table.insert(homedecor.old_static_books, "homedecor:book_open_"..color) -end - -minetest.register_lbm({ - name = "homedecor:convert_books", - label = "Convert homedecor books to use param2 color", - run_at_every_load = false, - nodenames = homedecor.old_static_books, - action = function(pos, node) - local name = node.name - local color = string.sub(name, string.find(name, "_", -7)+1) - local newname = "homedecor:book" - if string.find(name, "open") then - newname = "homedecor:book_open" - end - - local old_fdir = math.floor(node.param2 % 32) - local new_fdir = 3 - - if old_fdir == 0 then - new_fdir = 3 - elseif old_fdir == 1 then - new_fdir = 4 - elseif old_fdir == 2 then - new_fdir = 2 - elseif old_fdir == 3 then - new_fdir = 5 - end - - if color == "grey" then - color = "dark_grey" - elseif color == "violet" then - color = "dark_magenta" - elseif color == "brown" then - color = "dark_orange" - elseif color == "blue" then - color = "light_blue" - else - color = "medium_"..color - end - - local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") - local param2 = paletteidx + new_fdir - - minetest.swap_node(pos, { name = newname, param2 = param2 }) - local meta = minetest.get_meta(pos) - meta:set_string("dye", "unifieddyes:"..color) - - end -}) +minetest.register_alias("homedecor:book", "homedecor:book_grey") diff --git a/homedecor/models/homedecor_book.obj b/homedecor/models/homedecor_book.obj index c7a3af7e..9b039861 100644 --- a/homedecor/models/homedecor_book.obj +++ b/homedecor/models/homedecor_book.obj @@ -1,92 +1,60 @@ -# Blender v2.72 (sub 0) OBJ File: 'book.blend' +# Blender v2.73 (sub 0) OBJ File: 'book.blend' # www.blender.org o Cube.002_Cube.001 -v -0.216625 -0.161995 -0.448008 -v -0.216625 -0.149566 -0.485966 -v -0.216625 -0.113157 -0.485966 -v -0.216625 -0.142021 -0.448008 -v -0.208120 -0.115781 -0.485966 -v -0.208120 -0.142021 -0.448008 -v 0.220555 -0.113157 -0.485966 -v 0.220555 0.159347 -0.485966 -v 0.212050 -0.115781 -0.485966 -v -0.208120 -0.161995 -0.448008 -v -0.208120 0.148926 -0.485966 -v -0.208120 0.155653 -0.448008 -v 0.212051 0.155653 -0.448008 -v 0.212051 0.148926 -0.485966 -v -0.208120 -0.152482 -0.485966 -v 0.212050 -0.152482 -0.485966 -v 0.220555 -0.161995 -0.448008 -v 0.212050 -0.161995 -0.448008 -v 0.212050 -0.145193 -0.500002 -v -0.208120 -0.145193 -0.500002 -v -0.208120 -0.115781 -0.500002 -v 0.212050 -0.115781 -0.500002 -v 0.212050 -0.115781 -0.396013 -v -0.208120 -0.115781 -0.396013 -v -0.208120 -0.145193 -0.396013 -v 0.212050 -0.145193 -0.396013 -v 0.212050 -0.152482 -0.410049 -v -0.208120 -0.152482 -0.410049 -v 0.212051 0.148926 -0.410049 -v -0.208120 0.148926 -0.410049 -v 0.212050 -0.115781 -0.410049 -v 0.220555 0.159347 -0.410049 -v 0.220555 -0.113157 -0.410049 -v -0.208120 -0.115781 -0.410049 -v -0.216625 -0.113157 -0.410049 -v -0.216625 -0.149566 -0.410049 -v -0.216625 -0.115781 -0.396013 -v -0.216625 -0.141549 -0.396013 -v 0.220555 -0.149566 -0.410049 -v 0.220555 -0.141549 -0.396013 -v 0.220555 0.159346 -0.396013 -v -0.216624 0.159347 -0.396013 -v 0.220555 -0.115781 -0.396013 -v -0.216624 0.159347 -0.410049 -v -0.216625 -0.115781 -0.500002 -v -0.216625 -0.141549 -0.500002 -v 0.212050 -0.142021 -0.448008 -v 0.220555 -0.149566 -0.485966 -v 0.220555 -0.141549 -0.500002 -v 0.220555 0.159346 -0.500002 -v -0.216624 0.159347 -0.500002 -v 0.220555 -0.142021 -0.448008 -v 0.220555 -0.115781 -0.500002 -v -0.216624 0.159347 -0.485966 -v -0.216625 -0.162729 -0.448008 -v -0.216625 -0.150269 -0.486432 -v -0.208120 -0.162729 -0.448008 -v -0.208120 -0.153192 -0.486432 -v 0.212050 -0.153192 -0.486432 -v 0.220555 -0.162729 -0.448008 -v 0.212050 -0.162729 -0.448008 -v 0.212050 -0.145885 -0.500640 -v -0.208120 -0.145885 -0.500640 -v -0.208120 -0.116399 -0.500640 -v 0.212050 -0.116399 -0.500640 -v 0.212050 -0.116399 -0.395375 -v -0.208120 -0.116399 -0.395375 -v -0.208120 -0.145885 -0.395375 -v 0.212050 -0.145885 -0.395375 -v 0.212050 -0.153192 -0.409583 -v -0.208120 -0.153192 -0.409583 -v -0.216625 -0.150269 -0.409583 -v -0.216625 -0.116399 -0.395375 -v -0.216625 -0.142232 -0.395375 -v 0.220555 -0.150269 -0.409583 -v 0.220555 -0.142232 -0.395375 -v 0.220555 0.159416 -0.395375 -v -0.216624 0.159417 -0.395375 -v 0.220555 -0.116399 -0.395375 -v -0.216625 -0.116399 -0.500640 -v -0.216625 -0.142232 -0.500640 -v 0.220555 -0.150269 -0.486432 -v 0.220555 -0.142232 -0.500640 -v 0.220555 0.159416 -0.500640 -v -0.216624 0.159417 -0.500640 -v 0.220555 -0.116399 -0.500640 +v 0.161995 -0.448008 0.216625 +v 0.149566 -0.485966 0.216625 +v 0.113157 -0.485966 0.216625 +v 0.142021 -0.448008 0.216625 +v 0.115781 -0.485966 0.208120 +v 0.142021 -0.448008 0.208120 +v 0.113157 -0.485966 -0.220555 +v -0.159347 -0.485966 -0.220555 +v 0.115781 -0.485966 -0.212050 +v 0.161995 -0.448008 0.208120 +v -0.148926 -0.485966 0.208120 +v -0.155653 -0.448008 0.208120 +v -0.155653 -0.448008 -0.212051 +v -0.148926 -0.485966 -0.212051 +v 0.152482 -0.485966 0.208120 +v 0.152482 -0.485966 -0.212050 +v 0.161995 -0.448008 -0.220555 +v 0.161995 -0.448008 -0.212050 +v 0.145193 -0.500002 -0.212050 +v 0.145193 -0.500002 0.208120 +v 0.115781 -0.500002 0.208120 +v 0.115781 -0.500002 -0.212050 +v 0.115781 -0.396013 -0.212050 +v 0.115781 -0.396013 0.208120 +v 0.145193 -0.396013 0.208120 +v 0.145193 -0.396013 -0.212050 +v 0.152482 -0.410049 -0.212050 +v 0.152482 -0.410049 0.208120 +v -0.148926 -0.410049 -0.212051 +v -0.148926 -0.410049 0.208120 +v 0.115781 -0.410049 -0.212050 +v -0.159347 -0.410049 -0.220555 +v 0.113157 -0.410049 -0.220555 +v 0.115781 -0.410049 0.208120 +v 0.113157 -0.410049 0.216625 +v 0.149566 -0.410049 0.216625 +v 0.115781 -0.396013 0.216625 +v 0.141549 -0.396013 0.216625 +v 0.149566 -0.410049 -0.220555 +v 0.141549 -0.396013 -0.220555 +v -0.159346 -0.396013 -0.220555 +v -0.159347 -0.396013 0.216624 +v 0.115781 -0.396013 -0.220555 +v -0.159347 -0.410049 0.216624 +v 0.115781 -0.500002 0.216625 +v 0.141549 -0.500002 0.216625 +v 0.142021 -0.448008 -0.212050 +v 0.149566 -0.485966 -0.220555 +v 0.141549 -0.500002 -0.220555 +v -0.159346 -0.500002 -0.220555 +v -0.159347 -0.500002 0.216624 +v 0.142021 -0.448008 -0.220555 +v 0.115781 -0.500002 -0.220555 +v -0.159347 -0.485966 0.216624 vt 0.921987 0.383861 vt 0.921987 0.340448 vt 0.931829 0.340448 @@ -181,10 +149,6 @@ vt 0.670829 0.990273 vt 0.667792 1.000000 vt 0.704866 0.000000 vt 0.000000 0.000001 -vt 0.668539 0.639838 -vt 0.640677 0.639838 -vt 0.640677 0.630641 -vt 0.672479 0.630641 vt 0.439305 1.000000 vt 0.439305 0.319104 vt 0.527160 0.379125 @@ -203,41 +167,29 @@ vt 0.263593 0.961094 vt 0.263593 0.000000 vt 0.175736 0.000000 vt 0.175736 0.961094 -vn -0.123900 0.803100 -0.582900 -vn -0.123900 0.803000 0.582900 -vn 0.000000 -0.970000 0.243100 -vn 0.162500 -0.947900 0.274000 -vn 0.162500 -0.947900 -0.274000 -vn 0.000000 0.000000 -1.000000 -vn -0.320700 -0.831600 -0.453400 -vn 0.000000 -0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.123900 0.803100 -0.582900 +vn -0.803100 -0.582900 0.123900 +vn -0.803000 0.582900 0.123900 +vn 0.970000 0.243100 0.000000 +vn 0.947900 0.274000 -0.162500 +vn 0.947900 -0.274000 -0.162500 +vn -0.000000 -1.000000 -0.000000 +vn 0.831600 -0.453400 0.320700 vn 0.000000 1.000000 -0.000000 -vn 0.320700 -0.831600 -0.453400 -vn -0.162500 -0.947900 -0.274000 -vn 0.000000 -0.970000 -0.243100 -vn -0.162500 -0.947900 0.274000 -vn 0.123900 0.803000 0.582900 -vn 0.000000 -0.887500 -0.460900 -vn 0.000000 -0.887500 0.460900 -vn 0.320700 -0.831600 0.453400 -vn -0.320700 -0.831600 0.453400 -vn 0.000000 0.984700 -0.174500 -vn -0.000000 0.984700 0.174500 -vn 0.000000 -0.970600 0.240900 -vn 0.163000 -0.948500 0.271500 -vn 0.163000 -0.948500 -0.271500 -vn -0.322100 -0.833000 -0.449800 -vn 0.322100 -0.833000 -0.449800 -vn -0.163000 -0.948500 -0.271500 -vn 0.000000 -0.970600 -0.240900 -vn -0.163000 -0.948500 0.271500 -vn 0.000000 -0.889300 -0.457400 -vn 0.000000 -0.889300 0.457400 -vn 0.322100 -0.833000 0.449800 -vn -0.322100 -0.833000 0.449800 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn -0.803100 -0.582900 -0.123900 +vn -1.000000 -0.000000 -0.000000 +vn 0.831600 -0.453400 -0.320700 +vn 0.947900 -0.274000 0.162500 +vn 0.970000 -0.243100 -0.000000 +vn 0.947900 0.274000 0.162500 +vn -0.803000 0.582900 -0.123900 +vn 0.887500 -0.460900 -0.000000 +vn 0.887500 0.460900 -0.000000 +vn 0.831600 0.453400 -0.320700 +vn 0.831600 0.453400 0.320700 +vn -0.984700 -0.174500 -0.000000 +vn -0.984700 0.174500 0.000000 g Cube.002_Cube.001_Cube.002_Cube.001_cover s off f 47/1/1 31/2/1 33/3/1 52/4/1 @@ -279,32 +231,10 @@ f 28/9/21 25/72/21 38/93/21 36/60/21 f 29/74/6 30/90/6 44/84/6 32/20/6 f 41/26/8 42/94/8 37/76/8 24/68/8 23/67/8 43/50/8 f 54/26/8 11/25/8 14/65/8 8/64/8 -f 46/95/6 45/96/6 21/97/6 20/98/6 g Cube.002_Cube.001_Cube.002_Cube.001_edges -f 13/99/10 47/100/10 9/101/10 14/102/10 -f 6/103/9 12/104/9 11/105/9 5/106/9 -f 13/99/10 29/107/10 31/108/10 47/100/10 -f 6/103/9 34/109/9 30/110/9 12/104/9 -f 14/111/22 11/112/22 12/113/22 13/114/22 -f 29/115/23 13/114/23 12/113/23 30/116/23 -g Cube.002_Cube.001_Cube.002_Cube.001_trim -f 61/7/24 70/8/24 71/9/24 57/10/24 -f 70/8/25 61/7/25 60/11/25 75/12/25 -f 59/13/26 82/14/26 60/11/26 61/7/26 -f 84/15/6 86/16/6 65/17/6 64/18/6 80/19/6 85/20/6 -f 58/21/27 56/22/27 81/23/27 63/24/27 -f 65/17/6 86/16/6 83/29/6 62/30/6 -f 62/55/28 83/56/28 82/14/28 59/13/28 -f 57/10/29 55/59/29 56/22/29 58/21/29 -f 61/7/30 57/10/30 58/21/30 59/13/30 -f 57/10/31 71/9/31 72/60/31 55/59/31 -f 59/13/32 58/21/32 63/24/32 62/55/32 -f 65/17/6 62/30/6 63/66/6 64/18/6 -f 66/67/8 67/68/8 68/69/8 69/70/8 -f 70/8/33 69/71/33 68/72/33 71/9/33 -f 68/69/8 67/68/8 73/76/8 74/77/8 -f 69/71/34 70/8/34 75/12/34 76/78/34 -f 66/67/8 69/70/8 76/89/8 79/50/8 -f 71/9/35 68/72/35 74/93/35 72/60/35 -f 77/26/8 78/94/8 73/76/8 67/68/8 66/67/8 79/50/8 -f 81/95/6 80/96/6 64/97/6 63/98/6 +f 13/95/10 47/96/10 9/97/10 14/98/10 +f 6/99/9 12/100/9 11/101/9 5/102/9 +f 13/95/10 29/103/10 31/104/10 47/96/10 +f 6/99/9 34/105/9 30/106/9 12/100/9 +f 14/107/22 11/108/22 12/109/22 13/110/22 +f 29/111/23 13/110/23 12/109/23 30/112/23 diff --git a/homedecor/models/homedecor_book_open.obj b/homedecor/models/homedecor_book_open.obj index ab2c1b30..046b6de1 100644 --- a/homedecor/models/homedecor_book_open.obj +++ b/homedecor/models/homedecor_book_open.obj @@ -1,84 +1,84 @@ -# Blender v2.72 (sub 0) OBJ File: 'book-open.blend' +# Blender v2.73 (sub 0) OBJ File: 'book-open.blend' # www.blender.org o Cube.002_Cube.001 -v -0.216625 0.012428 -0.485966 -v 0.220555 -0.000000 -0.486750 -v 0.220555 0.321341 -0.485966 -v -0.208120 -0.000001 -0.462863 -v -0.208120 0.310920 -0.485966 -v -0.208120 0.306022 -0.464409 -v 0.212051 0.306022 -0.464409 -v 0.212051 0.310921 -0.485966 -v 0.212050 -0.000000 -0.462862 -v 0.212050 0.016802 -0.500002 -v -0.208120 0.016801 -0.500002 -v -0.208120 0.046213 -0.500002 -v 0.212050 0.046214 -0.500002 -v -0.216625 0.046213 -0.500002 -v -0.216625 0.020445 -0.500002 -v 0.220555 0.012429 -0.485966 -v 0.220555 0.020446 -0.500002 -v 0.220555 0.321340 -0.500002 -v -0.216624 0.321341 -0.500002 -v 0.220555 0.046214 -0.500002 -v -0.216624 0.321341 -0.485966 -v -0.208120 0.238235 -0.450057 -v -0.216625 -0.000001 -0.486750 -v 0.212051 0.238236 -0.450057 -v -0.208120 -0.306023 -0.464409 -v 0.212051 -0.306023 -0.464409 -v -0.208120 -0.238237 -0.450057 -v 0.212051 -0.238237 -0.450057 -v 0.212050 -0.046214 -0.500003 -v -0.208120 -0.046215 -0.500003 -v -0.208120 -0.016803 -0.500003 -v 0.212050 -0.016803 -0.500003 -v -0.216625 -0.000001 -0.481442 -v 0.220555 -0.000000 -0.481442 -v 0.212051 -0.310922 -0.485967 -v -0.208120 -0.310922 -0.485967 -v 0.220555 -0.321342 -0.485967 -v -0.216625 -0.012430 -0.485967 -v -0.216625 -0.046215 -0.500003 -v -0.216625 -0.020447 -0.500003 -v 0.220555 -0.012429 -0.485967 -v 0.220555 -0.020446 -0.500003 -v 0.220555 -0.321341 -0.500003 -v -0.216624 -0.321343 -0.500003 -v 0.220555 -0.046214 -0.500003 -v -0.216624 -0.321343 -0.485967 -v -0.208120 -0.000001 -0.486750 -v 0.212050 -0.000000 -0.486750 -v 0.212051 -0.086920 -0.442244 -v -0.208120 -0.086920 -0.442244 -v 0.212051 0.086847 -0.442244 -v -0.208120 0.086847 -0.442244 -v 0.212050 0.043405 -0.447755 -v -0.208120 0.043405 -0.447755 -v 0.212050 -0.043478 -0.447755 -v -0.208120 -0.043478 -0.447755 -v -0.216625 -0.010224 -0.490836 -v -0.216625 0.006214 -0.482857 -v 0.220555 0.006214 -0.482857 -v -0.208120 0.008400 -0.490836 -v 0.212050 0.008401 -0.490836 -v 0.220555 0.010223 -0.490836 -v -0.216625 0.010222 -0.490836 -v 0.220555 -0.010223 -0.490836 -v 0.212050 -0.008401 -0.490836 -v -0.208120 -0.008402 -0.490836 -v 0.220555 -0.006215 -0.482858 -v -0.216625 -0.006215 -0.482858 -v 0.212050 0.012429 -0.485966 -v 0.212050 -0.000000 -0.481442 -v 0.212050 -0.012429 -0.485967 -v 0.212050 0.006214 -0.482857 -v 0.212050 -0.006215 -0.482858 -v -0.208120 0.012428 -0.485966 -v -0.208120 -0.000001 -0.481442 -v -0.208120 -0.012430 -0.485967 -v -0.208120 0.006214 -0.482857 -v -0.208120 -0.006215 -0.482858 +v -0.012428 -0.485966 0.216625 +v 0.000001 -0.486750 -0.220555 +v -0.321341 -0.485966 -0.220555 +v 0.000001 -0.462863 0.208120 +v -0.310920 -0.485966 0.208120 +v -0.306022 -0.464409 0.208120 +v -0.306022 -0.464409 -0.212051 +v -0.310920 -0.485966 -0.212051 +v 0.000001 -0.462862 -0.212050 +v -0.016802 -0.500002 -0.212050 +v -0.016802 -0.500002 0.208120 +v -0.046214 -0.500002 0.208120 +v -0.046214 -0.500002 -0.212050 +v -0.046214 -0.500002 0.216625 +v -0.020445 -0.500002 0.216625 +v -0.012428 -0.485966 -0.220555 +v -0.020445 -0.500002 -0.220555 +v -0.321340 -0.500002 -0.220555 +v -0.321341 -0.500002 0.216624 +v -0.046214 -0.500002 -0.220555 +v -0.321341 -0.485966 0.216624 +v -0.238235 -0.450057 0.208120 +v 0.000001 -0.486750 0.216625 +v -0.238235 -0.450057 -0.212051 +v 0.306023 -0.464409 0.208120 +v 0.306023 -0.464409 -0.212051 +v 0.238237 -0.450057 0.208120 +v 0.238237 -0.450057 -0.212051 +v 0.046215 -0.500003 -0.212050 +v 0.046215 -0.500003 0.208120 +v 0.016803 -0.500003 0.208120 +v 0.016803 -0.500003 -0.212050 +v 0.000001 -0.481442 0.216625 +v 0.000001 -0.481442 -0.220555 +v 0.310922 -0.485967 -0.212051 +v 0.310922 -0.485967 0.208120 +v 0.321343 -0.485967 -0.220555 +v 0.012430 -0.485967 0.216625 +v 0.046215 -0.500003 0.216625 +v 0.020447 -0.500003 0.216625 +v 0.012430 -0.485967 -0.220555 +v 0.020447 -0.500003 -0.220555 +v 0.321342 -0.500003 -0.220555 +v 0.321343 -0.500003 0.216624 +v 0.046215 -0.500003 -0.220555 +v 0.321343 -0.485967 0.216624 +v 0.000001 -0.486750 0.208120 +v 0.000001 -0.486750 -0.212050 +v 0.086920 -0.442244 -0.212051 +v 0.086920 -0.442244 0.208120 +v -0.086847 -0.442244 -0.212051 +v -0.086847 -0.442244 0.208120 +v -0.043405 -0.447755 -0.212050 +v -0.043405 -0.447755 0.208120 +v 0.043478 -0.447755 -0.212050 +v 0.043478 -0.447755 0.208120 +v 0.010224 -0.490836 0.216625 +v -0.006214 -0.482857 0.216625 +v -0.006214 -0.482857 -0.220555 +v -0.008400 -0.490836 0.208120 +v -0.008400 -0.490836 -0.212050 +v -0.010222 -0.490836 -0.220555 +v -0.010222 -0.490836 0.216625 +v 0.010224 -0.490836 -0.220555 +v 0.008402 -0.490836 -0.212050 +v 0.008402 -0.490836 0.208120 +v 0.006215 -0.482858 -0.220555 +v 0.006215 -0.482858 0.216625 +v -0.012428 -0.485966 -0.212050 +v 0.000001 -0.481442 -0.212050 +v 0.012430 -0.485967 -0.212050 +v -0.006214 -0.482857 -0.212050 +v 0.006215 -0.482858 -0.212050 +v -0.012428 -0.485966 0.208120 +v 0.000001 -0.481442 0.208120 +v 0.012430 -0.485967 0.208120 +v -0.006214 -0.482857 0.208120 +v 0.006215 -0.482858 0.208120 vt 0.965735 0.839196 vt 0.711783 0.839196 vt 0.711783 0.832541 @@ -249,79 +249,80 @@ vt 0.500000 0.156314 vt 0.568437 0.156314 vt 0.568437 0.984311 vt 0.500000 0.984311 -vn 0.577300 0.577300 -0.577300 -vn 0.707100 0.000000 -0.707100 -vn 0.000000 0.000000 -1.000000 -vn -0.707100 0.000000 -0.707100 -vn -0.577300 0.577300 -0.577300 -vn -0.246900 -0.280700 0.927500 -vn -0.658800 -0.172900 0.732100 -vn -0.762700 -0.148700 0.629400 -vn -0.577300 -0.577300 0.577300 -vn 0.668800 -0.216600 -0.711100 -vn 0.071700 -0.428700 -0.900500 -vn -0.762700 0.148700 0.629400 -vn -0.577300 0.577300 0.577300 -vn -0.668800 -0.216600 -0.711100 -vn 0.577300 0.577300 0.577300 -vn 0.762700 0.148700 0.629400 -vn -0.658800 0.172900 0.732100 -vn -0.246900 0.280700 0.927500 -vn -0.071700 -0.428700 -0.900500 -vn 0.246900 0.280700 0.927500 -vn -0.071700 0.428800 -0.900500 -vn 0.071700 0.428800 -0.900500 -vn -0.668800 0.216600 -0.711100 -vn 0.577300 -0.577300 0.577300 -vn 0.577300 -0.577300 -0.577300 -vn 0.668800 0.216600 -0.711100 -vn 0.762700 -0.148700 0.629400 vn -0.577300 -0.577300 -0.577300 -vn 0.658800 -0.172900 0.732100 -vn 0.246900 -0.280700 0.927500 -vn 0.794100 0.350300 -0.496700 -vn 0.814600 0.000000 -0.580000 -vn 0.681100 -0.246900 0.689300 -vn 0.660400 0.000000 0.750900 -vn 0.681100 0.246800 0.689300 -vn 0.794100 -0.350300 -0.496700 -vn -0.794100 -0.350300 -0.496700 -vn -0.814600 0.000000 -0.580000 -vn -0.681100 0.246800 0.689300 -vn -0.660400 0.000000 0.750900 -vn -0.681100 -0.246900 0.689300 -vn -0.794100 0.350300 -0.496700 -vn -0.062900 0.569600 -0.819500 -vn -0.023700 0.000000 -0.999700 -vn -0.062900 -0.569600 -0.819500 -vn 0.062900 0.569600 -0.819500 -vn 0.023700 0.000000 -0.999700 -vn 0.062900 -0.569600 -0.819500 -vn 0.760600 0.000000 0.649100 -vn 0.735000 -0.228600 0.638300 -vn 0.658800 0.172900 0.732100 -vn 0.735000 0.228600 0.638300 -vn -0.735000 -0.228600 0.638300 -vn -0.760600 0.000000 0.649100 -vn -0.735000 0.228600 0.638300 -vn -0.603500 0.559600 0.567900 -vn 0.603500 0.559600 0.567900 -vn 0.603500 -0.559600 0.567900 -vn -0.603500 -0.559600 0.567900 -vn 0.789000 -0.000200 0.614300 -vn 0.684400 -0.166600 0.709800 -vn -0.687600 0.027100 0.725500 -vn -0.684400 0.166400 0.709800 -vn 0.689800 0.093900 0.717800 -vn 0.687600 -0.027100 0.725500 -vn 0.689800 -0.093900 0.717800 -vn 0.687600 0.027100 0.725500 -vn 0.684400 0.166400 0.709800 -vn -0.689800 0.093900 0.717800 -vn -0.687600 -0.027100 0.725500 -vn -0.789000 -0.000200 0.614300 -vn -0.684400 -0.166600 0.709800 -vn -0.689800 -0.093900 0.717800 +vn 0.000000 -0.707100 -0.707100 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.707100 0.707100 +vn -0.577300 -0.577300 0.577300 +vn 0.280700 0.927500 0.246900 +vn 0.172900 0.732100 0.658800 +vn 0.148700 0.629400 0.762700 +vn 0.577300 0.577300 0.577300 +vn 0.216600 -0.711100 -0.668800 +vn 0.428700 -0.900500 -0.071700 +vn -0.148700 0.629400 0.762700 +vn -0.577300 0.577300 0.577300 +vn 0.216600 -0.711100 0.668800 +vn -0.577300 0.577300 -0.577300 +vn -0.148700 0.629400 -0.762700 +vn -0.172900 0.732100 0.658800 +vn -0.280700 0.927500 0.246900 +vn 0.428700 -0.900500 0.071700 +vn -0.280700 0.927500 -0.246900 +vn -0.428800 -0.900500 0.071700 +vn -0.428800 -0.900500 -0.071700 +vn -0.216600 -0.711100 0.668800 +vn 0.577300 0.577300 -0.577300 +vn 0.577300 -0.577300 -0.577300 +vn 0.000000 -0.707100 -0.707000 +vn -0.216600 -0.711100 -0.668800 +vn 0.148700 0.629400 -0.762700 +vn 0.577300 -0.577300 0.577300 +vn 0.172900 0.732100 -0.658800 +vn 0.280700 0.927500 -0.246900 +vn -0.350300 -0.496700 -0.794100 +vn 0.000000 -0.580000 -0.814600 +vn 0.246900 0.689300 -0.681100 +vn 0.000000 0.750900 -0.660400 +vn -0.246800 0.689300 -0.681100 +vn 0.350300 -0.496700 -0.794100 +vn 0.350300 -0.496700 0.794100 +vn 0.000000 -0.580000 0.814600 +vn -0.246800 0.689300 0.681100 +vn 0.000000 0.750900 0.660400 +vn 0.246900 0.689300 0.681100 +vn -0.350300 -0.496700 0.794100 +vn -0.569600 -0.819500 0.062900 +vn 0.000000 -0.999700 0.023700 +vn 0.569600 -0.819500 0.062900 +vn -0.569600 -0.819500 -0.062900 +vn 0.000000 -0.999700 -0.023700 +vn 0.569600 -0.819500 -0.062900 +vn 0.000000 0.649100 -0.760600 +vn 0.228600 0.638300 -0.735000 +vn -0.172900 0.732100 -0.658800 +vn -0.228600 0.638300 -0.735000 +vn 0.228600 0.638300 0.735000 +vn 0.000000 0.649100 0.760600 +vn -0.228600 0.638300 0.735000 +vn -0.559600 0.567900 0.603500 +vn -0.559600 0.567900 -0.603500 +vn 0.559600 0.567900 -0.603500 +vn 0.559600 0.567900 0.603500 +vn 0.000200 0.614300 -0.789000 +vn 0.166600 0.709800 -0.684400 +vn -0.027100 0.725500 0.687600 +vn -0.166400 0.709800 0.684400 +vn -0.093900 0.717800 -0.689800 +vn 0.027100 0.725500 -0.687600 +vn 0.093900 0.717800 -0.689800 +vn -0.027100 0.725500 -0.687600 +vn -0.166400 0.709800 -0.684400 +vn -0.093900 0.717800 0.689800 +vn 0.027100 0.725500 0.687600 +vn 0.000200 0.614300 0.789000 +vn 0.166600 0.709800 0.684400 +vn 0.093900 0.717800 0.689800 g Cube.002_Cube.001_Cube.002_Cube.001_cover s 1 f 18/1/1 20/2/2 13/3/3 12/4/3 14/5/4 19/6/5 @@ -335,84 +336,84 @@ f 13/3/3 10/12/11 11/31/19 12/4/3 f 21/30/13 5/29/18 8/32/20 3/33/15 f 29/34/3 30/35/3 31/31/21 32/12/22 f 31/31/21 30/35/3 39/36/4 40/37/23 -f 37/38/24 43/39/25 45/40/2 42/41/26 41/42/27 -f 43/43/25 37/21/24 46/20/9 44/44/28 -f 38/45/8 40/46/23 39/47/4 44/48/28 46/49/9 -f 29/34/3 32/12/22 42/50/26 45/51/2 -f 41/52/27 71/53/29 35/54/30 37/55/24 -f 35/54/30 36/7/6 46/10/9 37/55/24 -f 43/56/25 44/57/28 39/36/4 30/35/3 29/34/3 45/51/2 +f 37/38/24 43/39/25 45/40/26 42/41/27 41/42/28 +f 43/43/25 37/21/24 46/20/9 44/44/29 +f 38/45/8 40/46/23 39/47/4 44/48/29 46/49/9 +f 29/34/3 32/12/22 42/50/27 45/51/26 +f 41/52/28 71/53/30 35/54/31 37/55/24 +f 35/54/31 36/7/6 46/10/9 37/55/24 +f 43/56/25 44/57/29 39/36/4 30/35/3 29/34/3 45/51/26 f 15/58/14 14/5/4 12/4/3 11/31/19 -f 42/41/26 64/59/31 41/42/27 -f 41/42/27 64/59/31 2/60/32 67/61/33 -f 67/61/33 2/60/32 34/62/34 -f 34/62/34 2/60/32 59/63/35 -f 2/60/32 62/64/36 16/23/16 59/63/35 -f 16/23/16 62/64/36 17/24/10 -f 15/17/14 63/65/37 1/13/12 -f 23/66/38 58/67/39 1/13/12 63/65/37 -f 58/67/39 23/66/38 33/68/40 -f 68/69/41 33/68/40 23/66/38 -f 38/45/8 68/69/41 23/66/38 57/70/42 -f 57/70/42 40/46/23 38/45/8 -f 40/71/23 57/72/42 66/73/43 31/74/21 -f 57/44/42 23/75/38 47/76/44 66/77/43 -f 47/76/44 23/75/38 63/78/37 60/79/45 -f 15/71/14 11/80/19 60/81/45 63/82/37 -f 32/83/22 65/84/46 64/85/31 42/86/26 -f 64/43/31 65/87/46 48/88/47 2/89/32 -f 48/88/47 61/90/48 62/91/36 2/89/32 -f 17/86/10 62/92/36 61/93/48 10/94/11 -f 67/95/33 34/96/34 70/97/49 73/98/50 -f 59/99/35 16/100/16 69/101/51 72/102/52 -f 41/52/27 67/95/33 73/98/50 71/53/29 -f 34/96/34 59/99/35 72/102/52 70/97/49 -f 33/103/40 68/104/41 78/105/53 75/106/54 -f 1/27/12 58/107/39 77/108/55 74/28/17 -f 68/104/41 38/9/8 76/8/7 78/105/53 -f 58/107/39 33/103/40 75/106/54 77/108/55 -f 8/32/20 69/101/51 16/100/16 3/33/15 -f 10/94/11 61/93/48 60/81/45 11/80/19 -f 47/76/44 60/79/45 61/90/48 48/88/47 -f 65/87/46 66/77/43 47/76/44 48/88/47 -f 31/74/21 66/73/43 65/84/46 32/83/22 +f 42/41/27 64/59/32 41/42/28 +f 41/42/28 64/59/32 2/60/33 67/61/34 +f 67/61/34 2/60/33 34/62/35 +f 34/62/35 2/60/33 59/63/36 +f 2/60/33 62/64/37 16/23/16 59/63/36 +f 16/23/16 62/64/37 17/24/10 +f 15/17/14 63/65/38 1/13/12 +f 23/66/39 58/67/40 1/13/12 63/65/38 +f 58/67/40 23/66/39 33/68/41 +f 68/69/42 33/68/41 23/66/39 +f 38/45/8 68/69/42 23/66/39 57/70/43 +f 57/70/43 40/46/23 38/45/8 +f 40/71/23 57/72/43 66/73/44 31/74/21 +f 57/44/43 23/75/39 47/76/45 66/77/44 +f 47/76/45 23/75/39 63/78/38 60/79/46 +f 15/71/14 11/80/19 60/81/46 63/82/38 +f 32/83/22 65/84/47 64/85/32 42/86/27 +f 64/43/32 65/87/47 48/88/48 2/89/33 +f 48/88/48 61/90/49 62/91/37 2/89/33 +f 17/86/10 62/92/37 61/93/49 10/94/11 +f 67/95/34 34/96/35 70/97/50 73/98/51 +f 59/99/36 16/100/16 69/101/52 72/102/53 +f 41/52/28 67/95/34 73/98/51 71/53/30 +f 34/96/35 59/99/36 72/102/53 70/97/50 +f 33/103/41 68/104/42 78/105/54 75/106/55 +f 1/27/12 58/107/40 77/108/56 74/28/17 +f 68/104/42 38/9/8 76/8/7 78/105/54 +f 58/107/40 33/103/41 75/106/55 77/108/56 +f 8/32/20 69/101/52 16/100/16 3/33/15 +f 10/94/11 61/93/49 60/81/46 11/80/19 +f 47/76/45 60/79/46 61/90/49 48/88/48 +f 65/87/47 66/77/44 47/76/45 48/88/48 +f 31/74/21 66/73/44 65/84/47 32/83/22 g Cube.002_Cube.001_Cube.002_Cube.001_edges -f 8/109/20 5/110/18 6/111/56 7/112/57 -f 35/113/30 26/114/58 25/115/59 36/116/6 -f 9/117/60 69/118/51 53/119/61 -f 50/120/62 56/121/63 76/122/7 -f 24/123/64 69/118/51 8/124/20 -f 9/125/60 71/126/29 73/127/50 -f 51/128/65 53/119/61 69/118/51 -f 9/125/60 73/127/50 70/129/49 -f 28/130/66 26/131/58 35/132/30 -f 71/126/29 49/133/67 28/130/66 -f 72/134/52 69/118/51 9/117/60 -f 71/126/29 55/135/68 49/133/67 -f 28/130/66 35/132/30 71/126/29 -f 24/123/64 8/124/20 7/136/57 -f 69/118/51 24/123/64 51/128/65 -f 9/125/60 55/135/68 71/126/29 -f 70/137/49 72/134/52 9/117/60 -f 22/138/69 6/139/56 5/140/18 -f 74/141/17 52/142/70 22/138/69 -f 75/143/54 78/144/53 4/145/71 -f 74/141/17 54/146/72 52/142/70 -f 22/138/69 5/140/18 74/141/17 -f 27/147/73 76/122/7 36/148/6 -f 4/149/71 74/141/17 77/150/55 -f 27/147/73 50/120/62 76/122/7 -f 4/149/71 77/150/55 75/151/54 -f 4/145/71 78/144/53 76/122/7 -f 4/149/71 54/146/72 74/141/17 -f 27/147/73 36/148/6 25/152/59 -f 56/121/63 4/145/71 76/122/7 +f 8/109/20 5/110/18 6/111/57 7/112/58 +f 35/113/31 26/114/59 25/115/60 36/116/6 +f 9/117/61 69/118/52 53/119/62 +f 50/120/63 56/121/64 76/122/7 +f 24/123/65 69/118/52 8/124/20 +f 9/125/61 71/126/30 73/127/51 +f 51/128/66 53/119/62 69/118/52 +f 9/125/61 73/127/51 70/129/50 +f 28/130/67 26/131/59 35/132/31 +f 71/126/30 49/133/68 28/130/67 +f 72/134/53 69/118/52 9/117/61 +f 71/126/30 55/135/69 49/133/68 +f 28/130/67 35/132/31 71/126/30 +f 24/123/65 8/124/20 7/136/58 +f 69/118/52 24/123/65 51/128/66 +f 9/125/61 55/135/69 71/126/30 +f 70/137/50 72/134/53 9/117/61 +f 22/138/70 6/139/57 5/140/18 +f 74/141/17 52/142/71 22/138/70 +f 75/143/55 78/144/54 4/145/72 +f 74/141/17 54/146/73 52/142/71 +f 22/138/70 5/140/18 74/141/17 +f 27/147/74 76/122/7 36/148/6 +f 4/149/72 74/141/17 77/150/56 +f 27/147/74 50/120/63 76/122/7 +f 4/149/72 77/150/56 75/151/55 +f 4/145/72 78/144/54 76/122/7 +f 4/149/72 54/146/73 74/141/17 +f 27/147/74 36/148/6 25/152/60 +f 56/121/64 4/145/72 76/122/7 g Cube.002_Cube.001_Cube.002_Cube.001_pages -f 50/153/62 27/154/73 28/155/66 49/156/67 -f 6/157/56 22/158/69 24/159/64 7/160/57 -f 27/154/73 25/161/59 26/162/58 28/155/66 -f 52/163/70 54/164/72 53/165/61 51/166/65 -f 22/158/69 52/163/70 51/166/65 24/159/64 -f 4/167/71 56/168/63 55/169/68 9/170/60 -f 54/164/72 4/167/71 9/170/60 53/165/61 -f 56/168/63 50/153/62 49/156/67 55/169/68 +f 50/153/63 27/154/74 28/155/67 49/156/68 +f 6/157/57 22/158/70 24/159/65 7/160/58 +f 27/154/74 25/161/60 26/162/59 28/155/67 +f 52/163/71 54/164/73 53/165/62 51/166/66 +f 22/158/70 52/163/71 51/166/66 24/159/65 +f 4/167/72 56/168/64 55/169/69 9/170/61 +f 54/164/73 4/167/72 9/170/61 53/165/62 +f 56/168/64 50/153/63 49/156/68 55/169/69