:
#
# ademo - written November 1993 by Ron Record (rr@sco.com)
#

WIDTH=1024
HEIGHT=768
PATH=/usr/skunk/bin:/usr/skunk/bin/X11:$PATH
export PATH
BITMAP=/usr/include/X11/bitmaps/escherknot
PROG=$0
anim=/usr/skunk/pics/anim
flc=$anim/flc
fli=$anim/fli
mpeg=$anim/mpeg

Usage() {
	echo "Usage: $PROG [-flc|fli|mpeg|xroot|lyap|mandel|curve|julia|tiff|xtopo]"
	echo "Where :\n\t-flc indicates run the FLC format animations"
	echo "\t-fli indicates run the FLI format animations"
	echo "\t-mpeg indicates run the MPEG format animations"
	echo "\t-xroot indicates run the root window demonstrations"
	echo "\t-lyap indicates run the Lyapunov Set demonstrations"
	echo "\t-mandel indicates run the Mandelbrot Set demonstrations"
	echo "\t-curve indicates run the spline curve demonstrations"
	echo "\t-julia indicates run the Julia Set demonstrations"
	echo "\t-tiff indicates run the TIFF format demonstrations"
	echo "\t-xtopo indicates run the topographic map demonstrations"
	echo "\tAn argument prefix of + indicates exclusion of that demonstration."
	echo "\n$PROG is a shell script front-end for several animation demos and"
	echo "graphical X clients written by Ronald Joe Record. When invoked with"
	echo "no arguments it cycles through all of the demos."
	echo "In this way, $PROG makes an excellent rolling demo.\n"
	exit 1
}

SetOffsets() {
	XOFF=`expr $WIDTH - $1`
	XOFF=`expr $XOFF / 2`
	YOFF=`expr $HEIGHT - $2`
	YOFF=`expr $YOFF / 2`
}

PlayMpeg() {
	mpeg_play -quiet $1 > /dev/null 2>&1
}

RootDemo() {
	[ "$xflag" ] && {
		xroot -e
		xroot -l
		xroot -j
		xroot -k
		xroot -h
	}
	case "$1" in
	-b*) [ "$bflag" ] && xclnt -Q -R -limit 1 $1
		;;
	-j*) [ "$jflag" ] && xclnt -Q -R -limit 1 $1
		;;
	-l*) [ "$lflag" ] && xclnt -Q -R -limit 1 $1
		;;
	-m*) [ "$Mflag" ] && xclnt -Q -R -limit 1 $1
		;;
	-g*) [ "$gflag" ] && xclnt -Q -R -limit 1 $1
		;;
	esac
	/usr/bin/X11/xsetroot -fg black -bg blue -bitmap $BITMAP
}

mflag=
fflag=
Fflag=
xflag=
lflag=
jflag=
bflag=
Mflag=
tflag=
gflag=

[ $# = 0 ] && {
	mflag=1
	fflag=1
	Fflag=1
	xflag=1
	lflag=1
	jflag=1
	bflag=1
	Mflag=1
	tflag=1
	gflag=1
}

while case "$1" in
	+mpeg)	mflag=0
		;;
	+flc)	fflag=0
		;;
	+fli)	Fflag=0
		;;
	+xroot)	xflag=0
		;;
	+lyap)	lflag=0
		;;
	+curve)	bflag=0
		;;
	+julia)	jflag=0
		;;
	+mandel)
		Mflag=0
		;;
	+tiff)	tflag=0
		;;
	+xtopo)	gflag=0
		;;
	-mpeg)	mflag=1
		;;
	-flc)	fflag=1
		;;
	-fli)	Fflag=1
		;;
	-xroot)	xflag=1
		;;
	-lyap)	lflag=1
		;;
	-curve)	bflag=1
		;;
	-julia)	jflag=1
		;;
	-mandel)
		Mflag=1
		;;
	-tiff)	tflag=1
		;;
	-xtopo)	gflag=1
		;;
	"")	break
	   	;;
	*)	Usage
	   	;;
esac
do
	shift
done

trap 'echo "Interrupted"; /usr/bin/X11/xset s default; exit 1' 1 2 3 15
/usr/bin/X11/xset s off

while true
do
	/usr/bin/X11/xsetroot -fg black -bg blue -bitmap $BITMAP
	[ "$fflag" ] && {
		scoflick -d0 -r1 $flc/scointro.flc
		scoflick -d0 -r1 $flc/outpost.flc
	}
	[ "$Fflag" ] && {
		scoflick -d0 -r1 $fli/mandzoom.fli
	}
	RootDemo -l
	[ "$mflag" ] && {
		PlayMpeg $mpeg/zoom.mpg
		PlayMpeg $mpeg/canyon.mpg
		PlayMpeg $mpeg/jet.mpg
		PlayMpeg $mpeg/zoom-xing.mpg
	}
	RootDemo -j
	[ "$mflag" ] && {
		PlayMpeg $mpeg/Mand.mpg
		PlayMpeg $mpeg/specula.mpg
	}
	RootDemo -m
	[ "$fflag" ] && {
		scoflick -d0 -r3 $flc/pent.flc
		scoflick -d0 -r1 $flc/gulls.flc
	}
	RootDemo -g
	[ "$mflag" ] && {
		PlayMpeg $mpeg/waterski.mpg
		PlayMpeg $mpeg/mjackson.mpg
		PlayMpeg $mpeg/bluedive.mpg
		PlayMpeg $mpeg/birdshow.mpg
	}
	RootDemo -l2
	[ "$fflag" ] && {
		scoflick -d0 -r1 $flc/power.flc
		scoflick -d0 -r1 $flc/training.flc
	}
	RootDemo -j2
	RootDemo -m2
	[ "$mflag" ] && {
		PlayMpeg $mpeg/birdisba.mpg
		PlayMpeg $mpeg/bigbend.mpg
		PlayMpeg $mpeg/bicycle.mpg
		PlayMpeg $mpeg/b0.mpg
	}
	RootDemo -d
	[ "$fflag" ] && {
		scoflick -d1 -r4 $flc/rube.flc
	}
	RootDemo -l3
	[ "$mflag" ] && {
		PlayMpeg $mpeg/birdwalk.mpg
		PlayMpeg $mpeg/c4.mpg
		PlayMpeg $mpeg/earth-cif.mpg
		PlayMpeg $mpeg/earth-xing.mpg
	}
	RootDemo -b
	[ "$mflag" ] && {
		PlayMpeg $mpeg/f16.mpg
		PlayMpeg $mpeg/fimpsy.mpg
		PlayMpeg $mpeg/fimpsy50.mpg
	}
	RootDemo -j3
	[ "$mflag" ] && {
		PlayMpeg $mpeg/anim.mpg
		PlayMpeg $mpeg/alien.mpg
		PlayMpeg $mpeg/BigE_Anim.mpg
		PlayMpeg $mpeg/2jaeger.mpg
	}
	RootDemo -m3
	[ "$mflag" ] && {
		PlayMpeg $mpeg/flight.mpg
		PlayMpeg $mpeg/flower.mpg
		PlayMpeg $mpeg/frisco.mpg
		PlayMpeg $mpeg/grand.mpg
		PlayMpeg $mpeg/hula_2.mpg
		PlayMpeg $mpeg/hulahoop.mpg
	}
	RootDemo -p
	[ "$mflag" ] && {
		PlayMpeg $mpeg/map23b.mpg
		PlayMpeg $mpeg/map23b_c.mpg
		PlayMpeg $mpeg/map23b3.mpg
	}
	RootDemo -l4
	[ "$mflag" ] && {
		PlayMpeg $mpeg/BigE_Accel.mpg
		PlayMpeg $mpeg/bluedive-xing.mpg
	}
	RootDemo -j4
	[ "$Fflag" ] && {
		scoflick -d2 -r3 $fli/spacshi2.fli
	}
	RootDemo -m4
	RootDemo -h
	[ "$Fflag" ] && {
		scoflick -d0 -r1 $fli/spurt_1.fli
	}
	RootDemo -l5
	RootDemo -j5
	[ "$Fflag" ] && {
		scoflick -d0 -r2 $fli/toroid2.fli
	}
	RootDemo -m5
	[ "$Fflag" ] && {
		scoflick -d0 -r4 $fli/cwhat.fli
	}
	RootDemo -j6
	[ "$Fflag" ] && {
		scoflick -d0 -r5 $fli/eartrivi.fli
	}
	RootDemo -l6
	[ "$Fflag" ] && {
		scoflick -d0 -r3 $fli/explod_4.fli
		scoflick -d0 -r2 $fli/firerave.fli
	}
	RootDemo -j7
	[ "$fflag" ] && {
		scoflick -d0 -r1 $flc/globe.flc
	}
	[ "$Fflag" ] && {
		scoflick -d0 -r2 $fli/globe4.fli
	}
	RootDemo -l7
	RootDemo -s
done
/usr/bin/X11/xset s default
