diff --git a/.gitignore b/.gitignore index 4709183..2a463dc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ # Godot 4+ specific ignores .godot/ +Godot.zip +Godot_v4*linux.64 diff --git a/start-khanat-client.sh b/start-khanat-client.sh new file mode 100755 index 0000000..1aa1c92 --- /dev/null +++ b/start-khanat-client.sh @@ -0,0 +1,120 @@ +#!/bin/bash + +declare DEBUG=0 +declare HELP=0 +declare EDITOR=0 +declare WORKDIR="$(dirname $(readlink -f $0))" +declare GODOT_SRC="https://downloads.tuxfamily.org/godotengine/4.0/alpha1/Godot_v4.0-alpha1_linux.64.zip" +declare OUTZIP="$WORKDIR/Godot.zip" +declare OPTION="" + +function msg_debug() +{ + if [ $DEBUG -ne 0 ] + then + echo "### DEBUG : $*" >&2 + fi +} + +function msg_info() +{ + echo "--- INFO : $*" >&2 +} + +function msg_error() +{ + echo "*** ERROR : $*" >&2 +} + +function download() +{ + local package="$1" + local out="$2" + if [ -f $2 ] + then + return 0 + fi + which curl 1>/dev/null 2>/dev/null + if [ $? -eq 0 ] + then + curl -o $out $package + if [ $? -eq 0 ] + then + msg_info "Package GODOT downloaded" + return 0 + fi + fi + which wget 1>/dev/null 2>/dev/null + if [ $? -eq 0 ] + then + wget $package -O $out + if [ $? -eq 0 ] + then + msg_info "Package GODOT downloaded" + return 0 + fi + fi + msg_error "Impossible to download" + exit 2 +} + +function extract() +{ + local compressed_file="$1" + which unzip 1>/dev/null 2>/dev/null + if [ $? -eq 0 ] + then + unzip -u $compressed_file -d $WORKDIR 1>&2 + if [ $? -eq 0 ] + then + msg_info "Uncompressed GODOT" + unzip -Z1 $compressed_file + return 0 + fi + fi + msg_error "Impossible to extract" + exit 2 +} + + +while getopts hdeo:s: flag +do + case "${flag}" in + h) HELP=1;; + d) DEBUG=1;; + e) EDITOR=1;; + o) OUTZIP=${OPTARG};; + s) GODOT_SRC=${OPTARG};; + *) HELP=1;; + esac +done + +if [[ $HELP -ne 0 ]] +then + cat << EOF +$(basename $0) [Option] : Donwload Launch Godot + Option: + -h : Show help + -d : Show debug message + -e : Start Godot in editor mode + -o : target godot file (downloaded) + -s : Url to download a specific godot version +EOF + exit 1 +fi + +msg_info "Start" +msg_debug "WORKDIR:$WORKDIR OUTZIP:$OUTZIP GODOT_SRC:$GODOT_SRC" +download "$GODOT_SRC" "$OUTZIP" +EXE=$(extract "$OUTZIP") +msg_info "Prg:$EXE" + +if [ $EDITOR -ne 0 ] +then + OPTION="$OPTION -e" +fi + +$WORKDIR/$EXE $OPTION + + +msg_info "End"