local mode=app.params.mode local out if mode=='surly_pilot' then out=Sprite(192,256,ColorMode.RGB) for row,name in ipairs({'south','west','east','north'}) do local src=app.open('art/sprites/surly_'..name..'_pilot_v8.png') out.cels[1].image:drawImage(src.cels[1].image,Point(0,(row-1)*64));src:close() end elseif mode=='fiddler_run' then local src=app.open('art/sprites/fiddler_run_v2.png') local image=Image(src.cels[1].image);src:close() out=Sprite(192,256,ColorMode.RGB);out.cels[1].image=image for _,row in ipairs({0,3}) do local name=row==0 and 'south' or 'north' local src=app.open('art/sprites/fiddler_run_'..name..'_keys_v3.png') local replacement=Image(src.cels[1].image);src:close() for y=0,63 do for x=0,191 do image:drawPixel(x,row*64+y,replacement:getPixel(x,y)) end end end -- The generated front contact repeats the leading leg. Swap only the -- lower-leg pixels of the opposite half-cycle; no head/equipment patches. for col=2,3 do for y=45,63 do for x=15,32 do image:drawPixel(col*48+x,y,image:getPixel((col-2)*48+47-x,y)) end end end out.cels[1].image=image end out:saveAs(app.params.output);out:close()