# bzflag example resource file
#
# style, host, and render groups may have one or more names
# which are limited regular expressions delimited by spaces.
# characters in the regular expressions are interpreted as
# follows:
#	_	matches a space
#	?	matches any one character
#	*	matches any number of characters
#	\	interpret the next character literally
#			(includes \ and _)
#	[...]	matches any character within the square brackets
#			(ranges of the form `a-z' are allowed)
#	[^...]	matches any character not in the square brackets
#			(ranges are allows, the leading ^ does
#			count as part of the group)
# all other characters are matched literally.
# known bugs:
#   \ is interpreted literally inside a [] group, which means
#	neither a space nor ] can be matched by a group.
#   - cannot be matched inside a [] group and it must not be
#	the first or last character in the group.

# default style uses the full screen, doesn't have shadows, and doesn't
# show the mountains.  it should perform acceptably on a minimum 100MHz
# Indy Newport.  if not, try setting lowdetail to yes or commenting out
# fullscreen as the Indy is fill-limited.  most people have a tendency
# to move the mouse up out of the window, so you should size your window
# then move it so the title bar is completely off the top of the screen
# (if it's still visible you're likely to move the window instead of
# firing a shell).
style default
	fullscreen
	directory	/usr/demos/General_Demos/bzflag/data
	shadows		no
	lowdetail	no
# sound effects
	sfxfire		fire.aiff
	sfxexplosion	explosion.aiff
	sfxricochet	ricochet.aiff
	sfxgrabflag	flag_grab.aiff
	sfxdropflag	flag_drop.aiff
	sfxwon		flag_won.aiff
	sfxlost		flag_lost.aiff
	sfxalert	flag_alert.aiff
	sfxteleport	teleport.aiff
	sfxlaser	laser.aiff
	sfxshock	shock.aiff
	sfxpop		pop.aiff
# need sounds for these
#	sfxjump		# nothing yet
#	sfxland		# nothing yet
# background mountains (if no texturing, still drawn with glDrawPixels())
#	mountains	mountain.rgb
# other textures
	outerwall	wall.rgb
	ground		ground.rgb
	clouds		clouds.rgb
	teletexture	caution.rgb
	pyramidtexture	stucko.rgb
	boxtexture	brick.rgb
	boxtoptexture	gravel.rgb
# these don't work yet
#	tankbody	flage.rgb
#	tankfront	tface.rgb
#	tanktread	tread.rgb
#	tankwheels	wheels.rgb

# everything we've got at full screen
style full
	fullscreen
	directory	/usr/demos/General_Demos/bzflag/data
	shadows		yes
# sound effects
	sfxfire		fire.aiff
	sfxexplosion	explosion.aiff
	sfxricochet	ricochet.aiff
	sfxgrabflag	flag_grab.aiff
	sfxdropflag	flag_drop.aiff
	sfxwon		flag_won.aiff
	sfxlost		flag_lost.aiff
	sfxalert	flag_alert.aiff
	sfxteleport	teleport.aiff
	sfxlaser	laser.aiff
	sfxshock	shock.aiff
	sfxpop		pop.aiff
# need sounds for these
#	sfxjump		# nothing yet
#	sfxland		# nothing yet
# background mountains (if no texturing, still drawn with glDrawPixels())
#	mountains	mountain.rgb
# other textures
	outerwall	wall.rgb
	ground		ground.rgb
	clouds		clouds.rgb
	teletexture	caution.rgb
	pyramidtexture	stucko.rgb
	boxtexture	brick.rgb
	boxtoptexture	gravel.rgb
# these don't work yet
#	tankbody	flage.rgb
#	tankfront	tface.rgb
#	tanktread	tread.rgb
#	tankwheels	wheels.rgb

# Indy XL 24 bit, PI 24 bit, XS24 -- blending and line antialiasing look
# okay. However, blending is a performance hit for large polygons.  Only
# use smoothing.
# this must come before PI 8 bit to correctly match.
render NEWPORT_24 GR1*/24* *-XS24
	zbuffer		no
	texture		no
	lighting	no
	blend		no
	smooth		yes
	multisample	no
	abgr_ext	yes		# doesn't matter on Newport
	quality		fast

# Indy XL 8 bit, PI 8 bit, Indigo Entry & XS -- no fancy stuff
render NEWPORT_8 GR1* LIGHT *-XS *-XSM
	zbuffer		no
	texture		no
	lighting	no
	blend		no
	smooth		no
	multisample	no
	abgr_ext	yes		# doesn't matter on Newport
	quality		fast

# Express series.  Nicest smoothing is really slow.  Only use it if
# quality is fast.
# XS24Z -- not enough muscle for all the fancy stuff
render *-XS24-Z
	zbuffer		yes
	texture		no
	lighting	no
	blend		yes
	smooth		yes
	multisample	no
	abgr_ext	yes
	quality		fast

# Multi GE with zbuffers.
render *-XZ *-Elan *-Extreme
	zbuffer		yes
	texture		no
	lighting	yes
	blend		yes
	smooth		yes
	multisample	no
	abgr_ext	yes
	quality		fast

# VGX series -- texture mapping isn't fast enough to texture everything.
# FIXME -- haven't tested VGX;  I hear it's slow.
# should have a special style for VGX with only a few textures, then we
# can turn on textures here.
render VGX*
	zbuffer		yes
	texture		no
	lighting	yes
	blend		yes
	smooth		yes
	multisample	no
	abgr_ext	yes
	quality		nice

# Reality Engine graphics (Crimson, Power series, Onyx, respectively)
# with 1 or 2 raster managers -- everything except multisampling.  
render REC/[SML]/[12] RE/[SML]/[12] REV/[SML]/[12]
	zbuffer		yes
	texture		yes
	lighting	yes
	blend		yes
	smooth		yes
	multisample	no
	abgr_ext	no
	quality		nice

# Reality Engine graphics with 4 raster managers -- everything!
render REC/[SML]/4 RE/[SML]/4 REV/[SML]/4
	zbuffer		yes
	texture		yes
	lighting	yes
	blend		yes
	smooth		yes
	multisample	yes
	abgr_ext	no
	quality		nice

# IMPACT graphics -- no multisampling, rgba is fast
render IMPACT
	zbuffer		yes
	texture		yes
	lighting	yes
	blend		yes
	smooth		yes
	multisample	no
	abgr_ext	no
	quality		nice
