You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
809 B
34 lines
809 B
local function add_obj(w2l, name, obj, lines, wts)
|
|
local keys = {}
|
|
for key in pairs(obj) do
|
|
keys[#keys+1] = key
|
|
end
|
|
table.sort(keys)
|
|
|
|
lines[#lines+1] = '[' .. name .. ']'
|
|
for _, key in ipairs(keys) do
|
|
local value = obj[key]
|
|
value = w2l:load_wts(wts, value):gsub('\r\n', '|n'):gsub('[\r\n]', '|n')
|
|
lines[#lines+1] = key .. '=' .. value
|
|
end
|
|
end
|
|
|
|
local function convert(w2l, skin, wts)
|
|
local lines = {}
|
|
local names = {}
|
|
for name in pairs(skin) do
|
|
names[#names+1] = name
|
|
end
|
|
table.sort(names)
|
|
|
|
for _, name in ipairs(names) do
|
|
add_obj(w2l, name, skin[name], lines, wts)
|
|
end
|
|
|
|
return table.concat(lines, '\r\n')
|
|
end
|
|
|
|
return function(w2l, skin, wts)
|
|
local buf = convert(w2l, skin, wts)
|
|
return buf
|
|
end
|
|
|