diff options
author | Nick White <git@njw.me.uk> | 2010-02-09 17:12:20 +0000 |
---|---|---|
committer | Nick White <git@njw.me.uk> | 2010-02-09 17:12:20 +0000 |
commit | ef6704c7111642f5c1cccf09c2990adeb1fec299 (patch) | |
tree | 56a3cc43db9dc3e9a2db16dccbe945c0823234b6 /includes | |
parent | d44154ecfafb9bf183e201dadc0fd1ed6310fbd1 (diff) | |
parent | bd2a182caf12caec92f188ff848676e808819f64 (diff) | |
download | gemrb-gameinstallers-ef6704c7111642f5c1cccf09c2990adeb1fec299.tar.bz2 gemrb-gameinstallers-ef6704c7111642f5c1cccf09c2990adeb1fec299.zip |
Merged Nick Daly's work
Diffstat (limited to 'includes')
-rw-r--r-- | includes/autoinstall-includes.sh | 118 | ||||
-rw-r--r-- | includes/cd-list.sh | 4 | ||||
-rw-r--r-- | includes/generic-includes.sh | 1 |
3 files changed, 112 insertions, 11 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" } diff --git a/includes/cd-list.sh b/includes/cd-list.sh index 8acf905..b090cd7 100644 --- a/includes/cd-list.sh +++ b/includes/cd-list.sh @@ -64,8 +64,8 @@ function get_game FULLGAMENAME="Baldurs Gate 2 - Throne of Bhaal: 1CD US version" SHORTGAMENAME="baldursgate2soa" MINSCRIPT="bg2/install-tob-1cd-us-minimal.sh" - PATCHES="" # TODO: fill in patches - # bg2/install-patch-totsc-uk.sh bg1/install-patch-baldurdash-fix.sh bg1/install-patch-totsc-baldurdash-text.sh" + PATCHES="bg2/install-tob-patch-us.sh" + # "bg1/install-patch-baldurdash-fix.sh bg1/install-patch-totsc-baldurdash-text.sh" WINDOWSFILES="autorun.ini bgconfig.exe bgdxtest.exe bggltest.exe bgmain.exe charview.exe glsetup.exe update.url earthlink gamespy" CDNO=1 CDSTART=5 diff --git a/includes/generic-includes.sh b/includes/generic-includes.sh index e90199c..32f8bc0 100644 --- a/includes/generic-includes.sh +++ b/includes/generic-includes.sh @@ -180,6 +180,7 @@ function move_and_remove { # usage: move_and_remove source destination # copies the files in the source directory to the destination. + # then removes the source entirely. if [ "$1" != "$2" ] then mkdir -p "$2" || die |