aboutsummaryrefslogtreecommitdiff
path: root/tools/skin/generate.sh
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-02-23 18:11:55 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-02-23 18:11:55 +0100
commitce941c146aea7925bded6b9d2a0d0559d3156ad3 (patch)
tree4c52e02600e3fd127bfb28b3e974d45541ec9e4e /tools/skin/generate.sh
Create repository
Diffstat (limited to 'tools/skin/generate.sh')
-rwxr-xr-xtools/skin/generate.sh69
1 files changed, 69 insertions, 0 deletions
diff --git a/tools/skin/generate.sh b/tools/skin/generate.sh
new file mode 100755
index 0000000..78ee4cb
--- /dev/null
+++ b/tools/skin/generate.sh
@@ -0,0 +1,69 @@
+#!/usr/bin/env bash
+
+# Check requirements
+wai=$(dirname $(readlink -f "$0")) # Current script directory
+[ $(command -v "convert") ] || { echo -e "\e[31mThis script require ImageMagick installed.\e[0m"; exit 1; }
+[ $(command -v "inkscape") ] || { echo -e "\e[31mThis script require Inkscape installed.\e[0m"; exit 1; }
+[ -d "${wai}/../../assets/" ] || { echo -e "\e[31mUnable to found assets folder.\e[0m"; exit 1; }
+boards_path="${wai}/../../assets/boards/" && mkdir -p ${boards_path}
+pieces_path="${wai}/../../assets/pieces/" && mkdir -p ${pieces_path}
+
+generate () {
+ echo -e "\e[32mGenerating skin $(basename $1)\e[0m"
+
+ # Configure black's pieces
+ bk=$1/bk.png
+ bq=$1/bq.png
+ br=$1/br.png
+ bb=$1/bb.png
+ bn=$1/bn.png
+ bp=$1/bp.png
+ bs=$1/bs.png
+ # Configure white's pieces
+ wk=$1/wk.png
+ wq=$1/wq.png
+ wr=$1/wr.png
+ wb=$1/wb.png
+ wn=$1/wn.png
+ wp=$1/wp.png
+ ws=$1/ws.png
+
+ # First build the png files
+ for svg in $(find "$1/" -name "*.svg")
+ do
+ outFile=$(basename $svg|sed "s/\.svg$//g").png
+ inkscape -z -e $1/$outFile -w 200 -h 200 $svg > /dev/null
+ done
+
+ if [ ! -e "$ws" ] # Generate Pieces Skin
+ then
+ convert \( $bk $wk +append \) \
+ \( $bq $wq +append \) \
+ \( $br $wr +append \) \
+ \( $bb $wb +append \) \
+ \( $bn $wn +append \) \
+ \( $bp $wp +append \) \
+ -background none -append "${pieces_path}/$(basename "$1").png"
+ else # Generate Squares Skin
+ convert \( $bs $ws +append \) \
+ -background none -append "${boards_path}/$(basename "$1").png"
+ fi
+
+ rm $1/*.png
+}
+
+
+if [ $# -eq 1 ]
+then
+ # Generate assets for each skin
+ for skin in $({ ls -d ${wai}/boards/*; ls -d ${wai}/pieces/*; } | grep "$1")
+ do
+ generate $skin
+ done
+else
+ # Generate assets for each skin
+ for skin in $({ ls -d ${wai}/boards/*; ls -d ${wai}/pieces/*; })
+ do
+ generate $skin
+ done
+fi