41 lines
1.2 KiB
Bash
41 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# shell script wrapper for zork games. Finds an interpreter based
|
|
# on what's installed, finds the zcode file based on $0.
|
|
|
|
# This script is only meant to work with the files installed by
|
|
# zork.SlackBuild, so it's dumber than a general-purpose script
|
|
# would be. In particular, it chokes on filenames with spaces
|
|
# in them (but there aren't any installed by the SlackBuild)
|
|
|
|
ZCODEPATH=/usr/share/zcode
|
|
|
|
# This ugly construct is needed in case zork1.z3 and zork1.z5 both
|
|
# exist (we only want the .z? glob to return one filename)
|
|
ZFILE=$( echo "$ZCODEPATH/$( echo "$0" | sed 's,.*/,,' )".z? | cut -d' ' -f1 )
|
|
|
|
# If the wrapper is called directly, default to Zork I
|
|
if [ ! -e $ZFILE ]; then
|
|
ZFILE=$ZCODEPATH/zork1.z3
|
|
fi
|
|
|
|
if which fizmo &>/dev/null; then
|
|
exec fizmo $ZFILE
|
|
elif which frotz &>/dev/null; then
|
|
exec frotz $ZFILE
|
|
elif which zoom &>/dev/null; then
|
|
if [ "$DISPLAY" = "" ]; then
|
|
echo "$0: can't run zoom, X isn't running. Install fizmo or frotz, or else startx first"
|
|
exit 1
|
|
fi
|
|
|
|
# zoom is an X app, if we were called from a .desktop file,
|
|
# need to get rid of the terminal it started for us.
|
|
nohup zoom $ZFILE &>/dev/null &
|
|
sleep 1
|
|
disown
|
|
else
|
|
echo "$0: can't find an interpreter. Install one or more of fizmo, frotz, zoom."
|
|
exit 1
|
|
fi
|