convert books to param2 colorization

requires unified dyes commit b0ccff16 or later
This commit is contained in:
Vanessa Ezekowitz 2017-02-06 09:31:31 -05:00
parent 846fe60be7
commit a599b041d4
4 changed files with 591 additions and 458 deletions

View File

@ -3,159 +3,154 @@ 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 = { }
for _, c in ipairs(bookcolors) do
local color, hue = unpack(c)
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_"..color,
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)
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
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,
})
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}
}
})
minetest.remove_node(pos)
end
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_place_node = homedecor.fix_rotation_nsew,
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 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", {
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 = homedecor.fix_rotation_nsew,
after_dig_node = unifieddyes.after_dig_node,
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,
})
end,
selection_box = {
type = "fixed",
fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25}
}
})
minetest.register_on_player_receive_fields(function(player, form_name, fields)
if form_name ~= BOOK_FORMNAME or not fields.save then
return
@ -173,3 +168,72 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields)
minetest.log("action", S("@1 has written in a book (title: \"@2\"): \"@3\" at location @4",
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 = true,
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
print(name.." --> "..newname, color)
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
local param2 = paletteidx + new_fdir
print(" ("..paletteidx..", "..param2..")")
minetest.swap_node(pos, { name = newname, param2 = param2 })
local meta = minetest.get_meta(pos)
meta:set_string("dye", "unifieddyes:"..color)
end
})

View File

@ -1,60 +1,92 @@
# Blender v2.73 (sub 0) OBJ File: 'book.blend'
# Blender v2.72 (sub 0) OBJ File: 'book.blend'
# www.blender.org
o Cube.002_Cube.001
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
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
vt 0.921987 0.383861
vt 0.921987 0.340448
vt 0.931829 0.340448
@ -149,6 +181,10 @@ 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
@ -167,29 +203,41 @@ vt 0.263593 0.961094
vt 0.263593 0.000000
vt 0.175736 0.000000
vt 0.175736 0.961094
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.000000 0.000000 1.000000
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.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
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.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
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
@ -231,10 +279,32 @@ 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/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
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

View File

@ -1,84 +1,84 @@
# Blender v2.73 (sub 0) OBJ File: 'book-open.blend'
# Blender v2.72 (sub 0) OBJ File: 'book-open.blend'
# www.blender.org
o Cube.002_Cube.001
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
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
vt 0.965735 0.839196
vt 0.711783 0.839196
vt 0.711783 0.832541
@ -249,80 +249,79 @@ 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.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.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.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
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
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
@ -336,84 +335,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/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 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 15/58/14 14/5/4 12/4/3 11/31/19
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
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
g Cube.002_Cube.001_Cube.002_Cube.001_edges
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
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
g Cube.002_Cube.001_Cube.002_Cube.001_pages
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
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB