if not settings then if not update then -- settings stage elseif not final then -- settings-updates stage else -- settings-final-fixes stage end elseif data then if not update then -- data stage local sprite_base = { type = "sprite", priority = "extra-high", layers = {}, size = {48, 48}, flags = {"no-crop", "trilinear-filtering"}, } local part_base = { filename = "__reorganizer__/graphics/tree_view_tileset.png", flags = {"no-crop", "trilinear-filtering"}, } local shift = 10 / 3 local modifiers = { tldr = {size = {48, 48}, position = {00, 00}, shift = {0, 0}}, -- tldr ldr = {size = {48, 32}, position = {00, 16}, shift = {0, shift}}, -- ldr tlr = {size = {48, 32}, position = {00, 00}, shift = {0, -shift}}, -- tlr tdr = {size = {32, 48}, position = {16, 00}, shift = {shift, 0}}, -- tdr tld = {size = {32, 48}, position = {00, 00}, shift = {-shift, 0}}, -- tld dr = {size = {32, 32}, position = {16, 16}, shift = {shift, shift}}, -- dr tr = {size = {32, 32}, position = {16, 00}, shift = {shift, -shift}}, -- tr ld = {size = {32, 32}, position = {00, 16}, shift = {-shift, shift}}, -- ld tl = {size = {32, 32}, position = {00, 00}, shift = {-shift, -shift}}, -- tl td = {size = {16, 48}, position = {16, 00}, shift = {00, 00}}, -- td lr = {size = {48, 16}, position = {00, 16}, shift = {00, 00}}, -- lr t = {size = {16, 32}, position = {16, 00}, shift = {0, -shift}}, -- t d = {size = {16, 32}, position = {16, 16}, shift = {0, shift}}, -- d r = {size = {32, 16}, position = {16, 16}, shift = {shift, 0}}, -- r l = {size = {32, 16}, position = {00, 16}, shift = {-shift, 0}}, -- l none = {size = {16, 16}, position = {16, 16}, shift = {0, 0}}, -- } local models = { tree_dr = {position = {0, 0}}, tree_tdr = {position = {0, 48}}, tree_tr = {position = {0, 96}}, tree_r = {position = {0, 144}}, tree_ldr = {position = {48, 0}}, tree_tldr = {position = {48, 48}}, tree_tlr = {position = {48, 96}}, tree_lr = {position = {48, 144}}, tree_ld = {position = {96, 0}}, tree_tld = {position = {96, 48}}, tree_tl = {position = {96, 96}}, tree_l = {position = {96, 144}}, tree_d = {position = {144, 0}}, tree_td = {position = {144, 48}}, tree_t = {position = {144, 96}}, tree_none = {position = {144, 144}}, tree_fade = {position = {192, 0}}, tree_white = {position = {192, 48}}, tree_subtle = {position = {192, 96}}, tree_highlight = {position = {192, 144}}, tree_success = {position = {240, 0}}, tree_error = {position = {240, 48}}, tree_info = {position = {240, 96}}, tree_warn = {position = {240, 144}}, } local tree_parts = { tree_dr = {{"tree_none", "tldr"}, {"tree_dr", "tldr"}}, tree_tdr = {{"tree_none", "tldr"}, {"tree_tdr", "tldr"}}, tree_tr = {{"tree_none", "tldr"}, {"tree_tr", "tldr"}}, tree_r = {{"tree_none", "tldr"}, {"tree_r", "tldr"}}, tree_ldr = {{"tree_none", "tldr"}, {"tree_ldr", "tldr"}}, tree_tldr = {{"tree_none", "tldr"}, {"tree_tldr", "tldr"}}, tree_tlr = {{"tree_none", "tldr"}, {"tree_tlr", "tldr"}}, tree_lr = {{"tree_none", "tldr"}, {"tree_lr", "tldr"}}, tree_ld = {{"tree_none", "tldr"}, {"tree_ld", "tldr"}}, tree_tld = {{"tree_none", "tldr"}, {"tree_tld", "tldr"}}, tree_tl = {{"tree_none", "tldr"}, {"tree_tl", "tldr"}}, tree_l = {{"tree_none", "tldr"}, {"tree_l", "tldr"}}, tree_d = {{"tree_none", "tldr"}, {"tree_d", "tldr"}}, tree_td = {{"tree_none", "tldr"}, {"tree_td", "tldr"}}, tree_t = {{"tree_none", "tldr"}, {"tree_t", "tldr"}}, tree_none = {{"tree_none", "tldr"}}, tree_white_ = {{"tree_none", "tldr"}, {"tree_white", "generate"}}, tree_subtle_ = {{"tree_none", "tldr"}, {"tree_subtle", "generate"}}, tree_highlight_ = {{"tree_none", "tldr"}, {"tree_highlight", "generate"}}, tree_fade_ = {{"tree_none", "tldr"}, {"tree_fade", "generate"}}, tree_success_ = {{"tree_none", "tldr"}, {"tree_fade", "generate"}, {"tree_success", "tldr"}}, tree_error_ = {{"tree_none", "tldr"}, {"tree_fade", "generate"}, {"tree_error", "tldr"}}, tree_warn_ = {{"tree_none", "tldr"}, {"tree_fade", "generate"}, {"tree_warn", "tldr"}}, tree_info_ = {{"tree_none", "tldr"}, {"tree_fade", "generate"}, {"tree_info", "tldr"}}, } for part_name, parts in pairs(tree_parts) do local mods = {[""] = modifiers.tldr} for _, value in ipairs(parts) do if value[2] == "generate" then mods = modifiers end end for mod_name, mod in pairs(mods) do local sprite = table.deepcopy(sprite_base) sprite.name = part_name .. mod_name print(sprite.name) for _, value in ipairs(parts) do local part = table.deepcopy(part_base) local model, modifier = value[1], value[2] model = models[model] if modifier == "generate" then modifier = mod else modifier = modifiers[modifier] end for k, v in pairs(table.deepcopy(modifier)) do part[k] = v end part.position[1] = model.position[1] + modifier.position[1] part.position[2] = model.position[2] + modifier.position[2] table.insert(sprite.layers, part) end data:extend{sprite} end end print() elseif not final then -- data-updates stage else -- data-final-fixes stage end elseif script then -- control stage end