From 1bbff3ce1b261ef9cb6ba217ca0d8fcb54971513 Mon Sep 17 00:00:00 2001 From: Nick White Date: Mon, 13 Apr 2009 12:31:42 +0100 Subject: Initial import --- auto-installer.sh | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100755 auto-installer.sh (limited to 'auto-installer.sh') 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 -- cgit v1.2.3