summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-rpg/nwn/files/fixinstall')
-rwxr-xr-xgames-rpg/nwn/files/fixinstall105
1 files changed, 105 insertions, 0 deletions
diff --git a/games-rpg/nwn/files/fixinstall b/games-rpg/nwn/files/fixinstall
new file mode 100755
index 000000000000..d0d7a4c80315
--- /dev/null
+++ b/games-rpg/nwn/files/fixinstall
@@ -0,0 +1,105 @@
+#!/bin/bash
+# Initial version by Bioware
+# Modified to match the gentoo setup
+# 03/27/2003 phoen][x <phoenix@gentoo.org>
+
+cd GENTOO_DIR/nwn || exit 1
+
+aRequiredDirs=(ambient data music override miles nwm)
+aRequiredFiles=(chitin.key dialog.tlk nwmain)
+aLCDirs=(ambient data dmvault hak localvault music override portraits)
+aProblemFiles=()
+aWritables=(nwn.ini nwnplayer.ini nwncdkey.ini saves localvault tempclient currentgame dmvault)
+
+printf "Checking for required files\n\n"
+
+for d in ${aRequiredDirs[@]} ; do
+ if [[ -d $d ]] ; then
+ printf "PASSED: $d directory exists\n"
+ else
+ printf "FAILED: $d directory missing\n"
+ exit 1
+ fi
+done
+
+for f in ${aRequiredFiles[@]} ; do
+ if [[ -f $f ]] ; then
+ printf "PASSED: $f exists\n"
+ else
+ printf "FAILED: $f missing\n"
+ exit 1
+ fi
+done
+
+printf "\nFixing case\n\n"
+
+if [[ -f dialog.TLK ]] ; then
+ mv dialog.TLK dialog.tlk
+fi
+
+if [[ -f dialogF.TLK ]] ; then
+ mv dialogF.TLK dialogf.tlk
+fi
+
+for d in ${aLCDirs[@]} ; do
+ if [[ -d $d ]] ; then
+ printf "$d\n"
+ cd $d
+
+ for f in $(find . -name '*.*') ; do
+ lcf=$(echo $f | tr [:upper:] [:lower:])
+ if [[ $f != $lcf ]] && [[ -f $f ]] ; then
+ mv $f $(echo $f | tr [:upper:] [:lower:])
+ fi
+ printf .
+ done
+
+ cd ..
+ printf "\n"
+ fi
+done
+
+defIFS=$IFS
+IFS='|'
+
+if [[ -d saves ]] ; then
+ cd saves
+ for d in $(find . -name '* - *' -type d -printf "%f|") ; do
+ printf "saves/$d\n"
+ cd "$d"
+
+ [[ -f Portrait.tga ]] && mv Portrait.tga portrait.tga
+ [[ -f Screen.tga ]] && mv Screen.tga screen.tga
+
+ cd ..
+ done
+ cd ..
+fi
+
+IFS=$defIFS
+
+printf "\nChecking for problem files\n\n"
+
+for f in ${aProblemFiles[@]} ; do
+ if [[ -e $f ]] ; then
+ printf "WARNING: $f exists, deleting this file is recommended\n"
+ fi
+done
+
+printf "\nFixing permissions\n\n"
+
+chown GENTOO_USER:GENTOO_GROUP GENTOO_DIR/nwn/ -R
+chmod g+rwX GENTOO_DIR/nwn/ -R
+
+# 1.65-specific fixes to permissions
+chmod a-x GENTOO_DIR/nwn/data/patch.bif
+chmod a-x GENTOO_DIR/nwn/nwm/Chapter1.nwm
+chmod a-x GENTOO_DIR/nwn/nwm/Chapter1E.nwm
+chmod a-x GENTOO_DIR/nwn/nwm/Chapter2.nwm
+chmod a-x GENTOO_DIR/nwn/nwm/Chapter2E.nwm
+chmod a-x GENTOO_DIR/nwn/nwm/Chapter3.nwm
+chmod a-x GENTOO_DIR/nwn/nwm/Chapter4.nwm
+chmod a-x GENTOO_DIR/nwn/nwm/Prelude.nwm
+chmod a-x GENTOO_DIR/nwn/patch.key
+
+printf "\nYou are ready to run Neverwinter Nights.\n\n"