diff --git a/tools/embedded.sh b/tools/embedded.sh new file mode 100755 index 0000000..0d8f925 --- /dev/null +++ b/tools/embedded.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# This file generate all the embedded binary resources required for OChess to run properly + +########## RESOURCES ########## +ressources=$(cat <<-EndOfResources +assets/icons/ochess.png +assets/icons/ochess.svg +EndOfResources +) +############################### + +set -e +wai=$(dirname $(readlink -f "$0")) # Current script directory +dst="${wai}/../src/binres/" + +# Binary to C headers +# $1 is the resource file and $2 the variable name to use in the C code +bin2c () { + xxd -n "$2" -i "$1" +} + +# Generate headers +includes="" +for res in $ressources +do + ext="${res##*.}" + name="$(basename $res .${ext})" + name_std=${name}_${ext}.hpp # Header name standard + out="${dst}/${name_std}" + echo "- Generating ${name_std} resource..." + bin2c "$res" "${name}_${ext}" # TODO: Apply! + [ -z "$includes" ] && includes="${name_std}" || includes="${includes} ${name_std}" +done +echo "Please add the following includes to binres.hpp:" +echo "$includes"|tr "[:space:]" "\n"|awk '{print("#include \""$1"\"")}' +