]> icculus.org git repositories - divverent/nexuiz.git/blob - data/maps/compile.sh
merged .ent to .map. Did some minor tweaking to the map as well
[divverent/nexuiz.git] / data / maps / compile.sh
1 #!/bin/sh
2
3 : ignore <<'EOF'
4
5 Nexuiz map recompilation script
6
7 NOTE: to use this script, you need a shell script called q3map2 in your $PATH.
8       Mine looks like this:
9
10         #!/bin/sh
11         exec ~/bin/q3map2.x86 -threads 2 "$@"
12
13       Note that you can NOT call q3map2.x86 directly from $PATH, as it segfaults
14       then!
15
16 Usage:
17 sh compile.sh tznex01
18
19 EOF
20
21 settings_bloodprison=":-fast:-fast"
22 settings_default="-samplesize 8::-deluxe -patchshadows -samples 3"
23 scale_bloodprison=1.2
24
25 set -ex
26
27 map2()
28 {
29         dir=`pwd`
30         # note: you are in data/maps. Removintg these two components...
31         dir=${dir%/*/*}
32
33         q3map2 -fs_basepath "$dir" -fs_game data -v "$@"
34 }
35
36 for MAP in "$@"; do
37         [ -f "$MAP.map" ]
38
39         # get settings for this map
40         eval s=\$settings_$MAP
41         [ -n "$s" ] || s=$settings_default
42         eval scale=\$scale_$MAP
43
44         # recompile it
45         if [ -n "$scale" ]; then
46                 if ! grep "_keeplights" "$MAP.map" >/dev/null; then
47                         echo "$MAP does not have _keeplights in worldspawn!"
48                         exit 1
49                 fi
50         fi
51         map2 -bsp -meta `echo "$s" | cut -d : -f 1` "$MAP.map" | tee    "$MAP.log"
52         if [ -n "$scale" ]; then
53                 map2 -scale "$scale" "$MAP.bsp"
54                 mv "${MAP}_s.bsp" "$MAP.bsp"
55         fi
56         map2 -vis       `echo "$s" | cut -d : -f 2` "$MAP.map" | tee -a "$MAP.log"
57         map2 -light     `echo "$s" | cut -d : -f 3` "$MAP.map" | tee -a "$MAP.log"
58         rm   -f                                     "$MAP.srf"
59 done