Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:NBlocks: Difference between revisions

From Hacks Guide Wiki
No edit summary
No edit summary
Line 36: Line 36:


function p.blocks_to_bytes(frame)
function p.blocks_to_bytes(frame)
return blocks_to_bytes(frame.args[1])
return p.raw_blocks_to_bytes(frame.args[1])
end
end


function p.blocks_to_kilobytes(frame)
function p.blocks_to_kilobytes(frame)
return blocks_to_kilobytes(frame.args[1])
return p.raw_blocks_to_kilobytes(frame.args[1])
end
end


function p.blocks_to_megabytes(frame)
function p.blocks_to_megabytes(frame)
return blocks_to_megabytes(frame.args[1])
return p.raw_blocks_to_megabytes(frame.args[1])
end
end


function p.bytes_to_blocks(frame)
function p.bytes_to_blocks(frame)
return bytes_to_blocks(frame.args[1])
return p.raw_bytes_to_blocks(frame.args[1])
end
end


function p.megabytes_to_blocks(frame)
function p.megabytes_to_blocks(frame)
return megabytes_to_blocks(frame.args[1])
return p.raw_megabytes_to_blocks(frame.args[1])
end
end


return p
return p

Revision as of 04:33, 18 October 2023

local p = {}

local TITLE_ALIGN_SIZE = 0x8000

function roundup(num, align)
	return math.ceil(num / align) * align
end

function p.raw_blocks_to_bytes(blocks)
	return blocks * 128 * 1024
end

function p.raw_blocks_to_kilobytes(blocks)
	return blocks * 128
end

function p.raw_blocks_to_megabytes(blocks)
	return blocks / 8
end

function p.raw_bytes_to_blocks(bytes)
	return math.ceil(bytes / 1024 / 128)
end

function p.raw_megabytes_to_blocks(megabytes)
	return math.ceil(megabytes * 8)
end

function p.roundup_all_sizes_to_bytes(sizes)
	total = 0
	for i, v in ipairs(sizes) do
		total = total + roundup(v, TITLE_ALIGN_SIZE)
	end
	return total
end

function p.blocks_to_bytes(frame)
	return p.raw_blocks_to_bytes(frame.args[1])
end

function p.blocks_to_kilobytes(frame)
	return p.raw_blocks_to_kilobytes(frame.args[1])
end

function p.blocks_to_megabytes(frame)
	return p.raw_blocks_to_megabytes(frame.args[1])
end

function p.bytes_to_blocks(frame)
	return p.raw_bytes_to_blocks(frame.args[1])
end

function p.megabytes_to_blocks(frame)
	return p.raw_megabytes_to_blocks(frame.args[1])
end

return p