#! /bin/bash # Copyright (C) 2019-2022 Igara Studio S.A. # $1 = first sprite sheet json file # $2 = second sprite sheet json file function compare_sheet_data() { cat $1 | grep -v "\"image\"" > $1-tmp cat $2 | grep -v "\"image\"" > $2-tmp diff -u $1-tmp $2-tmp } # --sheet and STDOUT d=$t/sheet mkdir $d # we need to create the directory because the >STDOUT redirection if ! $ASEPRITE -b sprites/1empty3.aseprite --sheet "$d/sheet.png" > "$d/stdout.json" ; then exit 1 fi cat >$d/compare.lua <$d/compare.lua <$d/create.lua <$d/compare.lua <$d/compare.lua <$d/compare.lua <$d/check.lua <$d/compare.lua <$d/compare.lua <$d/check.lua <$d/check.lua <$d/check.lua < #sheet.meta.layers) app.activeSprite = restoredSprite app.activeLayer = restoredSprite.layers[#restoredSprite.layers] for i=1,#restoredSprite.layers-1 do app.command.MergeDownLayer() end local orig = app.open("sprites/link.aseprite") app.activeSprite = orig app.activeLayer = orig.layers[#orig.layers] for i=1,#orig.layers-1 do app.command.MergeDownLayer() end assert(orig.width == restoredSprite.width) assert(orig.height == restoredSprite.height) assert(#orig.frames == #restoredSprite.frames) for fr=1,#restoredSprite.frames do for celIndex1=1,#restoredSprite.cels do if restoredSprite.cels[celIndex1].frameNumber == fr then for celIndex2=1,#orig.cels do if orig.cels[celIndex2].frameNumber == fr then assert(orig.cels[celIndex2].position == restoredSprite.cels[celIndex1].position) if orig.cels[celIndex2].image ~= nil and restoredSprite.cels[celIndex1].image ~= nil then assert(orig.cels[celIndex2].image:isEqual(restoredSprite.cels[celIndex1].image)) end end end end end end EOF $ASEPRITE -b -script "$d/check.lua" || exit 1 # Test solution to #1514 using new --tagname-format d=$t/issue-1514 $ASEPRITE -b "sprites/1empty3.aseprite" "sprites/tags3.aseprite" \ -data "$d/atlas.json" \ -format json-array \ -sheet "$d/atlas.png" \ -list-tags -tagname-format="{title}-{tag}" || exit 1 cat >$d/compare.lua <