echo
if [ -f ./all ]; then
echo "WARNING: running this script will destroy ANY local changes you"
- echo "might have on the repository that haven't been pushed yet."
+ echo "might have on the repository that haven't been pushed or stored"
+ echo "in a local branch yet."
echo
if [ x"$1" != x"--yes" ]; then
echo "Are you absolutely sure you want to run this?"
fi
if [ -f ./all ]; then
- ./all clean --reclone
- ./all compile -r
+ ./all clean -fU -m -r
+ ./all compile
export USE_GDB=no
- set -- ./all run "$@"
+ set -- ./all run -nocrashdialog "$@"
elif [ -z "$*" ]; then
case "`uname`" in
Darwin)
rm -f data/the-big-benchmark.log
rm -f data/benchmark.log
rm -f data/engine.log
-p="+developer 1 -nohome -benchmarkruns 4 -benchmarkruns_skipfirst -benchmark demos/the-big-keybench.dem"
+
+# for next version of benchmark: remove +cl_playerdetailreduction 0 and add +showfps 1
+p="+vid_width 1024 +vid_height 768 +vid_desktopfullscreen 0 +cl_curl_enabled 0 +r_texture_dds_load 1 +cl_playerdetailreduction 0 +developer 1 -nohome -benchmarkruns 4 -benchmarkruns_skipfirst -benchmark demos/the-big-keybench.dem"
+
for e in omg low med normal high ultra ultimate; do
+ echo "Benchmarking on $e"
rm -f data/benchmark.log
echo + "$@" +exec effects-$e.cfg $p > data/engine.log
"$@" +exec effects-$e.cfg $p >>data/engine.log 2>&1 || true
- if grep -xF ']quit' data/engine.log >/dev/null; then
+ grep "^MED: " data/engine.log # print results to the terminal
+ if grep '\]quit' data/engine.log >/dev/null; then
break
fi
cat data/engine.log >> data/the-big-benchmark.log
cat data/benchmark.log >> data/the-big-benchmark.log
+ if [ x"$e" = x"med" ]; then
+ if grep 'checking for OpenGL 2\.0 core features\.\.\. not detected' data/engine.log; then
+ echo "OpenGL 2.0 or later required for Normal quality and higher, exiting."
+ break
+ fi
+ fi
+ if [ x"$e" = x"med" ]; then
+ if grep 'Using GL1.3 rendering path' data/engine.log; then
+ echo "OpenGL 2.0 rendering disabled, exiting."
+ break
+ fi
+ fi
+ if [ x"$e" = x"high" ]; then
+ if grep 'vid_soft 1' data/engine.log; then
+ echo "Software rendering does not support Ultra and Ultimate quality settings, exiting."
+ break
+ fi
+ fi
done
+
if [ -f ./all ]; then
- ./all clean -r -f -u
+ ./all clean -r
fi
rm -f data/benchmark.log