diff --git a/genimg.sh b/genimg.sh new file mode 100644 index 0000000..aec3152 --- /dev/null +++ b/genimg.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +# checks +## check if imagicmagic is installed +if ! hash convert 2>/dev/null; then + echo "Please install imagemagic." + exit 127 # command not found error +fi +## Check if argument is set +PORTALHEX=$1 +if [ -z "$PORTALHEX" ]; then + echo "PORTAL HEX VALUE REQUIRED" + exit 1 +fi +IMGSIZE=$2 +if [ -z "$IMGSIZE" ]; then + echo -e "IMAGE SIZE REQUIRED\n3072x256\t1536x126\t768x64\t384x32\t192x16\nDefaulting to 768x64" + IMGSIZE="768x64" +fi +SAVENAME=$3 +if [ -z "$SAVENAME" ]; then + echo -e "PLANET NAME REQUIRED" + exit 1 +fi + +## check if image size is valid +case $IMGSIZE in + 3072x256|XL|xl) + IMGSIZE="3072x256" + ;; + 1536x126|L|l) + IMGSIZE="1536x126" + ;; + 768x64|M|m) + IMGSIZE="768x64" + ;; + 384x32|S|s) + IMGSIZE="384x32" + ;; + 192x16|T|t) + IMGSIZE="192x16" + ;; + *) + echo -e "Invalid image size\n3072x256\t1536x126\t768x64\t384x32\t192x16\nDefaulting to 768x64" + IMGSIZE="768x64" + ;; +esac + +## Check if char len of is exactly 12 chars long +PHLEN=${#PORTALHEX} +if [ $PHLEN != 12 ]; then + echo "Portal Addresses MUST be exactly 12 chars [ A-F|a-f & 0-9 ] long" + exit 1 +fi + +# format the command string +## Make string uppercase +PORTALHEX=${PORTALHEX^^} +SFIX=".png" +PFIX="./glyphs/GLYPH-" +G0=$PFIX$(echo $PORTALHEX | cut -c 1)$SFIX +G1=$PFIX$(echo $PORTALHEX | cut -c 2)$SFIX +G2=$PFIX$(echo $PORTALHEX | cut -c 3)$SFIX +G3=$PFIX$(echo $PORTALHEX | cut -c 4)$SFIX +G4=$PFIX$(echo $PORTALHEX | cut -c 5)$SFIX +G5=$PFIX$(echo $PORTALHEX | cut -c 6)$SFIX +G6=$PFIX$(echo $PORTALHEX | cut -c 7)$SFIX +G7=$PFIX$(echo $PORTALHEX | cut -c 8)$SFIX +G8=$PFIX$(echo $PORTALHEX | cut -c 9)$SFIX +G9=$PFIX$(echo $PORTALHEX | cut -c 10)$SFIX +GA=$PFIX$(echo $PORTALHEX | cut -c 11)$SFIX +GB=$PFIX$(echo $PORTALHEX | cut -c 12)$SFIX + +FMTCMD="convert +append $G0 $G1 $G2 $G3 $G4 $G5 $G6 $G7 $G8 $G9 $GA $GB -resize $IMGSIZE $SAVENAME-$IMGSIZE.png" +#echo $FMTCMD + +bash -c "$FMTCMD" \ No newline at end of file