chroma_solstice/level_editor/object_attributes.lua

48 lines
No EOL
1.5 KiB
Lua

require "libs/TSerial"
local targetFolder = "art"
function get(folder)
end
function getAllAssets()
local properties = TSerial.unpack(love.filesystem.read("assets.prop") or "{}")
local objectnames = {}
local topFolder = "art"
local files = love.filesystem.getDirectoryItems(topFolder)
for _, folder in pairs(files) do
if string.sub(folder, 1, 1) ~= "_" then
-- we ignore directories which are prepended w/ an underscore
if not string.find(folder, "%.") then
objectnames[folder] = {}
-- love.filesystem.createDirectory("art/" .. folder)
-- this is a folder, probably
local newFiles = love.filesystem.getDirectoryItems(topFolder .. "/" .. folder)
for _, fileToAnalyze in pairs(newFiles) do
if fileToAnalyze:find("_r.png") or fileToAnalyze:find("_g.png") or fileToAnalyze:find("_b.png")then
local color
if fileToAnalyze:find("_r.png") then color = "red"
elseif fileToAnalyze:find("_g.png") then color = "green"
elseif fileToAnalyze:find("_b.png") then color = "blue" end
local name = fileToAnalyze:sub(1, fileToAnalyze:len() - 6)
if not properties[name] then
properties[name] = {}
properties[name].directory = folder
properties[name].sprites = {}
properties[name].class = "unmoveable"
properties[name].preload = false
end
properties[name].sprites[color] = topFolder .. "/" .. folder .. "/" .. fileToAnalyze
end
end
end
end
end
str = TSerial.pack(properties, nil, true)
love.filesystem.write("assets.prop", str)
return properties
end