aboutsummaryrefslogtreecommitdiff
path: root/builtin/mainmenu/tab_texturepacks.lua
diff options
context:
space:
mode:
authorparamat <mat.gregory@virginmedia.com>2015-04-06 22:52:08 +0100
committerparamat <mat.gregory@virginmedia.com>2015-04-07 04:43:24 +0100
commit392ac41c993daba284d4840fe93169f802d860b6 (patch)
treec93efe5ce7eb8fa16a1a4bdb0f7850d4bed7f983 /builtin/mainmenu/tab_texturepacks.lua
parentf81759792e77e681ab9f844c43fa71f2772c03b7 (diff)
downloadminetest-392ac41c993daba284d4840fe93169f802d860b6.tar.gz
minetest-392ac41c993daba284d4840fe93169f802d860b6.tar.bz2
minetest-392ac41c993daba284d4840fe93169f802d860b6.zip
Cavegen: Remove now unnecessary checks for water, lava, ice
Remove large cave checks for air Mgv5/mgv7:Add is_ground_content checks to 3d noise tunnels More large caves Shorten lines
Diffstat (limited to 'builtin/mainmenu/tab_texturepacks.lua')
0 files changed, 0 insertions, 0 deletions
'>132
VoxelArea = {
	MinEdge = {x=1, y=1, z=1},
	MaxEdge = {x=0, y=0, z=0},
	ystride = 0,
	zstride = 0,
}

function VoxelArea:new(o)
	o = o or {}
	setmetatable(o, self)
	self.__index = self

	local e = o:getExtent()
	o.ystride = e.x
	o.zstride = e.x * e.y

	return o
end

function VoxelArea:getExtent()
	local MaxEdge, MinEdge = self.MaxEdge, self.MinEdge
	return {
		x = MaxEdge.x - MinEdge.x + 1,
		y = MaxEdge.y - MinEdge.y + 1,
		z = MaxEdge.z - MinEdge.z + 1,
	}
end

function VoxelArea:getVolume()
	local e = self:getExtent()
	return e.x * e.y * e.z
end

function VoxelArea:index(x, y, z)
	local MinEdge = self.MinEdge
	local i = (z - MinEdge.z) * self.zstride +
			  (y - MinEdge.y) * self.ystride +
			  (x - MinEdge.x) + 1
	return math.floor(i)
end

function VoxelArea:indexp(p)
	local MinEdge = self.MinEdge
	local i = (p.z - MinEdge.z) * self.zstride +
			  (p.y - MinEdge.y) * self.ystride +
			  (p.x - MinEdge.x) + 1
	return math.floor(i)
end

function VoxelArea:position(i)
	local p = {}
	local MinEdge = self.MinEdge

	i = i - 1