Upgrade roof slopes to use proper meshes
instead of hundreds of nodeboxes per.
35
homedecor/models/homedecor_slope.obj
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope.blend'
|
||||||
|
# www.blender.org
|
||||||
|
mtllib slope_test_slope.mtl
|
||||||
|
o Cube_Cube.002
|
||||||
|
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 0.546875 0.984375
|
||||||
|
vt 0.296875 0.984375
|
||||||
|
vt 0.296875 0.734375
|
||||||
|
vt 0.546875 0.734375
|
||||||
|
vt 0.578125 0.734375
|
||||||
|
vt 0.828125 0.734375
|
||||||
|
vt 0.828125 0.984375
|
||||||
|
vt 0.578125 0.984375
|
||||||
|
vt 0.546875 0.703125
|
||||||
|
vt 0.296875 0.453125
|
||||||
|
vt 0.546875 0.453125
|
||||||
|
vt 0.578125 0.703125
|
||||||
|
vt 0.578125 0.453125
|
||||||
|
vt 0.828125 0.453125
|
||||||
|
vt 0.265625 0.984375
|
||||||
|
vt 0.015625 0.984375
|
||||||
|
vt 0.015625 0.609375
|
||||||
|
vt 0.265625 0.609375
|
||||||
|
usemtl None
|
||||||
|
s off
|
||||||
|
f 1/1 2/2 3/3 4/4
|
||||||
|
f 4/5 3/6 5/7 6/8
|
||||||
|
f 2/9 5/10 3/11
|
||||||
|
f 1/12 4/13 6/14
|
||||||
|
f 2/15 1/16 6/17 5/18
|
48
homedecor/models/homedecor_slope_inner_corner.obj
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner.blend'
|
||||||
|
# www.blender.org
|
||||||
|
mtllib slope_test_icorner.mtl
|
||||||
|
o Cube_Cube.000
|
||||||
|
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 0.546875 0.984375
|
||||||
|
vt 0.296875 0.984375
|
||||||
|
vt 0.296875 0.734375
|
||||||
|
vt 0.546875 0.734375
|
||||||
|
vt 0.828125 0.421875
|
||||||
|
vt 0.578125 0.171875
|
||||||
|
vt 0.828125 0.171875
|
||||||
|
vt 0.546875 0.703125
|
||||||
|
vt 0.296875 0.703125
|
||||||
|
vt 0.546875 0.328125
|
||||||
|
vt 0.578125 0.703125
|
||||||
|
vt 0.578125 0.453125
|
||||||
|
vt 0.828125 0.453125
|
||||||
|
vt 0.828125 0.984375
|
||||||
|
vt 0.578125 0.984375
|
||||||
|
vt 0.578125 0.734375
|
||||||
|
vt 0.828125 0.734375
|
||||||
|
vt 0.015625 0.734375
|
||||||
|
vt 0.265625 0.734375
|
||||||
|
vt 0.265625 0.984375
|
||||||
|
vt 0.015625 0.984375
|
||||||
|
vt 0.265625 0.703125
|
||||||
|
vt 0.015625 0.703125
|
||||||
|
vt 0.015625 0.328125
|
||||||
|
usemtl None
|
||||||
|
s off
|
||||||
|
f 6/1 1/2 7/3 8/4
|
||||||
|
f 2/5 5/6 3/7
|
||||||
|
f 2/8 1/9 5/10
|
||||||
|
f 6/11 8/12 9/13
|
||||||
|
f 9/14 8/15 7/16 3/17
|
||||||
|
f 3/18 7/19 1/20 2/21
|
||||||
|
f 1/22 6/23 9/24
|
||||||
|
l 1 4
|
||||||
|
l 3 4
|
32
homedecor/models/homedecor_slope_outer_corner.obj
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# Blender v2.69 (sub 0) OBJ File: 'slope_test_ocorner.blend'
|
||||||
|
# www.blender.org
|
||||||
|
mtllib slope_test_ocorner.mtl
|
||||||
|
o Cube_Cube.002
|
||||||
|
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 0.578125 0.734375
|
||||||
|
vt 0.828125 0.734375
|
||||||
|
vt 0.828125 0.984375
|
||||||
|
vt 0.578125 0.984375
|
||||||
|
vt 0.296875 0.703125
|
||||||
|
vt 0.296875 0.453125
|
||||||
|
vt 0.546875 0.453125
|
||||||
|
vt 0.546875 0.984375
|
||||||
|
vt 0.296875 0.734375
|
||||||
|
vt 0.546875 0.734375
|
||||||
|
vt 0.265625 0.578125
|
||||||
|
vt 0.015625 0.203125
|
||||||
|
vt 0.265625 0.203125
|
||||||
|
vt 0.015625 0.984375
|
||||||
|
vt 0.015625 0.609375
|
||||||
|
vt 0.265625 0.609375
|
||||||
|
usemtl None
|
||||||
|
s off
|
||||||
|
f 3/1 2/2 4/3 5/4
|
||||||
|
f 1/5 3/6 5/7
|
||||||
|
f 1/8 2/9 3/10
|
||||||
|
f 1/11 4/12 2/13
|
||||||
|
f 1/14 5/15 4/16
|
@ -4,16 +4,12 @@ local S = homedecor.gettext
|
|||||||
|
|
||||||
-- Corner shingle nodes, courtesy Bas080
|
-- Corner shingle nodes, courtesy Bas080
|
||||||
|
|
||||||
homedecor.register_outer_corner = function(modname, subname, groups, images, description)
|
homedecor.register_outer_corner = function(modname, subname, groups, slope_image, description)
|
||||||
local slopeboxedge = {}
|
|
||||||
local detail = homedecor.detail_level
|
|
||||||
for i = 0, detail-1 do
|
|
||||||
slopeboxedge[i+1]={-0.5, -0.5, (i/detail)-0.5, 0.5-(i/detail), (i/detail)-0.5+(1.25/detail), 0.5}
|
|
||||||
end
|
|
||||||
minetest.register_node(modname..":shingle_outer_corner_" .. subname, {
|
minetest.register_node(modname..":shingle_outer_corner_" .. subname, {
|
||||||
description = S(description.. " (outer corner)"),
|
description = S(description.. " (outer corner)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "mesh",
|
||||||
tiles = images,
|
mesh = "homedecor_slope_outer_corner.obj",
|
||||||
|
tiles = { "homedecor_slope_outer_corner_"..slope_image..".png" },
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
@ -34,17 +30,12 @@ homedecor.register_outer_corner = function(modname, subname, groups, images, des
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
homedecor.register_inner_corner = function(modname, subname, groups, images, description)
|
homedecor.register_inner_corner = function(modname, subname, groups, slope_image, description)
|
||||||
local slopeboxedge = {}
|
|
||||||
local detail = homedecor.detail_level
|
|
||||||
for i = 0, detail-1 do
|
|
||||||
slopeboxedge[i+1]={-0.5, -0.5, -0.5, 0.5-(i/detail), (i/detail)-0.5+(1.25/detail), 0.5}
|
|
||||||
slopeboxedge[i+detail+1]={-0.5, -0.5, (i/detail)-0.5, 0.5, (i/detail)-0.5+(1.25/detail), 0.5}
|
|
||||||
end
|
|
||||||
minetest.register_node(modname..":shingle_inner_corner_" .. subname, {
|
minetest.register_node(modname..":shingle_inner_corner_" .. subname, {
|
||||||
description = S(description.. " (inner corner)"),
|
description = S(description.. " (inner corner)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "mesh",
|
||||||
tiles = images,
|
mesh = "homedecor_slope_inner_corner.obj",
|
||||||
|
tiles = { "homedecor_slope_inner_corner_"..slope_image..".png" },
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
@ -52,24 +43,16 @@ homedecor.register_inner_corner = function(modname, subname, groups, images, des
|
|||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}
|
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}
|
||||||
},
|
},
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = slopeboxedge
|
|
||||||
},
|
|
||||||
groups = groups,
|
groups = groups,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
homedecor.register_slope = function(modname, subname, recipeitem, groups, images, description)
|
homedecor.register_slope = function(modname, subname, recipeitem, groups, slope_image, description)
|
||||||
local slopeboxedge = {}
|
|
||||||
local detail = homedecor.detail_level
|
|
||||||
for i = 0, detail-1 do
|
|
||||||
slopeboxedge[i+1]={-0.5, -0.5, (i/detail)-0.5, 0.5, (i/detail)-0.5+(1.25/detail), 0.5}
|
|
||||||
end
|
|
||||||
minetest.register_node(modname..":shingle_side_" .. subname, {
|
minetest.register_node(modname..":shingle_side_" .. subname, {
|
||||||
description = S(description),
|
description = S(description),
|
||||||
drawtype = "nodebox",
|
drawtype = "mesh",
|
||||||
tiles = images,
|
mesh = "homedecor_slope.obj",
|
||||||
|
tiles = { "homedecor_slope_"..slope_image..".png" },
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
@ -201,49 +184,28 @@ minetest.register_craft({
|
|||||||
burntime = 30,
|
burntime = 30,
|
||||||
})
|
})
|
||||||
|
|
||||||
homedecor.register_roof = function(modname, subname, groups, images , description)
|
homedecor.register_roof = function(modname, subname, groups, slope_image , description)
|
||||||
homedecor.register_outer_corner(modname, subname, groups, images, description)
|
homedecor.register_outer_corner(modname, subname, groups, slope_image, description)
|
||||||
homedecor.register_inner_corner(modname, subname, groups, images, description)
|
homedecor.register_inner_corner(modname, subname, groups, slope_image, description)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- corners
|
-- corners
|
||||||
|
|
||||||
homedecor.register_roof("homedecor", "wood",
|
homedecor.register_roof("homedecor", "wood",
|
||||||
{ snappy = 3 },
|
{ snappy = 3 },
|
||||||
{
|
"wood",
|
||||||
"homedecor_shingles_wood_c_t.png",
|
|
||||||
"homedecor_shingles_wood_c_x.png",
|
|
||||||
"homedecor_shingles_wood_c_x.png",
|
|
||||||
"homedecor_shingles_wood_c_x.png",
|
|
||||||
"homedecor_shingles_wood_c_z.png",
|
|
||||||
"homedecor_shingles_wood_c_z.png",
|
|
||||||
},
|
|
||||||
"Wood Shingles"
|
"Wood Shingles"
|
||||||
)
|
)
|
||||||
|
|
||||||
homedecor.register_roof("homedecor", "asphalt",
|
homedecor.register_roof("homedecor", "asphalt",
|
||||||
{ snappy = 3 },
|
{ snappy = 3 },
|
||||||
{
|
"asphalt",
|
||||||
"homedecor_shingles_asphalt_c_t.png",
|
|
||||||
"homedecor_shingles_asphalt_c_x.png",
|
|
||||||
"homedecor_shingles_asphalt_c_x.png",
|
|
||||||
"homedecor_shingles_asphalt_c_x.png",
|
|
||||||
"homedecor_shingles_asphalt_c_z.png",
|
|
||||||
"homedecor_shingles_asphalt_c_z.png",
|
|
||||||
},
|
|
||||||
"Asphalt Shingles"
|
"Asphalt Shingles"
|
||||||
)
|
)
|
||||||
|
|
||||||
homedecor.register_roof("homedecor", "terracotta",
|
homedecor.register_roof("homedecor", "terracotta",
|
||||||
{ snappy = 3 },
|
{ snappy = 3 },
|
||||||
{
|
"terracotta",
|
||||||
"homedecor_shingles_terracotta_c_t.png",
|
|
||||||
"homedecor_shingles_terracotta_c_x.png",
|
|
||||||
"homedecor_shingles_terracotta_c_x.png",
|
|
||||||
"homedecor_shingles_terracotta_c_x.png",
|
|
||||||
"homedecor_shingles_terracotta_c_z.png",
|
|
||||||
"homedecor_shingles_terracotta_c_z.png",
|
|
||||||
},
|
|
||||||
"Terracotta Shingles"
|
"Terracotta Shingles"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -252,52 +214,28 @@ homedecor.register_roof("homedecor", "terracotta",
|
|||||||
homedecor.register_slope("homedecor", "wood",
|
homedecor.register_slope("homedecor", "wood",
|
||||||
"homedecor:shingles_wood",
|
"homedecor:shingles_wood",
|
||||||
{ snappy = 3 },
|
{ snappy = 3 },
|
||||||
{
|
"wood",
|
||||||
"homedecor_shingles_wood_s_t.png",
|
|
||||||
"homedecor_shingles_wood_s_z.png",
|
|
||||||
"homedecor_shingles_wood_s_z.png",
|
|
||||||
"homedecor_shingles_wood_s_z.png",
|
|
||||||
"homedecor_shingles_wood_s_z.png",
|
|
||||||
"homedecor_shingles_wood_s_z.png",
|
|
||||||
},
|
|
||||||
"Wood Shingles"
|
"Wood Shingles"
|
||||||
)
|
)
|
||||||
|
|
||||||
homedecor.register_slope("homedecor", "asphalt",
|
homedecor.register_slope("homedecor", "asphalt",
|
||||||
"homedecor:shingles_asphalt",
|
"homedecor:shingles_asphalt",
|
||||||
{ snappy = 3 },
|
{ snappy = 3 },
|
||||||
{
|
"asphalt",
|
||||||
"homedecor_shingles_asphalt_s_t.png",
|
|
||||||
"homedecor_shingles_asphalt_s_z.png",
|
|
||||||
"homedecor_shingles_asphalt_s_z.png",
|
|
||||||
"homedecor_shingles_asphalt_s_z.png",
|
|
||||||
"homedecor_shingles_asphalt_s_z.png",
|
|
||||||
"homedecor_shingles_asphalt_s_z.png",
|
|
||||||
},
|
|
||||||
"Asphalt Shingles"
|
"Asphalt Shingles"
|
||||||
)
|
)
|
||||||
|
|
||||||
homedecor.register_slope("homedecor", "terracotta",
|
homedecor.register_slope("homedecor", "terracotta",
|
||||||
"homedecor:shingles_terracotta",
|
"homedecor:shingles_terracotta",
|
||||||
{ snappy = 3 },
|
{ snappy = 3 },
|
||||||
{
|
"terracotta",
|
||||||
"homedecor_shingles_terracotta_s_t.png",
|
|
||||||
"homedecor_shingles_terracotta_s_z.png",
|
|
||||||
"homedecor_shingles_terracotta_s_z.png",
|
|
||||||
"homedecor_shingles_terracotta_s_z.png",
|
|
||||||
"homedecor_shingles_terracotta_s_z.png",
|
|
||||||
"homedecor_shingles_terracotta_s_z.png",
|
|
||||||
},
|
|
||||||
"Terracotta Shingles"
|
"Terracotta Shingles"
|
||||||
)
|
)
|
||||||
|
|
||||||
homedecor.register_slope("homedecor", "glass",
|
homedecor.register_slope("homedecor", "glass",
|
||||||
"homedecor:shingles_glass",
|
"homedecor:shingles_glass",
|
||||||
{ snappy = 3 },
|
{ snappy = 3 },
|
||||||
{
|
"glass",
|
||||||
"homedecor_shingles_glass_top.png",
|
|
||||||
"homedecor_shingles_glass.png"
|
|
||||||
},
|
|
||||||
"Glass Shingles"
|
"Glass Shingles"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 339 B After Width: | Height: | Size: 343 B |
Before Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 533 B |
Before Width: | Height: | Size: 539 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 539 B |
Before Width: | Height: | Size: 464 B After Width: | Height: | Size: 241 B |
Before Width: | Height: | Size: 464 B |
Before Width: | Height: | Size: 454 B After Width: | Height: | Size: 438 B |
Before Width: | Height: | Size: 452 B |
Before Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 588 B |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 452 B |
Before Width: | Height: | Size: 588 B |
Before Width: | Height: | Size: 896 B After Width: | Height: | Size: 880 B |
Before Width: | Height: | Size: 896 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 896 B |
Before Width: | Height: | Size: 1.0 KiB |
BIN
homedecor/textures/homedecor_slope_asphalt.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
homedecor/textures/homedecor_slope_glass.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
homedecor/textures/homedecor_slope_inner_corner_asphalt.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
homedecor/textures/homedecor_slope_inner_corner_terracotta.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
homedecor/textures/homedecor_slope_inner_corner_wood.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
homedecor/textures/homedecor_slope_outer_corner_asphalt.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
homedecor/textures/homedecor_slope_outer_corner_terracotta.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
homedecor/textures/homedecor_slope_outer_corner_wood.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
homedecor/textures/homedecor_slope_terracotta.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
homedecor/textures/homedecor_slope_wood.png
Normal file
After Width: | Height: | Size: 1.6 KiB |