slackbuilds_ponce/games/zork/zorkwrapper.sh
B. Watson a19c2e14dd
games/zork: Updated for version 20211011.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
2021-10-13 00:52:41 +07:00

40 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