summaryrefslogtreecommitdiff
path: root/auto-installer.sh
diff options
context:
space:
mode:
authorNick White <git@njw.me.uk>2009-04-13 12:31:42 +0100
committerNick White <git@njw.me.uk>2009-04-13 12:31:42 +0100
commit1bbff3ce1b261ef9cb6ba217ca0d8fcb54971513 (patch)
treeac5ca6418afec68f5f5c3f2f84601559d41d144b /auto-installer.sh
downloadgemrb-gameinstallers-1bbff3ce1b261ef9cb6ba217ca0d8fcb54971513.tar.bz2
gemrb-gameinstallers-1bbff3ce1b261ef9cb6ba217ca0d8fcb54971513.zip
Initial import
Diffstat (limited to 'auto-installer.sh')
-rwxr-xr-xauto-installer.sh110
1 files changed, 110 insertions, 0 deletions
diff --git a/auto-installer.sh b/auto-installer.sh
new file mode 100755
index 0000000..d79f8af
--- /dev/null
+++ b/auto-installer.sh
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+FULLGAMENAME=''
+MINSCRIPT=''
+EXTRASCRIPT=''
+PATCHES=''
+CDNO=''
+
+scriptdir="$(dirname $0)"
+source "$scriptdir/includes/generic-includes.sh"
+source "$scriptdir/includes/cd-includes.sh"
+source "$scriptdir/includes/patch-includes.sh"
+source "$scriptdir/includes/autoinstall-includes.sh"
+
+parseargs "$@"
+
+echo "Checking CD version"
+CDMD5=$(md5sum $CDMOUNT/data1.cab|awk '{print $1}')
+
+case "$CDMD5" in
+ "138528155dfeb695bd63f90eacee7dc0" )
+ FULLGAMENAME="Baldurs Gate 1: 5CD International version"
+ SHORTGAMENAME="bg1"
+ MINSCRIPT=bg1/install-5cd-minimal.sh
+ EXTRASCRIPT=bg1/install-5cd-extra.sh
+ PATCHES="bg1/install-patch-intl.sh bg1/install-patch-baldurdash-fix.sh bg1/install-patch-baldurdash-text.sh"
+ WINDOWSFILES="baldur.exe bgmain.exe config.exe keymap.ini luaauto.cfg update.url"
+ CDNO=5
+ ;;
+ "1a6828b97a27967e8c4acc25e1ef48d2" )
+ FULLGAMENAME="Baldurs Gate Tales of the Sword Coast: 3CD US version"
+ SHORTGAMENAME="bg1"
+ MINSCRIPT=totsc/install-3cd-minimal.sh
+ EXTRASCRIPT=bg1/install-3cd-extra.sh
+ PATCHES="bg1/install-patch-baldurdash-fix.sh bg1/install-patch-baldurdash-text.sh"
+ WINDOWSFILES="baldur.exe bgmain.exe config.exe keymap.ini luaauto.cfg update.url"
+ CDNO=3
+ ;;
+ "e27d259ddc0171ff945dbba136e60309" )
+ FULLGAMENAME="Baldurs Gate Tales of the Sword Coast: 1CD UK version"
+ SHORTGAMENAME="totsc"
+ MINSCRIPT=totsc/install-1cd-uk.sh
+ PATCHES="totsc/install-patch-uk.sh totsc/install-patch-baldurdash-fix.sh totsc/install-patch-baldurdash-text.sh"
+ WINDOWSFILES="bgmain2.exe baldur.exe config.exe mconvert.exe"
+ ;;
+ "640b61443cc86c434f1b6826e63c0e33" )
+ FULLGAMENAME="Planescape Torment: 2CD version"
+ SHORTGAMENAME="pst"
+ MINSCRIPT=pst/install-2cd-minimal.sh
+ EXTRASCRIPT=pst/install-2cd-extra.sh
+ PATCHES="pst/install-patch-fixpack.sh pst/install-patch-ub.sh pst/install-patch-tweaks.sh"
+ WINDOWSFILES="torment.exe ereg"
+ CDNO=2
+ ;;
+ "5e8c2075163aca124de4a467fb33063d" )
+ FULLGAMENAME="Planescape Torment: 4CD version"
+ SHORTGAMENAME="pst"
+ MINSCRIPT=pst/install-4cd-minimal.sh
+ EXTRASCRIPT=pst/install-4cd-extra.sh
+ PATCHES="pst/install-patch-official.sh pst/install-patch-fixpack.sh pst/install-patch-ub.sh pst/install-patch-tweaks.sh"
+ WINDOWSFILES="torment.exe ereg"
+ CDNO=4
+ ;;
+ * )
+ echo "Unrecognised CD - please select game from menu"
+ # TODO: Add menu to show and select all known BG1 versions
+ exit 1
+ ;;
+esac
+
+echo "$FULLGAMENAME detected, installing"
+
+$MINSCRIPT -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly
+
+if [ -n "$EXTRASCRIPT" ]; then
+ if query "Do you want to do a full install, so the CDs will not be needed again?" y; then
+ FULLINSTALL=1
+ $EXTRASCRIPT -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly
+ else
+ FULLINSTALL=0
+ fi
+fi
+
+if [ -n "$PATCHES" ]; then
+ for patch in $PATCHES; do
+ # grab 2nd line from scripts
+ patchtitle=$(sed -n 2p $patch|cut -d ' ' -f 2-)
+ if query "Do you want to install $patchtitle" y; then
+ $patch \
+ -i "$TARGETDIR" \
+ -p "$PATCHDIR" \
+ -l "$LANGUAGE" \
+ -c "$CDMOUNT" \
+ 1>/dev/null || diequietly
+ fi
+ done
+fi
+
+if [ -n "$WINDOWSFILES" ]; then
+ if query "Do you want to remove unneeded windows files?" n; then
+ for badfile in $WINDOWSFILES; do
+ rm -rf "$TARGETDIR"/$badfile
+ done
+ fi
+fi
+
+echo
+echo "$FULLGAMENAME installed successfully"
+
+recommendcfg $CDNO