X-Git-Url: https://mop.ddnsfree.com/gitweb/?p=brisk-img.git;a=blobdiff_plain;f=bin%2Fspriter.sh;h=1ced8ca418c61df67d4f69e468ca0b6ec36c54b3;hp=981b77bd455b63cf965e6b1d672e99da730bfc27;hb=80162d45880bee6dd6e29059ec9a6772f8fb4d63;hpb=5340c7d531e490786bb97dc19348297481b61f7b diff --git a/bin/spriter.sh b/bin/spriter.sh index 981b77b..1ced8ca 100755 --- a/bin/spriter.sh +++ b/bin/spriter.sh @@ -2,32 +2,94 @@ # # Max height in play area 121 px # +# set -x -if [ $# -ne 3 -o "$1" = "-h" -o "$1" = "--help" ]; then - echo "$0 " + +if [ $# -ne 2 -o "$1" = "-h" -o "$1" = "--help" ]; then + echo "$0 " exit 1 fi fold=$1 -sfx=$2 -fou=$3 +deck=$2 + +fold_in="${fold}/${deck}_tmp" +fold_ou="${fold}/${deck}_out" + +# sfx=$2 + +w=$(identify -format "%w" ${fold_in}/00.png) +h=$(identify -format "%h" ${fold_in}/00.png) + +convert -size $((w * 9))x$((h * 5)) xc:none ${fold_in}/${deck}_bg.png +convert -size $((h * 9))x$((w * 5)) xc:none ${fold_in}/${deck}_oriz_bg.png + +convert -size ${w}x${h} xc:none ${fold_ou}/cards_${deck}_empty.png +convert -size ${h}x${w} xc:none ${fold_ou}/cards_${deck}_empty_ea.png +cp ${fold_ou}/cards_${deck}_empty_ea.png ${fold_ou}/cards_${deck}_empty_we.png +cssname="${fold_ou}/cards_${deck}.css" +rm -f $cssname +touch $cssname -w=$(identify -format "%w" ${fold}/00${sfx}.png) -h=$(identify -format "%h" ${fold}/00${sfx}.png) +for direction in "" "_ea" "_we"; do + horiz_sfx="" + if [ "$direction" != "" ]; then + horiz_sfx="_oriz" + fi + argz="${fold_in}/${deck}${horiz_sfx}_bg.png" -convert -size $((w * 9))x$((h * 5)) xc:none ${fou}${sfx}_bg.png + for seed in 0 1 2 3 4; do + for card in $(seq 0 9); do + if [ "$direction" = "" ]; then + x=$(((seed * 2 + card / 5) * w)) + y=$(((card % 5) * h)) + else + x=$(((seed * 2 + card / 5) * h)) + y=$(((card % 5) * w)) + fi -argz="${fou}${sfx}_bg.png" + card_id=$(printf "%02d" "$((seed * 10 + card))") + if [ "$card_id" = "40" ]; then + card_id="cover" + fi + card_url="img/cards_${deck}" + cat <> $cssname +img[data-card-id="${card_id}${direction}"] { + background: url('${card_url}${direction}.png') -${x}px -${y}px; +} -for seed in 0 1 2 3 4; do - for card in $(seq 0 9); do - x=$(((seed * 2 + card / 5) * w)) - y=$(((card % 5) * h)) - argz="$argz $(printf "%s/%02d%s.png" "$fold" "$((seed * 10 + card))" "$sfx") -geometry +${x}+${y} -composite " - if [ $seed -eq 4 ]; then - break - fi +EOF + + if [ "$card_id" = "40" ]; then + fin_no=$(printf "%s/%s_src/cover${direction}.png" "$fold_in" "$deck" "$((seed * 10 + card))") + fin=$(printf "%s/%02d%s.png" "$fold_in" "$((seed * 10 + card))" "$direction") + if [ "$direction" == "" ]; then + cp "$fin_no" "$fin" + fi + else + fin_no=$(printf "%s/%02d.png" "$fold_in" "$((seed * 10 + card))") + fin=$(printf "%s/%02d%s.png" "$fold_in" "$((seed * 10 + card))" "$direction") + fi + if [ "$direction" == "" ]; then + : + elif [ "$direction" == "_ea" ]; then + convert -rotate 270 "$fin_no" "$fin" + elif [ "$direction" == "_we" ]; then + convert -rotate 90 "$fin_no" "$fin" + else + exit 1 + fi + + argz="$argz $fin -geometry +${x}+${y} -composite " + if [ $seed -eq 4 ]; then + break + fi + done done + # full color: argz="$argz ${fold_ou}${deck}.png" + full_out="${fold_ou}/cards_${deck}${direction}.png" + argz="$argz +dither -colors 255 $full_out" + convert $argz + echo "Created $full_out" done -argz="$argz ${fou}${sfx}.png" -convert $argz +# rm ${fold}/[0-3][0-9]${deck}*.png ${fold_ou}${deck}_bg.png ${fold_ou}${deck}_oriz_bg.png