#!/bin/sh

# simple script to compile tremulous .map files with q3map2
# ingar@telenet.be

# For more information check
# http://en.wikibooks.org/wiki/Q3Map2

# CONFIGURATION -----------------------
mapdir="${HOME}/.tremulous/base/maps"
tremdir="/opt/games/tremulous"
q3map2bin="/opt/gtkradiant/q3map2"

# -------------------------------------

if [ "$1" = "-f" ] || [ "$1" = "--final" ]; then
	final="true"
	shift
fi

mapname="$1"
map="${mapdir}/${mapname}.map"

if [ -z "${mapname}" ]; then
	echo "usage: $0 [-f|--final] mapname"
	exit 1
fi

if [ ! -f "${map}" ]; then
	echo "file ${map} not found."
	exit 1
fi

q3map="${q3map2bin} -v -game tremulous -fs_basepath ${tremdir} -fs_game base"

if [ "${final}" = "true" ]; then
	echo "------- COMPILING WITH FINAL SETTINGS ----"
	# LIGHT options for final compile
	bspoptions="-samplesize 8"
	# -scale 1.1
	lightoptions="-fast -shade -dirty -patchshadows -samples 3 -bounce 6 -bouncegrid"
else
	echo "------- COMPILING WITH FAST SETTINGS ----"
	# LIGHT options for test compile
	bspoptions="-samplesize 16"
	lightoptions="-faster -samples 2 -patchshadows"	
fi

echo "------- ${map}"
echo "------- BSP ------------------------------"
${q3map} -leaktest -custinfoparms ${bspoptions} -meta "${map}"
if [ ! "$?" = "0" ]; then
	exit 1;
fi

echo "------- VIS ------------------------------"
${q3map} -vis -saveprt "${map}"

echo "------- LIGHT ----------------------------"
# -scale 1.1
${q3map} -light ${lightoptions} "${map}"

