aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/embedded.sh36
1 files changed, 36 insertions, 0 deletions
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"\"")}'
+