From dffcc04d93ea8aa1331f8bb3dbb97875f84e0926 Mon Sep 17 00:00:00 2001 From: InigoGutierrez Date: Sun, 17 May 2020 21:05:36 +0200 Subject: Organized mapGen.sh --- mapGen/mapGen.sh | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'mapGen/mapGen.sh') diff --git a/mapGen/mapGen.sh b/mapGen/mapGen.sh index 1be77f7..bf4bac3 100755 --- a/mapGen/mapGen.sh +++ b/mapGen/mapGen.sh @@ -3,13 +3,37 @@ # mapGen.sh # # Generate a map with ImageMagick from an input text file +# +# Usage: mapGen.sh [-s SIZE] [-f TILE_FOLDER] SOURCE_FILE -inputFile="$1" +usageMsg="Usage: mapGen.sh [-s SIZE] [-f TILE_FOLDER] SOURCE_FILE" cellSize=8 tilesDir="./tiles" +while echo "$1" | grep '^-' >/dev/null; do + case "$1" in + "-s") + [ -z "$2" ] && echo "Missing argument for -s. $usageMsg" >&2 && exit 1 + cellSize="$2" + shift 2 + ;; + "-f") + [ -z "$2" ] && echo "Missing argument for -f. $usageMsg" >&2 && exit 1 + tilesDir="$2" + shift 2 + ;; + esac +done + +[ -z "$1" ] && echo "$usageMsg" >&2 && exit 1 + +inputFile="$1" + +[ ! -f "$inputFile" ] && echo "File not found: $inputFile" >&2 && exit 1 +[ ! -d "$tilesDir" ] && echo "Directory not found: $tilesDir" >&2 && exit 1 + height="$(wc -l <"$inputFile")" width="$(awk '{print length($0)}' "$inputFile" | sort -nr | sed 1q)" @@ -26,7 +50,7 @@ col=0 while read line; do echo "$line" | ( while read -n1 char; do - tileFile="$(find $tilesDir | sed 's|.*/||' | grep "^$char")" + tileFile="$(find $tilesDir | sed 's|.*/||' | grep "^$char" | shuf | sed 1q)" tileFile="${tilesDir}/${tileFile}" echo "$tileFile" | wc -l | grep 1 >/dev/null || continue convert out.jpg "$tileFile" -geometry +"$col"+"$row" -composite out.jpg || -- cgit v1.2.1