#!/bin/sh

map=$1; shift
count=$1; shift
watchdog=$1; shift
dummy=$1; shift

# convert count to unary
count=`yes x | head -n "$count" | tr -cd x`

./all run \
	-nocrashdialog \
	-nosound \
	-noconfig \
	+'locksession 0' \
	+'scr_screenshot_timestamp 0' \
	+'vid_fullscreen 0' \
	+'exec effects-ultra.cfg' \
	"$@" \
	+'cl_welcome 0' \
	+'sv_precacheplayermodels 0' \
	+'cl_hidewaypoints 1' \
	+'cl_movement 0' \
	+'r_motionblur 0' \
	+'r_damageblur 0' \
	+'r_letterbox -1' \
	+'r_drawviewmodel 0' \
	+'crosshair 0' \
	+'sv_cheats 2' \
	+'sv_gravity 0' \
	+'r_nolerp 1' \
	+'sv_clientcommand_antispam_time -999' \
	+'sv_clientcommand_antispam_count 999' \
	+'set catchme "catchme_"' \
	+"alias catchme_$count quit" \
	+'alias NARF "sv_cmd nextframe cl_cmd nextframe sv_cmd nextframe cl_cmd nextframe $*"' \
	+'alias ZORT "god; NARF EGAD"' \
	+'alias EGAD "noclip; NARF POIT"' \
	+'alias POIT "$catchme; set catchme ${catchme}x; impulse 911; NARF TROZ"' \
	+'alias TROZ "screenshot; NARF POIT"' \
	+'alias cl_hook_gamestart_all "defer 1.1 join; defer 2 ZORT"' \
	+"defer \"$watchdog\" quit" \
	+"map \"$map\"" \
	+'timelimit 0' \
	+'fraglimit 0' \
	</dev/null
