Update lib/tilesheet.lua

This commit is contained in:
tangent committed 2026-10-29 19:00:04 -06:00
1 parent 8fe5a482f3
commit a8d5388faa
1 file changed
+2 -20
+2 -20
View File
@@ -19,43 +19,25 @@ local tile_metatable = {
} }
local tilesheet.load = function(data_or_path) local tilesheet.load = function(data_or_path)
local tile_image, tile_size, tile_usage local tile_image, tile_size
local tiles = {} local tiles = {}
if type(data_or_path) == "table" then if type(data_or_path) == "table" then
tile_image = load_image(data_or_path.image_path) tile_image = load_image(data_or_path.image_path)
tile_size = data_or_path.tile_size tile_size = data_or_path.tile_size
local image_width, image_height = tile_image:getDimensions()
tile_usage = {}
for x = 1, image_width / tile_size do
tile_usage[x] = {}
for y = 1, image_height / tile_size do
tile_usage[x][y] = false
end
end
for name, tile_data in pairs(data_or_path.tiles) do for name, tile_data in pairs(data_or_path.tiles) do
tiles[name] = setmetatable({ tiles[name] = setmetatable({
image = tile_image, image = tile_image,
quad = love.graphics.newQuad( (tile_data.x - 1) * tile_size, (tile_data.y - 1) * tile_size, tile_size, tile_size, tile_image ), quad = love.graphics.newQuad( (tile_data.x - 1) * tile_size, (tile_data.y - 1) * tile_size, tile_size, tile_size, tile_image ),
}, tile_metatable) }, tile_metatable)
tile_usage[tile_data.x][tile_data.y] = true
end end
else else
tile_image = load_image(data_or_path) tile_image = load_image(data_or_path)
end end
tilesheet.active_sheet = { return tiles, tile_image
image = tile_image,
size = tile_size, -- unset on new
tiles = tiles, -- empty on new
tile_usage = tile_usage, -- unset on new
}
return tiles
end end
return setmetatable(tilesheet, { return setmetatable(tilesheet, {