local root=app.params.root local sources={ 'ganoes_walk_v2.png','commander_walk_v2.png','fiddler_walk_v3.png','surly_walk_v3.png','claw_walk_v2.png', 'ganoes_tiptoe_v1.png','commander_lean_v1.png','fiddler_lean_v1.png' } local composite=Image(720,320,ColorMode.RGB) for i,name in ipairs(sources) do local spr=app.open(root..'/art/sprites/'..name) local col,row=(i-1)%5,math.floor((i-1)/5) composite:drawImage(spr.cels[1].image,Point(col*144,row*256)) spr:close() end local master=Sprite(720,320,ColorMode.RGB) master.cels[1].image=composite app.command.ColorQuantization{ui=false,withAlpha=false,maxColors=64,useRange=false} local palette=master.palettes[1] local file=io.open(root..'/art/sprites/clean/shared_sprite_palette_v1.gpl','w') file:write('GIMP Palette\nName: Prologue sprite cleanup candidate\nColumns: 8\n# Generated from ImageGen runtime sprite candidates in Aseprite\n') for i=0,#palette-1 do local c=palette:getColor(i) file:write(string.format('%d %d %d\tcolour_%d\n',c.red,c.green,c.blue,i)) end file:close() for _,name in ipairs(sources) do local spr=app.open(root..'/art/sprites/'..name) spr:setPalette(palette) app.command.ChangePixelFormat{ui=false,colorMode='indexed',dithering='none'} spr:saveAs(root..'/art/sprites/clean/'..name) spr:close() end master:close()