#!/usr/bin/env bash # Refaz public/jogo/itens.webp (atlas 2x2 de 512x512) a partir de 3d/itens/*.png. set -euo pipefail cd "$(dirname "$0")/.." FUZZ="${FUZZ:-6%}" Q="${Q:-90}" TMP="$(mktemp -d)" trap 'rm -rf "$TMP"' EXIT OUT=public/jogo/itens.webp CONF=/home/evandro/tmp/jogo mkdir -p "$CONF" for n in municao kit cafe bateria; do # fundo por preenchimento a partir dos 4 cantos (sem limiar global) magick "3d/itens/$n.png" -alpha set -fuzz "$FUZZ" -fill none \ -draw "alpha 0,0 floodfill" -draw "alpha 1023,0 floodfill" \ -draw "alpha 0,1023 floodfill" -draw "alpha 1023,1023 floodfill" \ -channel A -morphology Erode Disk:1 -blur 0x0.7 +channel \ -trim +repage \ -bordercolor none -background none -gravity center \ -resize 215x215 \ -extent 256x256 "$TMP/$n.png" done magick -size 512x512 xc:none \ "$TMP/municao.png" -geometry +0+0 -composite \ "$TMP/kit.png" -geometry +256+0 -composite \ "$TMP/cafe.png" -geometry +0+256 -composite \ "$TMP/bateria.png" -geometry +256+256 -composite \ -define webp:alpha-quality=100 -define webp:method=6 -quality "$Q" "$OUT" magick -size 512x512 xc:"#808080" "$OUT" -composite "$CONF/itens-atlas-cinza.png" magick -size 512x512 xc:"#d00000" "$OUT" -composite "$CONF/itens-atlas-vermelho.png" ls -l "$OUT"