diff --git a/depends.txt b/depends.txt index 8fd1e2b..bc5d454 100644 --- a/depends.txt +++ b/depends.txt @@ -1,3 +1,4 @@ default game? -stairs? \ No newline at end of file +stairs +homedecor? \ No newline at end of file diff --git a/init.lua b/init.lua index 9c0918e..fb7f75c 100644 --- a/init.lua +++ b/init.lua @@ -70,10 +70,176 @@ minetest.register_node("cg_decor:sunflower", { }, }) +minetest.register_node("cg_decor:window_sill", { + description = "Window sill", + tiles = {"cg_decor_siding_wall.png"}, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.625, -0.625, -0.5625, 0.625, -0.4375, -0.5}, + {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + {-0.625, -0.625, 0.5, 0.625, -0.4375, 0.5625}, + } + }, + groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("cg_decor:wall", { + description = "Dryall", + tiles = {"cg_decor_siding_wall.png"}, + groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), +}) + -------------------------------------------------------------------------------------------- -- Blocks ---------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------- +if minetest.get_modpath("homedecor") then + +end + +local roof_list = { + {"Red", "#900000:150"}, + {"Green", "#006500:200"}, + {"Dark_grey", "#202020:200"}, + {"Silver", "#b0b0b0:175"}, + {"Rusty", "#ffffff:150"}, +} + +for i in ipairs(roof_list) do + local desc = roof_list[i][1] + local color = desc:lower() + local value = roof_list[i][2] + local extra = "" + if color == "rusty" then extra = "^cg_decor_metalroof_overlay_rusty.png" end + + minetest.register_node("cg_decor:metal_roof_"..color, { + description = "Metal Roof ("..desc..")", + drawtype = "mesh", + mesh = "cg_decor_metalroof.obj", + tiles = {"(cg_decor_bg.png^[colorize:"..value..")^cg_decor_metalroof_overlay.png"..extra}, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} + } + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} + } + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + on_place = minetest.rotate_node, + sounds = default.node_sound_wood_defaults() + }) + + minetest.register_node("cg_decor:metal_roof_"..color.."_corner", { + description = "Metal Roof Corner ("..desc..")", + drawtype = "mesh", + mesh = "cg_decor_metalroof_corner.obj", + tiles = {"(cg_decor_bg.png^[colorize:"..value..")^cg_decor_metalroof_overlay.png"..extra}, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, + {-0.5, 0, 0, 0, 0.25, 0.5}, + {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} + } + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, + {-0.5, 0, 0, 0, 0.25, 0.5}, + {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} + } + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + on_place = minetest.rotate_node, + sounds = default.node_sound_wood_defaults() + }) + + minetest.register_node("cg_decor:metal_roof_"..color.."_valley", { + description = "Metal Roof Valley ("..desc..")", + drawtype = "mesh", + mesh = "cg_decor_metalroof_valley.obj", + tiles = {"(cg_decor_bg.png^[colorize:"..value..")^cg_decor_metalroof_overlay.png"..extra}, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, + {-0.5, 0, -0.5, 0, 0.25, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, + {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, + } + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, + {-0.5, 0, -0.5, 0, 0.25, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, + {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, + } + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + on_place = minetest.rotate_node, + sounds = default.node_sound_wood_defaults() + }) + +minetest.register_node("cg_decor:metal_roof_"..color.."_flat", { + description = "Metal Roof Flat ("..desc..")", + drawtype = "mesh", + mesh = "cg_decor_metalroof_flat.obj", + tiles = {"(cg_decor_bg.png^[colorize:"..value..")^cg_decor_metalroof_overlay.png"..extra}, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}, + } + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}, + } + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + on_place = minetest.rotate_node, + sounds = default.node_sound_wood_defaults() + }) + +end + minetest.register_craft({ output = 'cg_decor:floor_block_white 4', recipe = { @@ -99,7 +265,8 @@ local color_list = { {"Black", "#000000:200"}, {"Dark_grey", "#202020:200"}, {"Grey", "#b0b0b0:175"}, - {"White", "#ffffff:000"}, + {"White", "#ffffff:150"}, + {"Orange", "#a04000:185"}, } local ore_list = { @@ -116,6 +283,177 @@ for i in ipairs(color_list) do local color = desc:lower() local value = color_list[i][2] + stairs.register_stair("carpeted_wood_"..color, "cg_decor:carpetblock_wood_"..color, + {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"cg_decor_carpet.png^[colorize:"..value, + "default_wood.png", + "default_wood.png", + "default_wood.png", + "default_wood.png", + "default_wood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")"}, + "Carpeted Wooden Stair", + default.node_sound_defaults()) + + stairs.register_slab("carpeted_wood_"..color, "cg_decor:carpetblock_wood_"..color, + {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"cg_decor_carpet.png^[colorize:"..value, + "default_wood.png", + "default_wood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")", + "default_wood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")", + "default_wood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")", + "default_wood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")"}, + "Carpeted Wooden Slab", + default.node_sound_defaults()) + + stairs.register_stair("carpeted_junglewood_"..color, "cg_decor:carpetblock_junglewood_"..color, + {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"cg_decor_carpet.png^[colorize:"..value, + "default_junglewood.png", + "default_junglewood.png", + "default_junglewood.png", + "default_junglewood.png", + "default_junglewood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")"}, + "Carpeted Wooden Stair", + default.node_sound_defaults()) + + stairs.register_slab("carpeted_junglewood_"..color, "cg_decor:carpetblock_junglewood_"..color, + {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {"cg_decor_carpet.png^[colorize:"..value, + "default_junglewood.png", + "default_junglewood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")", + "default_junglewood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")", + "default_junglewood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")", + "default_junglewood.png^(cg_decor_carpet_overlay.png^[colorize:"..value..")"}, + "Carpeted Wooden Slab", + default.node_sound_defaults()) + + minetest.register_node("cg_decor:carpet_"..color, { + description = "Carpet layer ("..desc..")", + tiles = {"cg_decor_carpet.png^[colorize:"..value }, + paramtype = "light", + drawtype = "nodebox", + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4875, 0.5 + }}, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=2}, + sounds = default.node_sound_wood_defaults(), + }) + + minetest.register_node("cg_decor:carpetblock_"..color, { + description = "Carpet or drywall("..desc..")", + tiles = {"cg_decor_carpet.png^[colorize:"..value, "cg_decor_siding_wall.png" }, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5125, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + }) + + minetest.register_node("cg_decor:carpetblock_wood_"..color, { + description = "Carpet on Wood ("..desc..")", + tiles = {"cg_decor_carpet.png^[colorize:"..value, "default_wood.png" }, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5125, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + }) + + minetest.register_node("cg_decor:carpetblock_junglewood_"..color, { + description = "Carpet on Junglewood ("..desc..")", + tiles = {"cg_decor_carpet.png^[colorize:"..value, "default_junglewood.png" }, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5125, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + }) + + minetest.register_node("cg_decor:siding_"..color, { + description = "Siding "..desc, + tiles = {"cg_decor_siding_top.png^[colorize:"..value, "cg_decor_siding_top.png^[colorize:"..value.."^[transformR180", + "cg_decor_siding.png^[colorize:"..value, "cg_decor_siding.png^[colorize:"..value, + "cg_decor_siding_wall.png", "cg_decor_siding.png^[colorize:"..value}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-0.5, -0.5, -0.375, 0.5, 0.5, 0.5}, + {-0.5, -0.459958, -0.4375, 0.5, -0.172287, -0.375}, + {-0.5, 0.203899, -0.4375, 0.5, 0.5, -0.375}, + {-0.5, -0.12803, -0.4375, 0.5, 0.165964, -0.375}, + }}, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + }) + + minetest.register_node("cg_decor:siding_"..color.."_insidecorner", { + description = "Siding inside corner"..desc, + tiles = {"cg_decor_siding.png^[colorize:"..value, "cg_decor_siding.png^[colorize:"..value, + "cg_decor_siding_wall.png", "cg_decor_siding.png^[colorize:"..value.."^(cg_decor_corner_overlay.png^[transformR180)", + "cg_decor_siding_wall.png", "cg_decor_siding.png^[colorize:"..value.."^cg_decor_corner_overlay.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + }) + + minetest.register_node("cg_decor:siding_"..color.."_corner", { + description = "Siding corner "..desc, + tiles = {"cg_decor_siding_corner_top.png^[colorize:"..value, "cg_decor_siding_corner_top.png^[colorize:"..value.."^[transformR270", + "cg_decor_siding.png^[colorize:"..value.."^cg_decor_corner_overlay2.png", "cg_decor_siding.png^[colorize:"..value.."^(cg_decor_corner_overlay.png^[transformR180)", + "cg_decor_siding.png^[colorize:"..value.."^(cg_decor_corner_overlay2.png^[transformR180)", "cg_decor_siding.png^[colorize:"..value.."^cg_decor_corner_overlay.png"}, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-0.375, -0.5, -0.375, 0.5, 0.5, 0.5}, + {-0.375, -0.459958, -0.4375, 0.5, -0.172287, -0.375}, + {-0.375, 0.203899, -0.4375, 0.5, 0.5, -0.375}, + {-0.375, -0.12803, -0.4375, 0.5, 0.165964, -0.375}, + {-0.4375, 0.203899, -0.4375, -0.375, 0.5, 0.5}, + {-0.4375, -0.12803, -0.4375, -0.375, 0.165964, 0.5}, + {-0.4375, -0.456797, -0.4375, -0.375, -0.172287, 0.5}, + {-0.5, -0.5, -0.5, -0.3125, 0.5, -0.375}, + {-0.5, -0.5, -0.5, -0.375, 0.5, -0.3125}, + }}, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2}, + sounds = default.node_sound_wood_defaults(), + }) + minetest.register_craft( { type = "shapeless", output = 'cg_decor:floor_block_'..color, @@ -314,7 +652,25 @@ function cg_decor.register_tree(treename, tree_image, drop) --global tree regist minetest.register_node("cg_decor:"..treename.."_tree_large", { description = "Large "..treename.." tree", drawtype = "plantlike", - visual_scale = 1.0, + visual_scale = 1.5, + tiles = {tree_image}, + inventory_image = tree_image, + wield_image = tree_image, + paramtype = "light", + walkable = false, + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + }) + + minetest.register_node("cg_decor:"..treename.."_tree_extralarge", { + description = "Extra large "..treename.." tree", + drawtype = "plantlike", + visual_scale = 1.9, tiles = {tree_image}, inventory_image = tree_image, wield_image = tree_image, @@ -361,7 +717,7 @@ function cg_decor.register_tree(treename, tree_image, drop) --global tree regist walkable = false, climbable = true, is_ground_content = false, - groups = {snappy=3, leafdecay=2, flammable=2, leaves=1}, + groups = {snappy=3, leafdecay=3, flammable=2, leaves=1}, drop = { max_items = 5, items = {{items = {drop_lg},}} @@ -389,7 +745,7 @@ function cg_decor.register_tree(treename, tree_image, drop) --global tree regist local is_soil = minetest.get_item_group(nu, "soil") if is_soil == 0 then minetest.remove_node(pos) - minetest.spawn_item(pos, "cg_decor:"..treename) + minetest.spawn_item(pos, "cg_decor:"..treename.."_tree") return end if (node2.name == "air" or node2.name == "ignore") and (node3.name == "air" or node3.name == "ignore") @@ -399,7 +755,7 @@ function cg_decor.register_tree(treename, tree_image, drop) --global tree regist minetest.add_node({x = pos.x, y = pos.y+2, z = pos.z}, { name = "cg_decor:"..treename.."_leaves" }) else minetest.remove_node(pos) - minetest.spawn_item(pos, "cg_decor:"..treename) + minetest.spawn_item(pos, "cg_decor:"..treename.."_tree") return end end @@ -418,7 +774,7 @@ function cg_decor.register_tree(treename, tree_image, drop) --global tree regist local is_soil = minetest.get_item_group(nu, "soil") if is_soil == 0 then minetest.remove_node(pos) - minetest.spawn_item(pos, "cg_decor:"..treename.."_large") + minetest.spawn_item(pos, "cg_decor:"..treename.."_tree_large") return end if (node2.name == "air" or node2.name == "ignore") and (node3.name == "air" or node3.name == "ignore") @@ -428,7 +784,39 @@ function cg_decor.register_tree(treename, tree_image, drop) --global tree regist minetest.add_node({x = pos.x, y = pos.y+2, z = pos.z}, { name = "cg_decor:"..treename.."_leaves_large" }) else minetest.remove_node(pos) - minetest.spawn_item(pos, "cg_decor:"..treename.."_large") + minetest.spawn_item(pos, "cg_decor:"..treename.."_tree_large") + return + end + end + }) + + minetest.register_abm({ + nodenames = {"cg_decor:"..treename.."_tree_extralarge"}, + interval = 1, + chance = 1, + action = function(pos, node) + local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name + local node2 = minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z}) + local node3 = minetest.get_node({x = pos.x, y = pos.y+2, z = pos.z}) + local node4 = minetest.get_node({x = pos.x, y = pos.y+3, z = pos.z}) + local node5 = minetest.get_node({x = pos.x, y = pos.y+4, z = pos.z}) + local node6 = minetest.get_node({x = pos.x, y = pos.y+5, z = pos.z}) + local is_soil = minetest.get_item_group(nu, "soil") + if is_soil == 0 then + minetest.remove_node(pos) + minetest.spawn_item(pos, "cg_decor:"..treename.."_tree_extralarge") + return + end + if (node2.name == "air" or node2.name == "ignore") and (node3.name == "air" or node3.name == "ignore") + and (node4.name == "air" or node4.name == "ignore") and (node5.name == "air" or node5.name == "ignore") + and (node6.name == "air" or node6.name == "ignore") then + minetest.add_node(pos, { name = "cg_decor:tree_trunk_base" }) + minetest.add_node({x = pos.x, y = pos.y+1, z = pos.z}, { name = "cg_decor:tree_trunk" }) + minetest.add_node({x = pos.x, y = pos.y+2, z = pos.z}, { name = "cg_decor:tree_trunk" }) + minetest.add_node({x = pos.x, y = pos.y+3, z = pos.z}, { name = "cg_decor:"..treename.."_leaves_large" }) + else + minetest.remove_node(pos) + minetest.spawn_item(pos, "cg_decor:"..treename.."_tree_extralarge") return end end @@ -684,7 +1072,7 @@ minetest.register_node("cg_decor:tree_trunk", { max_items = 1, items = {{items = {'default:stick 2'},}} }, - groups = {snappy=3,flammable=2,leafdecay=1}, + groups = {snappy=3,flammable=2,leafdecay=2}, sounds = default.node_sound_leaves_defaults(), }) @@ -858,8 +1246,10 @@ local air_node = minetest.get_content_id("air") local ignore_node = minetest.get_content_id("ignore") local tree_node = minetest.get_content_id("default:tree") local jtree_node = minetest.get_content_id("default:jungletree") +local dleaf_node = minetest.get_content_id("default:leaves") local leaf_node = minetest.get_content_id("cg_decor:leaves") local jleaf_node = minetest.get_content_id("cg_decor:jungleleaves") +local djleaf_node = minetest.get_content_id("default:jungleleaves") local apple_node = minetest.get_content_id("default:apple") function cg_decor.grow_tree(data, a, pos, is_apple_tree) @@ -885,7 +1275,9 @@ function cg_decor.grow_tree(data, a, pos, is_apple_tree) end for tree_h = 0, height-1 do local area_t = a:index(pos.x, pos.y+tree_h, pos.z) - if data[area_t] == air_node or data[area_t] == leaf_node or data[area_t] == apple_node then + if data[area_t] == air_node or data[area_t] == rleaf_node or data[area_t] == ignore_node + or data[area_t] == leaf_node or data[area_t] == jleaf_node or data[area_t] == dleaf_node + or data[area_t] == djleaf_node or data[area_t] == apple_node then data[area_t] = tree_node end end @@ -909,7 +1301,9 @@ function cg_decor.grow_jungletree(data, a, pos) end for tree_h = 0, height-1 do local area_t = a:index(pos.x, pos.y+tree_h, pos.z) - if data[area_t] == air_node or data[area_t] == jleaf_node then + if data[area_t] == air_node or data[area_t] == rleaf_node or data[area_t] == ignore_node + or data[area_t] == leaf_node or data[area_t] == jleaf_node or data[area_t] == dleaf_node + or data[area_t] == djleaf_node then data[area_t] = jtree_node end end @@ -960,7 +1354,9 @@ function cg_decor.grow_redwood(data, a, pos) for z_dir = -1, 1 do if math.abs(x_dir) + math.abs(z_dir) == 1 then local area_t = a:index(pos.x+x_dir, pos.y+tree_h, pos.z+z_dir) - if data[area_t] == air_node or data[area_t] == rleaf_node or data[area_t] == ignore_node then + if data[area_t] == air_node or data[area_t] == rleaf_node or data[area_t] == ignore_node + or data[area_t] == leaf_node or data[area_t] == jleaf_node or data[area_t] == dleaf_node + or data[area_t] == djleaf_node then data[area_t] = rtree_node end elseif x_dir == 0 and z_dir == 0 and tree_h > 0 then diff --git a/models/cg_decor_metalroof.obj b/models/cg_decor_metalroof.obj new file mode 100644 index 0000000..4bdb87c --- /dev/null +++ b/models/cg_decor_metalroof.obj @@ -0,0 +1,70 @@ +# Blender v2.66 (sub 1) OBJ File: '' +# www.blender.org +mtllib cg_decor_metalroof.mtl +o Plane_Plane.006 +v 0.500000 0.497297 0.499723 +v 0.500000 -0.499723 -0.497297 +v 0.500000 -0.457297 -0.539723 +v 0.500000 0.539723 0.457297 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.004 +s off +f 1/1 2/2 3/3 4/4 +o Cube_Cube.002_Cube_Cube.002_front-back-bottom +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +usemtl None +s off +f 5/5 6/6 7/7 8/8 +f 8/7 7/8 9/5 10/6 +f 6/5 5/6 10/7 9/8 +o Cube_Cube.002_Cube_Cube.002_sides +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +usemtl None_NONE +s off +f 11/9 12/10 13/11 +f 14/12 15/10 16/11 +o Plane_Plane.000 +v 0.000000 0.497297 0.499723 +v -0.000000 -0.499723 -0.497297 +v -0.000000 -0.457297 -0.539723 +v 0.000000 0.539723 0.457297 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.001 +s off +f 17/13 18/14 19/15 20/16 +o Plane_Plane.001 +v -0.500000 0.497297 0.499723 +v -0.500000 -0.499723 -0.497297 +v -0.500000 -0.457297 -0.539723 +v -0.500000 0.539723 0.457297 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.002 +s off +f 21/17 22/18 23/19 24/20 diff --git a/models/cg_decor_metalroof_corner.obj b/models/cg_decor_metalroof_corner.obj new file mode 100644 index 0000000..ecf1085 --- /dev/null +++ b/models/cg_decor_metalroof_corner.obj @@ -0,0 +1,92 @@ +# Blender v2.66 (sub 1) OBJ File: '' +# www.blender.org +mtllib cg_decor_metalroof_corner.mtl +o Plane_Plane.003 +v -0.534483 -0.465073 -0.000000 +v -0.499128 -0.500428 -0.000000 +v 0.009989 0.008689 0.000000 +v -0.025366 0.044044 0.000000 +vt 0.000071 0.000071 +vt 0.500000 0.000071 +vt 0.500000 0.999929 +vt 0.000071 0.999929 +usemtl Material.005 +s off +f 1/1 2/2 3/3 4/4 +o Plane_Plane.006 +v 0.500000 0.497297 0.499723 +v 0.500000 -0.499723 -0.497297 +v 0.500000 -0.457297 -0.539723 +v 0.500000 0.539723 0.457297 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.004 +s off +f 5/5 6/6 7/7 8/8 +o Cube_Cube.002_Cube_Cube.002_None +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +usemtl None +s off +f 9/9 10/10 11/11 12/12 +f 13/10 9/11 12/12 +f 10/11 9/12 13/9 +f 13/9 11/11 10/12 +f 13/10 12/11 11/12 +o Plane_Plane.001 +v 0.499723 0.497297 0.499999 +v -0.497297 -0.499723 0.500001 +v -0.539723 -0.457297 0.500001 +v 0.457297 0.539723 0.499999 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.002 +s off +f 14/13 15/14 16/15 17/16 +o Plane_Plane.000 +v 0.497732 0.499239 0.497120 +v -0.500336 -0.501070 -0.500946 +v -0.524868 -0.452118 -0.525478 +v 0.473201 0.548192 0.472589 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.001 +s off +f 18/17 19/18 20/19 21/20 +o Plane_Plane.002 +v 0.500000 0.497297 0.499723 +v 0.500000 -0.499723 -0.497297 +v 0.500000 -0.457297 -0.539723 +v 0.500000 0.539723 0.457297 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.003 +s off +f 22/21 23/22 24/23 25/24 +o Plane_Plane.004 +v -0.000000 -0.466509 -0.540053 +v -0.000000 -0.501865 -0.504698 +v 0.000000 0.007252 0.004419 +v 0.000000 0.042607 -0.030936 +vt 0.000071 0.000071 +vt 0.500000 0.000071 +vt 0.500000 0.999929 +vt 0.000071 0.999929 +usemtl Material.006 +s off +f 26/25 27/26 28/27 29/28 diff --git a/models/cg_decor_metalroof_flat.obj b/models/cg_decor_metalroof_flat.obj new file mode 100644 index 0000000..28eb3a2 --- /dev/null +++ b/models/cg_decor_metalroof_flat.obj @@ -0,0 +1,63 @@ +# Blender v2.66 (sub 1) OBJ File: '' +# www.blender.org +mtllib cg_decor_metalroof_flat.mtl +o Plane_Plane.007 +v -0.500000 -0.499000 0.500000 +v -0.500000 -0.499000 -0.500000 +v -0.500000 -0.449000 -0.500000 +v -0.500000 -0.449000 0.500000 +vt 0.443312 0.000071 +vt 0.563565 0.000071 +vt 0.561848 0.999929 +vt 0.441594 0.999929 +usemtl Material.007 +s off +f 1/1 2/2 3/3 4/4 +o Plane_Plane.005 +v 0.000000 -0.499000 0.500000 +v -0.000000 -0.499000 -0.500000 +v -0.000000 -0.449000 -0.500000 +v 0.000000 -0.449000 0.500000 +vt 0.443312 0.000071 +vt 0.563565 0.000071 +vt 0.561848 0.999929 +vt 0.441594 0.999929 +usemtl Material.005 +s off +f 5/5 6/6 7/7 8/8 +o Plane_Plane.004 +v 0.500000 -0.499000 0.500000 +v 0.499999 -0.499000 -0.500000 +v 0.499999 -0.449000 -0.500000 +v 0.500000 -0.449000 0.500000 +vt 0.443312 0.000071 +vt 0.563565 0.000071 +vt 0.561848 0.999929 +vt 0.441594 0.999929 +usemtl Material.006 +s off +f 9/9 10/10 11/11 12/12 +o Plane_Plane.003 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.000071 0.000071 +vt 0.996606 0.000071 +vt 0.996606 0.999929 +vt 0.000071 0.999929 +usemtl Material.008 +s off +f 13/13 14/14 15/15 16/16 +o Plane_Plane.000_Plane_Plane.008 +v -0.500000 -0.499000 0.500000 +v 0.500000 -0.499000 0.500000 +v 0.500000 -0.499000 -0.500000 +v -0.500000 -0.499000 -0.500000 +vt 0.000071 0.000071 +vt 0.996606 0.000071 +vt 0.996606 0.999929 +vt 0.000071 0.999929 +usemtl Material.009 +s off +f 17/17 18/18 19/19 20/20 diff --git a/models/cg_decor_metalroof_valley.obj b/models/cg_decor_metalroof_valley.obj new file mode 100644 index 0000000..97e0f08 --- /dev/null +++ b/models/cg_decor_metalroof_valley.obj @@ -0,0 +1,64 @@ +# Blender v2.66 (sub 1) OBJ File: '' +# www.blender.org +mtllib cg_decor_metalroof_valley.mtl +o Cube_Cube.000_Cube_Cube.000_None +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +usemtl None.001 +s off +f 1/1 2/2 3/3 4/4 +f 5/1 6/3 7/4 +f 5/1 2/2 6/4 +f 1/2 4/3 8/4 +f 8/1 4/2 3/3 7/4 +f 7/3 3/4 2/1 5/2 +f 2/1 1/2 8/3 +f 2 9 +f 7 9 +o Plane_Plane.005 +v 0.497732 0.499239 0.497120 +v -0.500336 -0.501070 -0.500946 +v -0.524868 -0.452118 -0.525478 +v 0.473201 0.548192 0.472589 +vt 0.441250 0.000071 +vt 0.561848 0.000071 +vt 0.561848 0.999929 +vt 0.441250 0.999929 +usemtl Material.007 +s off +f 10/5 11/6 12/7 13/8 +o Plane_Plane.003 +v 0.041467 0.113546 -0.000000 +v 0.076822 0.078190 -0.000000 +v 0.501086 0.502454 0.000000 +v 0.465731 0.537810 0.000000 +vt 0.000071 0.000071 +vt 0.500000 0.000071 +vt 0.500000 0.999929 +vt 0.000071 0.999929 +usemtl Material.005 +s off +f 14/9 15/10 16/11 17/12 +o Plane_Plane.004 +v -0.000000 0.113546 0.042940 +v -0.000000 0.078190 0.078295 +v 0.000000 0.502454 0.502559 +v 0.000000 0.537810 0.467204 +vt 0.000071 0.000071 +vt 0.500000 0.000071 +vt 0.500000 0.999929 +vt 0.000071 0.999929 +usemtl Material.006 +s off +f 18/13 19/14 20/15 21/16 diff --git a/textures/cg_decor_bg.png b/textures/cg_decor_bg.png new file mode 100644 index 0000000..87c5daf Binary files /dev/null and b/textures/cg_decor_bg.png differ diff --git a/textures/cg_decor_carpet.png b/textures/cg_decor_carpet.png new file mode 100644 index 0000000..d64b73b Binary files /dev/null and b/textures/cg_decor_carpet.png differ diff --git a/textures/cg_decor_carpet_overlay.png b/textures/cg_decor_carpet_overlay.png new file mode 100644 index 0000000..000304f Binary files /dev/null and b/textures/cg_decor_carpet_overlay.png differ diff --git a/textures/cg_decor_corner_overlay.png b/textures/cg_decor_corner_overlay.png new file mode 100644 index 0000000..f851eaa Binary files /dev/null and b/textures/cg_decor_corner_overlay.png differ diff --git a/textures/cg_decor_corner_overlay2.png b/textures/cg_decor_corner_overlay2.png new file mode 100644 index 0000000..d925de3 Binary files /dev/null and b/textures/cg_decor_corner_overlay2.png differ diff --git a/textures/cg_decor_metalroof_green.png b/textures/cg_decor_metalroof_green.png new file mode 100644 index 0000000..350644c Binary files /dev/null and b/textures/cg_decor_metalroof_green.png differ diff --git a/textures/cg_decor_metalroof_overlay.png b/textures/cg_decor_metalroof_overlay.png new file mode 100644 index 0000000..130e274 Binary files /dev/null and b/textures/cg_decor_metalroof_overlay.png differ diff --git a/textures/cg_decor_metalroof_overlay_rusty.png b/textures/cg_decor_metalroof_overlay_rusty.png new file mode 100644 index 0000000..dc7352b Binary files /dev/null and b/textures/cg_decor_metalroof_overlay_rusty.png differ diff --git a/textures/cg_decor_siding.png b/textures/cg_decor_siding.png new file mode 100644 index 0000000..d93c07c Binary files /dev/null and b/textures/cg_decor_siding.png differ diff --git a/textures/cg_decor_siding_corner_top.png b/textures/cg_decor_siding_corner_top.png new file mode 100644 index 0000000..129e075 Binary files /dev/null and b/textures/cg_decor_siding_corner_top.png differ diff --git a/textures/cg_decor_siding_top.png b/textures/cg_decor_siding_top.png new file mode 100644 index 0000000..dd859ac Binary files /dev/null and b/textures/cg_decor_siding_top.png differ diff --git a/textures/cg_decor_siding_wall.png b/textures/cg_decor_siding_wall.png new file mode 100644 index 0000000..61ebb05 Binary files /dev/null and b/textures/cg_decor_siding_wall.png differ diff --git a/textures/cg_decor_wood.png b/textures/cg_decor_wood.png new file mode 100644 index 0000000..9c72328 Binary files /dev/null and b/textures/cg_decor_wood.png differ