summaryrefslogtreecommitdiff
path: root/includes/autoinstall-includes.sh
diff options
context:
space:
mode:
Diffstat (limited to 'includes/autoinstall-includes.sh')
-rw-r--r--includes/autoinstall-includes.sh118
1 files changed, 109 insertions, 9 deletions
diff --git a/includes/autoinstall-includes.sh b/includes/autoinstall-includes.sh
index 9462c80..88fd796 100644
--- a/includes/autoinstall-includes.sh
+++ b/includes/autoinstall-includes.sh
@@ -19,11 +19,98 @@
### functions ###
-# a simplified version of query() from sorcery
# $1 = question
# $2 = default boolean answer [yYnN]
+# $3 = title
+# $4 = long explanation
function query
{
+ # usage: query question default [title] [longExplanation]
+
+ if [ "$3" ]; then
+ echo -e "$3"
+ echo "========================================"
+ echo
+ fi
+
+ if [ "$4" ]; then
+ echo -e "$4"
+ echo
+ fi
+
+
+ while true; do
+ RESPONSE=""
+ echo -e -n "$1 [$2] "
+ read -n 1 RESPONSE
+ echo
+
+ RESPONSE=${RESPONSE:=$2}
+ case $RESPONSE in
+ n|N) return 1 ;;
+ y|Y) return 0 ;;
+ esac
+ done
+}
+
+# a simplified version of query() from sorcery
+# $1 = question
+# $2 = default boolean answer [yYnN]
+# $3 = title
+# $4 = long explanation
+function new_query
+{
+ # usage: query question default [title] [longExplanation]
+
+ if [ "$PLAYONLINUX" ]; then
+ RESPONSE=query_playOnLinux "$1" "$2" "$3" "$4"
+ else
+ RESPONSE=query_text "$1" "$2" "$3" "$4"
+ fi
+
+ return $RESPONSE
+}
+
+# a simplified version of query(), modified for PoL.
+# $1 = question
+# $2 = default boolean answer [yYnN]
+# $3 = title
+# $4 = long explanation
+function query_playOnLinux
+{
+ # usage: query_playOnLinux question default [title] [longExplanation]
+
+ if [ "$4" ]; then
+ 1="$4
+
+$1"
+ fi
+
+ POL_SetupWindow_question "$1 [$2]" "$3"
+ return "$APP_ANSWER"
+}
+
+# a simplified version of query() from sorcery
+# $1 = question
+# $2 = default boolean answer [yYnN]
+# $3 = title
+# $4 = long explanation
+function query_text
+{
+ # usage: query_text question default [title] [longExplanation]
+
+ if [ "$3" ]; then
+ echo -e "$3"
+ echo "========================================"
+ echo
+ fi
+
+ if [ "$4" ]; then
+ echo -e "$4"
+ echo
+ fi
+
+
while true; do
RESPONSE=""
echo -e -n "$1 [$2] "
@@ -54,10 +141,12 @@ function recommendcfg
STARTCD=1
fi
- echo
- echo "To play the game with GemRB, you will need to add the following"
- echo "lines to your GemRB.cfg file:"
- echo
+ gemrbDir="${HOME}/.gemrb"
+ installRegistry="${gemrbDir}/installations.ini"
+
+ displayText="To play the game with GemRB, you will need to add the following\n"
+ displayText=${displayText}"lines to your GemRB.cfg file:\n"
+
LINE="GamePath=$TARGETDIR"; echo $LINE
if [ $FULLINSTALL -eq 1 ]; then
for CDNUMBER in $(seq $STARTCD $(($NUMOFCDS+$STARTCD-1))); do
@@ -66,17 +155,28 @@ function recommendcfg
else
LINE="CD${CDNUMBER}=${TARGETDIR}"
fi
- echo $LINE
+ displayText=${displayText}${LINE}"\n"
done
else
for CDNUMBER in $(seq $STARTCD $(($NUMOFCDS+$STARTCD-1))); do
- LINE="CD$CDNUMBER=$CDMOUNT/cd$CDNUMBER"
- echo $LINE
+ LINE="CD${CDNUMBER}=${CDMOUNT}/cd${CDNUMBER}"
+ displayText=${displayText}${LINE}"\n"
done
fi
# if startcd exists we can't tell if GameOnCD should be recommended
if [ $STARTCD -eq 1 ] ; then
- [ $FULLINSTALL -eq 1 ] && echo "GameOnCD=0" || echo "GameOnCD=1"
+ [ $FULLINSTALL -eq 1 ] && displayText=${displayText}"GameOnCD=0\n" || displayText=${displayText}"GameOnCD=1\n"
fi
+
+ if [ "$PLAYONLINUX" ]; then
+ POL_SetupWindow_message "$displayText" "Setup Complete!"
+ else
+ echo -e "$displayText"
+ fi
+
+ # record the installation in the installation registry.
+ mkdir "$gemrbDir" 2>/dev/null
+ touch "$installRegistry" 2>/dev/null
+ echo "$TARGETDIR" 2>/dev/null >> "$installRegistry"
}