Skip to content

Instantly share code, notes, and snippets.

@miamarti
Created October 15, 2015 17:41
Show Gist options
  • Save miamarti/0a79ede8341d0a26fdf6 to your computer and use it in GitHub Desktop.
Save miamarti/0a79ede8341d0a26fdf6 to your computer and use it in GitHub Desktop.
Sprite Generator
#!/bin/bash
Black='\033[0;30m'
DarkGray='\033[1;30m'
Red='\033[0;31m'
LightRed='\033[1;31m'
Green='\033[0;32m'
LightGreen='\033[1;32m'
BrownOrange='\033[0;33m'
Yellow='\033[1;33m'
Blue='\033[0;34m'
LightBlue='\033[1;34m'
Purple='\033[0;35m'
LightPurple='\033[1;35m'
Cyan='\033[0;36m'
LightCyan='\033[1;36m'
LightGray='\033[0;37m'
White='\033[1;37m'
Red='\033[0;31m'
NC='\033[0m' # No Color
reset(){
clear
rm -rf output-grid/
rm -rf output-flat/
}
reset
echo -n "Enter the Slide number: "
read slide
echo -n "Enter the Slide height (px): "
read height
echo "";
echo "What kind of sprite will be created?"
echo -n "Grid [g] | Flat[f] | All[a]: "
read kind
echo "";
count=0;
for i in *.png; do
count=$[$count+1];
done
fraction=3;
part=$[$count/$fraction];
cycles=0;
loop=0;
images="";
grid="";
gridHeight=$[$height*3];
startGrid(){
mkdir output-grid
renderGrid(){
echo ":: Rendering Grid ::";
echo "-----------------------------------------------------------------------";
echo $grid;
echo "-----------------------------------------------------------------------";
echo "";
echo $grid > "output-grid/Grid.sprite.txt"
convert @"output-grid/Grid.sprite.txt" -channel RGB -opaque None +channel -alpha On -define png:format=png8 -define png:compression-level=9 -append "output-grid/Grid.sprite.png"
convert "output-grid/Grid.sprite.png" -resize x$gridHeight "output-grid/$slide.ani.png"
rm "output-grid/Grid.sprite.txt"
}
renderImage(){
echo ":: Rendering Cycle $cycles ::";
echo "-----------------------------------------------------------------------";
echo $images;
echo "-----------------------------------------------------------------------";
echo "";
echo $images > "output-grid/Cycle-$cycles.sprite.txt"
convert @"output-grid/Cycle-$cycles.sprite.txt" -channel RGB -opaque None +channel -alpha On -define png:format=png8 -define png:compression-level=9 +append "output-grid/Cycle-$cycles.sprite.png"
grid="$grid \"output-grid/Cycle-$cycles.sprite.png\" ";
rm "output-grid/Cycle-$cycles.sprite.txt";
}
for i in *.png; do
images="$images \"$i\" ";
loop=$[$loop+1];
if [ $[$loop == $part] == 1 ]; then
renderImage
images="";
loop=0;
cycles=$[$cycles+1];
fi
done
renderImage
renderGrid
}
startFlat(){
echo ":: Rendering Flat ::";
echo "-----------------------------------------------------------------------";
mkdir output-flat
convert *.png -channel RGB -opaque None +channel -alpha On -define png:format=png8 -define png:compression-level=9 +append "output-flat/Flat.sprite.png"
convert "output-flat/Flat.sprite.png" -resize x$height "output-flat/$slide.ani.png"
}
printExtraterrestrial(){
printf "${Yellow}The slide $slide.ani.png was successfully generated !!!${NC}\n"
printf "\n";
printf "${Green} ___/ \___ ${NC}\n"
printf "${Green}\`-._) (_,-\`${NC}\n"
printf "${Green} \\\\${NC}${Red}O${NC} _ ${Red}O${NC}${Green}/${NC} \n"
printf "${Green} \ - / ${NC}\n"
printf "${Green} \`-( ${NC}\n"
printf "${Green} || ${NC}\n"
printf "${Green} _||_ ${NC}\n"
printf "${Green} |-..-| ${NC}\n"
printf "${Green} |/. \| ${NC}\n"
printf "${Green} |\__/| ${NC}\n"
printf "${Green} ._|//\\|_, ${NC}\n"
printf "${Green} \`-(( ))-' ${NC}\n"
printf "${Green} __\\//__ ${NC}\n"
printf "${Green} >_ /\ _<, ${NC}\n"
printf "${Green} '' ${NC}\n"
}
if [ $kind == "g" ]; then
startGrid
printExtraterrestrial
fi
if [ $kind == "f" ]; then
startFlat
printExtraterrestrial
fi
if [ $kind == "a" ]; then
startGrid
startFlat
printExtraterrestrial
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment