c324b61bf89edec70699dd2ed8bd1083d9e5c07e
[gentoo.git] / games-rpg / nwn / files / fixinstall
1 #!/bin/bash
2 # Initial version by Bioware
3 # Modified to match the gentoo setup
4 # 03/27/2003 phoen][x <phoenix@gentoo.org>
5
6 cd GENTOO_DIR/nwn || exit 1
7
8 aRequiredDirs=(ambient data music override miles nwm)
9 aRequiredFiles=(chitin.key dialog.tlk nwmain)
10 aLCDirs=(ambient data dmvault hak localvault music override portraits)
11 aProblemFiles=()
12 aWritables=(nwn.ini nwnplayer.ini nwncdkey.ini saves localvault tempclient currentgame dmvault)
13
14 printf "Checking for required files\n\n"
15
16 for d in ${aRequiredDirs[@]} ; do
17         if [[ -d $d ]] ; then
18                 printf "PASSED: $d directory exists\n"
19         else
20                 printf "FAILED: $d directory missing\n"
21                 exit 1
22         fi
23 done
24
25 for f in ${aRequiredFiles[@]} ; do
26         if [[ -f $f ]] ; then
27                 printf "PASSED: $f exists\n"
28         else
29                 printf "FAILED: $f missing\n"
30                 exit 1
31         fi
32 done
33
34 printf "\nFixing case\n\n"
35
36 if [[ -f dialog.TLK ]] ; then
37         mv dialog.TLK dialog.tlk
38 fi
39
40 if [[ -f dialogF.TLK ]] ; then
41         mv dialogF.TLK dialogf.tlk
42 fi
43
44 for d in ${aLCDirs[@]} ; do
45         if [[ -d $d ]] ; then
46                 printf "$d\n"
47                 cd $d
48
49                 for f in $(find . -name '*.*') ; do
50                         lcf=$(echo $f | tr [:upper:] [:lower:])
51                         if [[ $f != $lcf ]] && [[ -f $f ]] ; then
52                                 mv $f $(echo $f | tr [:upper:] [:lower:]) 
53                         fi
54                         printf .
55                 done
56
57                 cd ..
58                 printf "\n"
59         fi
60 done
61
62 defIFS=$IFS
63 IFS='|'
64
65 if [[ -d saves ]] ; then
66         cd saves
67         for d in $(find . -name '* - *' -type d -printf "%f|") ; do
68                 printf "saves/$d\n"
69                 cd "$d"
70
71                 [[ -f Portrait.tga ]] && mv Portrait.tga portrait.tga
72                 [[ -f Screen.tga ]] && mv Screen.tga screen.tga
73
74                 cd ..
75         done
76         cd ..
77 fi
78
79 IFS=$defIFS
80
81 printf "\nChecking for problem files\n\n"
82
83 for f in ${aProblemFiles[@]} ; do
84         if [[ -e $f ]] ; then
85                 printf "WARNING: $f exists, deleting this file is recommended\n"
86         fi
87 done
88
89 printf "\nFixing permissions\n\n"
90
91 chown GENTOO_USER:GENTOO_GROUP GENTOO_DIR/nwn/ -R
92 chmod g+rwX GENTOO_DIR/nwn/ -R
93
94 # 1.65-specific fixes to permissions
95 [ -e GENTOO_DIR/nwn/data/patch.bif ] && \
96         chmod a-x GENTOO_DIR/nwn/data/patch.bif 2>&1 > /dev/null
97 chmod a-x GENTOO_DIR/nwn/nwm/Chapter1.nwm 2>&1 > /dev/null
98 chmod a-x GENTOO_DIR/nwn/nwm/Chapter1E.nwm 2>&1 > /dev/null
99 chmod a-x GENTOO_DIR/nwn/nwm/Chapter2.nwm 2>&1 > /dev/null
100 chmod a-x GENTOO_DIR/nwn/nwm/Chapter2E.nwm 2>&1 > /dev/null
101 chmod a-x GENTOO_DIR/nwn/nwm/Chapter3.nwm 2>&1 > /dev/null
102 chmod a-x GENTOO_DIR/nwn/nwm/Chapter4.nwm 2>&1 > /dev/null
103 chmod a-x GENTOO_DIR/nwn/nwm/Prelude.nwm 2>&1 > /dev/null
104 [ -e GENTOO_DIR/nwn/patch.key ] && \
105         chmod a-x GENTOO_DIR/nwn/patch.key 2>&1 > /dev/null
106
107 printf "\nYou are ready to run Neverwinter Nights.\n\n"